#archived-modding-development
1 messages · Page 91 of 1
I found a bug but it's probably just in the game, not the mod
Staggered grimm right as he disappeared from the uppercut and there were no bats
uhh
uh wait what did you do 56
and everything else
loaded into a game
quit out
lemme see if it's just that one save
Uhhhhh
lmao
lol
btw the hitbox is still in the center
so if you jump in the center you will take damage
yeah it's literally just loading into a game and quitting out
ok thanks this is all very helpful I think I know what's causing 3/4s of those bugs
I'ma write them down and fix them real quick (and by real quick I mean not quick at all)
Quick question because this will greatly affect how quickly stuff gets fixed
Is there a way to get the current state of an FSM?
Something like ActiveStateName
thanks
i think modcommon has a dump scene thing that includes active state
also Being able to fight without grimmchild equipped
uhh
That lets me fix both the stagger invis bats and the balloon one
still needs grimmchild for me
I can do it without
so that's 4 bugs I'm aware of one of which causes 2 probs for 56 thanks I think that's most of them if you wanna stop testing
It doesn't for me
What I'm learning from this is my response to the uppercut stops working at high speeds
I pogo parry him then hit him again from the side when he goes up
But I'm just getting uppercut before I can pass over him after a while
the charm numbering like _17 on equippedCharm is numbered by the order its displayed on the charm inventory menu?
No, it's completely arbitrary
wait so its random?
Not random
Arbitrary
There's a difference
The numbers are always the same, their ordering just doesn't make sense
Ahh i see, sorry poor english comprehension here
https://pastebin.com/dhapMbat Here I did a quick find for "CHARM_NAME_" in the language strings
Ahh i see now, ty ty
well trying to set charmNotchCost_15 very early on to what i thought was Quick Slash before is apparently Heavy Blow, now its sitting on 5 notches ~~Not that anyone would use it at 1 notch
~~
oh i figured out why the mod wasn't working
it's cause i'm dumb
just checked output log and saw that i was blind
and forgot modcommon
Impressive
neat
You can edit convo text?
Yes, but is that even from the mod? I just assumed that was new in lifeblood
it's from the mod
i thought it was lifeblood too
even asked in #hk-discussion
then i codesearched mod and it was added
Wait is it me or did the after battle convo changed, after lifeblood?
Cause wiki shows that he now says "Leave us to our final act" instead of "Go out there and keep looking for the flames"
wtf
he did his down to side attack into the wall
and then did pufferfish
like what happened to sean
Yeah, the mod just forces pufferfish when you hit the hp thresholds
It needs to wait for him to idle
o
also i think he keeps his speed buff
cause he's fast af and I haven't even hit him
does fluke stagger now?
Idk but that would be stupid
it was staggering him for me
i had just spammed it on the floor
and he ran into it
insta stagger
yeah he's getting staggered by fluke
Oh I see
The mod is manually controlling stagger
So any damage counts towards it
That makes fluke OP as shit
lmao
i did 1599 damage before i died
and i thought the boss had 1600 for a sec
mod's fun
Ok I need to do something about shops in the new randomizer
This is stupid
I just had claw, ddark, dash, and wings from the 3 crossroads shops
wow
I'm already setting it so there's 1 "progression" item per shop
The problem is after all locations are available remaining items are assumed not progression
Which is pretty often not the case
1 max per shop?
Yeah, that's what I meant
ok good
The shops are all treated as individual locations
Then after all locations are filled the remaining items are placed randomly between the shops
Basically the current algorithm is:
while some locations not reachable
find all items that make more places reachable
select one randomly and place it somewhere reachable
while some locations not filled
select item randomly, place in random location
while some items not placed
place random item into random shop
maybe force the max for shops and reshuffle some charms if you get to some items not placed and those items include progression items?
i lucked out with my seed and didn't get stacked shops
i got crystal heart from iselda and dream nail from salubra and then had to figure out how to get everywhere with crystal heart lmao
I'm planning to flag items that are potentially progression items and place them after the first loop if they're not placed already
With some weight towards later locations
that seems nice
It will also make the first loop faster since I can check only the potential progression items
Instead of all of them
i like how grubberfly's elegy is a progression item in randomizer
that was a fun discovery
i was stuck for a while and then realized
Anything that can kill baldurs is
"oh. i can kill the baldur and get into greenpath"
That means a lot of unintuitive charms
weaversong
Yeah
longnail too, right?
that's cool
longnail + steady body 
How does steady body help?
i figured the trouble with using longnail is that the knockback would make getting exactly the right spot hard? idk. im just making guesses ive never seen longnailed used to kill baldur
The baldur only closes from idle or after a spit
So you want to walk away to open it then walk back and hit it
oh i see
Because it won't reclose immediately
i don't think mop + ln can hit him outside his closing range
Yeah, it can't
does mag skips have that fireball + dash and cdash and stuff to isma's grove thing
does it have itemless thorns
VS thorns yes
The other one no because it's not really possible to require
If you're able to do that skip you're able to kill dung
o
man i thought i was being so clever when i did the cancel crystal heart to isma's halfway to get to ancient basin thing, but because i didn't have mantis claw i wasn't able to get anything out of it anyways. you can get allllllllllllmost to Broken Vessel without it but there's one wall you have to climb
i was sad
i did that on my first playthrough by accident
isn't that how you're supposed to get there?
I definitely got to city right side before crystal heart
o
i thought i was gonna hit the spikes
so i spammed jump
and happened to land between them
i totally missed soul sanctum for a long time on my first playthrough
and couldn't afford lantern so i didn't get to crystal peak for a long time
oof
man that first playthrough was something special
100% in 33 hours totally blind
lmao
ok so I've read through every message sent since I left and I'm gonna get around to fixing stuff, including figuring out a better way to do stuns (I still wanna do them manually). But also tracking grimms current state before applying state changes. Also figure out other stuff too. But I'm not gonna be able to fix much until Thursday evening because I have quite a bit of homework to do first. Thank you so much for the help I'm kinda bad at the grimm fight so I think that contributed to me missing quite a few of the issues.
Just mod infinite hp to test grimm
yeah that might be good the real problem is y'all can get hits in during animations that I can't because I'm not very good
but yeah will do thanks for the advice
When I'm testing hornet for my hornet hard mode rewrite I just set my hp to max when it drops below like 4. It's like 2 lines of code
Yes but I want to die as well so I'm gonna make it so it just gives me like 40 health

so just nail hits and spells trigger stagger right?
Yeah
Do multipart spells add multiple to the combo like the scream ability and downward dash?
ok thanks that's helpful
I broke something
The new algorithm thinks dash and double jump is enough to get everything
Oops
Oh I know exactly what I broke
Imo set items into tiers, like 1 is required progression, 2 is really good but not required, etc. Then scatter items based on that. Like hard locations get tier 1, shops get 0-1 tier 1, 0-1 tier 2, and 0-X tier 3, etc
More tiers is probably good yeah
Then people could plan like "it's worth checking X bc it drops a tier 1 always"
Right now it's just progression/everything else
How I changed it now is I assigned all locations a depth based on how many progression items were placed before finding them
Then for the list I choose locations for progression items from I put every location in however many times their depth is
Then after everything is reachable, I do depth^2 instead for the remaining progression items
There's no way any of that runs well, but it uses more loops so I was able to spam more yield returns in
Which means it appears to run better, so that's good
But yeah I like that idea, I think I'll mark certain locations/items as more valuable
And if there's no progression items in any of those spots, try to put a valuable item there
So shops/bosses always have something worth having, even if it's not god tier
Nice. That sounds great. It's also so unlikely that anyone running randomizer would go 100%, so having stuff like wayward compass end up as reward for all grubs (this should be a constant imo) would make the available item pool more interesting
Yeah, I think right now it's actually possible for dream nail to be at elegy
I guess I should mark it as a progression item, even though it isn't really one
It kinda is
Maybe dream nail is the only tier 2 progression item and woke dream nail is the only tier 3
I haven't actually gotten around to randomizing the seer rewards
But they kinda have to be the same tier
Wait
Randomizer mixes items based on tiers?
No, but we're talking about implementing that
Guess it can't hurt to put an option for it
and, because I haven't tried running it (game would have crashed), what's the difference between Easy and Hard?
It's pretty obvious what the difference is in the new version
They're just settings presets now
With item tiers I can also set more sensible costs
Right now every shop item is just random between 100-500, rounded to the nearest 10
I'm liking the nerfed progression item placement a lot more than before
Cleared crossroads/greenpath and my options are either dream nail via dark room or queen's station fireball skip
Will make for much more interesting games
What do you think of an option to add a couple platforms here and there to make connections and new-not-normally-possible routes/configurations?
What did you have in mind?
Well like, getting to fallen kin without crystal dash if there was a platform at the end of the spike path
Or opening up the door to waterways from CoT (bug lady's door)
Just a few small thinga
Things*
Yeah, could be fun to have a chance for those
Complicates the logic a bit but that's no big deal
I think I will focus on getting more things randomized before that, but it's not a bad idea
Do switches run better, worse, or the same as large if/elseif blocks?
I'm getting noticeable lag when opening my inventory and no doubt that's because of my bool get override
Actually nah there's no way this is causing lag
private bool BoolGetOverride(string boolName)
{
//Fake spell bools
if (boolName == "hasVengefulSpirit") return PlayerData.instance.fireballLevel > 0;
if (boolName == "hasShadeSoul") return PlayerData.instance.fireballLevel > 1;
if (boolName == "hasDesolateDive") return PlayerData.instance.quakeLevel > 0;
if (boolName == "hasDescendingDark") return PlayerData.instance.quakeLevel > 1;
if (boolName == "hasHowlingWraiths") return PlayerData.instance.screamLevel > 0;
if (boolName == "hasAbyssShriek") return PlayerData.instance.screamLevel > 1;
if (boolName.StartsWith("RandomizerMod.")) return Settings.GetBool(false, boolName.Substring(14));
return PlayerData.instance.GetBoolInternal(boolName);
}```
That's like nothing
oh wait, switch gets auto compiled to ifs if ifs are faster
ifs don't get auto compiled to switches
yeah if its a few items it'll just do if else, otherwise it should do a hashtable lookup
really shouldn't matter for 8 items though
Yeah, not sure what the lag is from
How do I fight nightmare god grimm?
I installed the NGG mod but it's just normal nkg when I enter the fight.
are you on current patch
you need to be on 1.2
Tfw KDT doesn't update mods
not my problem
I feel ya
- grimmchild
Someone did it
no
I can do it too
He what
it was a segmented run
that's not cheating
there was one splice right at the end when 2 spawn
But that means it's possible.
It's not impossible.
It's just fucking hard, but it's possible
sure but segmentation makes something much easier
Mantis gods whooping my ass rn
I'm sorry are the mantis gods invincible or something?
no that's my second mod.
infinitemantislords
jk but they do have a lot of health
if (lordHealth != null)
{
lordHealth.FsmVariables.GetFsmInt("HP").Value *= 3;
} else {
var lordHM = lord.GetComponent("HealthManager");
FieldInfo fi = lordHM.GetType().GetField("hp");
var temp = (int)fi.GetValue(lordHM);
Log(temp.ToString());
fi.SetValue(lordHM, temp * 3);
Log(fi.GetValue(lordHM).ToString());
}
3 times as much to be specific
Their normal healths are 210 and 160
So I guess they have 480 health each
That's not bad at all
It's bad for early game.
I'm going to need to mod my save.
So I can get the charms and at least coiled nail.
Here we go.
Do i need to put the files inside a ZIP file?
normal mantis lords are hard with level 0 nail and not being good at using spells
I'm gonna give myself coiled nail and all charms.
Also possibly all movement abilities too.
maybe I should try mantis gods with pure nail and fully built character and see if they're easier or harder than the normal lords with 0 nail
TTaco what is that question even referring to?
Yeah, it's best if you put the mod in a zip
why does the class go in the zip?
For distribution
Dunno, open source thingy
well if you want the source to be open put it on something like github
The only time I see source code shipped with binaries and nowhere else is when companies are forced to comply with gpl but absolutely don't want to so they do it that way so nobody pesters them by reporting bugs/ sending pull requests
honestly tho not like someones gonna want to read my code, its all spaghetti, but hey might as well just show the source too eh
Tho i should do that too i guess
Github isn't just useful for other people
Having version control can be pretty amazing
version control is a godsend and git is far and away the best type that exists
plus github has extra features on top of git like issue tracking (for reporting bugs in an easy place)
and releases
which is another place to put your dlls
where they are easy to find
for example you might change a bunch of code and find it breaks some stuff and want to revert some but not all of those changes
without version control you'll have to remember everything you changed
you can also do rebase -i to go back more than 1 commit
if you do that and choose to edit one of your older commits it will stop right there and allow you to edit any changes you made in the past
there's also a git command that you can use to figure out which commit broke something if you're not sure
basically you pick the last commit you knew it worked at, and it picks commits in the middle (between then and now) so you can test them to see if that something is broken
Well might as well start learning how to use it i guess
okay im sold on branches already
Alright, here's all the bugs/issues y'all found that I have listed for my mod. Did I miss anything? https://github.com/natis1/infinitegrimm/issues?q=is%3Aopen+is%3Aissue+milestone%3A"Release+0.2.5"
Think that's good
Oh, this is a problem
I think this was just open for the entire fight
It's probably because I already had dive
I will have to remove whatever is checking against that and opening the gate
I plan to at some point, yeah
Neat. Masks is meh, but the ores are few and huge upgrades
Could even do something like randomize the amount of ores and add/remove some
randomize the amount of ore? You monster
Oh there's only 5 ores so no pure nail for you this run
better luck next time
But 5 ores is the normal amount
(isn't it 6)
Like 3 some runs and 8 some runs
What's worse? Not getting enough ore for a max nail or getting way too much ore meaning that you've missed out on other collectables
Well, very few running randomizer do 100%
Just having dead ore is dumb, I would have to change the amount required for upgrades too
Or make them be geo if you get extra
Something like that
what if you get 10 ore and get the ultimate nail
the nail that one shots everything and pogos you 100 meters in the air
I was thinking extra to increase the probably of nail upgrades sooner
I'm gonna make a mod where you give up on knighting and go mining with myla
Maybe you could make a dynamic spawn item type, that changes what it is based on what the player has
it will be called mining with myla
I already somewhat have that implemented
every 30 mintues you spend mining you get 1 pale ore
The problem is shops are still somewhat out of my control
Make a lootbox mod instead, spend geo and get a random item
I need to make a shop component to replace the fsm
so it's like an idle game where you just have to leave the game running over night
Ah
Ok you're the real monster tacco
dude, its an innovative™ idea
you could probably throw some "get extra geo, get +2 damage etc etc" upgrades to the lootbox
Nah, real monster is to make all items old mmo style
1% drop rates from random mobs
and every hit deals damage based on your level and the enemies level
and has a chance to miss
make Dash into a 1% drop item
Want double jump? Grind primal aspids for 3 hours gl hf
hollow knight but every time you touch an enemy it uses System.Process or whatever to launch an RPGmaker battle
that's turn based
make it so you have to grind to get single jump
i would actually be ok with that
so a completely different game
Darkest Dungeon but its with HK graphics and stuff instead
would be ok if TC's next game was like that tbh
DId TC say they weren't doing a sequal to HK
I bet they also said they weren't doing a sequal to hungry knight but here we are.
they said they didn't want to work on HK for a while iirc
I mean they didnt, but again if Aris still gonna be the artist then the HK aesthetic will still transfer i guess
the art style i mean
I want every game to look like Hollow Knight
that'd be cool
Well not every game but I love the art style
I've got a really strange problem
If you get dream nail from somewhere before getting whatever is in the dream nail spot the dreamer thing doesn't work if you enter from the left
It's fine if you enter from the right
You can even enter from the right, leave on the left, then re-enter and it will not work
So it's not just some flag getting set when you enter the main resting grounds area
It might be something to do with the left side having a _boss scene for xero
That's all I can think of
interesting
I think activeSceneChanged is getting called after the FSMs have already begun working
hey that's my bug. so it's literally just the entry door eh
weird
I finished my run and didn't find anything else to report besides what I've already found
Alright
Well I removed lemm items for now
And fixed the other stuff people said in #races-discussion
Just have to work out how to fix this
This is a pretty big problem
It means any room adjacent to a boss scene will potentially break
Hm, I'm gonna try hooking SceneLoad.FetchComplete instead
Oh it's not static
Of course it's not

I think activeSceneChanged is getting called after the FSMs have already begun working oh god that explains the hacky stuff I had to do to get my mod working
my awful "solution" was to reload the scene after setting everything I needed
Oh that's terrible
ok i give, what does fsm stand for
Funky space mouse
Flying spaghetti monster
But yeah, sceneLoaded is too early and activeSceneChanged is too late
I have no idea what to do
flying spaghetticode monstrosity
well don't do what I did
or do it doesn't really matter
loading is fast enough anyway and most of the loading time is spent reading from disk.
There's already one situation where I load 3 scenes in one load
I don't want to make every situation be 2+ loads
whatever solution you come up with will be less hacky than how I got grimmchild into the grimm fight.
I think I will try calling Reset on every active fsm after my changes
doesn't that take just as long as reloading the scene?
if ur programming in python you can solve a giant linear algebra problem in a single line of code
and it can take hours to run just that one line
You can make some pretty huge monstrosities in one line with linq as well
while (true) { }
if something doesn't work it could be because the fsm is getting set inactive
I think I just need to find a way to change before they activate
Instead of progressing with this hack
...You're a better coder than I am
Kerr mentioned earlier needing to wait a frame after scene.isLoaded became true
Ok now I've got this awful looking bit of code
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (scene, mode) => Components.FrameWaiter.Wait(1, () => HandleSceneChanges(scene, mode));```
Delegate in a delegate
Let's see if it even works
Well, this at least means changes are happening
So it's a start
Shit's broke, though
It actually seems like only shops are broken for some reason
public override void OnStay (Fennel_AI ai)
{
base.OnStay (ai);
if (Time.time - ai.lastStateChange > ai.onChangeRandomNumber * 0.15f)
{
if (ai.hp < (ai.maxHp / 2) && !ai.buffed) {
ai.ChangeState (BuffState.Instance);
return;
}
if (Mathf.Abs (ai.target.transform.position.x - ai.transform.position.x) > 3) {
ai.ChangeState (DashState.Instance);
return;
}
ai.ChangeState (BackdashState.Instance);
}
}
for somereason this changes state to BuffState runs it for a frame and then cancels it by changing to BackdashState 🤔
You sure lastStateChange and onChangeRandomNumber are being set properly?
lastStateChange works fine, onChangeRandomNumber is always 0 for now
apparently having it be able to state change on frame 0 breaks it just for this one instance
dashing and attacking work without being overwritten
oh unities QUALITY animation system doesn't save
unless you actually save the entire project
I think the only real way to change an fsm/game object in a scene "before" it loads is to get reference to it, set that reference inactive, treat it like a prefab to call instantiate with, and change the new copy before it's activated
For many objects you can do a resources.load to skip the first steps
After loading a scene check resources.find of type to see if what you want exists
Then instantiate from that
It works well enough to just set them back to their initial state after the changes
PlayMakerFSM.Fsm has a string for it
The only problem with that is objects that destroy themselves before activeSceneChanged gets called
Which your way wouldn't fix either
They'd exist in resources tho
An object in resources is a prefab not loaded into the scene, so it's only removed if UnloadUnusedAssets is called
Sounds like a pain in the ass
Yeh
So would I just call Resources.FindObjectsOfTypeAll and check name/fsmname?
There's bound to be a better way
I would hope so, at least
Well, resources.load is the better way, but you need the string name
Is there a way to get the path/name programatically?
Actually even if there is I can't check because the object is gone already
No, I wish. It would save so much headache
Well there's no way I'm gonna bother with that then
Basically unless a dev creates a manifest file manually, there's no way to get resource paths at runtime
Figures
There's no motivation for unity to have good support at runtime
Nobody wants it
There's probably a way to unpack asset bundles like the asset/scene viewers do, but I haven't looked into it
Eh
As far as I'm aware the only negative impact of not getting changes in instantly is that you have to enter from the right side to get dream nail
If it's just that I can't be bothered doing a lot of work to fix it
Could always runtime hook the player data bool actions and override the checks
Yeah that's what the old randomizer does
It makes it so you can't use dream nail in that room
But that's no big deal
is there an easy way to run a coroutine without having to make MonoBehaviour and stick it on something
You can hide the coroutine running from your main code with a static method like this https://github.com/seanpr96/HollowKnight.RandomizerMod/blob/master/RandomizerMod2.0/Components/BigItemPopup.cs#L70
Not exactly what you asked but it's close-ish
its kinda close but not exactly what I need, trying to fix that dumb sceneLoaded, but its not actually loaded yet and anything you make will be destroyed next frame "quirk"
Here's a really fucking stupid component I made to solve that exact issue https://pastebin.com/3iyeMj8Y
You would hook like this instead with that
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (scene, mode) => Components.FrameWaiter.Wait(1, () => ActualMethod(scene, mode));```
Also call Destroy(gameObject) at the end of the coroutine if you use that
I just noticed I don't have that
yeah i just saw that this leaks
although a few gameobjects here and there isn't too bad
https://gfycat.com/TepidEnragedLeafcutterant added a couple new things 
its nice not having 6 of them at once
Add all the OP spells from no hitting bosses too tbh
I don't actually know what fennel does because the speedrun strat is 100% consistent
But I'll assume that what she's doing in the gif is accurate
So good job
pretty accurate just slight faster
but hk is more mobile than kaho so it'd probably be pretty easy otherwise
It depends on what gear you expect people to do the fight with
@leaden hedge this looks amazing
Oh man I'm gonna die so much to that one attack where she jumps exactly 1 dash past you.
It's a pretty cool enemy though
Did you build your own fsm for this or did you program her in c#?
will you release it for us all when it's done?
hey is the boss rush mod ment to spawn you in the floor?
no. it's not updated for lifeblood
ahh k thanks
wheres the older versions of the modding api? sorry im not good at this :/
oh k thanks
Is there a way to create a custom NPC and place them just for one single dialogue box?
ok i broke it even more now its just a black screen with the pointer
so can some one help with this i is not good -_-
downpatch
I really wish trial of the fools functioned well in enemey randomizer, its a really cool and fun idea
f1
thx
Yup!
Well, I hope this one goes well too
N I C E
why isnt the bonfire mod working
did you install the api
did you use an installer
did you install the one that has [API]
🤔
i launched the game and i couldnt do anything and the stuff in the top left was gone
reinstall api
when i reinstalled the api interact with the main menu
what
When he reinstalled the api interact with the main menu
Modlog tbh
what is that
It's a log file in your save folder
where do i find that
?
📌
k
~/.config/Unity3d/Team Cherry/Hollow Knight
so are you on beta?
yes
I'm on the git version of the mod api and it works with the beta as of yesterday
so, BDM, modlog
1.3.2.8 works with modapi
Post it
it wont let me
i know and i dont know why
send output log when
how do i find that
in hollow_knight_data
ffs
who does that anymore
yes
pfft you have to close games to compress their log files?
nope says i dont have permission to open the file
justwindowsthings
anyway this is gonna sound stupid
but copy it to a new file?
and then compress that?
use a file unlocker
file unlocker imo
or that
It's been an hour
i had to do alot just to do that
modlog too
oh
maybe it's empty because the game couldn't access it (since it was protecc)
and the modlog is empty for some reason
There's an NRE for UIManager.instance from the ModVersionDraw object in here
Pretty odd
i have no idea what that is
yeah, just saw that
========== OUTPUTING STACK TRACE ==================
ERROR: SymGetSymFromAddr64, GetLastError: 'The specified module could not be found.' (Address: 72701DD5)
ERROR: SymGetModuleInfo64, GetLastError: 'A dynamic link library (DLL) initialization routine failed.' (Address: 72701DD5)
0x72701DD5 ((<unknown>))
huh
also, there's this at the start
System.InvalidOperationException: Operation is not valid due to the current state of the object```
which is weird
bonfire thats it
I don't think I use modcommon in bonfire
lemme double check
yeah, I don't
does the game run fine without bonfire?
yee
where is the bonfire.dll located?
I'm working on modding in momentum and for some reason hitting walls makes you go stupidly fast https://youtu.be/d2zxlgqAIAM
Now the real question is if I even want to fix that
hollow_knight_Data
oh
put bonfire.dll in a folder named Mods inside Managed
also, inb4 PU in hollow knight
Those letters mean nothing to me
parallel universes
Oh the mario thing
ye
i put it in the mods folder
is the Mods folder inside hollow_knight_data/Managed ?
yee
i had to do some weird shit with the cmd and restart the computer to be able to do anything with the output_log.
kept saying i didnt have permission but thank you @solemn rivet @rain cedar @copper nacelle
sorry that took so long
I figured out why the recoil gives you such stupid speed
It's the same reason superslides work
if (this.cState.recoilingLeft)
{
float num;
if (this.recoilLarge)
{
num = this.RECOIL_HOR_VELOCITY_LONG;
}
else
{
num = this.RECOIL_HOR_VELOCITY;
}
if (this.rb2d.velocity.x > -num)
{
this.rb2d.velocity = new Vector2(-num, this.rb2d.velocity.y);
}
else
{
this.rb2d.velocity = new Vector2(this.rb2d.velocity.x - num, this.rb2d.velocity.y);
}
}```
Additive speed in 2018 LUL
oh
Like wtf they just add the recoil speed on every fixed update
So if anything stops the game from forcing you back to walk speed everything just breaks
I want a mod that keeps all the bugs that make you stupidly OP
Just
Keep them in
Super bouncing
Mega Nail (from a mod that had to bufg Heavy Blow)
Whatever super sliding is?
It's a glitch used in speedruns that abuses two quirks of the game
1: That additive speed thing
2: You can pause but keep the game running
The second one stops the game from fixing your speed because it's meant to be paused
Oh, by the way, what causes floating?
From the speedrunning channel I foubd out it's animation storage
You have different physics during the fireball animation
But why does it cause such a thing?
You're just storing those physics properties
Mhm
Oh, and another glitch I've had but fon't know how to replicate - when I leave a room, but somehow I end up swimming when I enter the other
Seems to require water in the room I exit from
There's no Gravity
But you also can't move upward at all without losing the no gravity property
So you basically have gravity
And you're very slow
Yep
Can you save custom playerdata in save files?
I mean is that part of the mod api or do I have to do my own serializing?
prior
It's not hugely important but I'll want to implement it somewhere down the line.
I fixed the super bounce off walls
also you asked if fennel was playmaker or csharp its all csharp https://gist.github.com/KayDeeTee/854fcd8b8d103f4203fb4bf7f16668b4
That's pretty obvious
Making something from scratch in playmaker sounds way harder
And it runs worse
There's no benefit
what about the memes
Turning HK into Celeste is a big enough meme
Eight way dash and momentum PogChamp
Oh yeah also I made it so you can jump out of dash
what's next? B-Sides?
did you put ultradashes in
Is that the stupid frame perfect thing?
yeah
Yeah sure go for it
If you can't get it you're probably just bad
Also should I merge 56's runtime detour hook thing?
I was hoping someone else would decide if that was a good idea but it's been two weeks
isnt that just a new feature of monomod
Yeah
dunno only negative is if multiple people hook the same thing it breaks
but I mainly suggested it so the api could add hooks to other dlls, instead of users adding hooks to assembly-csharp.dll
well, it doesn't break
Depends what the hooks do
only if you don't call orig
^
if you're using detours not as overrides, but as "flags" of sort, there's no issue
Also of course mods that modify the same stuff like "oh two mods that change the player's color" shouldn't be expected to work together
Just depends on the mods though
Exactly
Is there any way to limit namespaces the HookGen looks in?
Yeah, you're right it's not necessary
I was thinking so there's no hooks added into the Modding namespace but we can just run the hookgen on the vanilla assembly and there will be no issues
Yep
that's what 56 did iirc
Also if the mods reference the vanilla assembly (idk how you guys are doing things with the modding stuff) then it shouldn't be an issue
Just tell mod devs to never hook into that
Unless they wanna break literally everything
Also 56 stopped by the RainWorld server a bit ago
Is he a high-up-there modder for HK?
He's one of the more active people here yeah
he is a high-up-there memer for HK, that's for sure
Neato
He was asking about Partiality and stuff
😅 I almost thought he was going to try doing that I suggested at one point (starting modding with partiality)
Turns out he was just curious
thankfully
Seeya
Good luck!

Wish I had nitro
So I think I fixed all the bugs already.
feelsgoodman
https://github.com/natis1/infinitegrimm/releases/tag/0.2.3
Infinitegrimm 0.2.3 fixes all the problems that 56 and seanpr found. As well as a problem I found while testing. I can't play as well as them so I definitely missed some bug somewhere so anyone who would like to test it I would be super happy.
I consider this version relatively stable but then again I said that about the last two and they both had very large problems. Stable enough for the drive? Hopefully...
I just fought him long enough to get 697 geo and there were no issues
nice
It's 1 geo per 10 damage so that's really good
did he do the fireball/balloon attack more than 3 times?
sweet. I'm really happy to hear this.
thank you for doing this.
How's the difficulty at 6000 damage+?
5 of his most common animations should be playing about twice as quickly
It's still not too bad
I can deal with all of the attacks reasonably at that speed still
Maybe take away staggers at some point so you can't heal anymore
ok that should also be about 28 attacks between stagger
the hits to stagger are supposed to increase every 300 damage by 1
It definitely was taking longer to stagger, so that is working
I want to make the animations at the high damage levels fast enough that you NEED to heal during stagger or not at all
that way the difficulty goes up forever and you can't just heal by crawling
Oh right shape of unn
I was about to say you can't really heal anyway except for spikes
just remove pillars and spikes 
I'm thinking I'm gonna make pillars start increasing in speed after about 3k damage maybe. And at some damage threshold I might do something with spikes I haven't thought about it
I don't want the fight to be NGG or anything
Even though all the animations I'm currently changing basically make him into NGG phase 1 minus the constant spikes at about 11k damage.
but I also wanna make it accessable for people who aren't pros like y'all so I don't want the really hard stuff to happen until after high damage thresholds
I'm gonna save this stuff for a future update but if nobody finds any bugs then I'm happy with it as it stands.
I guess in the future I'll add some harder stuff and put a mod option in to enable it (and maybe double the geo rewards)
Sounds fun
I wish they were compatible, or that NGG worked on 1.3
well
the Grimm fight works
and spawns 2 Grimms
and I hope the InfiniteGrimm buffs Grimm as well, not just NKG
if you put them together grimm would get locked at 3k hp and in the first phase on NGG, whereon my mod would override one of the hardest parts about that phase, his despawn animations being 3 times faster. You'd still get the spikes though, and when the first balloon happens (at only 400 damage and not several thousand like in NGG) it would go to the second phase where grimm has somewhat slower animations but deals 4 damage.
Then if you got the second balloon a second grimm would spawn with 3600 health, and the spikes would stop. kill this one and you're back to my fight.
that's what would happen if you ported NKG and loaded them both I think
yeah the animations between attacks (not coincidentally the same animations that the NKG fight modifies) go up in speed over time based on the damage you do. starting at 0.8 speed and going up to 3x speed at a rate of 0.1 per 500 damage. The attacks needed to stun also go up to infinity at a rate of 1 per 300 damage and starting at 8. Also I reimplement the balloon attack to happen infinitely at increasingly far apart intervals.
at about 1200-1500 damage dealt infinite NKG is about as strong as regular NKG but it keeps going from there.
Also when you die you get 1 geo for every 10 damage you do so you can know on a glance how long you lasted
that's all I changed for now but as I said I would like to do more in an optional hard mode for really good players
Oh and you don't need grimmchild to do the fight, but if you bring grimmchild it will help you :)
oh no promises it works on pre-lifeblood btw.
I tested it only on lifeblood and lifeblood beta
yeah and they moved the boss to a sub-object of Grimm Control
so you'd also have to change it to just use Grimm Control instead of Grimm Control/Nightmare King Grimm
That's a really simple change at least
Working around the lack of HealthManager and the related damage hook is much harder
wait
for what version is Infinite Grimm
he didn't seem all that faster
and I killed him thrice
and I mean Grimm, not NKG
I don't think he's buffed grimm at all
I didn't touch grimm
the mod only comes into effect once you've done the ritual
so it won't block you from getting level 4 grimmchild
Ok
I have a save if you want one
you have to have done the ritual btw so tell it you already killed NKG
and that you also defeated nkg
which for some reason are two different variables I'm still trying to figure that one out
The game isn't well made
That's likely the only reason
Almost every ability has two bools as well
hasX - Shows up in inventory
canX - Actually works
theres 40 variables for having charms and 40 for having them equipped 🤔
what is array 🤔
Yeah, but it's there
honestly I don't get how this game isn't completely buggy. I mean I guess it sorta is with storage and stuff but it's a lot less broken than you would expect.
Lightbringer
ok but there's plenty of modern games that are super broken
"super broken" for a modern game is not even close to SNES game broken
usually modern games are broken because of an oversight of a mechanic
not oops just went outside an array
and wrote data where it shouldn't be
well tbf SNES broken is because they did everything in assembly
and now we have modern languages
C# is really easy
Exactly
not to do with assembly, more they didn't have the power to check everything
I hadn't touched it 2 weeks ago but I picked it up fairly quickly because it's a lot like java
so you just gotta assume stuff is correct
Ok, just beat NKg
I still prefer c++ because it feels less sketchy but it's definitely not a bad language
gonna try the refight now
btw you don't need grimmchild for the refight
same as normal I guess
that's good. since it gets harder later on I want pros to be able to get to the hard stuff quicker.
so
I'm on like the 5th or 6th time he turned into a bat
haven't been hit yet
loving it for now
but
he starts of quick for me
ok small question, if you quit the game (like quit quit it) and relaunch does his speed go back to normal?
if so then tk2dSpriteAnimator objects don't work quite the way I think they do and if that's the case then I could do a bunch of tests to confirm it or write in one if statement and call it a night.
ok. just retry the fight when you die and compare the starting speed when you respawn to the starting speed after relaunching the game
ok
oh and one more thing just to be clear what's causing this
if you haven't reset the game yet
can you hit him once and see if the speed goes back to normal?
dang that's a while how much geo did you get
yeah so tell me if the speed is super high when you reenter and hit him once and see if it stays high
G&G better give me some good challenge
and then restart the game and see if it goes down
lol nothing is challenging you
at 15k damage it's about 58 hits per stagger btw
not that you need the heals
Ok
so
started it again
it was slower than when I died, but I can't really say how much
because
just fighting x3 speed NKGrimm
(only some animations are 3x btw, most are the same speed.)
but I still think it wasn't slower than usual NKG
so it shouldn't be like actually 3 times faster
well, he was fater than usual
it is, but again it's such a small limited number of animations and only like 15% slower
ok well I'ma fix that bug real quick and put out a hotpatch in the next 10 minutes
Ok
I feel weird as the dev being the worst player
My record is ~2.5-3k damage
literally every tester has topped it
so, fight started at around :28/:29, I paused a few minutes in at :32, started again at :37 and died at :42, so around 8-9 minutes fight with Grimm
but then
there's this guy
↓ read the description pls ↓ -what is this? This is a challenge kill on Nightmare King Grimm where I only allowed myself to use a nail that has been degraded...
that video is why the number of hits to stagger goes up over time.
yeah, I noticed they do
did you put it there or is just something randomly caused by the Grimm fight?
nkg is 11 consistently vanilla iirc
wasn't it 13?
a 9 minute fight with Grimm that has an Infinity Gauntlet is hard too
Ok
I give up
I'll be learning coding later, but I can't do it now
thanks
