#archived-modding-development

1 messages ยท Page 13 of 1

warped sinew
#

William wanted to say biggest metroidvainia ever in the trailer

royal ridge
#

I kept saying to Simo, like how is this still going it was so crazy

warped sinew
#

But he wussed out

royal ridge
#

Yeah I think I remember him saying that when we met up

tribal nexus
#

There is no real difficulty curve and the runs aren't varied enough to make it interesting

buoyant obsidian
#

That's a bold claim

tribal nexus
#

Which sucks because the game at its core is super fun

warped sinew
#

I remember after testing it before release I was like... I think this game is the best metroidvaina ever... Better than both sotn and super metroid

tribal nexus
#

Being a swashbuckling space pirate zooming through the air

warped sinew
#

But I couldn't say that

#

No one would believe me

royal ridge
#

I would now

tribal nexus
#

I think it's better than both those hames

#

I haven't played either of those though

hidden gull
#

it's that metroidvania craze

#

Dead Cells is popular because it makes big promises and generally doesn't fail to deliver on them

#

making a roguelike soulslike metroidvanialike is hard

buoyant obsidian
#

Backtracking + roguelike sounds kinda odd to me

hidden gull
#

in general there needs to be a reason for mechanics to exist. Being a cool idea isn't enough

solemn rivet
#

I agree 753... Something about roguelike never set well with me

#

There was this recent game which was a metroidvania with "procedurally generated"/modular areas

#

can't remember what it was called...

#

but people didn't seem to like it much

bleak robin
#

dead cells?

solemn rivet
#

no, it was not a roguelike

bleak robin
#

gotcha

deep pilot
#

Sundered?

solemn rivet
#

I believe so, yeah

hidden gull
#

Tsundered

solemn rivet
#

yeah, that's the one @deep pilot

#

anyway, just glad HK didn't end up going the same route

#

and with that, I sign off for the day

deep pilot
#

I believe people felt that the normal enemy combat in Sundered was unsatisfying, with the mobs just overwhelming you at random times.

heavy geyser
#

dead cells didn't feel like metroidvania or soulslike imo ๐Ÿค”
but it is fun

deep pilot
#

Someone who compared Sundered to HK also said he felt that Sundered's upgrade tree was too sparse of good upgrades and that "money" for late upgrade purchases pretty much required finding the equivalent of HK's geo caches since enemies barely dropped any.

warped sinew
#

Money balance is really hard

#

But my way is to always balance in the players favour if you are on the fence about something

solemn rivet
#

I remember someone saying that upgrades in sundered felt really unsatisfying

warped sinew
#

Better to be slightly lenient than slightly strict

buoyant obsidian
#

I have a secret gaming philosophy that could change gaming

#

increased sword hitbox size by 10%, decrease enemy hitbox size by 5%

#

players will never complain and say "I totally hit him and didn't get hit!"

#

following the whole slightly lenient vs slightly strict

warped sinew
#

"Players will never complain" good luck

shadow hare
#

I imagine this has been said before, but holy crap it's cool that actual developers be in here

warped sinew
#

I'm only the tester for the game but will and ari do stop by here from time to time.

#

As the lead tester I fairly involved in the balancing of the game tho

royal ridge
#

ask them to take away enemy collision this game is TOO hard ๐Ÿ˜ฆ

warped sinew
#

Yer wtf

#

Think I will record a boss rush speed run when I get home

#

Maybe I'll stream it

royal ridge
#

I'll try to watch

warped sinew
#

Won't be for like 2 hours

royal ridge
#

Yeah that's allg

warped sinew
#

Stuck at work :(

warped sinew
#

here is my boss rush speed run

#

i died on radiance two times lol, not respecting her

rain cedar
#

Mostly the same as the last one, just with some added hard lock prevention and an option to choose the seed used. Added a README as well

deep pilot
#

Alright, gotten up to Ancestral Mound and the randomizer seems to be working on Easy (just got dash from the Soul Catcher pickup)

#

The text unfortunately still states that I picked up Soul Catcher, so that's a bit confusing.

quick ravine
#

what about stuff like wanderer journals? Are they randomized?

deep pilot
#

No, iirc

#

I will say that I got awfully confused and thought the randomizer was broken because my seed randomed into Fury of the Fallen being at the exact same location as in the normal game.

quick ravine
#

x3

rain cedar
#

Yeah, text is wrong and it's probably never going to be right

#

No idea how to change that

hazy sentinel
#

just change all the text to RANDOM PICKUP

noble trout
#

@warped sinew that feeling when speedrunning the game until its ending took less time than doing a rush

deep pilot
#

Goes to Mantis Claw, gets Shade Cloak hollowknice

civic hatch
#

item randomizer would be super amazing

hazy sentinel
#

it already exists wtf

civic hatch
#

Huh!? :O

#

Need!

hazy sentinel
#

Sean posted the .zip here recently

#

just scroll up

civic hatch
#

amazing

deep pilot
#

I'm so glad I decided to go out of my way to check some charm locations

#

Thorns of Agony -> Spell Twister

#

Baldur Shell -> Mantis Claw

#

Dashmaster -> Crystal Heart

#

Mantis Claw -> Shade Cloak

hazy sentinel
deep pilot
#

All I need now is double jump and I'm essentially set in terms of abilities

#

Well...Isma's Tear would be nice to have as well

noble trout
#

yeah fuck the uumuu fight

rain cedar
#

Isma's tear is gonna be in the normal spot

#

It's not currently randomized because there were some problems with it

hazy sentinel
#

put isma's tear in lake of unn

rain cedar
#

I can't really work on it today but tomorrow I'll try to get that working

#

Haha that would suck, but nah assuming I did everything right all abilities should be reachable

#

Also @deep pilot That sounds like a pretty crazy lucky seed

deep pilot
#

Yeah, I'm pretty sure most seeds won't be this good to me

rain cedar
#

It might not be this way anymore because I changed some stuff, but last night before posting here the seed 123456789 put wall jump at flukemarm

#

That was fun

deep pilot
#

lul

kindred palm
#

Since Kein is off

#

Is there any tutorial thing of how to make a mod like the Debug Mod?

rain cedar
#

What do you mean by "like the debug mod"?

kindred palm
#

I mean, is it possible to continue adapting the Debug Mod for future versions

#

Using what Kein left us, the latest mod

rain cedar
#

Yeah, all mods are somewhat open source in that you can decompile the full dll

kindred palm
#

Is there any tutorial? What software should I use?

rain cedar
#

But I mean Kein is sending out DMCA notices, it's probably better to make a new tool

#

That's gonna be the one of the easiest to remake

#

But also the most tedious

#

To get started modding you need a program called dnspy

kindred palm
#

Yep I had it now

#

How can I understand the list of functions and numbers easily

rain cedar
#

For an idea of how to get started: you'll need to create a new class that inherits from MonoBehaviour, then attach it to a GameObject somewhere early on in the game to make it run

#

Adding an OnGUI function will allow you to add UI basically anywhere in the game

kindred palm
#

I have little programming knowlege nor of Unity or Playmaker

rain cedar
#

I see. Unity is well documented online, but I can't help much with being inexperienced with coding in general

#

Almost everything in the game is handled through state machines, which ends up being pretty annoying to deal with

#

Also just Unity in general is annoying to deal with

quick ravine
#

If I were to modify the spell damages where/how would I do it?

buoyant obsidian
#

FSMs would be my best guess, Voila. No idea how those work though.

#

Steven, depending on the type of mod you want to make there are a lot easier options to modify the game.

#

There's a lot of easy to modify classes even without much knowledge of coding.

kindred palm
#

I just want to make a mod similar to Kein's Debug Mod

#

Any suggestions?

vale zenith
#

I am working on a modified DLL that contains modding hooks at the moment so that we can just host mods without having to host all of the Hollow Knight code as well

#

If you guys need any specific hooks in there send me a private message with some relevant tagline so that I can look through them later without having to scroll up a ton

#

stevenlele, if you struggle finding the software for it, then honestly it's probably not for you

rain cedar
#

The randomizer mod is already working with this, but there's only the seven hooks needed for that right now

#

I'll look through some other mods and add relevant hooks tomorrow

buoyant obsidian
#

Kein's debug mod was pretty extensive from what I saw, what would you want to do with your version Steven?

rain cedar
#

Yeah it's got a ton of features, but none seem too hard to make. Just all together it's a lot of work

finite herald
#

@warped sinew i enjoyed the run, insane! will be trying a few similar like that and stop going only nail.

What version of the mod are you using? I'm askingbbecause on the last one, fragile strenght goes for 1600 instead of 1100

quick ravine
#

is playerData.vesselFragments an int from 0 to 9?

rain cedar
#

Might be 0-2 then reset to 0 on the third

#

Easy way to check is by looking at a 100% save

deep pilot
#

Man, this randomizer seed is spoiling me

#

Just got Quick Slash from where you normally get Spell Twister

quick ravine
#

Basically they all start worse than vanilla but get better than vanilla by the end.

#

Also added charm interactions for the more useless charms.

#

I haven't changed the damage of spells yet since I'm not sure how, but for now it's honor system.

#

also I just noticed a bug. I need to move most of this to another if statement since right now it all happens only if glowing womb is unequipped.

#

Fixed.

vale zenith
#

When is CharmUpdates called? Will I have to reload or reequip the charm after I get more health?

quick ravine
#

I think I have charm updates called in FinishedEnteringScene()

#

Yes, I do.

buoyant obsidian
#

I know it's called when sitting on benches

solemn rivet
#

I believe it's called when sitting, loading game and some other weird instances

#

Don't have the code right now so can't check

quick ravine
#

I made it call on FinishedEnteringScene() so it would update when you first start the game. Originally I had it only call if glowing womb wasn't equipped so it would equip it, but now it always calls it.

hidden gull
#

finally got the mod installer configured, now it's ๐Ÿ˜Ž documentation time ๐Ÿ˜Ž

quick ravine
#

Anyone know how max MP and HP works? I'm trying to determine how many mask and soul fragments have been gotten.

#

The heartPieces and vesselFragments values reset to 0 when you get a new one...

shadow hare
#

3 extra vessels for magic

#

5 is base for health

#

9 is max

quick ravine
#

I'm talking codewise... ๐Ÿ˜ž

#

The problem is I can't check how many vessels have been completed.

#

I'm using a bit of math to find out how many masks have been collected, but I can't do the same for vessels unless I know the max mp boost that vessels give.

rain cedar
#

Pretty sure they're 33 mp each

quick ravine
#

so if I do

(this.playerData.vesselFragments + Mathf.Floor(this.playerData.MPReserveMax / 33))

it should give the total fragments gotten?

rain cedar
#

MPReserveMax is going to be 33 lower whenever you've died

#

I don't have a solution to that, though, sorry

quick ravine
#

But the vessels don't break when you die. Only the main MP pool breaks.

rain cedar
#

Oh, I see, there is both maxMP and MPReserveMax

#

I assumed it was all stored in one place

quick ravine
#

Nope. They're seperate because you have to stop using soul for a moment before it uses the vessel soul

#

So does that line look right to get the total vessel fragments obtained?

rain cedar
#

Yeah, I don't see why that wouldn't work

quick ravine
#

Woo!

rain cedar
#

Although the floor is redundant

#

You're dividing two ints so it'll always come out to an int already

hidden gull
#

^

quick ravine
#

It actually didn't let me so I had to add an explicit conversion to float and then back to int.

#

it was annoying

rain cedar
#

What didn't it let you do?

quick ravine
#

Divide the mpreservemax by 33

rain cedar
#

I don't see why it wouldn't

#

What was the error?

quick ravine
#

also idk if dividing ints gives a floor value or a rounded value.

rain cedar
#

It gives a floor

quick ravine
#

I don't remember the exact wording. x.x I already moved onto testing.

rain cedar
#

Alright

quick ravine
#

it shouldn't make a big difference anyway. This is in CharmUpdate() not Update() so I don't need to be quite as careful about efficiency.

#

But I do recognize that I should always be efficient.

rain cedar
#

I mean I'm running regex every frame in the main menu for randomizer

#

So you're probably more efficient than I am

#

Figure it doesn't really matter if there's a performance hit in the menu, anyway

bleak robin
#

Is the randomized good to stream? Or are you still working on it

rain cedar
#

I'm fine with you streaming it

#

Let me know and I'll watch

#

It is still a work in progress but I think it's in pretty good working condition right now

bleak robin
#

if its still a WiP then ill probably wait til after lightbringer to do the randomizer

buoyant obsidian
#

In that case let me know and I'll watch

#

although probably not today

bleak robin
#

i wanna save glass soul for last

#

cause... that deserves to be last

#

im hoping to knock out at least most mods before grimm troupe releases

charred parrot
#

Hey does anyone know how the jumping physics in Hollow knight work?

rain cedar
#
{
    if (this.jump_steps <= this.JUMP_STEPS)
    {
        if (this.inAcid)
        {
            this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, this.JUMP_SPEED_UNDERWATER);
        }
        else
        {
            this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, this.JUMP_SPEED);
        }
        this.jump_steps++;
        this.jumped_steps++;
        this.ledgeBufferSteps = 0;
    }
    else
    {
        this.CancelJump();
    }
}```
#

Ignore the inAcid check

#

As far as I can tell from looking at other things that's never actually true

heavy geyser
#

Super jumping when

charred parrot
#

could you post the part where they initialize JUMP_STEPS

#

oh oh wait, could you post the CancelJump() definition

#

oh, and also could you post where they call the Jump function from

rain cedar
#

I could do all of that but I don't really want to

#

It's in the HeroController class, you can look at it yourself

charred parrot
#

where do you get the source code?

#

sorry new at this

rain cedar
#

You need to decompile assembly-csharp.dll using a program such as dnspy

charred parrot
#

oh perfect! thanks!~

leaden hedge
#

why does JumpReleased() have

    if (this.cState.swimming)
    {
        this.cState.swimming = false;
    }

how can you be swimming and jumping at the same time, and why is that fine whilst your going up, but not down

solemn rivet
#

maybe leftovers from some part of code that got deleted?

#

because it doesn't make much sense

leaden hedge
#

It's probably something to do with when they prevent the lag from landing / jumping from water

solemn rivet
#

maybe

#

Pause() and LookForInput() are the methods that call JumpReleased()

#

so it shouldn't have anything to do with landing on water (at least, judging from this part of the code)

leaden hedge
#

its for when you release the jump button

#

technically you can do that whilst being underwater

solemn rivet
#

yeah

#

you can jump, hold the jump button, land on water and then release it

leaden hedge
#

ah, no

#

jumpreleased can only trigger whilst your going up iirc

solemn rivet
#

if you do not pause or release the button it shouldn't trigger JumpReleased()

leaden hedge
#

unless they've changed stuff around

solemn rivet
#
    {
        if (this.rb2d.velocity.y > 0f && this.jumped_steps >= this.JUMP_STEPS_MIN && !this.inAcid && !this.cState.shroomBouncing)
        {
            if (this.jumpReleaseQueueingEnabled)
            {
                if (this.jumpReleaseQueuing && this.jumpReleaseQueueSteps <= 0)
                {
                    this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, 0f);
                    this.CancelJump();
                }
            }
            else
            {
                this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, 0f);
                this.CancelJump();
            }
        }
        this.jumpQueuing = false;
        this.doubleJumpQueuing = false;
        if (this.cState.swimming)
        {
            this.cState.swimming = false;
        }
    }
#
    {
        this.PauseInput();
        this.PauseAudio();
        this.JumpReleased();
        this.cState.isPaused = true;
    }```
#
    {
        if (this.acceptingInput && !this.gm.isPaused && this.isGameplayScene)
        {
            this.move_input = this.inputHandler.inputActions.moveVector.Vector.x;
            this.vertical_input = this.inputHandler.inputActions.moveVector.Vector.y;
            this.FilterInput();
            .
            ..
            ...
            if (!this.inputHandler.inputActions.jump.IsPressed)
            {
                this.JumpReleased();
            }
        }
    }```
#

it only seems to require that the game not be paused and accepts input

leaden hedge
#

yeah they moved the check from outside the function, to inside it the same update

#

you used to have to be moving up and have jump_steps remaining

solemn rivet
#

oh

#

I see

#

yeah, you're right

#

it's inside the method now

#

on another note - look how beautifully named everything is

#

everything's name tells you exactly what it's there for

#

this made it SO much easier for me to learn how to mod this game

leaden hedge
#

yeah but why is their FSM not an FSM at all

solemn rivet
#

I really wish it was straightforward to mess with FSM

#

the only way we have right now is... So much awkward

leaden hedge
#

well its not supposed to be edited from code

solemn rivet
#

I know...

#

actually, nothing in Unity is

leaden hedge
#

nah it really depends how you program it,
you can make an entire game in a single game component using nothing external at all ( besides a camera to render it )

solemn rivet
#

oh

bleak robin
#

i just got the last things i needed for 100% in blackmoth

#

i got an extra % somewhere

trim totem
dawn igloo
#

new speedrun %

shadow hare
#

what's blackmoth?

bleak robin
#

a mod

#

makes it so your nail does 1 damage, but you always have shade cloak

#

and sharp shadow

shadow hare
#

that sounds like hell

bleak robin
#

it starts off as hell, but it becomes super fun

#

shade cloak does the damage nail would normally, but nail always does 1

shadow hare
#

ooooooh

#

I thought you meant both do 1

bleak robin
#

oh no, shade cloak is main means of damage

#

want me to show a clip from my stream?

shadow hare
#

does dashmaster and nail upgrades still make damage up?

bleak robin
#

dashmaster allows faster dashes, which is really good, and allows you to dash down AND UP

shadow hare
#

what is this clip you have? ๐Ÿ˜ฎ

bleak robin
#

i have multiple of some bosses

#

ill message it to you

slim narwhal
#

Can someone dm me the boss rush mod files please?

trim totem
#

is there any way to see when i got my first nail upgrade on a save

hazy sentinel
#

livesplit i guess

trim totem
#

does that work afterwards

hazy sentinel
#

no

#

and besides I'm like 99.999999999999999% sure the game doesn't save any playtime stuff other than the total

trim totem
civic hatch
#

So

#

Steel Soul with Item randomizer makes Hollow Knight to a roguelike game

trim totem
#

whoa

civic hatch
#

ikr?

#

You literally increase your replayability for the game to infinity.

#

now we need map randomizer

hazy sentinel
#

not feasible

civic hatch
#

I know

#

still would be fckn dope

#

I think random enemy spawns would do also

#

all enemis can now spawn everywhere, instead of the normal enemies

hazy sentinel
#

radiance spawns instead of gruz mother

civic hatch
#

wasnt talking about bosses :(

#

Binding of Vessel :^)

rain cedar
#

Map randomization is actually very possible, just would be a bit tedious

civic hatch
#

What about enemy randomizer?

#

I think this would be more interresting for a Binding of Vessel mode

rain cedar
#

A bit hard but probably still doable

#

I think to do that you would need to load a bunch of rooms early and cache enemies from them to make copies and place around

#

So the first load of the game would take a ridiculously long time

#

But it wouldn't be bad after that

civic hatch
#

Still no clue how to even code and with what. ๐Ÿค”

rain cedar
#

You need a .net decompiler like dnspy to modify the game code

#

It's c# and uses unity/playmaker

sturdy whale
#

What mods are there in HK?

hazy sentinel
#

check pins

stray mirage
#

^^^

#

๐Ÿ“Œ

sturdy whale
#

What's debug mod?

hazy sentinel
#

hax

#

also speedrun practice

sturdy whale
#

Not my favorite way to play

#

What about glass soul?

hazy sentinel
#

1 hit death

sturdy whale
#

What does it do?

tacit dove
#

1 hit death, damage is increased alongside max health, IIRC.

sturdy whale
#

Isn't that a bit too

hazy sentinel
#

you can still respawn so it's balanced

sturdy whale
#

Oh ok

trim totem
#

what about that randomizer mod

stray mirage
#

people complained that the game was for casuals

#

or "casuls" as it were

tacit dove
#

That one randomises your shit. XfuckingD

muted pine
#

glass soul doing trial of fools ๐Ÿค”

buoyant obsidian
#

Fuck that

sturdy whale
#

Randomizes?

tacit dove
#

Yo, tell 753 to put more shit in Lightbringer, and then play Lightbringer. That mod is dope.

marble scarab
#

glass steel soul

hazy sentinel
#

hey @buoyant obsidian tell 753 to update lightbringer

sturdy whale
#

Light bringer is basically metroid mode

#

Right?

buoyant obsidian
#

More shit you say?

hazy sentinel
#

VA HUNDAAAA

tacit dove
#

I need more fun charms to play around with.

marble scarab
#

there should be a mod that makes your nail do no damage

buoyant obsidian
#

Lightbringer is basically slightly ranged attacks and new charms

#

I really do wanna work on Lightbringer some more but it's exam week

sturdy whale
#

New charms?

tacit dove
#

It changes out your basic nail swing to be a mid-ranged lance.

buoyant obsidian
#

I've done nothing but work all day

tacit dove
#

And has a bunch of new charms based on that concept.

buoyant obsidian
#

New charms that augment your attacks

tacit dove
#

Good luck with your exams @buoyant obsidian.

sturdy whale
#

More range faster cooldowns

buoyant obsidian
#

Nope, more creative than that

#

and thanks Marjhak

sturdy whale
#

Ricochet?

tacit dove
#

Life leech is a good example of a fun one.

hazy sentinel
#

less range slower cooldowns

tacit dove
#

Or that other one that affects the flow of time.

buoyant obsidian
#

Half the fun is discovering them, Illusion

tacit dove
#

Not gonna spoil what they do entirely, but there are some really neat ones in there.

sturdy whale
#

Does it make the game easy?

muted pine
#

is there a boss rush mode yet i dont see it

buoyant obsidian
#

It makes some bosses harder

tacit dove
#

Lightbringer isn't too hard. It's pretty balanced.

buoyant obsidian
#

some easier

hazy sentinel
#

@muted pine there's a DMCA rush mode

buoyant obsidian
#

The game wasn't designed around ranged attacks so some enemies aren't equipped to deal with it

muted pine
#

whats that do?

tacit dove
#

Worth noting, you you collect all the charms and notches, the final bosses are really easy.

sturdy whale
#

I'm guessing bosses like lost kin become way harder?

tacit dove
#

Lost Kin is also easy.

hazy sentinel
#

lightbringer makes p much everything easier

tacit dove
#

The bosses I had a hard time with were anything that flies aside from Radiance.

#

Without ruining why, it's a bit more rough than normal HK.

buoyant obsidian
#

Some of the ghost bosses get a bit harder with Lightbringer

sturdy whale
#

You'd think ranged won't do good against lots of enemies at once
While melee just kills them in one swoop

I learned that in bbs

tacit dove
#

Try out the mod and find out. noot

sturdy whale
#

After I'm done with steel soul

#

And one does not simply finish steel soul mode

tacit dove
#

Sure you do.

#

It's not much different than a normal run.

sturdy whale
#

I'm at 5h now and defeated hornet 2

#

The game is not small

tacit dove
#

Oh, I know. I've done SS 100%. There's a lot of save quitting. But since you can use that as a get out of jail free card, it's basically a normal run.

sturdy whale
#

I can't even 100% my normal one because of trial of fools

tacit dove
#

Magic builds, my friend.

sturdy whale
#

Should I give up on healing?

tacit dove
#

No. But the I-frames on Dive and the sheer damage output of Shriek will help a lot.

hazy sentinel
#

only the HD dream bosses eliminate healing's effectiveness

buoyant obsidian
#

There are very ideal times to heal during Trial of Fools

#

but don't really try to heal outside of those

civic hatch
#

@sturdy whale steel soul + randomizer turns your game into a roguelike game

tacit dove
#

More like a roguelite at best.

civic hatch
#

I want to make a mod for random enemy spawns. So you can play Binding of Vessel :D

buoyant obsidian
#

Enemy spawns are still very unknown

civic hatch
#

meh

buoyant obsidian
#

alright I have some serious homework to do, cya all

civic hatch
#

just want the normal enemies to be replaced by random non-bosses

sturdy whale
#

What does randomizer randomize?

civic hatch
#

All collectibles

tacit dove
#

From what I can tell, abilities and charms.

rain cedar
#

Not all, but close

tacit dove
#

But I've never tried it.

civic hatch
#

you could get walljump instead of a charm, like thorns

rain cedar
#

It's every charm except for shops and shape of unn, as well as every ability except isma's tear

#

Oh and not Kingsoul either

#

For obvious reasons

tacit dove
#

So, can I, say, purchase Shaman, and keep it equipped for the whole run?

sturdy whale
#

Won't that best game progression?

hazy sentinel
#

I want to do WP to get wayward compass though

tacit dove
#

Or will it be randomised out?

rain cedar
#

Yeah you can keep it equipped, nothing is randomized after you get it

#

And everything is based on a seed that you can set

hazy sentinel
#

yeah it just randomizes what you get from pickups

#

not what everything does

rain cedar
#

Also it does break progression obviously, but it never soft locks (In theory)

tacit dove
#

Oh, it's pickups.

sturdy whale
#

I mean if you don't get wraith in the beginning you cant go to greenpath

tacit dove
#

That sounds cool.

civic hatch
#

but you csn go somewhere else

rain cedar
#

Spells aren't randomized

#

And yeah you can always go somewhere

#

It's not completely random, there are checks to ensure there's always a way to get everything

sturdy whale
#

Well then if spells then alright

tacit dove
#

But here's the question. Will it randomly break a la Blackmoth?

rain cedar
#

I hope not

civic hatch
#

Nobody ever heard of legend of zelda randomizer? Ita basically the same idea and yet you cant softlock or hardlock yourself

#

and you can get heartpieces out of big chests in dungeon, so much randomized it is

rain cedar
#

Mask shards/vessel fragments aren't randomized right now but I want to add that at some point

tacit dove
#

Yeah, it sounds like it functions in a similar way so that (hopefully) your progress won't be impeded too much.

#

What about the Dream Nail and it's upgrades?

#

Those are pretty important.

rain cedar
#

Dream nail is not randomized but I probably could add it to the pool

#

It might cause problems

#

Isma's Tear causes problems to be in there

#

It's an annoying pickup

tacit dove
#

And are the upgrades just bound to the Seer?

#

Like, I can't just pick up Dream Gate?

rain cedar
#

I mean yeah you could if I put that in the randomizer pool, but it's not

#

Upgrades of other upgrades are problematic because there's no easy way to ensure you don't get the upgrade before the base pickup

#

Mothwing Cloak/Shade Cloak was a bit problematic because of this same reason, so I ended up just making it so there's two generic "dash" pickups and whichever one you find first is mothwing cloak

#

Oh right and that reminds me sharp shadow is not randomized because in generation there's no easy way to guarantee that it's accessible

#

Because of how I handled dash

tacit dove
#

I don't see randomiser in the pins or the google drive. Can I get a link or something?

rain cedar
#

Yeah, sorry, I don't have access to pins here for some reason so I didn't pin the link

#

I'll repost it

civic hatch
#

<@&283547423706447872>

tacit dove
#

Thanks. I'll play through this tonight.

rain cedar
#

I've been meaning to randomize relics among themselves

royal ridge
#

Did you make that mod Sean?

rain cedar
#

Yeah, me and @vale zenith

civic hatch
#

Randomize reliqs, notches and health / vessel upgrades with each other plos

stray mirage
#

what if you try to pick up a king's idol, but it was really the dream nail?

royal ridge
#

You should be able to pin now

rain cedar
#

I wouldn't put relics and abilities in the same pool

#

That would be dumb

#

Thanks, Benji

hazy sentinel
#

but would it though

rain cedar
royal ridge
#

No problem

civic hatch
#

its notches and mask / vessel fragments only

#

I think that would be good

#

except the ones you buy obviously

rain cedar
#

Does anyone know exactly how many of each relic is in the game?

#

Or at least approximate percentages

tacit dove
#

We can count them.

hazy sentinel
#

14/16/7/4

tacit dove
#

Bam.

rain cedar
#

Cool, thanks

civic hatch
#

what a nerd knowing them from head :^)

rain cedar
#

There's really more seals than journals?

hazy sentinel
#

19 rancid eggs in world, 20 in SS (1 next to tuk)

stray mirage
#

how can lemm eat ten egg if there are only four? sadgrub

hazy sentinel
#

yes

civic hatch
#

Oh! Mix rancid eggs into it also

hazy sentinel
#

unless i'm wrong and I've been fucking up my 110% runs

rain cedar
#

Rancid eggs are problematic because there's that dude that sells you unlimited

civic hatch
#

Fck him.:X

hazy sentinel
#

tuk him

civic hatch
#

isnt there a possibility to not include him?

tacit dove
#

huck fim

rain cedar
#

Yeah, maybe, but I don't really have an easy way of seeing where a pickup comes from

#

I guess I could check the player's current scene to know if it's from the shop guy, but I don't really want to add rancid eggs to randomization anyway

#

They're a pretty useless pickup, it would just be annoying to get them

stray mirage
civic hatch
#

I see :>

stray mirage
#

so i have a question that i would like an answer towards

#

how possible is it to randomize textures and other assets?

civic hatch
rain cedar
#

Not very

stray mirage
#

i have had very much difficulty trying to replicate my graphical corruptions

#

and i have only seen one other person report it

rain cedar
#

You could probably randomize them outside of the game by shuffling stuff in the resource files

#

But I don't think it would be easy to do in the assembly

stray mirage
#

i couldn't think of an easy way to do that

#

i'm sure there are programs for that

#

but i couldn't find any

rain cedar
#

Why do you even want to do this?

stray mirage
#

this is my life

royal ridge
#

Why does anyone want anything

#

Memes

rain cedar
#

That door is bretta

royal ridge
#

HAHA

stray mirage
#

correct

rain cedar
#

Interesting

tacit dove
#

Jesus Christ, that's horrifying.

civic hatch
#

LMAO

royal ridge
#

One half is infected and one half isn't hollowwoke

civic hatch
#

how did this happen!?!

leaden hedge
#

that door is bretta than it was before

stray mirage
#

the graphical corruption was caused by updating

royal ridge
#

Have you posted this before Whomst?

rain cedar
#

Oh

civic hatch
#

Tried repairing by steam?

rain cedar
#

You updated a game after patching down, I assume

#

That fucks shit up

stray mirage
#

yeah

#

but i can't do it again

#

closest i got was a few invisible enemies

#

which isn't fun

civic hatch
#

repair the files by steam :< ?

stray mirage
#

my game is fine right now

#

that's the problem

civic hatch
#

reinstalling?

stray mirage
#

how would that help?

royal ridge
#

He wants it to do Bretta Door stuff again

civic hatch
#

The files.get deleted and redownloaded

tacit dove
#

I want every texture in the game to be Bretta.

stray mirage
#

i've posted a lot of this stuff here before

leaden hedge
#

thats probably doable

stray mirage
civic hatch
#

I want every enemy to be zote LMAO

tacit dove
#

^

leaden hedge
#

just load bretta once, copy her tk2dsprite, and paste it over every gameobjects tk2dsprite

#

on load

stray mirage
#

i want it to be random, though

tacit dove
#

What does that even mean?

stray mirage
#

otherwise it isn't fun

royal ridge
#

Change Bretta for Zote so you save him instead

civic hatch
#

Attack of Zote.

tacit dove
#

I don't mod. I just come here to ask questions and get more fun stuff to do. sadgrub

stray mirage
#

here are more things that are bretta

royal ridge
#

I wish I knew how to mod

stray mirage
civic hatch
#

same

leaden hedge
#

in unity every object has components, tk2dsprite is what renders sprites, you can copy it to get the atlas and animations, then replace other objects with brettas

civic hatch
#

same benji

royal ridge
#

Kill. Bretta.

stray mirage
#

i flipped her

dapper folio
#

I'd get into modding... If only I had a mod idea I wanted to make...

royal ridge
#

โš” bretta

tacit dove
#

Make every texture Bretta. There's your first mod.

dapper folio
#

I don't wanna just do a texture replacer

leaden hedge
#

make the room randomizer, all you have to do is, is go into every room, and figure out every possible combination of items to get to every door from every door

civic hatch
#

Imagine doing any trial and instead of alot of enemies you fight zote and his minions. Primal aspids? More like Sniping Zotelings.:'D

tacit dove
#

Then do a boss randomiser.

civic hatch
#

I WANT THIS ZOTE MOD NOW

dapper folio
#

hmm... room randomizer... zote mode...

hazy sentinel
#

zode

stray mirage
civic hatch
#

Gruz mother shits out tons of flying zotelings

#

Omg this would be so good

hazy sentinel
#

at least the UI textures were fine

leaden hedge
#

you could fix that

#

the textures being fine that is

royal ridge
#

How hard would it be to give everything a Zote mask?

civic hatch
#

LMAO

stray mirage
#

many

leaden hedge
#

you'd have to edit every characters sprites

stray mirage
#

many

#

hours

hazy sentinel
#

yeah just go through thousands of sprites and copy zote masks on every one

dapper folio
#

everything? not hard, just very, very, very, very, very time consuming

tacit dove
#

What if we made every boss a collection of Zotes?

leaden hedge
#

and it probably wouldn't fit inside the space

royal ridge
#

perfect

#

I have nothing but spare time

hazy sentinel
#

just make a zote-ification AI

civic hatch
#

If you could replace all enemy sprites with the according zote, it would be alright.

#

Flying enemies are the flying zotes from zote dream fight

#

and small buggos are the small zotes

#

and medium enemies are literally zote

royal ridge
#

I actually might do this

#

no one take my idea please

civic hatch
#

bosses usually are the buffed zote

royal ridge
dapper folio
#

@royal ridge consider it taken (by me)

trim totem
#

rude

royal ridge
#

D A M N I T

civic hatch
#

I'd die playing this

dapper folio
#

is it damnit or dammit?

tacit dove
#

Dammit

trim totem
#

dam it

civic hatch
#

suddenly zote

stray mirage
#

consarnit

leaden hedge
#

but then what does zote turn into

royal ridge
#

Damn it

leaden hedge
#

if everything else turns into zote

trim totem
#

darn it

civic hatch
#

Zote is just zote

tacit dove
#

Also Zote.

royal ridge
#

He turns into a vengefly

civic hatch
#

You save zote from a flying zote

#

lmao

tacit dove
#

Unwrap Zote from a web after fighting off a horde of Zotes.

royal ridge
#

But i cant call it Hollow Zote; The tale of Life Ender if I do that

civic hatch
#

exactly

royal ridge
#

Why am I giving all my ideas away

trim totem
#

ur dum lol

tacit dove
#

Just find out the the maximum adjectives from the Grey Prince fight are and call it the adjectives mod

civic hatch
#

change every mention if Hallownest to Zotenest if you are on it already :'D

dapper folio
#

I got a mod for you, it's called Normal Soul. You play as this empty vessel made from void, god, and root and your goal is to investigate what's causing the infection and put a cork in it

civic hatch
#

sounds like dark souls

#

:^)

hazy sentinel
#

replace every word in the text files w/ Zote

dapper folio
#

nah, dark souls is with playable jerky

stray mirage
#

how about "steel seoul"

#

steel soul, but in korean

civic hatch
#

"Zote these words are for you alone."

hazy sentinel
#

steel pyongyang

tacit dove
#

Hollow Noot. You play as Pingu.

hazy sentinel
#

Zote zote, zote zote zote zote zote zote.

royal ridge
#

Surely there isn't that many sprites right guys??? intenseface intenseface intenseface

leaden hedge
#

probably only like 500->1000 enemy sprites

#

now if you were to put a zote face onto literally everything

civic hatch
#

In zote beyond they speak your name with reverence and regret,

For none could tame our savage Zote yet you the challenge met,

Under palest watch, you taught, we changed, base instincts were redeemed,

A world you gave to Zote and Zote as they had never dreamed.

royal ridge
#

If I was going to put it on everything ๐Ÿ‘€ ๐Ÿ‘€

hazy sentinel
#

In zote beyond zote speaks zote's zote with zote and zote,

For zote could tame our savage zote yet zote the zote met,

Under palest zote, zote taught, zote changed, base zotes were redeemed,

A zote you gave to zote and zote as zote had never dreamed.

civic hatch
#

LMAO

hazy sentinel
#

-Excerpt from a zote to zote, by zote the zote zote

civic hatch
#

"Zote.. you hold your nail like a zote" -- Sly

leaden hedge
#

everything is alot of things

#

are you going to put zote masks onto the zote masks

civic hatch
#

Bapenada Zotedis

hazy sentinel
#

zote mask HP bar

royal ridge
#

I think I'd only do NPCs and Enemies

#

Is it possible to change the health bar icon? ๐Ÿ‘€

leaden hedge
#

yeah

royal ridge
#

Amazing

#

The greatest mod is about to grace you all soon enough

hazy sentinel
#

and it's only like 4 sprites so it's ez to turn into zote

civic hatch
#

inb4 we can play as zote soon

#

Make the main character into zote. Would be best

leaden hedge
#

"zote" dlc

civic hatch
#

and make him always talk his nonsense lines

hazy sentinel
#

3rd playable character more like 1st amirite

leaden hedge
#

instead of being able to play as zote, everything else gets to play at zote

royal ridge
#

I could give him the mask

civic hatch
#

when you walk he goes: "Aklame booptis"

stray mirage
#

does anyone know what the textures look like in the hollow knight directory?

#

there are resources and assets

#

and then just "files"

leaden hedge
#

nah

#

there are normal files like png in them

stray mirage
#

do you mean in unity studio?

royal ridge
#

I've got work I'll be back later to discuss how I start this journey

stray mirage
#

i'm not talking about any file extractors

#

just the directory

#

good old windows

hazy sentinel
#

what

leaden hedge
#

yeah, the textures are in the resource files

stray mirage
#

is it only textures?

leaden hedge
#

everything

#

except level layouts, and prefabs iirc

stray mirage
#

so i need to extract them to know which are textures?

leaden hedge
#

no

#

they are bundles

#

so 72.assets will have like 1000 files in it

stray mirage
#

what i'm asking is whether or not i can seperate the files that contain textures from all of the other ones

leaden hedge
#

well each one will have some textures

#

like one might contain the stuff used in the radiance room

#

so it'll just have radiances sprites, sprites for that room, radiances sound effects, and generic stuff like ui etc

stray mirage
#

that's what i was worried about

leaden hedge
#

if you're looking for a specific sprite, you have to go through every asset bundle

stray mirage
#

no

#

i'm looking to shuffle the textures randomly

leaden hedge
#

good luck with that frendo

stray mirage
#

๐Ÿค”

#

i've got nothing

#

thanks, though

leaden hedge
#

if you want to dump every texture

#

you can probably hook into the tk2d initialize function

#

and load a random texture instead

civic hatch
#

So. Is it possible to replace all sprites manually?

hazy sentinel
#

yes

leaden hedge
#

yeah, if you wanna do the work

#

theres alot of sprites though

hazy sentinel
#

^ understatement

civic hatch
#

I mean. Just giving all flying enemies the animations of the flying zotelings and so on?

leaden hedge
#

4862 pssh

#

thats nothing

civic hatch
#

Without swapping all animations manually?

leaden hedge
#

so you want all flying enemies to look like flying zotelings?

#

including animations?

civic hatch
#

yes

#

and all ground enemies like zote. And all small buggos like small ground zotelings

#

do I jush copy paste the name of this one specific animation onto all other enemies or is it more complicated?

leaden hedge
#

it'll be more complicated

civic hatch
#

fck :/

rain cedar
#

A lot of enemies are going to have different sizes/amounts of animation frames

#

This is not a small task, to say the least

leaden hedge
#

you'd copy the animations from the object I assume

#

then the real problem is getting it to call the right animation from the fsm

rain cedar
#

Man I don't know shit about how the fsm works

#

All I know is it makes everything way harder than it needs to be for modding

civic hatch
#

I dont care about size. ๐Ÿค”

leaden hedge
#

well the way animations work is they have boxes that define a frame and a list of frames that define an animation

#

so if you put a different sprite sheet in, you'll get the wrong sprite

#

and mostly only parts of one sprite with parts of another

civic hatch
#

what would that result in?

leaden hedge
#

it'd looky really glitch

civic hatch
#

Damn

leaden hedge
#

so you'd have to copy the flying zotes animations over

#

but each animation has a name, and the fsms call a specific animation to play

civic hatch
#

and replacing all enemies with literally zoteling?

#

not just the animatiom?

leaden hedge
#

so if say aspids attack animation is "aspid_attack", and flying zotelings is "fly_zote_attack" it'd do nothing,

replacing enemies entirely is possible afaik

#

you just need to get a reference to zotelings

civic hatch
#

?

leaden hedge
#

so you can't just do

create("Flying Zoteling");

and expect a zoteling to appear

rain cedar
#

You need to load the grey prince zote fight and cache a reference to a zoteling

civic hatch
#

no..But instead of aspids there would be zotelings?

leaden hedge
#

unity doesn't let you access anything internal, you have to find a zoteling, copy it into memory then spawn that

rain cedar
#

It's entirely possible to load and unload scenes during the black screen between scenes

heavy geyser
#

Make a nude mod first bretta

rain cedar
#

So you could grab it fairly invisibly

leaden hedge
#

everyone is already nude

rain cedar
#

It would just look like a long load

leaden hedge
#

and because you're replacing every enemy, you'd just do it once, when you load in and never again

rain cedar
#

Yeah

heavy geyser
#

You don't see DD's hairy pecs dunq

civic hatch
#

:S sounds feasible..

#

Will try to work on it tomorrow.

#

Heading to bed now

leaden hedge
#

inb4 zotelings don't work outside that fight

rain cedar
#

Wouldn't be surprised

#

They're not spawned in normally, they're thrown by Zote

civic hatch
#

:(

leaden hedge
#

they probably don't have the idle (aggro / los) fsm code

#

that everyother enemy has

civic hatch
#

so they would start chasing you as soon as you enter the area?

leaden hedge
#

I'd assume so

civic hatch
#

That would be hilarious

#

enter deepnest.

#

20 zotes chase after you

#

it would be a chase

#

lmao

rain cedar
#

Well there's no reason to assume they have pathfinding

#

Probably would just get stuck

civic hatch
#

and every single one of them would be: "Baklava Booptis"

leaden hedge
#

just remove their collision

#

spooky ghost zotelings

#

coming to get you

civic hatch
#

lol

#

or they would just wait for you

#

while stuck

hazy sentinel
#

this is the worst idea i've ever heard

#

no offense

civic hatch
#

no u

leaden hedge
#

not everyone can understand the magnifience of zotelings

hazy sentinel
#

+C

civic hatch
#

But everyone will

#

Enter Zotenest

#

Swapping radiance with buff zote :^)

#

I'll go and enter unsconscious for some hours

#

being a useless bum and sleep

solemn rivet
#

[21:29] Seanpr: Man I don't know shit about how the fsm works
[21:29] Seanpr: All I know is it makes everything way harder than it needs to be for modding

#

best thing I read all day

#

I have a dream

#

we'll all wake up one day and have a nice simple modular interface to make HK mods

bleak robin
#

hey gradow, idk what happened, but when i finished getting everything in blackmoth, i had 101%

solemn rivet
#

yeah, I saw that

#

I honestly, 100%, have NO idea why

#

OH

bleak robin
#

you mean you have 101% no idea why

solemn rivet
#

maybe I do have an idea

#

lemme check

bleak robin
#

i was thinking it was something to do with starting with both cloak upgrades

hidden gull
#

I recall a glitch with a pale ore that caused the player to get an extra percent

solemn rivet
#

can't be that

#

I simply removed the check for the cloak upgrades in order to canDash be true

#

that's why you can still get them

#

if the mod gave them to you at game start, you would be softlocked after hornet1

leaden hedge
#

ah its not that hard anyway each FSM has an array of states, each state has transitions and actionData, actionData is what happens on fsm actions like nextFrame or findchild, transitions have an fsmEvent that triggers it, and a destination state it goes to
thats pretty much it for fsms, big chunks of it are private after init though

bleak robin
#

i also earlier played through again, and decided to fight hornet 1 after beating hornet 2

solemn rivet
#

KDT I took a look at some fsm dumps... Had no idea what I was looking at

#

@bleak robin here's why:

leaden hedge
#

you mean the json dumps?

solemn rivet
#

this.completionPercentage += (float)(this.maxHealthBase - 5);

#

yup

#

those

rain cedar
#

Your mod changes max health?

solemn rivet
#

yeah

bleak robin
#

ohh

solemn rivet
#

starting health is 6

bleak robin
#

because of starting with 6 masks gave an extra %

solemn rivet
#

because I figured you'd get hit a lot

leaden hedge
#

why not change it to -6

rain cedar
#

Yeah, easy fix

solemn rivet
#

since you're basically diving face-first into enemies

#

yeah

#

I just never thought it'd be an issue

bleak robin
#

and theres the whole double damage thing without fury and overcharming

solemn rivet
#

oh?

bleak robin
#

you know... you take double damage at the start

#

and only way to negate is it to equip fury, and be overcharmed

solemn rivet
#

that... Never happened to me

#

:x

#
                    {
                        if (this.playerData.overcharmed)
                        {
                            this.playerData.TakeHealth(num);
                        }
                        else
                        {
                            this.playerData.TakeHealth(num * 2);
                        }
                    }
                    else if (this.playerData.overcharmed)
                    {
                        this.playerData.TakeHealth(num * 2);
                    }
                    else
                    {
                        this.playerData.TakeHealth(num);
                    }```
bleak robin
#

hold on

rain cedar
#

Oh

bleak robin
#

i thought it was just a feature

rain cedar
#

That seems like a nerf to fury

#

You want double damage with it on imo

solemn rivet
#

I thought about both options tbh

rain cedar
#

I guess with starting health 6 double damage would make it impossible to set up

solemn rivet
#

with double damage on, it's easy to set up

bleak robin
#

you take double damage by default at the start of the game

#

you need this on, and be overcharmed to take only 1 mask normally

rain cedar
#

Looking at the code Gradow posted that doesn't make sense

leaden hedge
#

that should only trigger if you have fotf equipped

solemn rivet
#

here's what it's supposed to do -

  • if it's not equipped: nothing
  • if it's equipped and you are overcharmed: take normal damage
  • if it's equipped and you are not overcharmed: take double damage
bleak robin
#

well, i took double damage without it on

solemn rivet
#

that's the only instance in which damage is calculated in HeroController()

bleak robin
#

let me take it off and check

leaden hedge
#

@solemn rivet did you try putting the json into a json viewer like http://jsonviewer.stack.hu/
organises it much better, easier to understand whats going on then

bleak robin
buoyant obsidian
#

So the charm is used solely for equipping charms that cost 4 or more that would normally cause overcharm?

solemn rivet
#

thanks KDT! Will try that

bleak robin
#

hmm, i only took one damage, let me test some a new file, maybe i just misundertook everything

solemn rivet
#

as I said, I had literally no idea what to do, and wanted to experiment with my newfound mod powers

#

it's not a good mod

bleak robin
#

okay, starting up a new file to check

solemn rivet
#

same here

#

@buoyant obsidian also because I like the overcharmed effect on the UI

bleak robin
#

okay, it seems like its working fine, i must have just imagined everything

buoyant obsidian
#

Ah

bleak robin
#

for one last thing, im gonna check my stream archive

solemn rivet
#

if it IS a thing... Then I have no idea

#

I figured the extra 1% might come from that extra mask...

#

but fotf should work fine

bleak robin
#

okay yea, i guess there is no issue with it, and i just misunderstood how fury works

#

i think its cause i put it on when i first got it cause i didn't have any other charms at the time

#

question, if im using the mod loader, and i have a save file for 1 mod, unload the mod and use a new mod on a new file, then unload that and go back to the first one, will the first file still be functional?

leaden hedge
#

er yeahish

#

oh if you never load user1 in the second mod, and only use user2.dat

#

yeah user1 will be fine

bleak robin
#

okay, that's what i was talking about

leaden hedge
#

most of the time using mods wont do anything to your save

solemn rivet
#

yeah

leaden hedge
#

lightbringer sets your damage to 1, which you can manually fix anyway with the editor

#

and the randomizer would probably softlock you

rain cedar
#

Randomizer does not effect old saves in any way

#

But it's probably a bad idea to load a randomizer save in vanilla

#

Actually nah that would work fine, it would just unshuffle all the pickups and it would be as if you had gotten them the intended way

leaden hedge
#

nah

#

most of the pickups are in sceneData

rain cedar
#

I see

#

Then it would probably be fucked

leaden hedge
#

so if you pickup mantis claw in randomizer and get something else, then unload randomizer

#

mantis claw is just gone from the game

bleak robin
#

btw, is the randomizer in pinned most recent one?

rain cedar
#

Yeah

#

I'm trying to get Isma's Tear into the randomizer locally, so I'll post that if I ever get it working

#

Isma's Tear is annoying

solemn rivet
#

how so?

rain cedar
#

It's just handled differently from other abilities

#

Normally if you do something like pickup dashmaster but get mantis claw instead, I can just selectively return true or false on both of those in PlayerData.GetBool to ensure all the proper results

#

And I do that by looking at the current stack trace to see where the GetBool is being called from

#

But for Isma's Tear the stack trace is always the same thing for some reason, so I don't have any way of knowing what is asking about it

solemn rivet
#

oh

rain cedar
#

Like if the menu asks about dashmaster I want to return false so that it can't be equipped, but I also want to return true when the game is asking if it's been picked up so that the pickup stays gone in the world

#

And the reverse of that for mantis claw

solemn rivet
#

yeah

rain cedar
#

The best idea I've had for isma's tear is to just completely bypass the actual logic for it

#

Create my own isma's tear bool, and replace all acid damage boxes with water if it's true

#

But that's not really working out

solemn rivet
#

sounds like it should work

rain cedar
#

Well the problem is that you can't actually change the size of a transform easily in Unity

#

You can just change the scale

solemn rivet
#

can you, say, make it not do hazardRespawn, and instead just change damage to 0?

#

or does acid not behave like water?

rain cedar
#

It doesn't behave like water normally

#

If you get rid of the damage it's just not there except graphically

solemn rivet
#

I see...

leaden hedge
#

just set the hasIsmasTear bool to true

rain cedar
#

Then the pickup goes away

#

And it needs to still be there because something else will be swapped to it

solemn rivet
#

idea

#

could you drop a shiny on the floor, in front of Isma's?

rain cedar
#

Yeah, I guess that's the best option

solemn rivet
#

so make a bool that checks if the actual Isma's was taken

#

and if hasIsmasTear is true, but that other bool is not, you drop the shiny

#

and set it to be whatever isma's would be

rain cedar
#

I don't actually know how to create shiny objects but worst case scenario I can copy one from another scene

leaden hedge
#

surely it only checks to spawn isma tear whilst the level is loading

solemn rivet
#

surely

rain cedar
#

Actually yeah, that's smart

#

That's a better solution than looking at the stack trace, I'll switch everything to that if it works

#

I'll try in a bit, working on another thing right now

solemn rivet
#

hope it works! This is one of the mods I'm most excited for!

hazy sentinel
#

i mean it's pretty much playable rn

#

it just doesn't include every pickup

solemn rivet
#

yeah, I know

bleak robin
#

it also randomizes relic items right?

rain cedar
#

Nah, not yet

#

But that's super easy to do, I just haven't gotten around to it

#

It would be tedious to actually shuffle them around so what I'll probably do is just give a random one with the same percentages as the actual counts

#

Using some combination of the room name and the current seed

hazy sentinel
solemn rivet
#

inb4 a seed with all of them being kings idols

bleak robin
#

if it works like that, cant you get super lucky and get only arcane eggs

solemn rivet
#

oh yeah

rain cedar
#

Yeah but that's unlikely as fuck

solemn rivet
#

arcane eggs even

bleak robin
#

just keep resetting

hazy sentinel
#

yeah it's really useful to have too much geo at the end of the game

rain cedar
#

It would be roughly a 10% chance for any given relic to be an arcane egg

bleak robin
#

well, it allows you to get more things early on

hazy sentinel
#

so that's like a 1.3% chance to get all arcane eggs

rain cedar
#

1.3?

#

.1^41% chance

#

Unless I'm dumb

hazy sentinel
#

yeah nvm

rain cedar
#

So basically 0%

hazy sentinel
solemn rivet
#

so you're saying... It's not exactly 0%

#

challenge accepted

rain cedar
#

I mean

#

It's 40 zeros and a 1 after the decimal

solemn rivet
#

yeah

rain cedar
#

I guess that's still a chance, though

solemn rivet
#

I really wish I was into probability and stuff

#

to know the expected amount of resets to get that seed

rain cedar
#

A lot

solemn rivet
#

oh

#

it's easy to calculate

#

since it's a geometric distribution

#

should be 1/p where p is the probability of it happening

#

so, not a very interesting result

rain cedar
#

Yeah

hidden gull
#

yeah since any outcome is equally likely

#

it's funny how math can be so useful and accessible sometimes, but also so boring that people don't use it

hazy sentinel
#

only some math is boring

solemn rivet
#

if X={# of resets till you get that seed with all Arcane Eggs}, then E(X)=1*p+2*(1-p)p+... So it's simply 1/p

#

@hidden gull the only math I hate is anything involving dynamics or differentials

#

and as a math student that says a lot

hidden gull
#

I love pretty much all math, but I'm most interested in computability

#

and some specific arithmetic-based systems that I'm writing about at the moment

#

abstract algebra ftw

solemn rivet
#

my research area is only abstract algebra

#

heck, my PhD is on abstract algebra

hidden gull
#

NICE

solemn rivet
#

I absolutely hate all forms of calculus

#

but algebra = hklove

hidden gull
#

I hate calculus for what it does to summation

bleak robin
#

i was so good a math... then i reached calculus 2... and everything changed

hidden gull
#

relegates it to "finite calculus"

hazy sentinel
#

i'm actually doing multi HW right now

hidden gull
#

wait no, it's discrete not finite

#

this is the highest concentration of math students I've ever known in a game community

solemn rivet
#

maybe people who like math are attracted to metroidvanias?

hazy sentinel
#

isn't everyone a math student if you think about it

#

y'know unless they don't have access to education

hidden gull
#

There are a lot of math geniuses if you use those viral basic arithmetic problems as a metric

solemn rivet
#

haha

#

god I hate those

#

and some of those are plain wrong

#

like, "complete the following sequence: 10=1, 11=4, 12=9, 13=16, 20=?"

#

and everyone comes up with solutions

#

when there's a freaking theorem that literally says there's no unique (in fact, there are infinite) solutions to those kinds of problems

hidden gull
#

That's where the self-aggrandizement comes in though

#

Cause when you say "obviously it's 121 because 10 = 1^2 and 10 + x = (x+1)^2" you get to be right

#

and you have to use numbers as functions because people lose their shit when you say f(x)

solemn rivet
#

oh

#

I was thinking to add both and then square the result

#

your solutions looks nicer tho

#

anyway

#

point=proven

hidden gull
#

also correct lol

#

xDD

#

that would be great if it led to a conversation about intuitionism but people don't like to think that math notation can be subjective because math supposedly can't be

solemn rivet
#

yeah

hazy sentinel
#

so you're saying i can use f''''(x) on my homework

hidden gull
#

only if differentiation is nilpotent over the function

#

You see Jimmy, subjectivity means that literally all language, philosophy, and discourse is rendered meaningless because that's what Karl Marx wanted when he invented sociology.

royal ridge
#

Is it at all hard to change both the dialouge of NPCs and any sound effects?

leaden hedge
#

they are just text in resources

#

sound effects are just audio files in resources

#

you can probably find them in game via code though

rain cedar
#

I think I'll actually look for that

#

That would be really useful for the randomizer

#

To make everything show the correct pickup text

leaden hedge
#

I didn't bother because spells / charms have different pickups and the icon is different for each charm

rain cedar
#

Yeah, the images will be wrong but it's better than nothing

leaden hedge
#

I know for a fact, you can hook into langauge.get

rain cedar
#

AutoLocalizeTextUI.RefreshTextFromLocalization

#

I should be able to change anything there

#

I can just do something like:
if (text.Contains("Mothwing Cloak")) text.Replace("Mothwing Cloak", "Dashmaster");

leaden hedge
#

only works in english

rain cedar
#

Yeah, other languages suck anyway

#

But yeah you're right

leaden hedge
#

language.get(x, "CHARM_NAME_0") returns the correct string

#

not sure which table charms are in off the top of my head