#archived-modding-development

1 messages ยท Page 32 of 1

leaden hedge
#

so thats easy

solemn rivet
#

^

leaden hedge
#

menu graphics just draw it normally

#

I believe you could hook CharmIconList.GetSprite(int id)

#

and return your own sprite for charms

#

as for elegy what are you doing?

rain cedar
#

It's lightbringer

#

All that mod does is make you shoot reskinned elegy beams

leaden hedge
#

I know it changes to a spearish shape

#

pretty sure the fireballs and stuff are the actual fireball object

buoyant obsidian
#

Elegy's spritesheet is replaced with the lance, that's about all that's happening. The rest is just resizing / adjusting Elegy prefabs

#

The audioclip for it is changed slightly too

leaden hedge
#

but you can probably do something like

  tk2dSprite tk2dsprite = elegy.GetComponent<tk2dSprite>();
  Texture2D tex = new Texture2D(1,1);
  tex.LoadImage(imageData);
  tk2dsprite.Collection.textures[0] = tex;
solemn rivet
#

I need help making the crit work as intended

#

the crit effect, that is

#
if (this.slashAngle == 0f)
        {
            if (layer == PhysLayers.ENEMIES && (otherCollider.gameObject.GetComponent<NonBouncer>() == null || !otherCollider.gameObject.GetComponent<NonBouncer>().active))
            {
                if (otherCollider.gameObject.GetComponent<BounceShroom>() != null)
                {
                    this.heroCtrl.RecoilLeftLong();
                    FSMUtility.LocateFSM(otherCollider.gameObject, "Bounce Shroom").SendEvent("BOUNCE");
                }
                else
                {
                    this.heroCtrl.RecoilLeft();
                    if (this.heroCtrl.crit)
                    {
                        this.heroCtrl.shadowRingPrefab.transform.SetScaleX(0.5f);
                        this.heroCtrl.shadowRingPrefab.transform.SetScaleY(0.5f);
                        UnityEngine.Object.Instantiate(this.heroCtrl.shadowRingPrefab, otherCollider.gameObject.transform.position, base.transform.rotation);
                    }
                }
            }
        }```
#

That's inside NailSlash.OnTriggerEnter2D(collider)

#

there are four of these, one for each slash direction

#

what I did was add csharp ModHooks.Instance.OnSlashHit(otherCollider, base.gameObject);

#

at the start of the method

#

and subscribedcsharp public void CritHit(Collider2D otherCollider, GameObject go) { if (crit) { hc.shadowRingPrefab.transform.SetScaleX(0.5f); hc.shadowRingPrefab.transform.SetScaleY(0.5f); UnityEngine.Object.Instantiate(hc.shadowRingPrefab, otherCollider.gameObject.transform.position, go.transform.rotation); } }to it

#

and although that DOES reference the hit enemy, it also references the nail and the hero

#

I think I got an idea

buoyant wasp
#

how and when are you doing the subscription?

solemn rivet
#
if (otherCollider != null)
{
    ModHooks.Instance.OnSlashHit(otherCollider, base.gameObject);
    if (this.slashAngle == 0f)
    {...}
}```
#

I think I got it

#

I put it before the layer check

#

so it's firing for every collider

#
public void CritHit(Collider2D otherCollider, GameObject go)
{
    if (crit && otherCollider.gameObject.layer == 11)
    {
        hc.shadowRingPrefab.transform.SetScaleX(0.5f);
        hc.shadowRingPrefab.transform.SetScaleY(0.5f);
        UnityEngine.Object.Instantiate(hc.shadowRingPrefab, otherCollider.gameObject.transform.position, go.transform.rotation);
    }
}```now it shouldn't
#

and it did work

buoyant wasp
solemn rivet
#

okay, if shield works, Bonfire mod is officially on the brink of release

buoyant wasp
#

you figure out saving?

solemn rivet
#

that's why it's "on the brink" and not "released"

leaden hedge
#

bossrush is on the brink too hollowface

solemn rivet
#

oh, I'm stupid

buoyant obsidian
#

Lightbringer is on the brink of updated

solemn rivet
#

forgot to replace the assembly with the updated hooks

buoyant wasp
#

everything is on the brink

#

wish the automated injection of the modding hooks into the assembly was on the brink

#

pretty sure what I know what i'll have to do now, but it suckkkkkkssss

leaden hedge
#

I only need to test GPZ / WD / THK

buoyant wasp
#

turns out, the scripting API for dnspy doesn't let you have access to the editor to change the decompiled code programatically

solemn rivet
#

woohoo!

#

and that's using the new API

buoyant obsidian
#

Lightbringer has been updated, I'd appreciate if somebody could test it out before I spread the news

solemn rivet
#

sure!

#

what exactly do you want to test?

buoyant obsidian
#

Just if it loads up / appears to work

solemn rivet
#

easy enough

buoyant obsidian
#

For some reason I've had a weird issue where my mods become linked to my PC and can only be used on my PC

#

and crash for other people

solemn rivet
#

eh

#

I'd blame the other people tbh

buoyant obsidian
#

It's a Steam issue I think

solemn rivet
#

oh, btw

#

thank you 753

#

you were the one who first directed me to this channel

buoyant obsidian
#

Of course, and thank you for being so dedicated to your work

solemn rivet
#

and it was lightbringer that "inspired" me to make my own mods

#

don't remind me of work

#

I have a seminar to prepare for next week and here I am, working on vidyagam mods

buoyant obsidian
#

Seminar? What for?

solemn rivet
#

my phd program

buoyant obsidian
#

Oh shit good luck

solemn rivet
#

thanks

#

I'll need it

#

okay, I'll test it now

#

btw 753, is that the actual font, or a similar one?

buoyant obsidian
#

I just use Perpetua

solemn rivet
#

oh

buoyant obsidian
#

I found a hilarious bug already

#

The game still plays when you pause

#

welcome to Dark Souls

solemn rivet
#

wut

#

in lightbringer?

buoyant obsidian
#

Yeah because of the way I coded timefracture

solemn rivet
#

oh

#

I'll just give myself every charm to check if they all work

#

but so far no crashes

buoyant obsidian
#

Perfect, thanks for the help

solemn rivet
#

okay

#

aside from time continuing on the pause menu, everything seemed to work fine

#

also

buoyant obsidian
#

Oh good I thought you were gonna say you crashed

solemn rivet
#

is time fracture not meant to impact mana regen time?

buoyant obsidian
#

It's supposed to help mana regen, did I screw up again?

solemn rivet
#

beacause it made no difference

#

at least, not that I could tell

#

I can use a stopwatch

trim totem
#

what mods work on the latest version

solemn rivet
#

all api mods

buoyant obsidian
#

as well as Glass Soul and Lightbringer

solemn rivet
#

and non-api bonfire

#

api bonfire is ALMOST working

#

oh

#

nvm

#

it's way faster

buoyant obsidian
#

Yeah it is lol

solemn rivet
#

without time fracture: 30.25s

#

with time fracture: 8.73s

#

that's "time to get 1/3 of the orb filled"

buoyant obsidian
#

Oh fuck I knew it

#

I accidentally made it double double

#

Oh well let's pretend that's a feature, after all Time Fracture messes with the space-time continuum

solemn rivet
#

heheh

void wing
#

How can I add lightbringer to my game? I want to try to fight Radiance with it.

buoyant obsidian
solemn rivet
#

there are install instructions in the zip

buoyant obsidian
#

Then follow the installation instructions in the readme.txt file

#

It's just moving a folder into another folder and hitting replace whenever it comes up

solemn rivet
#

also, 753: I took a look at the output_log.txt to see if there were any exceptions or whatever, but there were none

#

so yay

void wing
#

okay thanks

leaden hedge
#

can anyone quickly test this
load the game kill false knight,
kill flukemarm
then try to load hollow knights room

#

I'm getting out of memory errors, want to just know if its me

solemn rivet
#

just a sec

buoyant wasp
#

testing, one moment

void wing
#

omg i was trying to use this earlier but I'm stupid so I couldn't make it work

buoyant wasp
#

geez, it grew 670k ๐Ÿ˜› graphics ftw

void wing
#

that or because I was trying to use an API file

solemn rivet
#

forgot to disable bonfire

#

reloading

buoyant wasp
#

if i jump the black goes up

#

can't hit anything, but can move/attack

solemn rivet
#

omg the damage

leaden hedge
#

yes your damage is set to 65

#

to test things

buoyant wasp
#

NullReferenceException: Object reference not set to an instance of an object
  at BossRush.BossRush.onCollider (UnityEngine.GameObject go) [0x00000] in <filename unknown>:0 
  at Modding.ModHooks.OnColliderCreate (UnityEngine.GameObject go) [0x00000] in <filename unknown>:0 
  at PlayMakerUnity2DProxy.Start () [0x00000] in <filename unknown>:0 
leaden hedge
#

nah thats fine

#

the error is I put -6 instead of +6

#

you should spawn above ground now

buoyant wasp
#

k

#

btw, the images and the titles are wrong

#

hornet's image is flukemarms label

leaden hedge
#

nah it works fine

#

its just because you go straight from FK -> stage 2

#

and the sprites get updated on load screens

buoyant wasp
#

so, it's cause we're cheating?

#

๐Ÿ˜›

solemn rivet
#

so it's fixed now?

leaden hedge
#

I dunno

#

I still get out out of memory errors

solemn rivet
#

btw, I hadn't realised up til now that HK follows you when you walk around the arena

leaden hedge
#

I can't actually test the THK fight to see if it works

solemn rivet
#

eh

leaden hedge
#
DynamicHeapAllocator allocation probe 1 failed - Could not get memory for large allocation 536870912.
DynamicHeapAllocator allocation probe 2 failed - Could not get memory for large allocation 536870912.
DynamicHeapAllocator allocation probe 3 failed - Could not get memory for large allocation 536870912.
DynamicHeapAllocator allocation probe 4 failed - Could not get memory for large allocation 536870912.
DynamicHeapAllocator out of memory - Could not get memory for large allocation 536870912!
Could not allocate memory: System out of memory!
Trying to allocate: 536870912B with 16 alignment. MemoryLabel: GfxDevice
Allocation happend at: Line:62 in 
Memory overview

[ ALLOC_DEFAULT ] used: 602395460B | peak: 0B | reserved: 632149252B 
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 2097152B 
[ ALLOC_GFX ] used: 128226439B | peak: 0B | reserved: 137176663B 
[ ALLOC_CACHEOBJECTS ] used: 2064684B | peak: 0B | reserved: 12582912B 
[ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_TEMP_THREAD ] used: 62941B | peak: 0B | reserved: 3801088B 
Could not allocate memory: System out of memory!
Trying to allocate: 536870912B with 16 alignment. MemoryLabel: GfxDevice
Allocation happend at: Line:62 in 
Memory overview

[ ALLOC_DEFAULT ] used: 602395460B | peak: 0B | reserved: 632149252B 
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 2097152B 
[ ALLOC_GFX ] used: 128226439B | peak: 0B | reserved: 137176663B 
[ ALLOC_CACHEOBJECTS ] used: 2064684B | peak: 0B | reserved: 12582912B 
[ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_TEMP_THREAD ] used: 62941B | peak: 0B | reserved: 3801088B 
solemn rivet
#

I only get the exception Wyza already posted

leaden hedge
#

check the fight

#

does he drop items when you kill him

buoyant wasp
leaden hedge
#

ye its because you haven't hit a loading screen

#

normally when you load into the 9 bosses arena

solemn rivet
#

trying the new version you posted

#

brb

leaden hedge
#

it swaps it to the 2nd set

#

and when you go to the 18th it swaps to the 3rd set

solemn rivet
#

also, how did you manage to use the controller for that selection screen?

leaden hedge
#

magic

buoyant wasp
#

i can't kill him

#

like

#

he's lying on the ground

leaden hedge
#

the focus shouldn't work

#

it should instead drop items

buoyant wasp
#

negative ghostrider

leaden hedge
#

and you got no drops?

#

and I assume focus works normally

buoyant wasp
#

well

#

i could focus to heal

#

but once i used up my soul

#

then nothing

#

logs just has this

#
NullReferenceException: Object reference not set to an instance of an object
  at BossRush.BossRush.createLabel (UnityEngine.GameObject go, Int32 i) [0x00000] in <filename unknown>:0 
  at BossRush.BossRush.onCollider (UnityEngine.GameObject go) [0x00000] in <filename unknown>:0 
  at Modding.ModHooks.OnColliderCreate (UnityEngine.GameObject go) [0x00000] in <filename unknown>:0 
  at PlayMakerUnity2DProxy.Start () [0x00000] in <filename unknown>:0 
leaden hedge
#
            if (BossInfo.bossInfo[bossOrder[currentBoss]].VarName == "killedHollowKnight")
            {
                if (BossRush.gm.hero_ctrl.spellControl.FsmVariables.GetFsmBool("Dream Focus").Value == true)
                {
                    killedHK = true;
                    BossRush.gm.hero_ctrl.spellControl.FsmVariables.GetFsmBool("Dream Focus").Value = false;
                }
                return killedHK;
            }
solemn rivet
#

you get no focus from hitting him

leaden hedge
#

the NRE's are just from it trying to spawn shinys

buoyant wasp
#

yeah, i can't hit him, i can dream nail him, but get no soul

leaden hedge
#

thats super fucking weird that it didn't spawn items

buoyant wasp
#

can't focus, and no drops

#

want modlog?

leaden hedge
#

the code that disables the focus sets him to be dead

#

nah i've got no logging for this

buoyant wasp
solemn rivet
leaden hedge
#

oh you got items

solemn rivet
#

shape of unn boi

leaden hedge
#

does the stage select work after picking them up?

buoyant wasp
#

also, you're logging...something

solemn rivet
#

yup

leaden hedge
#

try and click radiance

buoyant wasp
#

also, i can't pause

#

or select

leaden hedge
#

yeah this scene disables pause

#

in vanilla

buoyant wasp
#

i'm literally just sitting here watching him spread the infection over the entirety of kingdom ๐Ÿ˜›

leaden hedge
#

@solemn rivet kill bosses until you can click radiance, you should have to do all the others

#

before you can do the radiance

void wing
#

and all you've worked for was pointless the end

buoyant wasp
#

i'll try again here in a sec

#

need to feed the dogs

void wing
#

does lightbringer only work on a fresh file

solemn rivet
#

oh, I quit

buoyant wasp
#

also, i love that you can triple stagger false knight

#

and he only has to bang the ground once

solemn rivet
#

my connection is almost literal shit

leaden hedge
#

lol its fine

solemn rivet
#

@leaden hedge will do that

#

@buoyant wasp I found that on Lightbringer

#

the damage up from glass soul was enough to stagger him before he could attack

#

so I stunlocked him forever

#

also

#

will it break the damage if I pick up sharp nail?

leaden hedge
#

no

buoyant wasp
#

same thing, killed him, no drops, could regular focus, but can't dream focus

solemn rivet
#

also, should I follow the same boss order?

leaden hedge
#

do whatever you want

#

flukemarm is just the fastest boss

solemn rivet
#

ok

leaden hedge
#

in final stage kill them in whatever order you feel like

solemn rivet
#

also, no fight is giving me soul

leaden hedge
#

you don't get soul from THK

#

or from FK

#

except the head which you one hit

solemn rivet
#

what about fluke?

leaden hedge
#

you should get soul from fluke

#

oh yeah I added angry eyebrows to the vanilla dream bosses

#

because they don't have unique sprites

solemn rivet
#

ST: HUD not showing

leaden hedge
#

oh yeah HK disables it

#

and disables pause

#

I really can't debug this shit because my computer literally won't load THK's room

buoyant wasp
#

yay a new release again ๐Ÿ˜›

#

load it up with logging and i'll be happy to run it through

leaden hedge
solemn rivet
#

oh

#

dying to ST fixed it

leaden hedge
#

I put in a line of logging

#
            if (BossInfo.bossInfo[bossOrder[currentBoss]].VarName == "killedHollowKnight")
            {
                if (BossRush.gm.hero_ctrl.spellControl.FsmVariables.GetFsmBool("Dream Focus").Value == true)
                {
                    killedHK = true;
                    BossRush.gm.hero_ctrl.spellControl.FsmVariables.GetFsmBool("Dream Focus").Value = false;
                    if (!BossRushUpdate.spawnedItems)
                        if (BossInfo.SpawnAll())
                            BossRushUpdate.spawnedItems = true;
                        else
                            Modding.ModHooks.ModLog("Couldn't spawn HK items");
                }
                return killedHK;
            }
solemn rivet
#

not getting any soul btw

#

from anything

leaden hedge
#

are you running any other mods

solemn rivet
#

none

#

only bossrush

leaden hedge
#

if you think a log at a certain place would help you debug i'll put it in hollowface

solemn rivet
#

lemme take a look

#

oh

#

fuck

#

I know what's wrong

#

thanks

#

this showed me one of my hooks is not working

#

specifically, the SoulGain hook

buoyant wasp
#

no dice

solemn rivet
#
return 0;```duh
buoyant wasp
#

instead of return value?

#

๐Ÿ˜›

solemn rivet
#

yeah

#
return num;```
#

such a difference...

buoyant wasp
#

nice

solemn rivet
#

okay

#

take 2

#

working yay

buoyant obsidian
#

Testing out the old artist skills

void wing
#

there's no change in nailmaster skils in lightbringer

buoyant obsidian
#

Yeah, that would be fairly complicated to implement.

void wing
#

I suppose

solemn rivet
#

eh

#

@leaden hedge screen went white after Failed Champion

buoyant wasp
#

yeah, i've had that happen

leaden hedge
#

you're not locked

solemn rivet
#

sq?

leaden hedge
#

you just can't see what you're picking up Kappa

#

just pickup an item

#

your still in control

#

just can't see anything

solemn rivet
#

heh

#

well, no sound effects as well

#

oh, found one

#

and hiveblood is working after dying

leaden hedge
#

it does

solemn rivet
#

same thing after Lost Kid

void wing
#

Radiance: take one

buoyant obsidian
#

Rising Light is pretty good against Radiance if you struggle

void wing
#

got to the platform fight.

#

Yeah it was really good

#

Maybe I shouldn't use it to add some challenge

#

The glass soul description is a little scketchy. You need to be at a bench to equip charms, so you'll be at full health when you have it, but you die in one hit. So maybe you can say that "

#

you can take out the damage being amplified based on current health

solemn rivet
#

holy shit

#

NKG without longnail and dash is hard

#

had never fought him like this before

#

btw, blackscreen

void wing
#

What boss is that in non-acronyms

solemn rivet
#

Nightmare King Grimm

#

@leaden hedge all bosses worked for me, aside from the black/white screens after dream bosses

rain cedar
#

It straight up says you'll die in a single blow

#

I'm not sure how much more clear that description can be

void wing
#

im saying make it more concise

leaden hedge
#

could you do radiance after killing all the other bosses?

solemn rivet
#

I didn't get Mantis Claw/double jump, so I was doing all of them to try and get it

void wing
#

Is NKG even possible without dash?

leaden hedge
#

I mean could you start the fight

solemn rivet
#

but I forgot that I also need dash/double jump for ST

leaden hedge
#

and yes NKG is easy without dash

solemn rivet
#

I didn't even try, because I knew I would need claw

#

and got stuck on ST

#

the hardest part surely wasn't the lack of dash

#

getting used to longnail is what made it much harder

#

and he surely is possible - I just beat him

void wing
#

I don't think a actually used longnail or mark of pride for that

solemn rivet
#

my first time I used Longnail and Sprintmaster

#

so I would punish whenever I could

leaden hedge
#

well considering the strat for NGG doesn't use dash (the intended way), I'm going to say NKG can be done without it hollowface

void wing
#

IMO sprintmaster makes it a little harder

#

because of the ground attack

#

I don't think I could do it since I've used dashmaster most of my playtime of this game

buoyant obsidian
#

@Zenex Glass Soul is worded like that so clever players take advantage of health charms / lifeblood to increase the bonus damage

solemn rivet
#

I've still gotta learn NGG

void wing
#

Okay. thank you

solemn rivet
#

when I have more time, I'll spend some of it with this fight

leaden hedge
solemn rivet
#

did you remember to reset naildamage and boss order?

leaden hedge
#

yeah

solemn rivet
#

weird you're getting OOM errors

leaden hedge
#

I get them, in black egg, final boss room, soul sanctum entrance, moss knight arena in greenpath

buoyant wasp
#

do you have debug mod running or just bossrush?

leaden hedge
#

just boss rush

solemn rivet
#

maybe it's your version of the api?

leaden hedge
#

its the new logger version

#

I literally updated it before compiling this version

solemn rivet
#

I'm also using that one, but with my hooks

buoyant wasp
#

yeah, same one i'm running

#

but i don't get OOM, i get nothing

leaden hedge
#

it happens in vanilla

solemn rivet
#

I get items

#

oh

leaden hedge
#

that I get OOM when I load certain rooms

buoyant wasp
#

weird

leaden hedge
#

I have 5GB memory free

buoyant wasp
#

the only OOM i've ever had was debug mod in the howling cliffs

leaden hedge
#

so dunno why its complaining

solemn rivet
#

that is actually weird

#

cause my pc is really not good

#

and I have no memory issues with bossrush

#

anyway, off I go

#

oh, before I go

#

wanna take a look at my logs, KDT?

#

see if you find anything helpful?

leaden hedge
#

well it works for you

solemn rivet
#

lots of exceptions at the end

#

modlog also reported some errors

void wing
#

@buoyant obsidian Bloodlust is good with Burning Pride. I should've used Quick Slash and Time Fracture as well.

#

And for some odd reason my 106% completion turned to 107%. Maybe because of the charms but I don't really know. Just thought I'd mention it.

leaden hedge
#

you get more hearts

void wing
#
  • Feature List -
  • Changes your character from melee to ranged
  • SOUL regenerates passively instead of from hitting enemies
  • Nail damage drastically decreased, ranged attacks deal normal damage
  • Adds several new charms that augment your ranged abilities and more
  • Increases the number of charm slots you start with by 1
  • Decreases your starting health by 1
  • Dream Bosses and Warrior Ghosts will respawn when sitting at a bench

///////////////////////////////////////////////////////////////////////////

leaden hedge
#

yes but because your health is reduced by one

#

your completion is hearts - 4 instead of hearts -5

#

so you get an extra heart

void wing
#

I don't really understand whaat you're trying to say but it really feels like your right since charm notches apparently don't matter directly for %

leaden hedge
#

ill make it really simple

#

you start with 4 hearts

#

so you can only normally get a total of 8

#

but you have 9

#

so you have an extra percent

void wing
#

it says it decreases starting health though

hazy sentinel
#

boi

void wing
#

soory

#

sorry

#

god damn it

hazy sentinel
#

the completion percentage added by the masks you get is total masks minus base masks

#

you already finished the game and got 9 masks, but lightbringer's base HP is 4 instead of 5, so the game thinks you got 5 additional masks, adding 5% to the completion tracker

void wing
#

okay I understand now after your first message

buoyant obsidian
#

No guys that isn't it at all. He's just 1% more complete than everyone else.

dapper folio
#

Lightbringer update? I'll update the gdrive

#

Also, @rain cedar I noticed that Speedrun.com's HK resources page has the gdrive link. Gonna add something to 753's mods' folders so that people coming from there know to download from moddb over gdrive

rain cedar
#

Alright

#

I doubt that link gets much traffic

#

I just have it there because it's where debug is and that's super helpful for learning runs

dapper folio
#

yeah, i figured, but i figure it's a good idea too

#

for people who dont read the pins

buoyant obsidian
#

it's that for anyone interested

hazy sentinel
#

can you unpaint him blue

buoyant obsidian
#

Why would you even want to do such a thing?

#

F5 is your best option if you wanna be cruel

leaden hedge
#

ctrl+w

dapper folio
#

mod folders updated, lightbringer 1.2.1.4 added, any other mods i should update?

buoyant wasp
#

bossrush maybe? except i still think it's buggy ๐Ÿ˜›

dapper folio
#

boss rush get an update in the past 2 days? i last updated on the 7th

buoyant wasp
#

oh, it's gotten a ton of updates

#

some pretty slick stuff

dapper folio
#

link?

#

or does KDT post the file straight here only

buoyant wasp
#

honestly, i don't know that it's ready yet, @leaden hedge

#

if it is, then the last one he posted

#

you can search for from:KDT has:file

leaden hedge
#

it should work fine

dapper folio
#

will do

buoyant wasp
#

i'll do some more extensive plays of it tonight. see if i can break it ๐Ÿ˜ƒ

dapper folio
buoyant wasp
#

@leaden hedge - if you kill soul master on the far right side of the room, the right charm spawns outside of the room

timber gale
#

I actually did find the mods folder before joining this discord, so some descriptions and stuff would be helpful imo. I was immediately lost in there.

dapper folio
#

mod descriptions, too? I'm not a god

#

that's what mod readmes are for

#

I just host the things

timber gale
#

Sorry by "descriptions" I mean "readmes"

rotund ether
#

is anyone making a mod where your only method for attacking is sharp shadow

#

i wanna play it

dapper folio
#

Blackmoth

#

it's already a thing

rotund ether
#

!!!

timber gale
#

Didn't it just get updated?

rotund ether
#

ah i found it!

#

ill download and give it a crack

#

accidentally includes it in the actual steam drepository for hollow knight

trim totem
#

it's good mod

buoyant obsidian
#

@solemn rivet

blazing sand
#

Stupid question, but is there a way to download mods without having all your saves effected by it?

buoyant obsidian
#

Probably not like you want it to.

dapper folio
#

keep save backups

#

never open a save you don't want affected while the mod is installed

buoyant wasp
#

yup

#

it won't break a save just by having the mod, it could break a save by loading said save with a mod

#

in general there are about 200 too few save slots for my tastes

leaden hedge
#

if you add a filename hook

#

I'll extend the save select to let you press L / R to cycle pages hollowface

buoyant wasp
#

ok, so, he HK dropped items

#

i picked them up

#

well it

#

boss screen comes up

#

can't select radiance ๐Ÿ˜ฆ

leaden hedge
#

have you killed every other boss

#

radiance is always last

buoyant wasp
#

unless you're a boss

#

yes

leaden hedge
#

weird

buoyant wasp
leaden hedge
#

wait

#

Im not good at maths

buoyant wasp
#

lol

#

are you supposed to be a boss? ๐Ÿ˜›

buoyant obsidian
#

I like the eyebrows

leaden hedge
#
if (BossInfo.defeatedBosses >= 18 && BossInfo.defeatedBosses < 26 && (BossRush.selectX == 2 && BossRush.selectY == 2))
  skip = true;
#

9 + 9 + 7 = 25 thinkgrub

#

ye theres no sprite for the vanilla dream bosses

buoyant wasp
#

pro

leaden hedge
#

so I made them look ๐Ÿ˜ 

buoyant obsidian
buoyant wasp
#

lost kin is the best

#

the stick figure body

#

takes it from awesome to epic

trim totem
#

angery

leaden hedge
buoyant wasp
#

so other than that, the black/white screen stuff and the dropping a shiny out of bounds, seems stable

#

is joni's still broken?

leaden hedge
#

yes

#

as is hive

buoyant wasp
#

does it hurt to get them? or do they just not work

leaden hedge
#

jonis caps your hp at one blue

buoyant wasp
#

lol

leaden hedge
#

hiveblood does nothing until you die

buoyant wasp
#

ok, so joni's = very bad, k

leaden hedge
#

yes

#

do not pick up jonis

buoyant wasp
#

honestly, now that kingsoul is in there, you could probably just exclude joni's until you can fix it, or never, w/e

leaden hedge
#

I might just manually fix it

buoyant wasp
#

well, and you implemented the item recycling

#

so it matters even less now

leaden hedge
#

set blue hp to 1.5x maxHp

buoyant wasp
#

something

#

i'm not super worried about vet players of the mod, it's mostly the newbie experience. "pick up joni's. wth?"

#

unrelated, where would you need the save hook to be at if you were to do the L+R save rotations?

#

cause adding it shouldn't be a big deal

leaden hedge
#

theres a function in GameManager iirc

#

that gets the string

buoyant wasp
#

semi-related. Now that we can modify saves from a mod, i wonder if we couldn't add some code to the save game area to signify that a given save was made with a given mod or mods

#

and pop something up if you try to load a save with a different set of mods saying "hey this save was made with the randomizer, but you aren't running the randomizer, confirm?"

leaden hedge
#

you could probably put a dict of string -> int

#

where string = modName, and int = major version

#

then you could iterate over it,
check if key exists in loaded mods
if not return missing mods
if it is check that major version matches
and return either made for an older or newer version

buoyant wasp
#

yeah

#

it's actually already that easy basically. cause I already have the dictionary of string,int as storable. the code to do it would be fairly easy from the modding api side. I was more wondering if it's possible on the UI/UE side

leaden hedge
#

you probably don't even need ui stuff to confirm it

buoyant wasp
#

just write the mod names/versions on top of the save slot?

leaden hedge
#

just add a label that says somthing like

Incompatible Saves: HIDDEN
press {KEY} to show incompatible saves
buoyant wasp
#

hmm, that could work.

leaden hedge
#

or maybe not hide them, but lock them

#

so they can't be selected

buoyant wasp
#

yeah, though still a {KEY} to force unlock

#

so if you really wanted to load the save, you could

#

save wise, I think we'd just need to add a new method to UIManager that would run this

#
        yield return new WaitForSeconds(0.165f);
        this.slotOne.ShowSaveSlot();
        yield return new WaitForSeconds(0.165f);
        this.slotTwo.ShowSaveSlot();
        yield return new WaitForSeconds(0.165f);
        this.slotThree.ShowSaveSlot();
        yield return new WaitForSeconds(0.165f);
        this.slotFour.ShowSaveSlot();
#

hmm, maybe not

leaden hedge
#

but yeah a hook around the GameManger.GetSaveFilename(int saveslot)
that returns a string for the filename
and sends an int for the slot and bool to say if its saving or loading

buoyant wasp
#

hmm, we'd need to also call SaveSlotButton.LookForSaveFile for each of the slots

#

when you hit L/R, in order to update all the info on the save

#

so the code i showed above is totally wrong

leaden hedge
#

well I'm going to assume
UnityEngine.UI.SaveSlotButton is in the mainmenu canvas somewhere

buoyant wasp
leaden hedge
#

oh

#

well thats easy then

buoyant wasp
#

i guess you don't even need a hook really

leaden hedge
#

nah you do

buoyant wasp
#

no i mean for the slotbutton, you still need one for the filename

#

for sure

leaden hedge
#

oh yeah

#

I need one for the filename

buoyant wasp
#

k, so the hook should be public string GetSaveFilenameHook(int saveslot, bool isSaving)

#

?

leaden hedge
#

it should send if its saving or loading

#

although actually

#
    public static int page = 0;
    public static int minPage = 0;
    public static int maxPage = 10;
    public Update(){
        if( key == R )
            page++;
        if( key == L )
            page--;
        page = page % maxPage;
        uimanager.slotOne.GetSavestatsForSlot(1);
        uimanager.slot2.GetSavestatsForSlot(2);
        uimanager.slot3.GetSavestatsForSlot(3);
        uimanager.slot4.GetSavestatsForSlot(4);
    }
    getFileName(int x){
        return "/user"+(page*4)+x;
    }
#

should work regardless

#

as page shouldn't change after loading the save

buoyant wasp
#

eh, it can't hurt to have a bool for indicating save vs load. and it provides the ability to have different behavior later if needed

#

oh, hmm, where would you get whether or not it's saving or loading from?

#

cause GetSaveFilename only gives us the int of the slot

leaden hedge
#

it gets called in 2 different places

#

well 3 I guess

#

oh and ClearSaveFile

#

hmm

#

so you'd probably need 4 different checks to say
save / load / stats / clear

#

and I'd actually like to know about save + clear now that I think about it

#

save to increase maxPage if its on the last page

#

and clear to decrease it if its the last one on the last page

buoyant wasp
#

makes sense

leaden hedge
#

so you don't have to scroll through empty pages

buoyant wasp
#

just not sure how to accomplish it...i wonder if the action is being tracked somewhere already...

leaden hedge
#

can you call the same set of events from different places

#

if so just put it after each of the 4 calls it has

buoyant wasp
#

you can, just trying to keep it simple ๐Ÿ˜ƒ

#

oh, actually, i think we can accomplish knowing what its doing without additional hooks beyond the name one

#

there is already this:

#
        ModHooks.Instance.OnSavegameClear(saveSlot);
#

hmm, except that happens at the beginning of ClearSaveFile

#

so it'd get called before the file is actually gone

#

oh, but you could set a value on that event

#

hmp

#

nope, just gonna have to be a second hook that happens after the clear happens

#

the SaveGame part we already have a viable hook for

dapper folio
#

how much damage do the weblings do?

buoyant wasp
#
SavegameSaveHook```
leaden hedge
#

2

buoyant wasp
#

that's called right after the save has been written to disk

#

so that will let you increase your maxpages

dapper folio
#

just 2?

leaden hedge
#

yes just 2

#

I put all the damage values for new stuff on the wiki

#

and health

buoyant wasp
#

but there's 4 of them! and they hit like once every 3 seconds, it's almost a nail0 hit

#

๐Ÿ˜›

leaden hedge
#

the only thing that isn't on there is the scale of dream shield with dreamwielder

dapper folio
#

is it per contact or does it sustain the longer they stay in contact?

leaden hedge
#

per contact

#

target flashes white on hit

buoyant wasp
#

ok, so, load and stats, we don't need to hook for, but save and clear we do, we ahve save, need clear...k, sec

leaden hedge
#

the only 3 values that aren't on the wiki are
dreamshield + dreamwielder = 1.15x size
sprintmaster = 8.3 -> 10 speed
sprintmaster + dashmaster = 8.3 -> 11.5 speed

buoyant wasp
#
        [HookInfo("Called after a savegame has been cleared.", "GameManager.GetSaveFilename")]
        public event AfterClearSaveGameHandler AfterSaveGameClearHook;

        [HookInfo("Overrides the filename for a slot.", "GameManager.SaveGameClear")]
        public event GetSaveFileNameHandler GetSaveFileNameHook;

        [HookInfo("Called directly after a save has been saved", "GameManager.SaveGame")]
        public event SavegameSaveHandler SavegameSaveHook;
#

and GetFilename is hooked in:

#
    public string GetSaveFilename(int saveSlot)
    {
        string apiFilename = ModHooks.Instance.GetSaveFileName(saveSlot);
        if (!string.IsNullOrEmpty(apiFilename))
        {
            return apiFilename;
        }
//...rest of code is vanilla
leaden hedge
#

seems good

buoyant wasp
#

the whole not being able to chose items after dream bosses is really annoying

#

well, despite having picked up joni's cause i couldn't see the items for 5 bosses, not bad. was able to finish boss rush for the first time without it bugging out to the point where i was softlocked ๐Ÿ˜ƒ

#

the boss select stuff makes life so much nicer when the drops hate you

leaden hedge
#

I dunno what to do about the white / black screens

#

they seem random

#

and I dont do anything that should cause them

buoyant wasp
#

does the code that teleports you possibly be running during the normal transition between dream/normal and it's just load times where sometimes if the load from dream/normal is fast, you get stuck in between?

leaden hedge
#

no it explicitly doesn't run during dream sequences

#

also for some reason

uim.slotOne.LookForSaveFile();
#

doesn't do anything

#

as if its skipping the entire thing

buoyant wasp
#

hmm

#

so, LookForSaveFile calls GetSaveStatsForSlot which calls GetSaveFileName which has our hook in it, and i assume the hook doesn't get called?

leaden hedge
#

no the hook gets called

#

but none of the values get updated

#

but if I update them manually

#

it works fine

buoyant wasp
#

when are the values getting set?

#

or

#

rather, when are you trying to set the values?

#

also, what are you using for the filename?

leaden hedge
#
public void Update()
        {
            if (uim.menuState == GlobalEnums.MainMenuState.SAVE_PROFILES)
            {
                //ModHooks.ModLog("[MoreSaves] UPDATE");
                bool updateSaves = false;
                if (gm.inputHandler.inputActions.paneRight.WasPressed)
                {
                    currentPage++;
                    updateSaves = true;
                }
                if (gm.inputHandler.inputActions.paneLeft.WasPressed)
                {
                    currentPage--;
                    updateSaves = true;
                }
                currentPage = currentPage % maxPages;
                if (currentPage < 0)
                    currentPage = maxPages-1;

                if (updateSaves)
                {
                    ModHooks.ModLog(currentPage.ToString());

                    uim.slotOne.HideSaveSlot();
                    uim.slotTwo.HideSaveSlot();
                    uim.slotThree.HideSaveSlot();
                    uim.slotFour.HideSaveSlot();

                    uim.slotOne.LookForSaveFile();
                    uim.slotTwo.LookForSaveFile();
                    uim.slotThree.LookForSaveFile();
                    uim.slotFour.LookForSaveFile();

                    uim.slotOne.geoText.text = "1";
                    
                    uim.slotOne.ShowSaveSlot();
                    uim.slotTwo.ShowSaveSlot();
                    uim.slotThree.ShowSaveSlot();
                    uim.slotFour.ShowSaveSlot();

                    //uim.GoToProfileMenu();
                }
            }
        }
#

the filenames are correct

#
        public string getFilename(int x)
        {
            return "/user" + ((currentPage * 4) + x) + ".dat";
        }
#

changing to page2 does nothing

#

but slot1 in this case geo gets set to 1

buoyant wasp
#

hmm, that's different than the way they load them normally

return "\\user1.dat";
leaden hedge
#

\ only works on windows iirc

buoyant wasp
#

i'd have to have a mac/linux version of the dll to see if they did it differently there. i know that / and \ behave differently on windows in some cases (I don't know that you can mix them, unless they already use / for everything and just inconsistently used \ here for some reason)

#

so, the only reason i could see it not updating is if saveStats is null or mySlotId < 1

leaden hedge
#

so the only reason it should be breaking is mySlotId being 0 for whatever reason

buoyant wasp
#

perhaps instead of /, using System.IO.Path.DirectorySeparatorChar

leaden hedge
#

its getting the string fine

#

it can load and save the files

buoyant wasp
#

it just doesn't update the button's ui

leaden hedge
#

well yeah

#

but doing

MoreSaves.LookForSaveFile(uim.slotOne, 1);
#

does

#

and thats just an exact-ish copy

#

minus setting private members

#

alright
so


                if (updateSaves)
                {
                    uim.slotOne.enabled = false;
                    uim.slotTwo.enabled = false;
                    uim.slotThree.enabled = false;
                    uim.slotFour.enabled = false;

                    uim.slotOne.enabled = true;
                    uim.slotTwo.enabled = true;
                    uim.slotThree.enabled = true;
                    uim.slotFour.enabled = true;
                }
#

this updates if both src and dst pages have a save on the slot

#

but otherwise does nothing

#

so it won't set the state / create a save slot

#

but it will update the text

buoyant wasp
#

what's weird, is that enable/disable just ends up calling the LookForSaveFile method.....

#

well, enable does

leaden hedge
#
if (updateSaves)
                {
                    uim.slotOne.enabled = false;
                    uim.slotTwo.enabled = false;
                    uim.slotThree.enabled = false;
                    uim.slotFour.enabled = false;

                    uim.slotOne.enabled = true;
                    uim.slotTwo.enabled = true;
                    uim.slotThree.enabled = true;
                    uim.slotFour.enabled = true;

                    uim.slotOne.HideSaveSlot();
                    uim.slotTwo.HideSaveSlot();
                    uim.slotThree.HideSaveSlot();
                    uim.slotFour.HideSaveSlot();

                    uim.slotOne.ShowSaveSlot();
                    uim.slotTwo.ShowSaveSlot();
                    uim.slotThree.ShowSaveSlot();
                    uim.slotFour.ShowSaveSlot();
                }

and this kinda works

#

sorta had to explain how it works

#

when you do HideSaveSlot, it starts the fade out

#

and blocks any fade ins

#

so you 've gotta go from page0 -> 1 fades out
whilst its fading out go to page0 again

#

then go back to page1 so it fades in

#

and it works

buoyant wasp
#

wonder if thats why they put a delay in the code

leaden hedge
#

the delays make them come in

#

one at a time

#
                if (updateSaves)
                {
                    //Instantly
                    uim.slotOne.HideSaveSlot();
                    uim.slotTwo.HideSaveSlot();
                    uim.slotThree.HideSaveSlot();
                    uim.slotFour.HideSaveSlot();

                    //After all faded
                    uim.slotOne.enabled = false;
                    uim.slotTwo.enabled = false;
                    uim.slotThree.enabled = false;
                    uim.slotFour.enabled = false;

                    uim.slotOne.enabled = true;
                    uim.slotTwo.enabled = true;
                    uim.slotThree.enabled = true;
                    uim.slotFour.enabled = true;

                    uim.slotOne.ShowSaveSlot();
                    uim.slotTwo.ShowSaveSlot();
                    uim.slotThree.ShowSaveSlot();
                    uim.slotFour.ShowSaveSlot();
                }

this is what i'll probably have to do

buoyant wasp
#

makes sense, but i also just realized it's like 220 AM and i've been up for 19.5 hours. so my brain is probably well past mush at this point

leaden hedge
solemn rivet
#

What's the api version for this? I need to add its hooks

leaden hedge
#

1.2.1.4-3

#

wyza posted it earlier

late sphinx
#

that's too many saves

#

85 billion is too much

leaden hedge
#

its only 8.5b

late sphinx
#

oh yeah whoops

#

messed up

leaden hedge
#

@solemn rivet you use l1 / r1 to change page, if you're on keyboard its whatever you use to change inventory panels

solemn rivet
#

Ok

#

It's easier to add those hooks to mine than otherwise

#

I'll send my hooks to wyza later to make it official

#

@rotund ether if you want to try blackmoth, please use the api version. The other version is buggy, out of date and discontinued.

late sphinx
#

dingus round man

solemn rivet
#

that is completely unformatted

late sphinx
#

ih

#

oh

solemn rivet
#

this is how it looks for me

#

this reminds me to change the install instructions to those of the API

#

done

#

I'll add the readme to the root folder of the gdrive, so you can read it without downloading

late sphinx
#

question

#

is there a level cap for bonfire mod

solemn rivet
#

@late sphinx see if this works for ya

#

no, there is no hardcap

late sphinx
#

oh nice

solemn rivet
#

but each stat softcaps around 50

#

but it's a "hard" softcap

late sphinx
#

also that screenshot wasn't from blackmoth but ok

#

i totally know what you mean

solemn rivet
#

oh

#

sorry

late sphinx
#

> : C

solemn rivet
#

lemme see...

#

which version of the bonfire mod you're using?

late sphinx
#

1.2.1.4

solemn rivet
#

there's already a readme on the gdrive

#

ehh

late sphinx
#

but what does drm stand forintenseface

solemn rivet
#

Don't ReadMe

late sphinx
#

o h

solemn rivet
#

if that was a serious question, sorry, drm means "digital right management"

late sphinx
#

ooohh

#

ok

#

also

#

husk sentries seem to die way quicker than they should

solemn rivet
#

can you install the debug mod and check their hp for me?

#

oh

#

nvm

#

can you send me the output_log.txt?

late sphinx
#

hol on

#

i know exactly what that is

solemn rivet
#

yup

#
Zombie Guard has health_manager_enemy FSM.
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Total geo for Zombie Guard : 20-0-5-0-0-0
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Enemy HP multiplier: 1.87089893785141```
#

should work

#

how much attack do you have?

#

can you send a screenshot of the level up screen?

late sphinx
solemn rivet
#

without crits, it dies in 5 hits

late sphinx
#

husk sentry

#

the ones in city of tears

hazy sentinel
#

great husk sentry u dungo

solemn rivet
#

oh!

late sphinx
#

no just husk sentry

hazy sentinel
#

ok u mean the blue nail guys

#

or am i just dumb thinkgrub

solemn rivet
#

these guys?

#

or these guys?

late sphinx
#

those guys

#

smol

solemn rivet
#

if it's the latter, it should be obvious why they die so easily

#

you kill them in two hits

late sphinx
#

huh

solemn rivet
#

or, actually

late sphinx
#

without mods the flying ones took more hits

#

i mean ,less

#

not mroe

#

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

solemn rivet
#

Enemy HP multiplier: 2.40163994843443

#

so it's roughly 52, 54

#

should die in 4 hits

#

which is harder than it should be at any point in the game

hazy sentinel
#

what

solemn rivet
#

at most, nail damage in vanilla is 21

#

eh, I phrased it wrong

hazy sentinel
#

"""at any point in the game"""

solemn rivet
#

at nail 0 - 5~6 hits
nail1 - 3 hits
nail2 - 2~3 hits
nail3 - 2 hits
nail4 - 2 hits

#

"at any point after upgrading"

hazy sentinel
#

nerf enemy hp scaling imo

solemn rivet
#

so it's harder than it should be at this point

hazy sentinel
#

is that total hp or additional hp

solemn rivet
#

total HP

#

so bonfireHP=vanillaHP*2.62

solemn rivet
#

okay, I'll add the more saves hooks now

#

also, are the more saves'-hooks only on GetSaveFileName and ClearSaveFile?

#

or did you change any existing hooks?

buoyant wasp
#

i don't think so, i think those were the only 2 i changed/added last night.

#

also, the reason your stuff was formatted weird is likely the editor you used was using Unix line endings \n vs windows line endings \r\n

#

notepad can only do windows ones, but notepad++ does both

#

I'll review the dll after work to make sure it all looks good, can you post somewhere the changes you made? I want to make sure they are all ported back into source code (especially since we're gonna get a new patch in the nearish future)

#

@leaden hedge / @rain cedar - Assuming the new save paging stuff works well. Thoughts on including that with the modding API by default (it'd still be a separate mod in the mods folder, but have it be part of the standard distribution. ) seems like it'd be something pretty standard that people would use.

leaden hedge
#

v0.2.0
Clearing saves now correctly removes the last page, if both the last and 2nd to last page are empty.
Added a label to display which page you are on.

#

I have no problem with you distributing the mod with the API

buoyant wasp
#

i haven't loaded it, but are there indicators anywhere that show that there are pages and how to move to them?

leaden hedge
#

it should hopefully be intuitive

#

as its the same button the game uses to change pages

timber gale
#

If this mod is compatible, have you considered just having it auto-installed with the API? Unless there is some downside

leaden hedge
buoyant wasp
#

nice, yeah, that looks perfect and using the same inventory buttons is great

#

it almost looks as if it's part of the game ๐Ÿ˜ƒ

leaden hedge
#

it could do with fading in / out

buoyant wasp
#

i look forward to testing it out when i get home

leaden hedge
void wing
#

Out of curiosity, what programming language does HK use?

leaden hedge
#

its in unity engine

#

so it uses mono c#

void wing
#

thank you

rain cedar
#

Does that even work on keyboard? I don't think there's any buttons to swap pages on keyboard

#

I just press left/right until it's on the arrows

void wing
#

It's works on keyborard supposedly. It's the keys you have to switch tabs in the in-game menu

rain cedar
#

That's the thing, I don't think there are keys for that on keyboard

void wing
#

I've done it

leaden hedge
#

seems like an oversight if there isn't

void wing
#

look at your settings. @hazy sentinel fight me

rain cedar
#

Ok it's [ and ]

#

Not in the settings, I just pressed everything until something worked

void wing
#

okay. good for you then I guess.

leaden hedge
#

well its not in the settings for keyboard for somereason

solemn rivet
#

@buoyant wasp what kind of documentation would you need?

leaden hedge
#

what hooks you added

#

and where

buoyant wasp
#

yup

#

so need to know where they are in the HK code (GameManager.Something, or PlayerData.something, or HeroController.Something) and where they are in the Modding namespace.

solemn rivet
#

gotcha

#

I'll write a simple .txt file, would that be fine?

#

I don't have any prior experience with documenting things, to

buoyant wasp
#

that's fine

#

it's mostly so i don't have to go looking around trying to figure out what was added ๐Ÿ˜ƒ

leaden hedge
#

v0.3.0
holding l1/r1 causes it to quick cycle through pages ( 5 a second )
and you can now repeatedly press directions to keep going without loading the save,
although once you start loading a set you're locked for half a second until the animation finishes

copper nacelle
#

is there any guide
or list or anything
that says what levels in hollow knight data correspond to
?

buoyant wasp
#

how so?

#

like what are you trying to achieve?

copper nacelle
#

whomstification

#

(making my game like @Whomst has his)

buoyant wasp
#

i couldn't begin to say, but the other modders might know

copper nacelle
#

time to just corrupt everything

#

simple solution

buoyant wasp
#

as i understand it, asset replacement is one of the more difficult things to get right

#

or at the very least, the most time consuming, and also volitile

#

since the placement of the assets on the asset sheets changes each release (or so i'm told)

buoyant obsidian
#

Did Whomst ever reveal his secrets?

ornate rivet
#

no

copper nacelle
#

can't I just put random garbage on it

#

like

#

it'll just take out the parts on the right parts of the sheet

#

right?

ornate rivet
stray mirage
#

i've asked here before

#

i'm telling you, it isn't nearly as simple as it sounds

#

here we have an image of the only other confirmed case of the bug

copper nacelle
#

only other?

#

other?

stray mirage
#

that was magolor5000

copper nacelle
#

interesting

stray mirage
#

there are maybe a few others but none nearly as sever as ours

ornate rivet
#

ours?

copper nacelle
stray mirage
#

me and magolor

ornate rivet
#

ah

stray mirage
#

both of us have since fixed it

#

very sad

copper nacelle
#

don't worry

#

I'll break it again

#

very soon

stray mirage
#

if you are active on the subreddit, i'm sure someone would have posted it if they had it

copper nacelle
#

I'm pretty active

#

haven't seen any other cases

ornate rivet
#

I am active, though I try not to be

#

at least I try not to post because every time I do post something:

copper nacelle
#

I've got an important question

#

are all your other posts like that post you posted about Grimm

ornate rivet
#

nah

#

clearly not

#

I dont make threads very often

stray mirage
#

this is probably not relevant

#

but my game was on a public beta build in june

#

but magolor's was on an actual release shortly after

#

he claims he was on 1.0.3.7

copper nacelle
#

those don't look very downvoted tbh @ornate rivet

ornate rivet
#

@copper nacelle , yeah most of my threads dont get down voted, my comments do though

#

not that I care, as long as I can post i am fine

copper nacelle
#

cool

#

wtf

#

I beat soul tyrant

#

and the hollow knight window disappeared

#

and it's back

slate owl
#

Playing the randomizer. What upgrade can you get while having nothing?

rain cedar
#

Soul catcher, vengeful spirit, dream nail, dreamshield

#

All salubra things

young walrus
#

shops, VS, Fury, soul catcher, dream nail, shield

slate owl
#

I got Fury of Fallen, Vengeful Spirit, Soul Charm, Map Seller charm, Shop charms.

rain cedar
#

Sly

young walrus
#

and compass

slate owl
#

Oh, salubra with shade skip?

buoyant wasp
#

yup

#

that's practically required

#

in almost every seed

#

at least, almost every one i've seen or played

#

what do you actually have ?

slate owl
#

Btw, is steel soul viable?

leaden hedge
#

yes

buoyant wasp
#

steel soul disables pathways where shade skip is required

#

so there would always be a way to get to salubra eventually without it

#

but depending on what you have so far, greenpath might be open

slate owl
#

When does getting lantern become useful?

young walrus
#

and you can get to the SEER

leaden hedge
#

never

young walrus
#

never

#

unless you need it in deepnest

#

but you never "need" it

slate owl
#

How do you get to crystal peak?

young walrus
#

toll

#

you can open it w/o lantern

buoyant wasp
#

the toll works without lantern

#

in rando

slate owl
#

Really?

buoyant wasp
#

sean changed it

young walrus
#

yes. that was changed for the rando

slate owl
#

Oh.

buoyant wasp
#

there are also like 8 ways to get into greenpath

rain cedar
#

It doesn't make anything easier to make the toll always usable

#

Just removes 1800 geo grinding

slate owl
#

And crystal peak content can be accessed only I got mantis claw?

buoyant wasp
#

nope

#

you can get to dream nail with nothing but jump

young walrus
#

there's a lot of different CP requirements

buoyant wasp
#

you can get a big chunk of CP with just double jump and dash

#

all of if with double jump, dash and claw or CH

slate owl
#

Dream nail with nothing but jump?

buoyant wasp
#

yup

slate owl
#

Oh. You can fall to resting grounds.

young walrus
#

yes. go through dark room heading to descending dark

#

yeah

buoyant wasp
#

and that's 2 items over there (nail and the thing below seer)

#

the shield

#

in CP, you can get the shop key with just dash (though i prefer to have wings if possible)

young walrus
#

is that even in the logic?

rain cedar
#

That doesn't sound right

young walrus
#

to get up there w/o d ouble jump?

#

i don't think you can even get up in that room w/o double jump

#

maybe off a pickaxe pogo

buoyant wasp
#

you can, it sucks, but you can

#

if you kill the guy and open the room, there is still a piece of background you can pogo off of

young walrus
#

no thanks on doing the spike gauntlet w/ only dash

buoyant wasp
#

but yeah, it's doable, just terrible

young walrus
#

i mean in the shopkeeper room itself

buoyant wasp
#

oh, yeah, pogo ๐Ÿ˜ƒ

slate owl
#

Got monarch wings ๐Ÿ˜„

rain cedar
#

The spike gauntlet isn't possible with just dash

young walrus
#

and don't you need wings there too?

#

down where the deep focus is?

#

you can't pogo up there

buoyant wasp
#

deep focus you just have to s&q if you go in without wings/claw

#

there is no way out of that

#

that i know of

young walrus
#

no. the wall where that guy is that leads to deep focus

#

you can't make that jump with just a pogo

buoyant wasp
#

brb, double checking i wasn't hallucinating when i did it

young walrus
#

lol

#

pretty sure you can't do the spike gantlet with only dash

#

don't think you can make the first part even

slate owl
#

I just softlocked at dreamers...

young walrus
#

at dreamers?

#

oh....

#

the lightning softlock?

slate owl
young walrus
#

hahaha

slate owl
#

Screen shaking like crazy.

young walrus
#

yeah. lucky you

#

have to quit out

rain cedar
#

There is 100% no way you're getting past here without wings or claw

slate owl
#

I got debug mod on.

#

Ill try a few things.

#

Ok, respawning worked.

buoyant wasp
#

ah, guess you're right

#

so i guess you do have ot have double jump

slate owl
#

Btw, after getting vengeful spirit, it takes a very long time before getting up.

rain cedar
#

That's just how it works there

#

Nothing to do with randomizer

buoyant wasp
#

yeah, thought it always took a while

slate owl
#

Maybe Im just used to skipping it XD

#

Btw, what are the list of useful shade skip?

rain cedar
#

Just die anywhere you can't progress

#

9/10 times it's useful

buoyant wasp
#

there's a useful one for getting to lost kin, but i'm pretty sure its not in the logic

rain cedar
#

Yeah, that one isn't

#

It's not a good idea to assume people can hit their shade without killing it

buoyant wasp
#

there's one to get to spore shroom down in fungal

slate owl
#

What about adding a hint button that tells you an accessible upgrade?

buoyant wasp
#

we've talked about adding a thing to the easy mode where if you got compass it'd do that at a bench

slate owl
#

Id add it to hard mode too.

rain cedar
#

There's also people who want compass to always be in white palace

#

But there's a bigger issue in that the game just updated

#

Hooray broken mods

buoyant wasp
#

facepalm

slate owl
#

What about replacing the witch atthe right side of Town.

rain cedar
#

I think someone else suggested that

slate owl
#

Instead of giving back shade, it would give an hint.

buoyant wasp
#

gimme a few minutes and i'll get you the first half of the api built on the new version

rain cedar
#

I don't like the idea of incentivizing jiji because using keys poorly can soft lock you

slate owl
#

Theres always one thats acciesble from shop.

rain cedar
#

Yeah, and sometimes you're expected to use it on waterways

#

Without any other key accessible

slate owl
#

I think you only need wings to get 2nd key.

rain cedar
#

Could just make jiji always open I guess

#

Dive is enough to get to flukemarm

slate owl
#

Ya, thatd also work.

#

So, Id say jiji always open.

#

Give a rancid egg for hint.

#

Hint is random.

rain cedar
#

Probably possible by modifying her fsm

slate owl
#

Or cheap way is.

#

When map == jiji, loop every frame and check if rancid egg count got changed.

leaden hedge
#

why would you do that

#

theres a hook for set int

#

you could just check for rancidEggs

rain cedar
#

I'm thinking change her fsm to always think you've died so she'll always take an egg

#

Then change state transitions to not try spawning the shade

#

Then make the text proper in the language hook

#

They fucked up input queueing in this patch

#

Attacks after the dialog even though I'm only holding dream nail

slate owl
#

The geo items are swapped too?

#

Got Arcane Egg from City of Tears.

rain cedar
#

Not exactly but pretty much

#

It just selects a random artifact using the seed and room name to randomize