#archived-modding-development

1 messages Β· Page 34 of 1

rustic fossil
#

If you could link those that would be helpful

#

Awesome

buoyant wasp
#

i have no idea how to use it though. only of its existence

#

i think @buoyant obsidian has used it, @leaden hedge is it's author

buoyant obsidian
#

It's too complicated for me

buoyant wasp
#

lol

buoyant obsidian
#

I could figure out where stuff was and what was going on, but couldn't really apply it.

rustic fossil
#

Has anyone managed to mess with health and damage values?

buoyant obsidian
#

Yep

buoyant wasp
#

oh, yeah, lots of that stuff

rustic fossil
#

Those are the main things I'd like to deal with

#

Are those values listen somewhere?

#

I found some basic stats for the player

#

Nothing about enemy health, though

buoyant obsidian
#

Gradow#9473 could probably help you with that kind of stuff

rustic fossil
#

Cool

buoyant obsidian
#

his Bonfire mod changes enemy health to scale up with player level

rustic fossil
#

Interesting

#

Testing my first mod now

#

Not responding

#

Either it will, or I did something wrong

#

Ay, it works

#

Now to update the mask drawing code

solemn rivet
#

did you manage to make the FSM viewer work?

rustic fossil
#

Nope

#

Not trying that yet

solemn rivet
#

ok

#

if you need help with health and damage values, I might be able to help

#

KDT and Seanpr are the most qualified to do so though

rustic fossil
#

Oh yeah, any idea where to find enemy health values?

solemn rivet
#

yeah, it's in fsm

#
GameObject[] array = UnityEngine.Object.FindObjectsOfType<GameObject>();
for (int i = 0; i < array.Length; i++)
{
    PlayMakerFSM playMakerFSM = FSMUtility.LocateFSM(array[i], "health_manager_enemy");
         if (playMakerFSM != null)
         {
                FSMUtility.SetInt(playMakerFSM, "HP", value);
        }
}```
#

sets is to "value"

rustic fossil
#

Are we able to edit FSM?

#

Also, fairly unrelated, but anyone know where the HUD drawing code is?

solemn rivet
#

afaik we can only edit FSM indirectly like this

rustic fossil
#

Oh, FSM utility

buoyant wasp
#

also, if you aren't. I'd suggest using the modding api to mod

rustic fossil
#

Might do that

buoyant wasp
#

in general, it makes life easier

rustic fossil
#

What does it do?

buoyant wasp
#

basically instead of you having to edit Assembly-Csharp.dll, you make your own DLL and the api loads it

#

so then when a new release comes out, one of us will update the API and all other mods basically work

#

(minus things like having to account for new charms or fsm changes)

#

but otherwise, when a new release comes out, you have to reapply all your changes to assembly-csharp again

solemn rivet
#

worst case - you do the same amount of work every time an update comes out

rustic fossil
#

Oh, that's nice

solemn rivet
#

best case - you do nothing

rustic fossil
#

I'm fine with this for now because I'm not doing anything serious

#

Might use it later, though

#

Also, I'm confused as to where charm and upgrade code happens

buoyant wasp
#

i think kdt posted a "Example Mod" here a while back that has the basics.

#

charm is in playerdata

rustic fossil
#

Analyzing things like nail damage tells me that it's only set in the new player setup code

buoyant wasp
#

gotCharm_#

rustic fossil
#

Doesn't sound right

#

Oh yeah, saw that

buoyant wasp
#

and there is an equipped array

rustic fossil
#

But not where the charm's effects are applied

buoyant wasp
#

I think that's uhm. HeroController.Attack or HeroController.DoAttack

#

looking at the api code, yeah, that seems right

solemn rivet
#

charm's effects...

#

it depends

#

some are on HeroController.CharmUpdate

#

some on Attack and some on DoAttack

rustic fossil
#

Oh wait

solemn rivet
#

some on HeroDash

rustic fossil
#

I have seen a few

solemn rivet
#

and some are simply not on code, but only on FSM

rustic fossil
#

But what about upgraded nails

buoyant wasp
#

there is no central place for all of them

rustic fossil
#

?

solemn rivet
#

upgrades is just a number

#

it's an int in PlayerData

#

nailSmithUpgrades

rustic fossil
#

Upgrading to a new nail should set nailDamage, right?

solemn rivet
#

nailDamage is set in FSM to be 5+nailSmithUpgrades*4

buoyant wasp
#

you can just set nailDamage to something directly too

rustic fossil
#

Lol

solemn rivet
#

yup

rustic fossil
#

FSM

#

Dang it

solemn rivet
#

most of the code is in FSM

#

and I really mean it

rustic fossil
#

And we can't deal with it

#

Crap

solemn rivet
#

like, most charms

buoyant wasp
#

we can

rustic fossil
#

This is not easy

#

Oh, really?

#

How?

buoyant wasp
#

idk, i just know you can

solemn rivet
#

FSM viewer is really helpful

rustic fossil
#

I don't even know where it is, honestly

solemn rivet
#

you can deal with them by trial and error, mostly

rustic fossil
#

But does it allow modification or only viewing?

solemn rivet
#

only vieweing

rustic fossil
#

Where are the FSM files?

solemn rivet
#

hidden

#

you need the FSM Mod to dump then

rustic fossil
#

Oh, I see

solemn rivet
#

FSM Viewer to understand them

#

and then you edit their behaviour indirectly in the code

#

it's ugly, but it works

rustic fossil
#

Nice

#

Do you have a basic rundown on what FSM is?

solemn rivet
#

finite state machine

#

finite graph with transitions

#

and transition rules

#

lemme see if I have any handy

buoyant wasp
#

the randomzier uses them

#

if you want to see an example of modifying them

solemn rivet
#

visualized in the Viewer

#

bonfire uses a few FSMs, but not too much

#

I believe rando and bossrush are the go to examples on how to abuse FSM

rustic fossil
#

Hmm

#

So where would you go about modifying that, then?

solemn rivet
#

so, from that we get that the Sharp Shadow FSM has a damageDealt field

buoyant wasp
#

they modify them there

solemn rivet
#

and in Blackmoth I use that knowledge here:

#
 FSMUtility.LocateFSM(this.sharpShadow, "damages_enemy").FsmVariables.GetFsmInt("damageDealt").Value = this.dashDamage;```
rustic fossil
#

Oh, I need to look more at FSMUtility

solemn rivet
#
public void GetSharpShadow()
        {
            if (sharpShadow == null || sharpShadow.tag != "Sharp Shadow")
            foreach (GameObject gameObject in Resources.FindObjectsOfTypeAll<GameObject>())
            {
                if (gameObject != null && gameObject.tag == "Sharp Shadow")
                {
                        this.sharpShadow = gameObject;
                        break;
                }
            }
        }```here's how I set the sharpShadow object
#

so, here's a quick rundown of why FSMs are hard to deal with:

  • you have to figure out their objects, tags, names, fields and transitions in order to do anything with them
rustic fossil
#

That makes sense

#

I'm going to try to make a serious mod tonight

#

Something more difficult than Glass Soul, maybe?

#

Either that or something easier than normal

hazy sentinel
#

make a mod exactly as difficult as the vanilla game

ornate rivet
#

Replace all common enemies with bosses πŸ˜ƒ

buoyant obsidian
#

Double everything

#

good and bad

hazy sentinel
#

2x double damage double hp radiance with twice the spikes, lasers, and lances

rustic fossil
#

Might

#

That sounds like it would double the length of the game, though

hazy sentinel
#

nah just make the game 2x faster

solemn rivet
#

and have 4x the nails

#

you could make some sort of gimmick mod

#

like blackmoth

buoyant obsidian
#

Now I wanna make an x2 mod

swift cairn
#

do x1.5, 2 is too much imo

hazy sentinel
#

3.5x fury hollowwoke

rustic fossil
#

How about Wooden Soul?

#

Every time you die your max health reduces by one. If you die when you only have one max health, the run ends

hazy sentinel
#

how about no

rustic fossil
#

Easier than Steel Soul, tougher than original, and it gets harder the worse you do

hazy sentinel
#

how is wood between steel and normal though

#

wooden soul would be like

#

every time you die your HP increases by one

rustic fossil
#

I chose wood because it's something that can wear down over time

#

Considered ice, but that implies that it's fragile

hazy sentinel
#

i feel like the brittleness of the material correlates with the difficulty though

rustic fossil
#

Yes

hazy sentinel
#

normal (whatever the heck that is), steel, glass

#

wood isn't brittle

#

unless it's very old

rustic fossil
#

Exactly, that's why it's between normal and steel

#

Because you can die

#

Although wood isn't tougher than steel

#

But there really isn't a material that's both tougher than steel and also wears down

#

Wait, could be something like monolith soul

#

Strong, but worn over time

hazy sentinel
#

kevlar soul

#

primal aspids don't damage you but everything else is the same intenseface

#

teflon soul

rustic fossil
#

Lol

hazy sentinel
#

can't equip any charms

rustic fossil
#

I considered doing that one, actually

#

How about void soul

#

You can't unequip any charms, but they still use notches, so choose wisely

#

And if you overcharm it's permanent

hazy sentinel
#

woAH

#

get your possibly good ideas outta here

tribal nexus
#

Backwards soul - start with full upgrades and lose them as you progress

hazy sentinel
#

how would that even work

tribal nexus
#

I don't know but it's a stupid idea anyways

hazy sentinel
#

sounds like it'd hardlock everything

tribal nexus
#

Yes

#

Yes it would

rustic fossil
#

Yes

tribal nexus
#

Doesn't have shadow dash or desolate dive for radiance

#

Rip

rustic fossil
#

Radiance would be impossible

#

Exactly

#

I actually have an idea

hazy sentinel
#

start with all charms and when you pick it up it removes it hollowface

rustic fossil
#

Gonna try it, but it will be a surprise

tribal nexus
#

Radiance can be beat with just shadow dash and mantis claw

#

Mantis claw is needed to start the fight because shitty platforming placement

#

But there is a level 0 fight of radiance with just shadow dash

#

0 damage taken

#

I forget who but probably fireb0rn since he's psychotic

#

It was razhork

rustic fossil
#

Testing my horrible mod now

#

Needs fine-tuning, that's for sure

#

I think you all will like this when it's done

#

Which will be about 45 minutes from now

#

Or maybe less

hazy sentinel
#

maybe try polishing it for more than 2 hours

rustic fossil
#

We'll see if it even needs that

#

This is more a proof of concept than anything

buoyant wasp
#

most mods that you see here have had dozens of hours of work and testing put into them

rustic fossil
#

I'd do that for more of a serious one

#

The big difficulty here is figuring out the right slope for my model

#

Think I gotta do a quadratic

#

I missed solving quadratics

hazy sentinel
#

minus πŸ…±

#

plus or minus the sq-

rustic fossil
#

Wait, never mind

#

3-variable linear equation

#

No, this won't work

#

Because I may run into a case where some of my points are on opposite sides of the vertex

#

AAAAAH

#

I think I'll get geogebra and figure it out that way

#

nice and visual

hazy sentinel
#

yes

buoyant obsidian
#

Not nearly as much as I wish I could

rustic fossil
#

Think I got it, just got to implement it and...

slate owl
#

Im stuck in randomizer at the start...

buoyant wasp
#

oh?

#

did you not go get fury?

slate owl
#

Unlocked vengeful spirit. Got: fury, vengeful spirit, soul catch, dream nail, dreanshield, hornet 1,

#

Map shop, sly and salubra.

buoyant wasp
#

so, no dash/wings/claw/tear/ch?

slate owl
#

Where is random seed saved?

buoyant wasp
#

in your save folder

#

but

#

before you go cheat

slate owl
#

Its the rnd.js ?

buoyant wasp
#

yes

#

though that will go away eventually πŸ˜‰

slate owl
#

809107062

young walrus
#

Isn't it a text file?

#

Not a js

buoyant wasp
#

it's in modlog too

slate owl
#

Its a json.

buoyant wasp
#

but there are other things

#

have you done mantis claw?

young walrus
#

What is available?

slate owl
#

How can I do mantis?

buoyant wasp
#

you have VS

#

you can vs jump the gap

slate owl
#

Ah

young walrus
#

Oh he has vs

buoyant wasp
#

well, you have to do 2 vs jumps

#

Queens station -> Fungal

young walrus
#

Yeah, you can get over to fungal

buoyant wasp
#

then that gets you leg eater, claw and dashmaster

slate owl
#

Does shade skip works there too?

young walrus
#

With a fireball air stall

#

No

buoyant wasp
#

is it possible to get to baulders with just VS?

young walrus
#

No

#

You need some kind of movement ability

buoyant wasp
#

thought so

young walrus
#

But any will work

slate owl
#

Any video about the vs jump to fungus?

#

Seems a lot harder than mosquito skip equivalent.

young walrus
#

OH it is

leaden hedge
#

it is

rustic fossil
#

Note to self: parentheses are important.

leaden hedge
#

@rustic fossil fsms are a class that look kinda like this

fsm:                           //(HutongGames.PlayMakerFSM)
  array of states:             //(HutongGames.PlayMakerFSM.FSMState[])
    state[0]:                  //(HutongGames.PlayMakerFSM.FSMState)<- this is just a holder for the below data
      array of transitions     //(HutongGames.PlayMaker.FsmTransition)<- this is an event system that listens for an event and changes state to another when it hears it
      array of actions         //(HutongGames.PlayMakerFSM.FsmStateAction[])<- abstract class thats casted to a single function encapsulated in a class (HutongGames.PlayMaker.Actions.?), like set velocity (HutongGames.PlayMaker.Actions.SetVelocity)
      array of local variables //(HutongGames.PlayMakerFSM.FsmVariables[])<- abstract class thats casted to FsmInt, FsmString
    state[1]:                  //(HutongGames.PlayMakerFSM.FSMState)
      array of transitions     //(HutongGames.PlayMaker.FsmTransition)
      array of actions         //(HutongGames.PlayMakerFSM.FsmStateAction[])    
      array of local variables //(HutongGames.PlayMakerFSM.FsmVariables[])    
  array of global variables:   //(HutongGames.PlayMakerFSM.FsmVariables[])    
#

thanks for respecting formatting discord hollowface

slate owl
#

And you can get to claw without dash?

leaden hedge
#

yes

slate owl
#

Ok, claw gave me dash!

#

with little help of debug mod for the vs jumps...

young walrus
#

...... cheater

#

:p

slate owl
#

That seed is insane.

#

Dash doesnt open anything except baldur.

young walrus
#

And thorns

slate owl
#

True.

leaden hedge
#

the less stuff it opens the better

slate owl
#

Except if theres another random vs jump skip or sahde skip.

leaden hedge
#

atleast you know where you have to go hollowface

slate owl
#

Can you do thorn with double jump?

young walrus
#

No

#

You need dash or claw and crystal heart

leaden hedge
#

you can do it just fireball hollowface

young walrus
#

Pfft. TAS only you can

slate owl
#

Got claw from thorn. That was easy lol

broken fable
#

modding api 1.2.2.1 doesn't seem to be working for me. it's not showing the mod list in the top left corner of the title screen.

slate owl
#

Normally, claw is my last mandatory item.

young walrus
#

What version do you have

slate owl
#

1.3.1 randomizer

buoyant wasp
#

think he's talking to frenzied

young walrus
#

The most recent MOD api wasnt put on the drive yet was it?

buoyant wasp
#

no, it's still experimental

#

but the latest working api is up on the drive

#

1.2.2.1-6

young walrus
#

Okay. Well dash 6 is most recent in my mind. Lol

buoyant wasp
#

then, yes hollowface

broken fable
#

the bottom left corner says 1.2.2.1. the zip i downloaded for the modding api is called 1.2.2.1. idk where i would find out what the final dash number is.

young walrus
#

Try downloading it from the drive again

#

That version only went on the drive like.... Yesterday

#

Or today

#

"recently"

broken fable
#

downloading again gives me the same file

young walrus
#

Where did you put it

broken fable
#

i put Assembly-CSharp.dll from it at C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\Assembly-CSharp.dll

#

i didn't extract any of the desktop.ini files. i assume those aren't required for the api to function hollowface

young walrus
#

Nah. Just need to replace the game's existing assembly dll

broken fable
#

i renamed the existing Assembly-CSharp.dll to Assembly-CSharp_vanilla.dll and left it in the same directory. was that a mistake? thinkgrub

buoyant wasp
#

probably

broken fable
#

i also switched Steam into offline mode. is that necessary?

buoyant wasp
#

not really

young walrus
#

Offline mode doesn't matter

buoyant wasp
#

i usually rename my vanilla to Assembly-CSharp.vanilla.dll, it could be that the _ causes the vanilla one to be loaded

#

or

#

something else is wrong entirely

#

post your output.txt + ModLog.txt (if it exists)

rustic fossil
#

K, note that when I say I'm testing my mod, I don't mean making sure it's possible to finish

broken fable
#

ok, i completely deleted the vanilla one.

rustic fossil
#

Just that it works as intended

young walrus
#

You can always get the vanilla one back by verifying files anyways

broken fable
#

when i delete the modded .dll, the game doesn't boot, so i know the dll i'm giving it is being loaded and used.

#

can someone verify that they have the same file as me? md5sum? sha1sum? crc32? file size?

#

^someone for whom the api works

young walrus
#

Will the api mod display version number even if no other mods are installed?

broken fable
#

i also installed 3 mods

#

wait, wut. now it works.

#

i have a theory

young walrus
#

Did you do what I did and update the game after installing the mod?

broken fable
#

ok, i know what the bug primalaspid is. if you have a file handle open on ModLog.txt, then the API crashes on startup. That wasn't the case with the previous version of the modding api i was using.

#

so, now my workflow is to kill tail -f everytime i start hollow_knight.exe. ugh.

#

how do other people read the ModLog.txt output?

leaden hedge
#

works fine in sublime text

young walrus
#

Works fine in note pad

buoyant wasp
#

it's because the old API opened the file every time you logged

leaden hedge
#

notepad doesnt real time update

buoyant wasp
#

which caused weird concurrency issues with stuff like player data tracker which has threaded calls

young walrus
#

shrugs I don't need real time updates

buoyant wasp
#

incidentally, if you tail -F on output_log.txt, it will prevent that file from being created entirely

#

notepad++ works too, next time you click into it it says "hey this file changed, reload?"

young walrus
#

Question was how other people read it. And that's how I read it.

broken fable
#

gotta love win32 programming.

buoyant wasp
#

eh, i might be able to tell the file handle thing to ignore open reads, but my guess is the issue is that WSIL isn't perfect

broken fable
#

tail -f worked without the game losing focus, so any editor with a "this file has changed" prompt is not as useful.

#

@buoyant wasp now that the file is open constantly, is it being flushed on every call to ModLog?

buoyant wasp
#

it flushes whenever streamwriter decides it needs to flush

#

but in general, probably

#

it doesn't seem to be a performance issue

#

we were logging stuff every .02 seconds without issue when i was testing stuff in the more saves mod

broken fable
#

i have a dream of using a bidirectional terminal of some kind (telnet?) in a mod. maybe it's time to look into implementing that thinkgrub

#

do we know what was causing @young walrus lag on the save file screen?

young walrus
#

The randomization running

#

I believe it re-executes it on every save load

buoyant wasp
#

yup

#

it's gonna be fixed soonβ„’

broken fable
#

ok.

#

woah. is the ModLog.txt in UTF-16? maggot

#

it is.... i didn't know notepad could read that.

leaden hedge
#

pretty sure it supports JP text atleast

broken fable
#

UTF-8 supports everything, and it's ascii compatible. I think the only compelling usecase for UTF-16 is when your text file is mostly chinese/japanese.

#

but whatever. i can still read this; it was just a surprise.

buoyant wasp
#

in .net it's "Unicode"

#

don't remember what the default of unicode is

#

could switch it to UTF8

broken fable
#

Unicode is not an encoding. if Microsoft is calling something Unicode or ANSI, they are liars. which they are.

buoyant wasp
#

i just used whatever it was before i started working on it

#

using (StreamWriter writer = new StreamWriter(file, Encoding.Unicode))

broken fable
#

nice.

buoyant wasp
#

well, it's just like what they do with an int

#

an int isn't an int, it's a int32

#

so probably Encoding.Unicode is just an alias for something else

#

I have no care one way or another what format it is

broken fable
#

yeah. Unicode means utf16 according to the docs

#

i guess i'm the only one who cares.

buoyant wasp
#

it's one of those "does it break something currently" things πŸ˜ƒ

broken fable
#

utf8 is the end all of character encodings.

young walrus
#

But 16 has a larger number, so it must be better.

broken fable
#

UTF-128 coming right up...

buoyant wasp
#

and yet, they also did UTF7, UTF16 and UTF32

leaden hedge
#

everyone knows CP932 is the best encoding hollowface

buoyant wasp
#

and a bunch of UTF8 variants

broken fable
#

@leaden hedge does that have box drawing characters? hollowlenny

leaden hedge
#

it has a box as a character hollowface

#

γƒ­

#

thats about as good hollowface

broken fable
#

if it were up to me, we'd all be using LF line endings, soft tabs, and Linux. so take what I want with a grain of salt zote

#

using (StreamWriter writer = new StreamWriter(file, new UTF8Encoding(false)))

rustic fossil
#

Alright, I'm calling this done. Uploading now.

#

I won't say what it does because it'll be a cool surprise, but I will say 2 things

#
  1. It affects the entire experience of the game. (It's a gimmick)
buoyant obsidian
#

Surprise mods? I like that idea

rustic fossil
#
  1. Those good at the game might not notice what it does for awhile
buoyant obsidian
#

Oh is it just wood?

rustic fossil
#

And it's called the Burden Mod

buoyant wasp
#

lets see, a surprise mod dll with no source and nothing else. yeah, this seems like a good idea to put in

young walrus
#

It's a surprise because it's spyware

buoyant obsidian
#

Guys you have the wrong idea

#

Look at point 2.

#

It encrypts some of your hard drive every time you get hit

young walrus
#

It's a burden because it bricks your pc

buoyant obsidian
#

good players might not even notice until they get hit quite a few times

#

and can't open apps

rustic fossil
#

Source?

#

The source is literally in the file

#

Just dnSpy

#

That's the best I can do

rain cedar
#

Nobody is going to search the entirety of the assembly for changes

#

And it would be a pain in the ass to export the code to a project and check changes programatically

rustic fossil
#

You really think I'd make the .dll malware?

rain cedar
#

See, I've never seen you talk before

#

I know nothing about you

buoyant obsidian
#

Your Discord avatar is Chad

rain cedar
#

I don't know what you would do

buoyant obsidian
#

Chad always wants to fuck me over

rustic fossil
#

I feel like there would be easier ways to get malware on your computer than modding it into Hollow Knight when many methods can't even be edited in anything but IL

#

Also, I've been here for a bit

leaden hedge
#

theres only one thing you'll ever need to edit with IL

#

and thats stuff that has
UnityEngine.SceneManagement.SceneManager.sceneLoaded

rustic fossil
#

Ah, nice

rain cedar
#

Any event, not just that

rustic fossil
#

See, I come from Rain World modding

#

Like 60% of the code doesn't work in C#

#

I only started modding Hollow Knight tonight

#

But it was easy because it's exactly the same concept as Rain World modding

leaden hedge
#

you can just write actual csharp

#

in an editor

#

with the api

rustic fossil
#

Didn't use the API because I didn't know about it when I started

#

But if you're legit worried that it would be malware I can DM you with what it does

#

I just think it's more interesting if you don't know what to expect

#

Heck, I could even screenshot/paste the one method that's changed

heavy geyser
#

You just had to make a first impression with a cute anime avatar

rustic fossil
#

Probably

buoyant wasp
#

btw, @leaden hedge - I think there is an object/memory leak in the more saves mod

rustic fossil
#

Lol, this one is a recent avatar, came from a joke

buoyant wasp
#

or boss rush, currently trying to figure out which one

rustic fossil
#

So is anyone going to believe me and be willing to try it, or do I have to spoil the surprise and say right here what it does?

young walrus
#

I wouldn't install a mystery mod without knowing what it does. Seems like a waste of my time

rustic fossil
#

Then I wouldn't bother.

buoyant wasp
#

i doubt you'll find any takers

leaden hedge
#

its something to with being in acid

rustic fossil
#

Nope

#

I don't know why I'm saying anything about it, I guess I'm wasting my time

leaden hedge
#

oh I see I made a mistake with the filter hollowface

young walrus
#

Seems like a larger waste of time to spend writing the mod if nobody is going to play it because they don't know what it does

#

Marketing is important too

rustic fossil
#

I'd probably be a lot more willing to just say what it does if I wasn't immediately (seriously, it seems) accused of putting malware in it. (Yeah, adding malware in like 30 minutes. Super easy to do. And obviously the best way to infect people's computers is to not tell them what it does, because then they'll be likely to install it, clearly.) But I think I won't bother. I know it was worth my time, and if no one else agrees, then it's their loss.

#

Personally, I think it's preposterous that anyone even suspect that. And you know what? It's not a good way to greet newcomers, even if it does turn out to be true. Which again, would be preposterous.

rain cedar
#

I don't actually think it's likely there's malware

#

I do think it would be a waste of my time to try out a mystery mod that could take hours to discover the purpose

rustic fossil
#

Like I said, it affects the whole game

#

Unless you do glass soul regularly, you'll see what it does in minutes

young walrus
#

I thought we were being sarcastic about the malware part.... Hence the noot

rustic fossil
#

I thought so at first as well, but then it didn't seem like it

#

But also, I think I've made it obvious what the trigger is

#

Even though I didn't want to give that much away

#

So with that in mind, anyone could figure out what it does in 5 seconds if they really just want to find out and then leave it

young walrus
#

Sounds like getting hurt slows you down

rustic fossil
#

That would be evil

#

Lol

#

Because you wouldn't be able to recover if you got hit

#

(Not glass soul, sorry, 1 health, no permadeath)

#

I think what it actually is is more interesting, sort of balances out

#

Anyways, I'll leave it there, if someone wants to try it, they can, if not, fine by me

#

Any chance we can pin it so it doesn't get lost?

leaden hedge
#
        if (this.cState.inWalkZone)
        {
            this.rb2d.velocity = new Vector2(move_direction * this.WALK_SPEED * (float)(5.3333 / ((double)this.playerData.health + 0.3333)), this.rb2d.velocity.y);
            return;
        }
        if (this.inAcid)
        {
            this.rb2d.velocity = new Vector2(move_direction * this.UNDERWATER_SPEED * (float)(5.3333 / ((double)this.playerData.health + 0.3333)), this.rb2d.velocity.y);
            return;
        }
        if (this.playerData.equippedCharm_37 && this.cState.onGround && this.playerData.equippedCharm_31)
        {
            this.rb2d.velocity = new Vector2(move_direction * this.RUN_SPEED_CH_COMBO * (float)(5.3333 / ((double)this.playerData.health + 0.3333)), this.rb2d.velocity.y);
            return;
        }
        if (this.playerData.equippedCharm_37 && this.cState.onGround)
        {
            this.rb2d.velocity = new Vector2(move_direction * this.RUN_SPEED_CH * (float)(5.3333 / ((double)this.playerData.health + 0.3333)), this.rb2d.velocity.y);
            return;
        }
        this.rb2d.velocity = new Vector2(move_direction * this.RUN_SPEED * (float)(5.3333 / ((double)this.playerData.health + 0.3333)), this.rb2d.velocity.y);
    }
#

this is what it does hollowface

rustic fossil
#

Yep, that's the code change

#

That makes it obvious I think

#

As long as you're good mildly ok with rational equations

young walrus
#

So you move slower the healthier you are.

#

I was close

rustic fossil
#

Yeah, but very different dynamic

#

This way you have more of a chance to recover if you're low on health

#

One health makes accuracy difficult, 2 as well to some degree

#

If you're fighting one of the later bosses and have 9 masks, you'll probably effectively have 5-6 health since moving that slowly would make it difficult.

#

Or it will give an opportunity to be creative with Dashmaster

leaden hedge
#

also @buoyant wasp MoreSaves I'm almost positive has no leaks (atleast not caused by me (maybe the internal save function leaks)),
and boss rush shouldn't unless either
a) the shinies are leaking
b) the labels are leaking

neither should because they should get destroyed on load

buoyant wasp
#

is any part of the UI overlay from saves mod running outside of the main menu?

#

so far, in testing, i seem to get intermittent lag spikes during fights with saves mod enabled, but not if it's disabled

#

nothing in the logs though that would indicate some sort of failure that i can see though

leaden hedge
#
            float t = Time.realtimeSinceStartup;

            if (UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).skinType == ButtonSkinType.SQUARE)
            {
                MoreSaves.rectLeft.sizeDelta = new Vector2(58, 58);
                MoreSaves.rectRight.sizeDelta = new Vector2(58, 58);
            }
            else
            {
                MoreSaves.rectLeft.sizeDelta = new Vector2(98, 61);
                MoreSaves.rectRight.sizeDelta = new Vector2(98, 61);
            }

            MoreSaves.imageLeft.sprite = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).sprite;
            MoreSaves.imageRight.sprite = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneRight).sprite;

            MoreSaves.textLeft.text = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).symbol;
            MoreSaves.textRight.text = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneRight).symbol;
#

this is the only code that runs outside the main menu

#

you could try putting the entire Update function inside
if(!GameManager.instance.gameState != GameState.PLAYING)

#

and see if that helps

buoyant wasp
#

k

#

i'll try that next run

leaden hedge
#

also you could put all this into a hook

            if (UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).skinType == ButtonSkinType.SQUARE)
            {
                MoreSaves.rectLeft.sizeDelta = new Vector2(58, 58);
                MoreSaves.rectRight.sizeDelta = new Vector2(58, 58);
            }
            else
            {
                MoreSaves.rectLeft.sizeDelta = new Vector2(98, 61);
                MoreSaves.rectRight.sizeDelta = new Vector2(98, 61);
            }

            MoreSaves.imageLeft.sprite = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).sprite;
            MoreSaves.imageRight.sprite = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneRight).sprite;

            MoreSaves.textLeft.text = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneLeft).symbol;
            MoreSaves.textRight.text = UIManager.instance.uiButtonSkins.GetButtonSkinFor(GameManager.instance.inputHandler.inputActions.paneRight).symbol;
#
InputManager.OnActiveDeviceChanged += activeDeviceChanged;
buoyant wasp
#

what namespace is InputManager in?

leaden hedge
#

InControl

buoyant wasp
#

meh, w/e stupid dnspy not being able to handle hook names properly. we'll see if the update() game state check will fix it. (though I agree in your thinking about moving the image buttons to the hook, no sense in checking every update if there is an event)

buoyant wasp
#

@leaden hedge this is basically the same thing that can happen with soul master. probably should just hard code the positions of the drops for all bosses rather than drop them at the players feet to avoid these this kind of thing.

leaden hedge
#

probably

rain cedar
#

Happens at collector too

leaden hedge
#

you can do it at FK too

#

by jumping as they spawn near the wall

buoyant wasp
#

so yeah, current known issues i've found:

Grimm 1 seems to drop items only 50% of the time, the rest of the time he drops nothing
Mantis Claw doesn't work (submitted a PR for that)
Collector is still annoying as hell breaking half the time with alot of the charms you might pickup
Several places where shinies fall out of bounds
Dream Fights intermittently stay black/white
Jonis, the forever broken one
Hiveblood sort of works, if you die
Sometimes you spawn in the Fallen Knight's fight where the fight engages and he jumps on you while the teleport animation is playing
#

thoughts on other things that could be added

#

Like the randomizer, a screen that shows up before the credits that would give some fun statistics. For Example

Boss Kill Times, # of flawless fights, # of deaths, # of somethings., average boss kill times. and of course some sort of credits to KDT πŸ˜ƒ

#

#of times wyza bothered the author for features

paper basinBOT
#

Please specify a role to self-assign.

buoyant wasp
#

.gr modders

paper basinBOT
#

modders is not a valid role.

leaden hedge
#

gottem

rain cedar
#

Ask Simo or Benji

#

They're both on

buoyant wasp
#

hehe

#

k

leaden hedge
#

not that the role does anything

rain cedar
#

It makes you fancy green

leaden hedge
#

other than let you delete messages and pin stuff

buoyant wasp
#

mostly the green

thorn comet
#

It allows people who pin messages here (also delete, comes with the permission)
Same with Art Crew for #art-discussion
and srcom mods for #speedrunning

buoyant wasp
#

well, it's up to the other modders here.

dapper folio
#

and mods with everywhere

thorn comet
#

Whats up to the Modders here?

leaden hedge
#

making modding private to modders only

#

get rid of mods

buoyant wasp
#

lol

#

no, more like, me having the modders role

dapper folio
#

oh, I see

#

modders (channel moderators) versus modders (people who make mods)

buoyant wasp
#

yes, the @ modders

#

(not to be confused with @ mods)

dapper folio
#

as it is now, @ Modders is just the name for the sub-moderators for this channel. We haven't considered a modder role for people who make mods

buoyant wasp
#

ah

#

thought that was what it was

dapper folio
#

like how Art Crew is the people moderating #art-discussion, not the only artists allowed

buoyant wasp
#

nvm, don't really care that much then πŸ˜ƒ

dapper folio
#

hmm... thinkgrub

#

@ Modders --> @ Modding Mods
make mod maker role (literally does nothing, maybe another shade of green)
make artist role (literally does nothing, maybe another shade of purple)

leaden hedge
#

modderators πŸ‘€

royal ridge
#

@buoyant wasp

#

I got you

dapper folio
#

πŸ‘

leaden hedge
#

why you ignoring my pun doe @royal ridge

royal ridge
#

we are making a new role

buoyant wasp
#

ooh

royal ridge
#

mod makers and modding mods

buoyant wasp
#

ty

leaden hedge
#

just put mod mods as admins

royal ridge
#

No problem πŸ˜„

rain cedar
#

But all the big mod makers already have the modder role

royal ridge
#

Quick question though, who is Kgcghost and what did he make?

#

Because he has been stripped of the Modder role

rain cedar
#

He made the fsm mod and some other stuff I care way less about

royal ridge
#

Yeah I see Wyza in here every day he deserves it more

#

Just use your newly found power for good not evil and we're all good zote

dapper folio
#

I encourage abusing your powers for self gain

leaden hedge
#

purge the entirety of the mods channel hollowface

buoyant wasp
#

lol

rain cedar
#

That would take like a year

leaden hedge
#

just write a bot to do it

dapper folio
#

._ clear

leaden hedge
#

we're all programmers here hollowface

dapper folio
#

not I

buoyant wasp
#

I've read/played/watched more than enough to know that abusing your powers for slef gain never ends well

#

and yeah the discord API is pretty easy

dapper folio
#

I know enough to understand that I know nothing

thorn comet
#

^ the true realisation of self intelligence

royal ridge
#

I used to be able to cheat in blocks on minecraft with a command, am I a programmer? intenseface

dapper folio
#

I know enough to convey what's needed to programmers and to understand what they're doing or if they're having problems. in a vague sense

buoyant wasp
#

oh yeah, forgot to add that to my list KDT, doing to CG2 still teleports you to the start of the game and soft locks you πŸ˜‰

leaden hedge
#

what do you want me to do hollowface

#

thats TC's fault

royal ridge
#

But seriously I love the work that comes out of this channel keep on doing it πŸ˜„

rain cedar
#

Just don't die you fuckin nerd

buoyant wasp
#

git gud

#

right

#

my only thought is that if you somehow make it back to king's pass, it calls the teleport funciton to wherever you were going last

rain cedar
#

Yeah, storing the last boss should be pretty simple

leaden hedge
#

there you go I fixed it

buoyant wasp
#

thank you

#

well the good news is adding this made the preformance problems go away

#
public void Update()
{
    if (GameManager.instance.gameState == GameState.PLAYING)
    {
          return;
    }
#

the bad news is that doing this somehow broke the mod back to where after you save/exit, it doesn't show the buttons anymore

leaden hedge
late sphinx
leaden hedge
#

they are 😠

royal ridge
#

ANGERY MOD

late sphinx
#

holy shit how did i do nkg first try

#

saved radiance for last

#

cause

#

yknow

#

final boss

leaden hedge
#

you can't do radiance before killing everything else

late sphinx
#

oooh

#

that's why i couldn't select it

#

i accidentally selected it

#

but nothing happened

#

radiance beaten

#

i think i took more damage at radiance

#

than at nkg

#

my time was like

#

55:14

leaden hedge
#

depends on what you got, if thats a good time

late sphinx
#

i got a lotta good stuff

#

the boss i died at was the collector

leaden hedge
#

I think a good time is closer to <30m

late sphinx
#

does fragile heart break forever when you die

leaden hedge
#

its unbreakable

late sphinx
#

so basically 2 free hp

leaden hedge
#

its still not worth it

#

but yes

late sphinx
#

woah i never knew quick heal made shape of unn you move sooper fast

late sphinx
#

tfw you accidentally do dream zote zero dmg

#

um

#

i've been softlocked

#

the items at thk never dropped

#

and the skip button doesn't work

leaden hedge
#

the skip button only works if the items drop

late sphinx
#

gg

#

i had an ok time too

#

better than last time

#

i hadn't died once either goddamnit

late sphinx
#

alright

#

new time

#

34:02

#

i never realised how powerful flukenest is

late sphinx
#

i keep forgetting if i beat a boss without taking damage i can take 2 items

#

and i keep thinking it's a glitch

late sphinx
#

so
funny story
i'm trying to record me doing new and improved boss rush on steel soul mode
i fail so many times
and i'm physically hurting
so i decide to try it on not steel soul mode
and then it softlocks on me after grimm
and now i'm here
wanting something to die by my hands

leaden hedge
#

yeah theres like a 50% chance grimm drops nothing

late sphinx
#

wh y

leaden hedge
#

THK randomly doesn't drop anything either

late sphinx
#

that's not supposed to happen right

#

or are you just some evil dingus

leaden hedge
#

its some bug

late sphinx
#

hah

#

bug

buoyant wasp
#

most of my bossrush runs are between 25 and 35 minutes. but i've had some where the first 9 bosses dropped garbage and it was nail0 or nail1 with no spells. those are dog slow

buoyant wasp
#

nail builds are actually viable in boss rush due to having all the charms available. nail4+fury+fstrength+gluberfly+quickslash+mop+longnail is really strong

leaden hedge
#

well it helps fury works at 100% hp

buoyant wasp
#

yup

#

well, rather, fury works until you get hit

#

minor, but important distinction

leaden hedge
#

I might even nerf it so it only works the first time intenseface

buoyant wasp
#

that would make it worthless

#

for all but the best of the best players

#

basically fireborn, trinomi, a few others. for everyone else, it'll be a useless charm because you're gonna get hit at least once at some point

broken fable
#

knowing how to get to King's Station isn't required for the rando logic per se, but it would be a good reference to branch out to several other locations.

#

specifically, i'm trying to verify that those abyss shriek requirements are correct and come up with requirements for dash slash.

young walrus
#

claw, or wings, or dive

broken fable
#

shade skip to blue lake means King's Station is free in Hard Classic. In Hard Steel Soul, you can't do shade skip. so claw + CH can get you to blue lake. how about through the city crest entrance? that's going through the baldur's gate into greenpath or clawing around cliffs or dash/wings into fungal directly to get to the city crest gate room. then either CH or (claw+(dash or wings)) to get through that room. then you'd need to navigate sewers, which i think requires claw or wings, but i don't even know if you could get into CoT from the dung room without claw.

young walrus
#

"technically" you can do it too with just VS or wraiths, but nobody wants to put that in the logic

#

can also get there with the tram

#

options are blue lake, tram, or sewers

#

sewers requires claw or wings

#

same for tram

broken fable
#

you can get to tram pass without claw?

young walrus
#

if you have wings, yes

#

need a shade skip

#

so won't work in steel soul

broken fable
#

i've never seen deepnest without claw. when i try to do it, i get stuck right before the drop into the hotspring.

#

is that where you shade skip?

young walrus
#

you do it in cornifer's room there

#

right below where he is

broken fable
#

the lower cornifer room near mantis lords?

#

not the cornifer near moss prophet

young walrus
#

yeah. the one to the right of moss prophet

#

like.... over 2 rooms, and up 1 room

broken fable
#

oh, so you don't go to hotspring at all

young walrus
#

you do

#

no

#

you go past spore shroom

#

not into hotspring

#

wait.... that drops you into hotspring

#

you don't go into fungal core

broken fable
#

fungal core just takes you to the same place as mantis lords

young walrus
#

yeah. which isn't useful

#

that's the shade skip

broken fable
#

oh way back there.

#

ok, then you use background object at the part i was stuck on before.

#

and i think the route from mantis lords absolutely requires claw. there's a tall vertical shaft i don't think you can get up with a shade skip. (unless maybe you had a lot of hp)

young walrus
#

it does require claw

rustic fossil
#

Hey, who is in charge of the mod folder?

hazy sentinel
#

dargons

#

but he gave editing permissions to quite a few modders

buoyant wasp
#

better question, why do you ask?

solemn rivet
#

good news - Bonfire Mod API ver is -almost- release ready

rustic fossil
#

I have a mod now

#

So I wanted to see about adding it

buoyant wasp
#

yeah, talk with sean or some dragons. they can help you there i think.

hazy sentinel
#

"some dragons"

buoyant obsidian
#

He's not wrong

#

You get a bunch of dragons on your side and I'm not getting in your way no matter where you want to add your mods

solemn rivet
#

anathema: does your mod synergize with Sprintmaster?

buoyant obsidian
#

also I should steal his mod and make it into a charm

#

On a totally unrelated note, anyone remember the Panic Necklace in Terraria, that sped you up after being injured?

ivory rapids
#

hi there, sorry to bother but i would like to ask where could i get the bossrush mod

solemn rivet
#

pins

ivory rapids
#

ty

solemn rivet
#

@rustic fossil why not make it so that damage also scales with inverse health?

broken fable
#

why not soul gain too while we're at it?

solemn rivet
#

sure

broken fable
#

and leg eater discount hollowlenny

solemn rivet
#

high risk, high rewards mod

#

or,even better

#

NO PAIN NO GAIN mod

hazy sentinel
#

0 nail damage at full health

broken fable
#

where your move speed is 0 at full health. the first wall in king's pass starts open so that the crawlid hits you to get you started.

buoyant obsidian
#

I actually really like that idea

solemn rivet
#

-1 nail damage at full health

buoyant obsidian
#

Frenzied that would be such a cool way to introduce the mod

hazy sentinel
#

radiance hitless intenseface

#

increase her HP by one until it overflows

#

ez win

buoyant wasp
#

only sucky part is that if you have full health you could easily softlock

#

forever

broken fable
#

does -1 damage actually heal the enemy, or does it do nothing or something?

hazy sentinel
#

is nail damage even a signed int

broken fable
#

idt teamcherry knows what an unsigned int is. hollowface

buoyant obsidian
#

Aren't all ints signed? (in HK)\

#

Yeah that

broken fable
#

in Java they are. FUNgineer

#

and in assembly, operations are signed or unsigned, not data.

solemn rivet
#

damage has to be at least 1 to be able to interact with things

#

chests, levers and stuff

#

unless you mess with FSM

broken fable
#

i recently turned on save_fsm, and hollowwoke there are a lot of fsms. hundreds/thousands.

buoyant obsidian
#

There's actually infinite FSMs. Every week Team Cherry digs through them and finds the best ones to add for the new content packs.

broken fable
#

i'm debugging why nailmaster mato persists in giving me cyclone slash even though rando is hijacking hasCyclone and updating hasNailArt appropriately. i'm going to need to debug the fsm for npc nm mato next. sheo

buoyant obsidian
#

hmm

broken fable
#

what dat

hazy sentinel
#

probably the fake panic necklace

buoyant obsidian
#

WIP Panic Compass

broken fable
#

are you adding a charm, or repurposing one?

hazy sentinel
#

can't really add charms

buoyant obsidian
#

Removing default compass

broken fable
#

can you make a charm cost 0 notches? does that work with the equipment screen and everything?

buoyant obsidian
#

I think so

broken fable
#

is there an API hook that just runs every frame of physics?

buoyant wasp
#

i don't think so

broken fable
#

or maybe there's a unity hook for that?

buoyant wasp
#

you'd have to be pretty careful with that, if it exists

#

cause "every frame of physics" is alot

broken fable
#

yeah, i'd just do something simple like if (equippedCharm_1 && state == AIRBORN) pd.hardFallTimer = 0; or something simple.

#

not gunna like load an xml off of disc or something.

solemn rivet
#

won't every hero frame work?

broken fable
#

what does that mean?

solemn rivet
#

HeroController.Update()

buoyant wasp
#

i wonder if you could use the collision hook to do what you want

#

i don't know enough about how collision works

buoyant obsidian
solemn rivet
#

runs every frame the hero is on screen, basically

#

nice

buoyant wasp
#

but it seems like there should be a better way to check every physics frame and instead hook on the event that checks whether or not to have fall stagger

hazy sentinel
buoyant obsidian
#

You don't get it Verulean

#

I'm only pretending to copy Terraria's Panic Necklace so people ignore the fact that I'm stealing the other guy's entire mod

broken fable
#

it's not stealing if you reimplement it from scratch. zote copyright law makes so much sense!

buoyant wasp
#

and this is why everything i do is under MIT πŸ˜›

buoyant obsidian
#

And this is why I am numbers and not a person

#

Numbers can't be held accountable for theft

broken fable
#

KayDeeTee is letters

hazy sentinel
#

isn't every name letters if you think about it

buoyant obsidian
#

Not yours obviously

broken fable
#

Prince

#

and the artist formerly known as Ke$ha. etc.

hazy sentinel
#

isn't every name UTF-8 if you think about it

buoyant obsidian
#

No

ivory rapids
#

can someone help me im having trouble loading mods through the launcher, when i opened the launcher i selected the assembly-csharp.dll but idk what to rly do next(dont know if this should be asked in help or in modding)

solemn rivet
#

launcher?

ivory rapids
#

mod installer*

broken fable
#

i've never used the mod installer. is it up to date?

young walrus
#

no

#

your best bet is to load mods manually

solemn rivet
#

don't use it

young walrus
#

you'll have a much better time

solemn rivet
#

mods are really easy to install

#

just drag 'n drop

young walrus
#

pop lock n drop it

ivory rapids
#

so i just drag the extracted folder i get hollow knight data into the game's folder?

young walrus
#

yup

#

it'll put all the files where they need to go

buoyant wasp
#

also, check if the mod you're using says [API] (or "Requires Modding API")

young walrus
#

^^

ivory rapids
#

huh, well thanks i guess, idk why i went through all that trouble with the mod installer

buoyant wasp
#

if it does, there is a second download you need to grab from the drive

ivory rapids
#

aight

young walrus
#

i'd just install the modding API anyways

#

doesn't hurt

broken fable
#

the most confusing things about installing mods are: google drive's download button is kinda hard to find. the zip files need to be extracted into a particular folder so that the directory structure merges properly. most mods have a README.txt at the top level that you might not want to install, because it'll collide with all the other mods. the modding api zip has desktop.ini files.

#

so overall, pretty easy.

ivory rapids
#

i downloaded the 590mb pack and it has Seanpr, Firzen, _ Wyza - Modding API folder

buoyant wasp
#

590mb is.....not right? lemme go look

broken fable
#

you may have downloaded the entire shared directory of mods.

ivory rapids
#

yeah that

buoyant wasp
#

lol, yeah, that's uhm, overkill

ivory rapids
#

sorry if im causing trouble by my stupidity cuz i cant figure out what to do at times

buoyant wasp
#

i think tonight i'm just gonna do the video i've been threatening to do

young walrus
#

i dare you

broken fable
#

@ivory rapids installing mods could be easier. i empathize with you.

buoyant wasp
#

cause it's fairly trivial to do mods once you've done them and understand what to do

#

but that first step of getting it can be, confusing

broken fable
#

in my opinion getting to the goolge drive link is the hardest part. requires making a discord account.

buoyant wasp
#

yes well, if we could host the mods publicly, we would

ivory rapids
#

there is no 1.2.1.1 api file,(dont kill me im using a pirated version i cant afford to buy it atm 😒 )

hazy sentinel
#

ez solution buy the game

young walrus
#

......

buoyant wasp
#

yeah, sorry, we can't really help you there

broken fable
#

mods are sensitive to particular versions of the game. the best experience will be if you're on the latest version, as long as it's been out for at least a few days.

buoyant wasp
#

there is no 1.2.1.1 version of the modding API, and there never will be

#

not the least of which is because that HK release was pulled from the store because it was buggy

ivory rapids
#

o well, gonna have to wait till i buy it i guess

#

might get it this black friday steam sale

broken fable
#

it's quite a bargain. way underpriced, imo.

ivory rapids
#

yeah but even that underprice

#

is overpriced for me

#

sadly

hazy sentinel
#

yeah imo $10 for 200 hours of content is overpriced

#

why did i even buy this game

ivory rapids
#

no i mean

buoyant wasp
#

amusing at best. I remember back in the day when all games were priced at the same and were about 65-70$ in current US dollars

ivory rapids
#

in a way its a lot of money for me, i agree that the game should be worth more

#

i just cant come by money easily cuz im just a kid in highschool

buoyant wasp
#

i say this having done this myself when i was a teenager. go mow your neighbors lawn πŸ˜‰

young walrus
#

literally once

buoyant wasp
#

^

broken fable
#

@ivory rapids no worries. i do recommend buying this game though, because it is fantastic, and Team Cherry teamcherry needs/deserves lots of money. hollowknice

buoyant wasp
#

not that i'm bashing you, just saying you won't find a super warm reception to piracy here regardless of the reason.

ivory rapids
#

doesnt rly work like that, yeah i know ive been wanting to buy this since release but i held onto pirated versions for some reason idk

#

regardless thanks for ur help sry for bothering, ill just buy the game when i can

#

and ill fully enjoy it

broken fable
#

@ivory rapids come back when you do. i'm sure someone here will help you get started with mods hollowknice

ivory rapids
#

was interested in mods especially the boss rush cuz one of the better parts of hollow knights are the boss fights and after u defeat one boss u cant realy do it again on the same save file

broken fable
#

@ivory rapids did you do the white defender and grey prince repeat fights? you can do those multiple times.

ivory rapids
#

yeah but they arent as enjoyable as many other fights tho they are a challenge

#

again sorry to bother, i appreciate the help, have a wonderful evening

hazy sentinel
#

understandable have a nice day

buoyant obsidian
#

Panic Compass added, testing would be appreciated.

solemn rivet
#

what kind of functionality does it add?

#

all of those we mentioned earlier?

buoyant obsidian
#
float panicSpeed = 1f;
        if (this.playerData.equippedCharm_2)
        {
            panicSpeed -= .1f;
            int missingHealth = this.playerData.maxHealth - this.playerData.health;
            panicSpeed += (float) missingHealth * .05f;
        }
#

There's everything

swift cairn
#

is the new update compatible with drm-free versions?

solemn rivet
#

what about damage scaling?

buoyant obsidian
#

None of that for now

#

also I'll see if I can get a DRM free version, give my 5 minutes for testing

#

Could somebody on DRM-free test this for me?

swift cairn
#

k

buoyant obsidian
#

I doubt it'll work

#

If it's working your main attack with be ranged

hazy sentinel
buoyant obsidian
#

There's no way to tell from the menu necessarily

swift cairn
#

not loading saves

hazy sentinel
#

well the soul meter is on screen at start

#

so that's a good sign

swift cairn
#

just creates black screen

hazy sentinel
#

yeah it works

#

with a new save at least

buoyant obsidian
swift cairn
#

I didn't make a new save

hazy sentinel
#

idk about existing saves

buoyant obsidian
#

try again on a backed up existing?

swift cairn
#

existing saves don't work

hazy sentinel
#

me?

trim nimbus
#

hey

buoyant obsidian
#

yeah if possible

trim nimbus
#

I have a slight issue installing bonfire mod

#

do I just copy the entire thing?

#

even tho the folder directories don't seem to add up?

hazy sentinel
#

works for me

solemn rivet
#

what

hazy sentinel
solemn rivet
#

version of the base game are you runnning?

swift cairn
#

ok so it's not working on new saves either for me

buoyant obsidian
#

@swift cairn are you on 1.2.2.1? GoG?

#

Humble?

#

Humble might work and GoG might not

swift cairn
#

oh there's 1.2.2.1 now?

hazy sentinel
swift cairn
#

dam I gotta update

buoyant obsidian
#

Yeah I'll package the retextures

solemn rivet
#

@trim nimbus what game version?

trim nimbus
#

nevermind

#

I'm dumb and I downloaded the wrong mod version

solemn rivet
#

there's not 1.2.2.1 version yet tho

#

I'm currently working with Wyza on it

#

it currently runs, but doesn't save

trim nimbus
#

I mean

#

I downpatched to 1.2.1.4

#

but installed 1.1.1.8

solemn rivet
#

oh, ok

buoyant obsidian
#

Somebody buy me Discord Nitro so I can upload this here ;)

#

Lightbringer should work with DRM-free copies now, could someone confirm?

hazy sentinel
#

what is grubberfly's elegy supposed to be

#

because it pushes me back when i equip it

buoyant obsidian
#

Makes them bigger

#

and increases damage

#

did you install the full package? It should include charm descriptions

hazy sentinel
#

each swing knocks the character back

#

no just the assembly

buoyant obsidian
#

oh, try out the one on moddb

#

you'll get everything

#

and it'll show if it truly works or not

hazy sentinel
#

mmk

buoyant obsidian
#

Nope, that's just the default I think

#

Ayy thanks fam

hazy sentinel
buoyant obsidian
#

NOOOOO

hazy sentinel
#

holy shit how broken is this mod

buoyant obsidian
#

Fun broken

void wing
#

It's pretty good

hazy sentinel
#

endgame is just like

void wing
#

Bloodlust charm is ine i'd prefer

rustic fossil
#

@solemn rivet My idea for the mod was that masks would have weight. I'm not trying to make it impossible if you get hit, just adding an interesting dynamic

hazy sentinel
#

vanilla but nail hitbox is 20x bigger

void wing
#

one

buoyant obsidian
#

To an extent that's true yeah

#

but it doesn't play that way

solemn rivet
#

wait, why did I get tagged? Did I say something?

rustic fossil
#

Yeah, about 2 and a half hours ago

#

I didn't get to it until now

#

You mentioned having damage also scale with the inverse of health

hazy sentinel
#

wow

#

make it a new charm

#

call it

#

fury of the fallen

#

genius i know

#

i don't know where i get these ideas

solemn rivet
#

ah, yeah

void wing
#

True creativity at its finest

solemn rivet
#

no, not impossible

#

I meant it like FotF

#

the less health you have, the more damage you deal

rustic fossil
#

Ah, I see

#

I could try that

buoyant obsidian
#

the more health you have the less health you have

rustic fossil
#

Lol

void wing
#

there we go

solemn rivet
#

another patch

#

ffs

buoyant obsidian
#

kill me

rain cedar
#

Fixed issue where some enemies and bosses could break when being killed by extra sources of damage eg. Dreamshield, Flukenest

#

Finally

hazy sentinel
#

when will TC fix the issue where dreamshield costs 2 too many charm notches

buoyant wasp
#

patch notes?

buoyant obsidian
#

wait don't tell me this patch is live already

hazy sentinel
#

it's beta

buoyant obsidian
#

oh thank god

buoyant wasp
#

wunderbar

rustic fossil
#

Are maps created by hand or by the game?

rain cedar
#

The in game maps don't actually match the game world exactly

#

They can't because stuff overlaps

#

So I'd assume hand made

rustic fossil
#

Wait, which parts overlap?

rain cedar
#

I dunno, just stuff everywhere doesn't match up

buoyant wasp
#

the map doesn't match the world exactly

#

there is some paradox stuff in some places

rain cedar
rustic fossil
#

Interesting

#

No White Palace there either

rain cedar
#

It's just not worth the effort to make a game world that maps perfectly to a single scene when it's done as individual rooms like this

#

Yeah, none of the indoor places are on this map

buoyant wasp
#

@rain cedar - So came across an interesting bug while helping gradow with bonfire api port. He uses Gui to display this leveling stuff. However it has the odd effect of anchoring the mod version info that we have in the API to the center of the screen when paused. I'm guessing that both the API and bonfire are using the same overlay. So question is, do you know how to segregate the api's overlay into its own so that mods won't step on it?

rain cedar
#

It should already be different

#

Pretty sure I'm setting my own matrix to make sure it works

broken fable
#

@anathema#2880 i looked into modding the in-game maps, and it's kind of a mess. tons of hardcoded stuff. it will require lots of modding api effort to be able to mod that properly.

buoyant wasp
#

so that's the current code

rain cedar
#

Yeah

buoyant wasp
#

here's what happens

rain cedar
#

Setting all my own GUI stuff before the label

#

That doesn't make any sense to me

buoyant wasp
#

it changes the font, size, and moves it to the center...for...reasons?

#

unless

rain cedar
#

Oh I see

buoyant wasp
rain cedar
#

Yeah I need to be setting my own font stuff too I guess

buoyant wasp
#

yeah, but even font wise, i don't get why it'd change the anchoring point for the display

rain cedar
#

GUI.Label(new Rect(0f, 0f, 1920f, 1080f), drawString);

#

I just set it to render the text on the entire screen to be sure it didn't cut off