#archived-modding-development
1 messages ยท Page 14 of 1
its Language.Get("CHARM_NAME_0", "UI")
Alright
I think I'll just make it write the key, sheet, and text to file then play for a bit
To get all of them that I need
I'll try to get a knack for it tonight thanks though ๐
ye pretty sure anything that appears on screen in the inventory will be in ui, INV_NAME_SPELL_FIREBALL2 is shade soul for instance
Thanks, this will be pretty helpful
en_prompts also has some lines that you might wanna take a look at
<entry name="GET_DOUBLEJUMP_2">Use these ethereal wings to sail above enemies and discover new paths.</entry>```
like getitem descriptions
if you wanna take a look
I found a bug in the randomizer that makes it run on saves it shouldn't sometimes
So hopefully nobody got their saves broken
Oops
"You see Jimmy, subjectivity means that literally all language, philosophy, and discourse is rendered meaningless because that's what Karl Marx wanted when he invented sociology."
hahahaha
so
since I'm bored, I plan on making some sort of leveling system mod for HK on my spare time
would anyone be interested in playing this?
depends if its fun
oh
I was like "I have no idea what they're talking about"
xD
I still have to work on this idea
but it seems feasible and perhaps interesting
also, a nice way to remove the problem we have right now of too much geo with nothing to spend it on
what would it be like?
So it's all bugs in HK, and there's a lot of aquatic arthropods, like shrimps and lobsters. INB4 aquatic DLC/mod?
I'm still letting the idea brew for a while
but maybe make a levelling system that has stats that increase nail damage, spell damage, salsh cooldown, walking speed, total health, total MP...
Maybe Zelda II meets Dark Souls style? Reach a geo amount and you can spend it on a stat upgrade at a particular vendor
I liked Zelda II
Nail Range is another adjustable
I was thinking kinda Dark Souls-esque
maybe even have Salubra upgrade your charms and stuff
How would charm upgrades work?
magic, speed, and strength trees
Another possibility would be to hijack the charm system and use it as a skill tree with each row being a skill requiring the one before it
that sounds interesting
it'd require quite a bit of work though
Yeah, it shouldn't be too bad
Just pop up an ugly default unity ui for it when at benches
make variables to keep track of current stat level for each stat
precisely
and use those variable during the damage/health/MP/etc. calculations
Yeah, could be cool
Maybe set nail upgrades to max but keep nail damage at 5
So the nailsmith does nothing
Need to level up for damage
not really, just set new game stats so all of that is already done
I know, but
Eh, his dialogue could just be replaced with memes about being phased out by the leveling system
"I used to be an adventurer like you, but then I took a nail to the knee."
There is a guy who wants to play Hollow Knight, but he is aracnophobic and even tho Nosk is not scary to him, he says he is terrified by the shadow-spiders in Deepnest. Is there something simple anyone could do for him? Like change the models of the spiders or make deepnest an optional zone?
Ayy lmao but then how he kills them
skill
I have the same guy
Just play that area without lantern
Lol haha
Can't see the spiders if you can't see anything
and I showed him remrem. Still afraid of spiders
Remrem?
Baklava booptis lol
The spider crawling on the screen should be in the assets
I would think (without knowing anything about modding)
- Change spider models
- Herrah already absorbed since the beginning
- Placing herrah or trigerring herrah somewhere else?
yash
Cute
anyways. Replace spiders with zotelings
shadow spiders?
Yeah you know, the ones that come from the shadow and you can see their silhouette and then they show up to attack you
this game is too cute to be scary :<
Yeah. I guess I cant put myself on the shoes of an aracnophobic, I couldnt think of that being scary at all. I guess the mind can be super tricky for some people
Yeah, al@lst everything in Hollow Knight is super cute
I would say the only non cute thing for me, are those death corpses of giant bugs with the scary masks, or the environment of the abyss
And well, the bunch of corpses in deepnest, with nosks, maybe the feeling in kingdoms edge with all@the corseps falling down
Mostly corpses tho
idk. Radiance is pretty creepy :^)
Really? To me its cute
Grubs are the cutest, though.
Ohh yeah

corpse creepers are the cutest
so
what formula should I use for attack increase/STR level?
any suggestions?
1 atk/level seems a bit too much
It depends on how the level xp scales
yeah...
I don't want to make it so you can easily overlevel and have like 100 naildamge
I think 60*(level^2.1) works out nicely
I would have to check how does the geo dropped from enemies increase as the game progresses to have a good estimate of what a good geo/level ratio would be
Roughly 20k geo to level 16
Which at 1 damage per level is the same as max nail
Only 1100 geo to reach +4 damage
Maybe that's a little harsh, I dunno
I was thinking something more exponential in nature
so that there's some sort of natural softcap
hm...
It's just a suggestion, though, I think something that scales harsher after a certain level could be better
1100 for 4 damage sounds reasonable
I mean, you should be able to get that way earlier than you would reach City of Tears, which is where you would usually get that +4 damage
Yeah
but in order to do that, you'd have to forsake levelling up other stats
Maybe change the Lemm values as well so that it's not an insane xp boost
also, I set up DEX for attackspeed
damage reduction... Wouldn't be a good idea to implement, since most enemies do either one or two damage/hit
oh boi this would be a nice addition to binding of the vessel imo
Woah, woah, woah. This sounds interesting, what are you guys talking about? New mod?
yeah
I've been thinking on making a level system mod
basically a Dark Souls bonfire mod
throw in item randomizer and steel soul and we going further down the roguelite path
If you can make the game turn based and randomly generate the rooms, we may even have a real roguelike on our hands. 
Binding is a roguelike and not turn based
But it's not. BoI is a roguelite.
I want binding of vessel
also randomly replaced enemies would be cool
buuut thats feasable :/
just as replacing everything with zote is feasabl
I like to believe that randomly placing enemies is within the realm of possibility, we just haven't figured it out yet.
The only change that is likely to be noticed with this new build is that pickups show the correct name for the ability/charm that they give you. Aside from that, there's been some small bug fixes and a pretty massive overhaul of how the mod works internally. So if I broke anything let me know
One of the two big changes is that all the item data is loaded from an xml file, so it's possible to mess around with that and see what happens now
Alright I haven't done this in a while, why does the game crash when I create a new variable in PlayerData?
how hard would it be to make a leveling system where you can gradually add damage to your nail
If it's just damage, not too hard.
That's what I'm doing, khan
753,I have no idea
Is there a way to do this remotely?
how would you go about declaring a new variable in PlayerData?
how hard would it be to make a custom npc
I have no clue how you'd even go about doing that
oh
Get ready for a Lightbringer update :)
๐
Finding the address for player data is pretty ridiculous on cheat engine.
I spent about 40 minutes looking through the lines of code to get to it.
Why do you need that?
I mean literally everything in PlayerData is in the save file so you could just change it there
Or use the debug mod
I tried to reverse killing the nailsmith lmao
I decided to let it be afterwards, but how does the debug mod work anyway?
I'm not sure it can change unimportant things like that
But you can just edit your save file if you want
Or even just cheat the achievement on Steam
I assume that's why you want him alive
I mainly wanted for him to be with Sheo, but the achievement would be nice too.
I have a friend who is currently playing the game right now and he's willing to copy his save file right before he upgrades his nail so that should do it for me.
Cool
I felt like a jackass once I found out that he's with sheo if you spare him.
you could always do another 100% playthrough for the fun of it ๐
^
@buoyant obsidian, why do you want to create a new var in playerData?
Time Fracture is fixed :)
I ended up just making the new variable in HeroController like everything else
was it fractured 
also, if I make a new class, do I have to give the game specific instructions to call it (say, on GameManager or something) or will it execute whatever it's there?
actually
that's way more complicated than it should be
I'll make it run under HeroController
should work fine
Time Fracture used to return to normal time whenever an enemy died, now it only returns to normal time when you take damage.
oh
that's cool!
I mean, I can't play with it on, but that's good to know!
okay, the basis of the level up mod is set up... Now to build a level up GUI
how much I regret having this idea right now
good luck, brave soldier
smh
I'd much rather someone with actual experience designing GUIs did this
anyone?
Hornet 2 without upgrades no soul is extremly fun and challenging
i cant believe you are gonna make a hollow knight mmorpg
New meaning of Raid ๐ค
ik, it was a bad joke
no skill trees and stuff (for now)
i cant wait until i have to grind for 3 hours to unlock vengeful spirit
Add gambling and microtransactions
you have to pay real money for pale ore
everyone's doing this, right? I should as well
precisely!
and it takes 5 hours to upgrade your nail...
or you can pay $$ to have it instantly
genius!
Every upgrade has a chance to fail
you can only move between a certain number of rooms before having to wait
1 hour = 1 screen transition
Unless you buy a ticket
also
ticket increases chance of success
charms are given to the player on a gacha-based system
you can buy golden tickets to get good charms
S> Pale Ore 10k geo offer
oh
and it's also always-online
for security reasons
okay, if the game doesn't blow up in my face then I haven't done anything wrong - yet
well, it did
huh
okay, I seriously need help
how can I make it so that new things are saved into the save file?
For randomizer I'm making a secondary save file and putting things there
In theory anything in PlayerData is saved
But I couldn't get anything added there without it blowing up
because adding stuff to PlayerData had amazing results which made the game break in awesome ways
yup
I had HP and MP bars in the title screen
and I only added a few lines of variable attributions to SetupNewPlayerData
how did you make that secondary save?
System.IO.StreamWriter
Unless you mean something else by that question
Because that's a pretty dumb answer
Also the save directory is UnityEngine.Application.persistentDataPath
don't add anything to playerdata,
you can instead copy SaveGameData class into another called like SaveModGameData
then copy PlayerData into a class called ModData
remove everything pretty much from ModData and add your variables
then add ModData to the SaveGameData
then change GameManger savegame / loadgame / getsavefilename / getsavestatsforslot to use the new SaveModGameData class
and you can add any variable you want to the save
you're a lifesaver
also at your other question how to get something to run, just add base.addComponent(yourClass) in gameManager.Awake()
that's probably for the best
Gradow I have been really lazy, but could I have a download for the debug version?
I figured i might as well run it while I finish 100%
this should be a barebones ModData @solemn rivet
[Serializable]
public class ModData
{
protected ModData(){this.SetupNewModData();}
public static ModData instance {
get {
if (ModData._instance == null){ModData._instance = new ModData();}
return ModData._instance;
}
set { ModData._instance = value; }
}
private void SetupNewModData(){
//whatever
}
private static ModData _instance;
}
So relics aren't being updated from PlayerData.SetInt and they aren't being updated anywhere I can see from analyzing variable with dnspy
Anyone have ideas on where that could be getting done?
The blackmoth with the debug on
thanks!
Well done
did you try IntAdd @rain cedar
It'll probably be one of those 2
Weird that they have 3 functions for setting int values
its because of PlayerMakerFSM
I already used the search function
.<
I got it man
but thanks
yeah that nail damage counter will be nice though
to see when it break
Personally I love gacha games
broke when I was fighting white defender and figured I should just turn on the debug
so SetInt is only for fixed stuff i.e. spells
and its probably inefficient to read an int into fsm, just to do SetInt(whatever, var+5), when you could instead just do AddInt(whatever, 5)
I gotta go now
probably won't have time to work on that level up mod for a few more days
dunno why they have an incrementInt and addInt, when when addInt(var, 1) is the exact same lol
bye gradow. thank you :)
Okay
I got knockedback
this is a new glitch
all my dashing is backwards
and I'm floating
I'm stuck
lmao
That's an old glitch
Activating the menu fixed it
If you dash during hitstop
I thought Gradow fixed that
I am surprised I didn't run into it before
that's the only time I have run into it this run
and I played 10 hours
maybe the glitch is in this mode
this is odd
because I never experienced it before now
maybe the debug was made from an older .dll
okay interesting - my dash does no damage but my damage value is set correctly
I pass through the enemy without hitting them though
I mean I have seen this before, but it's interesting that the damage is still set correctly
although it kinda makes sense since you still have the damage you just aren't dealing it
It's just not activating the sharp shadow code, I guess
probably
I don
don't remember if it did this even when I didn't have sharp shadow
but probably?
It might have to do with dung defenders dung balls
because I had issues with infection seeds
and It might have to do with low health enemies
which is concerning if that carries to the spinny disks in TOF
but I don't remember it doing that
dung defender is the only boss I have had this happen with though.
white defender*
It might have happened with dung defender too
would make sense
I am not used to using spells though
okay I can infinitly updash
this version is a little buggy in its own right
there is more air dash control though which is nice
because before you could only dash left - right or up - down
not all 4 in one jump
might just be a product of dash being broken though
I managed to get out of bounds in dirtmouth though
You can probably do that anywhere with an open ceiling
probably
I just got around the back right side
I think using the dreamnail breaks it
nevermind it doesn't
it just broke for some other reason
damage disappeared again
possible if you hit spikes and the first attack you do that hits an enemy is with the nail
@solemn rivet just tagging you so you can read my rambling disjointed feedback.
Blug I don't want to hunt grubs. I think I'll just try and do an any% run
Anyone know how to tell if the player has their inventory/map/whatever open?
its probably a gamestate
Nah, not that easy
Game state is still playing when in menu
I think it's stored in FSM because inventory key presses are sent into it
But I have basically no idea what to do about that
@rain cedar GameObject.FindGameObjectWithTag("Charms Pane"); returns null if the player isn't in their map
Thanks, man. I'm making progress but I feel like it would've taken me a bit longer to find something functional
Checking current game objects is smart, I was trying to use fsm
afaik, inventory / maps are in a gameObject called inventory tagged Inventory Top, but all the internal logic is FSM
but that exists all the time
Yeah, I used kcghost's mod to print out all fsm logic and I was looking for a way to use Inventory Top
It'd probably be faster on the cpu to read fsm variables, but eh
I will just make an InInventory function and I can change it to fsm later if I feel like killing myself
I guess I felt like killing myself because I made code to check the fsm
In case anyone else wants this:
{
PlayMakerFSM invFSM = GameObject.FindGameObjectWithTag("Inventory Top").GetComponent<PlayMakerFSM>();
foreach (FsmBool invBool in invFSM.FsmVariables.BoolVariables)
{
if (invBool.Name == "Open" && invBool.Value)
{
return true;
}
}
return false;
}```
I'm sure there's a cleaner way than looping the bool array but fuck playmaker
It's not letting me apply array indexing to FsmVariables or FsmVariables.BoolVariables
try invFsm.GetFsmBool("Open").value
Not seeing a GetFsmBool function
Got relics being randomized now, and fixed some bugs that got introduced when I changed everything last time
Just relics? ๐ค
In addition to what was there before
So charms and abilities are randomized among themselves/each other
okay
sorry for the shitfest
I'll fix Blackmoth asap
okay
I <<probably>> fixed most bugs
sharp shadow not activating is probably the reason why sometimes you do not do damage while dashing
still doesn't explain the sudden change to constant 1 damage
just rename this
what is that
well
long story short, the universe is against me and I almost lost every working version of my mod
thankfully I was able to salvage ir from pieces of other versions
what does ur mod even change (pretty new,sorry lol)
basically it makes Sharp Shadow your main form of dealing damage
you start the game with the ability to dash through enemies and deal damage to them
charms which would normally affect Nail, now affect Dash
for instance, Longnail increases dash distance
the downside is - the nail does basically no damage at all
well uh
it's only useful for pogoing and getting Soul from enemies
i tend to run into mobs anyways
so no shits given
i mean i had to give myself inf life to complete the game the first time so im sure i can handle that
(not,imma die like 251741 times)
ha
https://www.dropbox.com/s/4vlzbp5464pj1zl/Blackmoth Mod [1.0.1].zip?dl=0 this should be a working version
but i mean i did complete the game in soul steel without dying
so i hope im not gonna dieee
...how do i install it m8
there should be install instructions inside
ok thx
for anyone willing to try the debug version for me, here's the link: https://goo.gl/tLE8LV
unfortunately I don't have the time for a full playthrough, to try and debug this as much as I would want to
@tribal nexus this version should be working
I built it on top of the latest working version, simply adding the onscreen text
wait Gradow when you are modding the game you have access to all texture files right?
yeah
could you maybe try finding the Grub Child texture for me?
oh
i mean the sprite sheet with all of em
grub child?
the grubs that you free
thank u
fake grub as well
dunno if there are more
imma make a new game now and try your mod
can't be bothered to check
those r all i wanted xD
because, well, the filenames make no reference to what they contain
simply atlas
so... I have to look at them one by one
...well..uh...
i tried starting a new game and it crashed
._.
imma try again maybe a first time bug
let me try here...
yeah it just did too
but then it suddenly was in german xD
i noticed the difference on the second stard because Behemoth was in the Main Menu
...ill guess ill try hollow knight in german,huh..
nevermind found it
wo
yeah i mean i just reinstalled the mod after a while
so maybe it just bugged a bit for me
my pc isn't da best
?
nvm
k
just to show it was working
but my connection lagged pretty bad
uni internet is shit
yeah its working for me now
im already playing
and oh shit nail does literally 0 damage
lol
gotta go eat dinner brb
oh god
playing hollow knight after such a long with without using nail
its so
not used to
wait @solemn rivet if i kill hornet and pick up the item what happens then
do i deal more damage or smth
?
i mean that would be a nice idea instead of upgrading ur nail
I think it says in the read-me included
oh it does
You'll have to see for yourself
didn't see that
what happens when i upgrade my nail
Dashdamage=5+upgrades*4
The damage your dash does increases by 4 for each upgrade
ok
Which is the same behaviour the nail would have normally
kk
im gonna try a 100% run with this mod
see how that goes
wait
does hunters journal count to 100%
?
@solemn rivet false knight is very hard
fashing through him doesn'T go far enough
and i get damage
Well, it's feasible
fashing
And the dash can actually just barely avoid his hitbox
atleastt i can heal myself completely once hes down
You just have to time your dashes very accurately
i can't beat him
._.
i have to use the nail
lmao
i have no other way than to use the nail
nevermind
fucked him
and i died
._.
and again
to these little rolling mother fuckers
i like this mod
alot
False knight was hard on blackmoth first time lol
I'm pretty sure the last randomizer I posted here had debug code to start you with every movement ability
So basically I'm an idiot
This one definitely doesn't have that
wait what does the randomizer do m8
Randomize everything
It randomizes things
Every charm and ability gives you a semi-random charm/ability
Instead of the one it's meant to
And relics give you a random relic
can u choose it?
There's easy and hard, I believe? Hard might require you to use skips
You can choose whether it's enabled, if that's what you mean
any way to select what u want to start with?
I can't wait to go through WP and get dashmaster
You don't start with anything
Kingsoul isn't in the randomizer pool
It's too complicated of a charm to be doing that with right now
Well, not kingsoul, the white fragments
Xenon
Still, that's not randomized either
the white fragments r the king soul
I'm that
But you don't technically pick up kingsoul itself, you pick up two fragments and the second one triggers kingsoul
I think, can you get WP fragment before white lady?
yes
I could probably put the white fragments/void heart into the randomizer, it would just be a bit tedious since there's I think 4 variables tracking your kingsoul state
Not sure how good of an idea that is, though, I mean it would suck to have something you wanted locked behind void heart
Void heart feels like it would be really complicated, since you need full kingsoul to get it
I'd say it's fine leaving white fragments, kingsoul and void heart alone
Biggest thing on the to do list is Isma's Tear
Someone had a good idea for getting that to work, I just haven't gotten around to trying
Do spells randomize?
Nah
Maybe I'll add that eventually
Not a big priority since they're pretty much locked anyway
Need dive from soul master or you're stuck
That would probably be its own difficulty setting
Need fireball/dive from shaman or you're stuck
Cause you can just be stuck without vengeful spirit
Well, I guess you can grind up to lantern
And hope you get something in crystal peak
No, you couldn't
But without claw you are fucked
There is a hard save at the shaman hut
You literally can't leave without killing the baldur
And there's no pickups in there
So you can't really randomize the fireball at all
It's unfortunate that it works this way
I suppose I could try to remove the save trigger in some way
I dunno
Oh yea
Well
You could try replacing the elder baldur
But have it still marked as the "kill this guy and you can leave" enemy
Idk if you can or not though
Actually, different baldurs have different distances they close at
So there's probably some property or object that marks how far you have to be
I could try changing that
If you're talking about dropping a shiny in front of Isma's, then it was me seanpr
We kill the Baldur
Nah, I meant checking if the game is loading instead of looking at the stack trace
I think it was KDT
The shiny is a good idea too if I can't get the other thing to work
That was KDT
They even came up with a simple way to implement that
But I can't remember how
I can just look at the hero state
@rain cedar pin the thing
Oh, I guess I forgot
I have an updated version that seems stable so far, anyway
I'll just post that and pin it instead
Give me a sec
๐
That one's got shop charms randomized as well now
And to compensate for having a ton of things accessible very early on now I made movement abilities less likely to show up early
why not put it in the google drive, don't have to repin it then
Do I even have access to do that?
being updated a lot seems like ๐ค
I guess I could check
Alright
he'll spam you with dragon dildos
Also: I tried to add in Isma's Tear using a check for loading
Turns out that's not gonna work
The acid gets converted from a damaging hitbox to water during the load as well
So I was cancelling that too
Alright I've got it in the google drive folder now
i guess
Otherwise I'd have to lock that pickup to only dash, wall jump, or double jump
Which is kinda lame
if you're like me you'd die trying and that's also kinda lame
Nice
if you're not like me, you'd sit on the bench two screens away and then die trying
But yeah there's a couple places like that
Like if mantis claw isn't actually mantis claw or wall jump
As long as you can fix it by quitting that's low priority on my to do list
It's in a pretty finished state
wow it's pretty weird having doulbe jump and wall jump without dash
Yeah, it does feel a little weird sometimes
this is real cool if you get a 'key' ability at the beginning
the places you can go early
anybody know what crystal dash is called in the unity assets
You're just trying to find the animation for it?
That's probably on the character sheet
@buoyant obsidian You around? I have a question for you
How are you handling the respawning of the dream bosses in the glass souls mod? We're trying to port it over to the modding dll as a proof of concept and have everything except for that done
probably just setting either playerData or sceneData
It doesn't seem to be either, that's why I'm confused
if (this.bossFound)
{
if (GUILayout.Button("Force respawn", new GUILayoutOption[]
{
GUILayout.Height(20f)
}))
{
if (this.bossData[this.gm.sceneName].Key)
{
PlayMakerFSM[] components = GameObject.Find(this.bossData[this.gm.sceneName].Value).GetComponents<PlayMakerFSM>();
if (components != null)
{
PlayMakerFSM[] array = components;
for (int j = 0; j < array.Length; j++)
{
PlayMakerFSM playMakerFSM = array[j];
if (playMakerFSM.FsmVariables.GetFsmBool("Activated") != null)
{
playMakerFSM.FsmVariables.GetFsmBool("Activated").Value = false;
this.addLine("Boss control for this scene was reset, re-enter scene or warp");
}
}
}
else
{
this.addLine("GO does not exist or no FSM on it");
}
}
else
{
PlayerData.instance.GetType().GetField(this.bossData[this.gm.sceneName].Value).SetValue(PlayerData.instance, false);
this.addLine("Boss control for this scene was reset, re-enter scene or warp");
}
}
}
thats how debug mod does it
oh thats just normal bosses
PlayerData.instance.falseKnightDreamDefeated = GUILayout.Toggle(PlayerData.instance.falseKnightDreamDefeated, "Failed Knght", new GUILayoutOption[0]);
PlayerData.instance.mageLordDreamDefeated = GUILayout.Toggle(PlayerData.instance.mageLordDreamDefeated, "Soul Tyrant", new GUILayoutOption[0]);
PlayerData.instance.infectedKnightDreamDefeated = GUILayout.Toggle(PlayerData.instance.infectedKnightDreamDefeated, "Lost Kin", new GUILayoutOption[0]);
thats dream bosses
Yeah, I know how to do set playerdata values to false
well thats how debugmod respawns dream bosses
just sets the defeated flag to false and it lets you go back in
yeah, I know
But thanks nevertheless
And those values aren't referenced anywhere except SetupNewPlayerData, hence why I'm asking him, since I can't see him set anything like it in hiw code
he might have used playerData.instance.SetBool("falseKnightDreamDefeated", false) instead
maybe, it seems easier to ask him
oh sweet
this.playerData.falseKnightDreamDefeated = false;
this.playerData.infectedKnightDreamDefeated = false;
this.playerData.mageLordDreamDefeated = false;
did you do, right click analyze
yes
weird
I was searching for the killedGhostHu one though, since that's what's used in the Game Completion calculation
so that's why I didn't find it
...so uh..
can anybody explain me how to use Unity studio plz
just tryin to find some textures
but like
how do me open
What are you looking for?
File - Load Folder - Steam\steamapps\common\Hollow Knight\hollow_knight_Data ?
there
?
That will probably work, yeah
:I
wot
oh
ok
open Hollow_knight_data or the folders inside?
also when i click open it opens the folder
Make sure you don't have the folder selected
wat
You can also just use this
Unity Studio crashes when i try to open anything :I
It's a modded dll that writes all loaded textures to D:\Risky\
Made that for something I'm doing for another guy
In the managed folder
why not use Application.persistentDataPath
alot of people won't have a D drive
i have a C drive :c
I haven't tested that but literally all I changed was write location
So it should work
It'll put the sprites in %appdata%/../LocalLow/Team Cherry/Hollow Knight/Sprites/
ok thx
uhm
....
my game keeps crashing....
when i try to start a game it crashes
instantly
probably just being slow
It's not crashing, give it time
whilst it saves alot of images
You sure you don't want me to just send you the grub spritesheet?
no
but like
i don't wanna annoy or anything
but theres no sprite sheet in hollow_knight
its in your save location
C:\Users<user>\AppData\LocalLow\Team Cherry\Hollow Knight
its not there
In the sprites folder
there is no sprite folder
I see
sometimes it doesnt make the folder
Maybe File.WriteAllBytes doesn't make a folder, yeah
Make your own folder called "Sprites"
Then try
It writes the sprites that are in use by the game
You need to go rescue a grub to get the grub textures
oh ok
well uh
...you know i also use the dash = attack mod
and it doesn't work anymore
the Blackmoth mod doesn't work anymore
Yeah, assembly-csharp.dll is where all mod code goes
oh
You can't have two mods active (Yet)
The way mods are set up right now it would be pretty hard to make something to 'combine' mods
Lightbringer updated with fixed Time Fracture charm http://www.moddb.com/mods/hollow-knight-lightbringer/downloads/hollow-knight-lightbringer-download
what does it do??
You can speed up time by attacking upwards, up to 2x speed
it resets when you take damage
Now it's more viable for combat too
I can't fight that fast tho xD
I like to attack upwards twice for 20% extra speed, I can usually handle that much at least
yeah, just a tad faster than normal is fine
oh
this reminds me to update my mod's page on moddb
how do I get randomizer here?
Pinned
@solemn rivet guess what, we just combined 2 mods
howwwww
pushing code up, gimme a second
The mods are using a DLL that has mod hooks installed and dispatches events to mods so that they can change stuff in the game
It's not super clean yet, but it works
Credit goes to @rain cedar as well
What specifically do you not understand?
in that case I don't think I can help you
._.
Anyway, ideally we'd like to invite people to port their mods over to use the modding dll. The added benefit is that you don't have to port your mods over to be compatible with new versions of the game. Only the modding dll will have to be ported
I think I can try to make Blackmoth compatible
i wish you could upload mods to the steam workshop ;-;
There will likely be a bunch of hooks missing that you need, but we're happy to add them
By we I generally mean sean, since I'm a lazy fuck
@solemn rivet do you know what functions you have hooked into for your mod?
Yeah he is
You wanna fucking go m8?
The other benefit is that it makes your code a hell of a lot cleaner and easy to read
@rain cedar is the DLL uploaded somewhere?
Kinda
the one in the randomizer mod is outdated
alright
hm...
sorry if this is stupid, but Blackmoth not only adds functionality to existing functions or adds new functions, but it also removes certain lines of code/modifies existing functions. How would I go about porting that kind of behaviour?
That kind of depends on what behaviour you are trying to remove
Can you give me an example?
If you're just removing lines that change a variable you could instead add code to change it back to what you want
given that pretty much everything is an FSM that will work most of the time
although obviously that will make your mod incompatible with a lot of other stuff
lemme check here
for instance, in HeroDash() I remove all the handling for how to dash down, and treat it separately on its own method DownDash()
that was made due to some bugs which were happening
For stuff like that we will probably have an OnDash and an AfterDash hook. So you could remember the relevant state before the down dash code and restore it in the afterDash and run your own code
Could also just add a down dash hook that overrides the game's down dash code if applicable
That works too I guess, gotta see how many things like that will come up
@solemn rivet at the moment we are adding hooks on demand, so you'll probably just get a downDash hook that allows you to override the basic functionality
okay
here's what I'll do - I'll write down basically a full documentation of Blackmoth
that'll help me figure out what I need to do
for instance, I just realized I technically don't need to "change" heroDash() - I can just make a new method normalDash() and call it whenever heroDash() would be called
the only issue with that, is that I would have to remove the lines from lookForQueueInput() which reference heroDash() anyway, so...
It all depends on how the modding hooks are set up
Like for PlayerData.SetInt it's a complete override of the normal code there if the hook is used
But I'm not sure that's a good idea for the dash function
On a different note, for blackmoth, if you can dash up, wont it allow you to skip certain areas that require double jump?
The only places I can think of where that is applicable are white palace/hidden station and crystal guardian 2
You really don't need double jump for much in this game
It does feel nice to get a dash/double jump off of the bounce slashes though.
Makes you feel hyper-mobile
Isn't there also the Fungal Core and the passage leading up to Hornet 2 (I heard that you need both shade skip and aspid pogoing to get up it without double jump)?
Yeah you're right, you can't get up fungal core without double jump normally
But getting to hornet 2 is easy
You just need to bounce on an aspid to clear the first jump
Then there's wall jump surfaces for the next two
Ah, alright then
I guess the convo I had was whether it was possible to reach Hornet 2 without wall jump as well
Maybe, if you were able to use the aspid for all three jumps
I dunno, sounds like hell
I think the whole basis for that discussion was whether it was possible to get to Hornet 2 before Hornet 1
When I tried to see how far I could get without facing Hornet 1, I tried to do fireball skip into Fungal Wastes
Didn't succeed since the gap at both entrances (Crossroads and Queen's Station) was too wide (for me, at least)
Yeah, it seemed like it was possible
Yeah, can't think of any other way to avoid dash
maybe you could grind geo early on and get super dash earlier and get it with that
but that would be really slow
No way you're getting super dash without wall jump
Another issue along the "route" to get to Hornet 2 before Hornet 1 without wall jump is in the vertical passage that you head up in order to skip the acid blocked entrance directly across from the King's Station entrance of Kingdom's Edge.
What's wrong there?
This:
Oh, without wall jump
Yeah, don't try to get that far with literally no movement tools
At least get wall jump
I've tried pogoing off the jumper right at the height of its jump when its at the edge and succeeded once with MoP
You need wall jump to get mark of pride, though
you could try long nail
I put about 20 minutes of attempts in with Long Nail with no success
Maybe someone with better timing might be able to pull it off
And of course, the kicker of all of this is that if the Aspid can't take enough hits to get you up all 3 ledges, then you need to die to leave your shade there and then redo the entire trip
Yeah but it's not about doing easier.
Low % true ending
Although it's not possible to do white palace without wall climb
Afaik
@rain cedar @solemn rivet
Do you guys want your mods pinned or is just in the drive folder fine?
I'm fine with it just being in the drive
Same here. If I ever come around to make a worthy mod, then I'll ask for it to be pinned

hey, does anyone know how I can make a new class create a GUI?
I could just use OnScreenDebugInfo, but I'd really rather not
I tried adding a OnGui() to the class, but that wasn't enough
OnGUI() works fine
you just need to add your class as a component to some gameobject
i.e. do base.addComponent(yourClass) in gameManager.Start()
when I try adding that line, it doesn't recognize the command 'addComponent'
btw, thanks for all the help you've given me all this time, KDT
in gameManager start?
GameManager Start(), yup
oh apparently its this.gameObject.AddComponent(yourClass)
the compiler then changes it to base.AddComponent
oh
and LevellingSystem has a OnGUI function?
yup
maybe it's not triggering the conditions for the GUI to be shown
I'll remove all ifs, just to see if it shows anything
(it's only one if for now, so shouldn't be a problem)
nothing
oh
ffs
private void Start()
{
if (this == GameManager._instance)
{
this.SetupStatusModifiers();
this.SetHeapSize();
base.gameObject.AddComponent<TestMod>();
}
}
public partial class TestMod : MonoBehaviour
{
// Token: 0x06003050 RID: 12368 RVA: 0x00024333 File Offset: 0x00022533
public void OnGUI()
{
GUI.Label(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), string.Join("\n", this.console.ToArray()));
}
}
works for me
although you obviously would need to write something into console for this
I had two problems
first, the GUI I wrote was shit
second, I called it OnGui instead of OnGUI
yeah all unity functions are case sensitive
I know, I just must have been really tired when I wrote this a few days ago
@solemn rivet also still waiting to know what hooks you need
oh, I'm sorry, but I'm not really working with Blackmoth (or any other mods) right now... I only asked because it's something that has been bugging me for a while
Would somebody mind explaining to me how hooks work?
Basically the modded DLLs are replaced with a DLL that's designed to load mods. That DLL contains events you can hook so that whenever that event occurs your code will be executed
sort of like, UnityEngine.SceneManagement.SceneManager.activeSceneChanged delegates, although that doesn't even work in dnspy
@buoyant obsidian not sure how old the modding DLL in the randomizer mod is, but just add that as a reference to a new visual studio project and look into the Modding namespace
Alright I think I get it.
That wouldn't really work for texture replacements though, would it?
yupp, we aren't sure how to best handle that yet since Unitys content load functions aren't in C#
oh shoot gradow did you make the nail damage instantly reset after swinging? that's pretty great
:)
going to run through the game see what happens
hornet what are you doing in the fungal wastes?
oh shoot I just realized I don't have the city crest
I can't get in rip
well guess I'll just go kill the mantis lords
ima beat the game without getting any spells
You can't get 100% then, but sounds fun. :3
blackmoth is really fun