#archived-modding-development
1 messages · Page 528 of 1
wtf is that pfp tbh
It's a hedgehog
Damn that was so hard to notice
Seems like your headers are wrong
take a look?
I don’t know headers
I swear its a good reason
GOOd
do you use https://discord.com/developers/docs/game-sdk/activities this ?
Yea
Sorta
how ? doesnt a game need to be approved ? 😮
you mean this https://discord.com/developers/docs/rich-presence/how-to ?
You only need to approve it for "Ask to Join" button
because it says this 😮 The SDK that this documentation references, Discord-RPC, has been deprecated in favor of our new Discord GameSDK.
That has nothing to do with approvation but
Yes
The "Discord-RPC" sdk is deprecated
I'm using the GameSDK sdk
gotcha
so you're using this , but without the feature that requires approval
Yes
nice
when 1.5
when 1.5 modding api happens
sorry if you already talked about 1.5, but i'm not reading all of that
i mean
it exists
but
i'm waiting for 1.5 modding api official release
during the wait i'm trying to improve 1.4.3.2 rpc mod
i'm gonna include regions and commented code so you can uncomment the 1.5 code and comment the 1.4 code
actually
the mod works in 1.5 as well
references aren't going to fix themselfs
just that the auto install code doesn't
m
idek
maybe i'm gonna try to do 1.5 branch in my repo at one point
Anyone know why this doesn't properly stop the knight?
HeroController.instance.GetComponent<Rigidbody2D>().velocity = Vector2.zero;
HeroController.instance.RelinquishControl();
For some reason the player shifts slowly to the left.
acceleration?
there's acceleration?
rb2d has it idk if they use it
i've never seen any acceleration anywhere
though i haven't look through the entire game tbh
Perhaps two possible options are to either put the rigid body to sleep so it doesn’t do any calculations https://docs.unity3d.com/ScriptReference/Rigidbody.Sleep.html
Or you can modify its velocity in FixedUpdate
i finally implemented auto install in my 1.4.3.2 version of discord rpc mod
(the mod needs dependencies that wouldn't fit in Mods folder)
i had to use embedded sources so that's not so pog...
the mod is 22 mb
I have an IMenuMod with public List<IMenuMod.MenuEntry> GetMenuData(IMenuMod.MenuEntry? toggleButtonEntry) => new List<IMenuMod.MenuEntry>(){ new IMenuMod.MenuEntry("test", new string[] { "On", "Off", "On 2?", "1, 5, or 7"}, "description or something", i => _globalSettings.testSetting = i, () => _globalSettings.testSetting)}; public bool ToggleButtonInsideMenu => false; but there is no mods menu showing up, does anyone know how to fix it?
no menu at all or your mods settings dont show up ?
my globalsettings was null
hmm that should've given an NRE no ?

I didn’t know what part had given the null reference exception:( I’m tired
i suspect the answer is yes, but here goes : suppose you have an embedded resource of 200mb , does that mean that your mod will take 200mb+ of ram once loaded?
is fsmview avolonia supposed to crash when opening false knight's fsm
Not necessarily. If you don’t load them they won’t take up ram. And I’m the case of asset bundles: they take up some memory but objects are only loaded into ram once needed
so is there any reason why to not have something be an embedded resource ?
Ease of replacement? You can more easily replace it without rebuilding the whole mod
On the other hand, people can less easily steal your assets
just open up dnspy
well they have a point, requiring dnspy is tougher than outright storing them as separate files
well i meant to ask for the default skin folder of ck, so i want the assets to be exposed anyway
Online asset ripper do exist
but it's easier to bundle them with the dll and be like spit them out if they don't exist
Can't you real time rip the sprites from game
can i ? if a skin is applied by another mod then i'm sol 😦
GoDump does it, so you must be able to.
Also, you could just keep a link to the default sprites, and mention in the readme that if they lose their default skin to get it from the link. (Or they could delete their folder to re-rip it, right?)
does go dump dump the correct sprites when a skin is applied ? 😮 that's news
must look at their code
they don't dump the correct sprites last I used it
it's pretty easy to do
godump literally just rips the current texture of the go
You mean the 1.5 version
no i mean 1.1.4 beta 
Which is gonna work for hollow knight version 1.5?
i'm going to release 1.1.3 beta for both 1.5 and 1.4
can any of you give me 1.5 modding api
yes
awesome
lemme find it
oh
thank you you are awesome sfgrenade
well, you can find older ones here: https://github.com/hk-modding/api/actions/workflows/build.yaml
i'm still planning to steal pale court
have fun trying to maintain that legacy code
shouldn't the pin with "modding-api source" be updated?
nah
i can ping sfg???
you won't block me right 
that are a lot of thinking emotes
like 3
damn
do 1.5 mods use .net framework 4.7.2?
yup
hold on
No
WHAT
Re-add it?
@cedar hemlock i released the rpc mod for 1.5
https://github.com/KaanGaming/HollowKnightDRPC/releases/tag/1.1.3.1Beta
a
And I'm lazy
I would like to see you try
Ruttie thinks he is admin
It does
_ _
k
Wha
just ignore it
NullReferenceException: Object reference not set to an instance of an object
at InputHandler.CutsceneInput () [0x00007] in <ec95cbe21af7448ea086a0245ca33b78>:0
at InputHandler.Update () [0x0004d] in <ec95cbe21af7448ea086a0245ca33b78>:0
i can't get out of a pantheon
have you considered not NREing
oh
are you on an old version
because im pretty sure that was a crash on 72
yea, apparently i never isntalled one of the prebuilt mapis
is there a good way to serialise and deserialise objects in 1.4.3.2 ?
like i will probably have a slightly nested structure so the unity JSON thingy does not work, do i just serialise to XML ?
is the new modinstaller ready?
There is non unless you mean the one I made that supports multiple patches
A MI3 is in the work
Are you sure about that?
mi2.5 is in the works afaik
^
i mean, i have an abandoned mi3 repo, afaik 56 is working to update mi2 to mi2.5 (with the new modlinks), there is redfrogs PR for mi1.5
does anyone know what the royal waterways music is called in the game?
nvm it's just S31 Waterways
i could've told you in like 4 1/2 hours, but seems to be resolved
I’m also working on installer 1 with new modlinks
so you are/were working on mi1.25 and 1.5 or how would i label those 
mi1.5.1 and mi1.5.2
then you have mi8.8.0, miwhateverredfrogmakesit, mi1.0 and mi1.0
Why is it written in c++?
because i've worked with qt before and never worked with the c# gui variants before, and qt is used in c++
Ok
at this point someone gotta write a MI in node.js
qt has an option to make a gui in QML, which is basically glorified javascript, so pretty close already
I wouldn’t mind. I like node.js
No I won’t
Does anyone know what the deal is with the scene "Fungus2_15"? This is the scene that supposedly hosts the mantis lords bossfight, but all the FSMs and logic for said bossfight actually reside in a scene called "Fungus2_15_boss".
same thing with deepnest_east_hornet and other boss arenas
But are the game objects and their associated FSMs simply accessible in the scene without the "_boss" suffix?
Yes
Yes. The boss scene is loaded asynchronously
tfw
just steal it from jngo's multiplayer 
noooo i want an actual complete documentation 
i like the il and m
dc
mm
n sections
it's fairly easy to understand tbh written very clearly imo
@copper nacelle do it
wait why is there even a modcommon section, I'm pretty sure that's from before
Imagine still using modcommon
it has lots of good debugging tools
nope
print tree hierarchy is good too
hkwe2 + assetsview?
but is it faster 
i mean, i just don't want to change that much code tbh
ig it'll probably be somewhat similar to the on things?
“This is why HK modding is so unwelcoming”
Does anyone have a built version of FSMViewAvalonia that supports tabs?
private void MethodA() { /* code here */ }
private static void MethodB()
{
MethodA(); // Bad, you shouldn't do this
}
@quick orchid does this help
i posted it here so it doesn't flood #hk-discussion in a way 
calling an instance method from a static method with no instance
really makes you think
It wouldn't make sense in any way 
You can to a single tick around each for inline code blocks
`like this` -> like this
you need a new line for the cs highlighting
Aren't those the wrong characters also, shouldn't it be a backtick: ` instead of the acute accent: ´ ?
yes
why are you Dward and not Dwarf?
i have no recollection of that, so that can't be it
yet theres evidence you typed it
no
dwarf hacked your account and typed it?
apparently
its illegal to remove evidence
dwarfwoof's account was previously hacked??? ? 😭

what is the point of this
anyone know how to change the apperence of the watcher knights to the washer knights
i would like to know because its funny
you install the washer knights mod
Does anyone know where I can get ahold of a modder?
I have a project for some things I wanna have made into a mod but I have no modding experience (or a computer)
Ping me if you have an answer
Hmm
Oh
Good
Well I'm warning you
This project isn't exactly easy (well I don't know)
How easy is it to modify a charm
varies but not too bad usually
Because that's all this mod is
I'm making all the bad charms
And reworking them
Into actually having decent uses
very unique
The hardest rework will probably be heavy blow
Because it's a entire rework
And the charm will keep none of it's old effects
maybe
Either way I've gone through other people and asked for oppions on what charms should be modified and how they should be
this is definitely a mod that can be made and in fact has been made multiple times before in various ways although I'm pretty sure most of them are now outdated
You can learn modding through here https://radiance.host/apidocs/ and looking/using those old charm revamp mods should be of great help
I don't have a computer
I can't phycicaly mod myself
Which is why I'm looking for a modder
I see, well good luck
Alright thanks for the help on clarifying how hard this job is
np
are you paying for this to be made? and if so, what's your budget
1 cent
Possibly idk yet
Honestly it depends on how hard this is to actually do
bog
I know you just put all this effort into this, but wouldn't this make more sense to be made using MI2 as a base, especially since Mac Pathing is something that confuses a lot of players.
bhhhhhhhhhhhhhhhh
idk
i could
um
yeah that's easy
i already had troubles navigating thru modinstaller source code
i think i can do it tomorrow. not sure
i also planned to add TWP skins, but... they are not in zip formats
I didn't mean that as a big criticism or anything btw. A skin installer is absolutely amazing! Is it going to use a system similar to Modlinks? And/or where does it pull skins from?
idk what am i gonna do, i'm not sure if i even need permissions
similar system to modlinks, yeap
and
it pulls skins from
is it possible to integrate this into the modinstaller?
just have a separate tab for skins if you have customknight installed
@floral blade might have some ideas, btw.
They have been working on ideas for a "central skin directory" / list, to help with esnsuring HKMP skins are using the same ID.
https://github.com/KaanGaming/SkinInstaller/blob/master/modlinks.xml here's the modlinks.xml this skin installer uses
resizing ui could be a problem... especially since you can't open ModManager.cs in design mode via Visual Studio 2020
how does the ui affect it?
i'm just gonna show this
actually
hey
i might be able to do this
hm
not exactly sure how i would integrate skin installer to modinstaller
the interesting thing about this is
it has both mod and skin support
WAIT WHAT THE FUCK
THAT'S WHY IT'S NOT WORKING
Google drive download links don’t work if the file is too large for the virus check
Upload to GitHub instead?
idk how
Or any other file storing website
catbox.moe is pretty good fwiw
i was trying to download blood knight from my skin installer i made and it was 0.4 mb i was surprised
then it just threw an exception 
so uh
thanks google
wait a fucking sec
wait
wait
isn't custom knight 40 mb or somehting
how does it not crash then
it is on github
This is such a good idea tbh
Just a couple of thoughts I had, could you use MI2 as base so that it'll work on Macs as well? And if possible add a preview image? A lot of people want to preview a skin before downloading.
A reason to bring back icon.png 👀
Although the preview would require it to be downloaded anyway, fwiw.
Although, you could make it so that once downloaded, Icon.png could be shown so that players have an idea what it is before starting up the game 
I was planning on bringing back Icon.png in game soon anyway once I had a way of doing it without much of a performance penalty
I mean if the icon.pngs were outside the zip you'd only download icon.png for all skins and download the entire skin only when requested by the user
Github releases 
whoa how where
Is ToT's project public?
Like the source code?
Update to 1.5
the resources are gitignored
But why?
because using git to track binary files is a poor choice
That's what I thought to add
If there is no icon.png I don't know how would i get the preview
I think i can just copy a portion of Knight.png into the preview tab
Maybe copy the bottom right edge if you can?
the knight should be a specific size after all
(at least, until CK+ releases
)
Are spritesheets fixed size or not?
Yep
Awesome
As of now and the forseeable future
Nah
It's really nice 
this
dnspy has an option to extract embedded resources
That blurry skin is enough to mess with my brain for a long time
wait till you see the other sheets
Aight
idk why you would need it in any case, but nice
I wanna look at scene stuff
ah
A more important question is
Why do the slashes of the Heavy Fools not hit me?
Even after I disabled my mod it still doesn't work
debug invincibility?
No debug
And all other things damage me
only the slashes dont
both the normal slash, and the leap-and-slash slash
Wait they all started hitting me slowly 
now it consistently hits
Or maybe it's just a range thing?
I dont even know anymore
All I know is it doesn't work all the time like it should
Even normally
install debug, let the colliders show
but I have no idea how to fix that
yeah, good idea
I'll enable it I guess
also does anyone know why they dont appear in the enemy list in debug?
Heavy fools
They're never there
holy crap i want this
They don't appear in the enemy list, and the collision hitbox doesn't appear for them
Debug seems to not be aware of them
Yeah sorry. I have no idea.

Old stuff
In visuals tab there's a show hitbox feature
Use that
I think red lines is the one that has the damage player thing
After the enemies spawn close and open the panel to refresh the list
Aight, thanks
Any idea how the last two work?
How does it even reach them?
Shouldn't it exit once the Wait ends?
How do I entirely unbind something
in debug
Click on white circle (that binds).
Press esc
Or you could remove that key from your keyboard
It won't
you can also go into debugs globalsettings and remove the line(s) with the bind (and its key if its split)
Download newest version
How did you find this?
Find what
In visuals tab there's a show hitbox feature
nope
Woo, thanks
For some reason, the two slashes don't show a hitbox
while the charge attack does show another one
Wait I saw it
I saw a slash hitbox
after like thirty slashes, a hitbox appeared for one of them
And two more
So far, three out of like fifty, with three being in the last ten
and thats only normal slash
no hitbox for jump-slash yet
idk what's wrong with your game
Welp this is disappointing
Did those slashes that showed hurt the player?
only the hitboxed ones
Giving a random chance to not get hit is a feature not a bug
It's a feature I wanna make sure never happens
@jolly jungle my guess is that debug mod only shows non-trigger colliders?
wdym?
It shows all kinds of stuff
it shows me basically every collider in game
see it even shows colliders for the trigger boxes for interactions
just get the hitboxes mod?
what's the difference
idk
And there's no problem with this
?
When it doesn't show a slash hitbox, there isn't one
hitboxes mod shows fewer hitboxes than new debug
doesn't hit me
After another 20 slaps, only two had a hitbox, but one of them went over my head and too much forward, so it missed me by being too long-ranged
ok half of those with a hitbox miss me due to poor placement 
they seem to hit more consistently now I guess?
The jumpslap never seems to show a hitbox though
Are you sure your game is ok?
I think so
Any way I can know it's not ok?
This is the only thing I can think of
that's all i got.....
Eh it's not that important
I'll just have to assume the attack does damage everyone else
Which means it all works as I want it to
Send it here and I'll test
I'll dm it to you
MI the third iteration

this
Please don't tell me i have to make 3 skin installers 
Actualyl
Talking about that
I'm gonna do skin installer 2 today but idk when
you do need to have a windows, linux and mac version, maybe even 2 for both linux and windows
Hey are the Knight's fsms in one of the sharedassets 1-5 by any chance?
avalonia
nice
i tried it in vs but i just broke everything, so i'm never gonna touch it again lol
For if someone pushes to the repo and the build fails: catbox.moe is down
readme doc in #archived-modding-help pins?
is there a way to change the shades spawn point?
yes
how?
this is in FSM or code?
it's an fsm
Any ideas on why my FSMViewAvalonia crashes when I try to open the "FalseyControl" FSM from "Crossroads_10_boss"?
Thanks
i was just asking
if there was a way to do that via modding smh
just that if the mod exists, that's all
just so i can display if the player is fighting corrupted kin, any rad, etc etc in discord game status
^ probably best to create an api that other mods can use than hardcode all cases yourself
I can't find the Knight fsms 
I have a feeling they're somewhere in sharedassets 1-5
but those appear blank when I try to avalonia them
lemme see if the other viewer can see them
Wait lmao
I just realised
There's a button specifically for that
I can't find where DNail gives soul 
Anyone knows the fsm of it?
it doesn't seem to be on the dnail's fsm - that's just a general control for activating it
the actual effects of it on enemies/npcs/etc. would be someplace else
But I don't know where
Hitbox -> Send Event -> Send Event
mmmmm what
Hitbox gameobject, Send Event Fsm, Send Event state
This thing?
yes
Where does it send it to?
to the thing it collides with
Hm
whatever that is
So how would I make a specific thing react in a different way
In this case, give an irregular amount of soul
how do I detect when that thing had their hitbox receive this event?
on enemies, the hitbox get's detected by the EnemyDreamnailReaction class, so hook some of it's methods?
Wouldn't that make it, well, depend on it?
I think kaan wants a mod to be able to recognise the presence of another mod
thats why pain
and do stuff accordingly
the way i'd do it is to either
- have a plain dependency of it or
- abuse playerdata
but there also is that thing that either yuri or 56 put here some time ago
nah i'm just curious if there is a gateway of sorts when using dlls of other mods as dependency
I remember redfrog doing something of this sort on Fyremoth
i have an event in my mod (like how modhooks work), let's say there are other mods that subscribe to that event. if i fire the event from my mod (from my own code as well), will other mods be able to see that event being fired and react to it?
yes
neato
otherwise the modding api itself wouldn't work
Hm
So can we accidentally/forcefully trigger other mods' stuff without it meant to happen?
hold on
if they have the stuff public, definetly, private, more of a challenge, but still possible
https://github.com/KaanGaming/HollowKnightDRPC/blob/main/HollowKnightDRPC/RoomNames.cs#L1178
there is already a section for registering room names
i'm planning to add support for icons as well
pog tamer
sorry i just looked at your nick and thought that, entirely irrelevant to the conversation
it's alright
about icons
uh i can't just support plain custom icons, like, binary data
due to how discord handles rpc assets
Nope 
I have no idea what you mean
i'd suggest to add a few generic icons people can use in their mods
i don't know what
actually most of them are just area icons
like an icon for resting at a bench / pogoing / cdashing etc
a few random meme emotes
ok sure
Add 
then the mod can choose to show this not super specific context image with their mods location info text thingy
what .NET version should i use for modding?
1432 or 1.5 ?
if for 1.4.3.2, then use .NET Framework 3.5
if for 1.5, then use .NET Framework 4.7.2
it's most likely you're using the 1.4.3.2 assembly-csharp so go with .net framework 3.5
Just remember that once we have a final 1.5 version, you might want to update the mod to match
ik
thank you!
i also have a seperate 1.5 release for my mod
Hi all! I started playing around with Unity and C# in the beginning of this year. A few days ago, I downloaded dnSpy and made a few changes to HK. I would love to make this a mod that other people could download and use, but I have no idea where to begin. Not a developer, just a curious guy. What should I do?
https://radiance.host/apidocs/Getting_Started
i think this is the correct link. just make sure you go to Creating Mods section
Thanks, I'll try to follow the steps and get this working. Using dnSpy was fairly easy, but this is a bit new to me. Hopefully it won't be too complicated for a dev-wannabe.
It's going to be way easier
hey does anyone know how to use this change ingame text mod?
How do I join someones game in the multiplayer mod?
@rough pulsar I don’t know if you still want to reference other mods without depending on it but: ```cs private static readonly Dictionary<string, CacheType> Cache = new Dictionary<string, CacheType>();
public const BindingFlags allFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic;
private const string TypeExceptionMsg = "Could not find the requested type in any of the target assemblies.";
private const string MemberExceptionMsg = "Could not find the requested member in the target type";
public const string AssemblyNameGun = "HollowPoint";
public const string AssemblyNameSkins = "CustomKnight";
public const string AssemblyNameSkinsPlus = "CK2";
public const string AssemblyNameRandom = "RandomizerMod3.0";
public const string AssemblyNameRandomOld = "RandomizerMod2.0";
public const string AssemblyNameMain = "Assembly-CSharp";
public const string AssemblyNameFyre = "Fyremoth";
public static bool GunMod => Assemblies[AssemblyNameGun] != null;
public static bool SkinsMod => Assemblies[AssemblyNameSkins] != null;
public static bool SkinsPlusMod => Assemblies[AssemblyNameSkinsPlus] != null;
public static bool RandomMod => Assemblies[AssemblyNameRandom] != null;
public static bool RandomOldMod => Assemblies[AssemblyNameRandomOld] != null;
private static readonly Dictionary<string, Assembly> Assemblies = new Dictionary<string, Assembly>()
{{AssemblyNameGun,null},{AssemblyNameSkins,null},{AssemblyNameSkinsPlus,null},{AssemblyNameRandom,null},{AssemblyNameRandomOld,null},{AssemblyNameMain,null},{AssemblyNameFyre,null}};```
And then I guess frog uses this line to load a certain class? CacheType WeaponSwapAndStatHandlerClassCacheType = GetCacheType("HollowPoint.WeaponSwapAndStatHandler", AssemblyNameGun);
hey so i was wanting to create my own mod for the first time, and i tried looks at https://hk-modding.github.io/api/ and can't make sense of it, is there guild to starting to mod hollow knight?
That is the documentation for the api. Use this: https://radiance.host/apidocs/
tx
Why is the article about charms (shop) so complicated? It can be way simpler if you use another hook.
This is all the code Fyremoth uses. I know it’s not the same, but it doesn’t use refelections```cs
public static void InvItemDisplay_Awake(On.InvItemDisplay.orig_Awake orig, InvItemDisplay self)
{
switch (self.playerDataBool)
{
case "hasCyclone":
self.activeSprite = Assets.iconsAtlas.GetSprite("cyclone_slash");
break;
case "hasDashSlash":
self.activeSprite = Assets.iconsAtlas.GetSprite("dash_slash");
break;
case "hasUpwardSlash":
self.activeSprite = Assets.iconsAtlas.GetSprite("great_slash");
break;
}
orig(self);
}```
Could i please have a code example of preloading an enemy and spawning it with a hook? I've spent a little while trying to get it to work but it has defeated me.
Just preload an enemy and instantiate it when you want to spawn it
did you spawn it in the correct location?
im basing the location off of another enemy.
This is how c# looks like?
Kinda. I stripped out the namespace and class definition here.
stripped out almost anything cus otherwise you're leaking stuff
^
That looks way simpler than other examples I've seen
That's to change the Slashe icons to the new red-orange sprites right?
oh. Wrong code. Meant to send the code that replaces charm sprites in shops
is it the same idea though?
@jolly jungle kinda
public static void OnShopMenuPatchStock(On.ShopMenuStock.orig_SpawnStock orig, ShopMenuStock self)
{
for (int i = 0; i < self.stock.Length; i++)
{
GameObject obj = self.stock[i];
if (obj.name.Contains("Shop Item Ch"))
{
string name = obj.name.Remove(0, 13);
//Modding.Logger.Log(name);
if(name == "SprintMaster")
{
self.stock = self.stock.Where(val => val.name.Remove(0, 13) != "SprintMaster").ToArray();
}
else if(Dictionaries.ShopCharmSprites.ContainsKey(name))
{
self.stock[i].transform.Find("Item Sprite").gameObject.GetComponent<SpriteRenderer>().sprite = Assets.charmsAtlas.GetSprite(Dictionaries.ShopCharmSprites[name]);
}
}
}
orig(self);
}```
This contains some code that is not applicable but it’s beter then the way the docs do it. The redundant code is for something else
if(name == "SprintMaster")
{
self.stock = self.stock.Where(val => val.name.Remove(0, 13) != "SprintMaster").ToArray();
}```
lmao
Yeah
is this what removes it from stock?
Also, csharp public static void OnCharmDisplayStart(On.CharmDisplay.orig_Start orig, CharmDisplay self) { self.whiteCharm = Assets.charmsAtlas.GetSprite("Charm_36_Full"); self.blackCharm = Assets.charmsAtlas.GetSprite("Charm_36_Black"); orig(self); } without this their sprites don’t change in the inventory
Yes
where though?
??
Cuz voidheart has that extra problem that customknight doesnt change it in the equipped list
I assume you're changing it there too?
Nice
Btw any chance you explain this to me later
not now
No. This is all 🐸
later = soon™️-type later
ah, sad
it might be one of those what work with a file that lists out things to swap
I don't know how they work though
^
it ok 
i think i'll just reference other mods with dependency in a try-catch so it doesn't need those mods to be installed
ck2 
doesn't work
if you add it as a reference it just fails to load
huh?
i think it's still worth a try
i did something similar with the discord library
i already tried, but you can ye
when i added debug as a reference
and put all the code for interaction in a try catch
it just failed to load before init was even called
you didn't use using Debug; or something at the start, right?
nope
i mean, you can try cus now i'm just scared i did something wrong and am giving wrong info lol
you can't reference the type in the same function as the check that determines if the optional dependency is available
for example you could check if the dll of a mod is available in files in method a and call method b conditionally that references a type from that dll <= this would work
but if u did both in the same method it would break
Silksong is being saved!
well the project looks pretty active currently
hopefully me learning about it won't curse it
yeah don't jinx it
apparently they're releasing cross-platform console support next
switch mods when
anyone knows how do i change the values of attack speed, movement speed, dash cooldown etc?
HeroController.instance
asset ripper or unity or the mapi
asset ripper
you'd still need to somehow get the mapi into consoles then
true
homebrew
where is the mod log?
i think you need to enable it in the save folder in the config file
then F11 ingame
Error: System.NullReferenceException: Object reference not set to an instance of an object
I applied reference to the files
Saves
Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)
Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\``` ** ** Mac File Paths: ```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/ Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/``` ** ** Linux File Paths: ```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/ Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
and find modlog.txt
ye
thats the error inside the modlog
[ERROR]:[API] - at HKTestMod.Class1.Initialize () [0x00000] in <filename unknown>:0
[ERROR]:[API] - at Modding.Mod.Initialize (System.Collections.Generic.Dictionary`2 preloadedObjects) [0x00000] in <filename unknown>:0
[ERROR]:[API] - at Modding.ModLoader.LoadMod (IMod mod, Boolean updateModText, Boolean changeSettings, System.Collections.Generic.Dictionary`2 preloadedObjects) [0x00000] in <filename unknown>:0
[ERROR]:[API] - at Modding.ModLoader+<LoadMods>d__9.MoveNext () [0x00000] in <filename unknown>:0 ```
do a modhook in initialize
and put your code in the thing that gets hooked
not directly in init
how do I access something inside one of these?
ModHooks.Instance.SetPlayerBoolHook += TestingHook
so when i have a function named
public void TestingHook(){
}
it will run every time a boolean is changed?
I think so, yes
I don't know the list of what triggers it, but probably all player-related things
AttackDirection should exist, idk what happened here
was OnAttack autogenerated
Question
Which class(es) describe knight getting fireball spell?
Wdym
Do you have all the right references
you can see them to the right
I dunno what version it is though
Where in source code can i find methods, events etc that run when the knight gets spell from snail shaman
cuz 1.5 doesnt have/need a modcommon
is there a refrence for herocontroller and hooks?
like a file
right?
I dunno maybe 1.4 doesnt need it either
if you mean modcommon isn't updated to 1.5 yet, yes
Sure
I just meant like, what did you do that didn't require it
cuz I need it all the time 
Anyways if anyone knows how please explain to me
where did you get them
I've managed to get it to work, but ingame it does not change anything.
yes
It's in hollow_knight_Data
Scroll down enough
Starts at around a third of the way down
do Log("on attack called"); to see if it got called, and after the setting, do Log(ATTACK_COOLDOWN_Time); etc
So far I've been just looking at fsms of things that are in them with avalonia
but I wanna do stuff directly to those in there
utiny ripper maybe?
¯_(ツ)_/¯
what do you do that requires it
alright, the attack logs, the values do change to zero, but nothing changes ingame
the cooldown is still like in vanilla
try to log the values again on for example save, and see if they actually got changed
ah yes would have been my next suggestion lol
I tried 1
it attacked 1 time every second
but no, when its 0.1f it still doesn't work
only worked when it was a full number
weird
yep from what i see, the game has a minimum cooldown of attack, that cannot be set below it
what a dissapointment, to learn how to code hollow knight mods just for this, and this doesn't work
theres always a workaround
might be
not that i can even hope to find it lol
what do you wanna do?
0.41 is the minimum attack speed can have, if i set it below it will not change the speed, modders, do you know any way to work around that?
turnaround cancels animation if it isn't done when turning around after attack-duration is done afaik
i know TASes do that to truly get QS at max DPS
is it possible to have 2 attack animations at once?
I'd suggest finding what limits it and change that
Of course, I have no idea where to start
But I hope someone else might

idk where to start
btw grenade do you have any idea how to access the content of these?
change the attack duration
assetsview by nesrak
0.1 duration and 0.05 cooldown is what an older mod used
releases of https://github.com/nesrak1/AssetsTools.NET
cool, thanks 
ah yea, maybe you didn't know that attack duration and attack cooldown were seperate things
Oh btw @eternal crown what you're looking for is probably in some fsm
How can i freeze character movement on entering new scene? Like, after teleporting to godhome but also lying on the ground. Simply putting IgnoreInput() or something doesn't work and knight performs speedrunner's sleepy walk
is https://github.com/a2659802/HollowKnight.Decoration the decomaster github?
wdym
in which context
I've observed that enemies have a cooldown of how much time you can hit them
per second you can hit 3 or 4 times
I wanna override that to allow a lot of attacks
Uh is there a reason the scene Fungus1_04_Boss contains hornet? Is Fungus1 Greenpath?
queens garden
Ah
^
so there are 2 of the same, beware
Yeah I know
There's a lot of those for bosses
If there's something in both scenes it doesn't matter where I take it from
Im tying to make the player be able to do 20 attacks per second, but the enemies have a cooldown themselfes, you can only hit enemies 3-4 times a second, while i can attack 20 times per second, the enemies still only take 3-4 attacks everysecond instead of 20.
so reduce the enemies' iframes
how do i do that?
is there a EnemyController?
Probably?
I personally never messed with this
But a lot others have, so I guess we can just wait for one of them to come along
i believe the docs have something to say
Or you can search in this chat, I'm sure someone sent something about it
Im looking athttps://radiance.host/apidocs
and, yes, the docs are always a good place to check
exactly once every 0.2 seconds
how can i change that value?
imma check
is there a cooldown of 0.2 or does it reset every 0.2
cooldown, tf would every 0.2s reset be based upon
thanks, im now workin on it
what reference am i missing, i referenced everything in the get started page
Anyone knows what happened to the Traitor God github?
github gave me a 404 when I tried going into any of the project's pages
i missed 2 references
its working now
UnityEngine.CoreMoudle
UE.Physics2DMoudle
nice 
use dnspy
but decomp sucks with some things
I'm looking at GG_Mantis_Lords rn
There are two objects called Cave Spikes Invis
And a lot of objects called gg_mantis_spikes
The "mantis spikes" all seem to be bundled up, with close x and y values, and a couple of different (also close) z values that seem to repeat themselves
the "cave spikes" have a damaging component, but like their name states, appear to be invisible
Is it safe to assume the "cave spikes" are the hitbox (here and on the other side) and the "mantis spikes" are the tons of spike sprites?
You could find the gameobject and move them and see what is moved
What do you want to do?
I use healthmanager to recognise enemies
Im trying to find if A Collider2D is an enemy
what for though
You might have other ways to detect whatever you want
for example, as I was shown yesterday, if you want to know when an enemy was dreamnailed, you can hook EnemyDreamnailReaction.RecieveDreamImpact
So if you're doing this cuz youre checking if an enemy was attacked or something, there's probably some hook for it
enemies have a cooldown of how many hits you can do per second
Im trying to change the cooldown
what i tried to achieve using OnSlashHit
is to detect if the Collider2D is instance of an enemy, so thats why i asked is there an enemy class
this tutorial should work right
yes
<( Hm yes, the ceiling is working correctly)
yes
btw can i just rip assets from the game with anything other than utiny ripper? it lags my computer to the extreme
asset studio
what does the funcion setdamageoverride stand for in HealthManager
utiny is for getting a unity project not just ripping an asset
oh yeah yeah
right
i was just looking at apidocs tutorial for modifying scenes and making new ones as well
now i'm gonna kill my pc with utiny ripper doing its own shit 
aka wait
that works but you have to make some changes if you are doing it with 1.5 hk since new hk uses unity 2020
if i stop talking at any point it's probably because my pc starts to lag
no i'm doing stuff with 1.4.3.2 instead
ah I see
@rough pulsar it takes time, but it will give you an explorable project. Also, it doesn’t work for 1.5 but the scene seems unchanged as far as I can tell.
how do i give a player a double jump mid air?
thanks!
I found the solution
nice
private bool True(On.HeroController.orig_CanDoubleJump orig, HeroController self)
{
return true;
}
On.HeroController.CanDash += True;
private bool True(On.HeroController.orig_CanDash orig, HeroController self)
{
return true;
}```
or you could make doubleJumped = false
You can hook into a variable in the playerdata class getting set.
dude ive been doing this for one hour
I'm this
there is no progress since UnityEngine.VideoModule
@primal latch
utiny ripper is literally stuck
how do i detect if a player has double jumped or not?
Comedy
Herocontroller.instance.doublejumped
True if done
False if not done
@rough pulsar are you using 1.4?
yea
Also, it took me like a day
@rough pulsar If you want I can send it to you tomorrow
Yes. Unityripper doesn’t support 1.5
On my secondary laptop with an I3 5th gen
Ok. I’ll send it to you tomorrow
mine should finish faster then
@rough pulsar 1.5 isn’t supported since utinyripper doesn’t support unity 2020
ok, im on 1.4, thanks for the heads up
What assets are you trying to get?
actually im just trying to modify scenes
like, e.g. adding gateways to my new scenes
You don’t need to rip the game for that.
This video should have code for that
it still would help if i am going to use assets and gameobjects from the game files?



