#archived-modding-development

1 messages ยท Page 177 of 1

compact sedge
#

I mean that's like every game

hollow pier
#

make a whomstesque refund message

compact sedge
#

this looks like castlevania. I wanna play it

hollow pier
#

we lost aa today

leaden hedge
#

its only like 1hr long

hollow pier
#

f1

compact sedge
#

oh nice so like castlevania for the NES but less difficult

buoyant obsidian
#

check the pins

hollow pier
#

yeah f1 is a cool mod

fair rampart
#

okay thanks

compact sedge
#

nth is pretty cool

fair rampart
#

๐Ÿ˜Ž

leaden hedge
#

ctrl + 1 is a good mod

buoyant obsidian
#

ctrl+6 is nice

#

doesn't do anything for me

hollow pier
fair rampart
#

oh my fucking god

#

this is so cursed

leaden hedge
#

sends me to the celeste tournament discord

fair rampart
#

i've seen shift + 9 is that a good mod is that somethin g i should try

leaden hedge
#

why can't I go past ctrl+9

buoyant obsidian
#

letterws

#

control R is after 9

#

then control T

#

then control y

hollow pier
cunning lagoon
#

lmao i saw that

fair rampart
#

saw who the man over there

cunning lagoon
#

u

fair rampart
#

lookit him go over therehahah

compact sedge
#

ok just built a thing after writing a shitton of code. how many bugs do y'all think I added?

hollow pier
#

wait is nth active atm

cunning lagoon
#

he seems to be idle

hollow pier
#

ok

cunning lagoon
#

i can tell because of the orange icon

hollow pier
#

i haven't said karoeke to him in a while

#

i'll wait

cunning lagoon
#

ok

fair rampart
#

im just gonna uhhhhh

#

take my leave

#

p sure i've lost every ounce of respect ever

compact sedge
#

ok I think I added panth 5 support and fixed all the things DL brought up but who knows with how I write code

fair rampart
cunning lagoon
#

looks fine to me

buoyant obsidian
#

looks too fast to me

compact sedge
#

looks too fast to me

copper nacelle
#

looks fine to me

hollow pier
#

looks too fast to me

fair rampart
#

looks fine to me

rain cedar
#

cease

compact sedge
#

looks like bonfire mod

leaden hedge
#

aka fine

hollow pier
#

bonfine

fair rampart
#

the attacks have 25% less damage, granted, but still

copper nacelle
#

quickest slash

cunning lagoon
#

yes that sounds like a fair tradeoff

#

do you attack like literally as fast as you can mash the button

hollow pier
#

yeah but what if up/downslashes did 1 damage and side slashes were ranged but also did nothing

cunning lagoon
#

and also made you deaf

hollow pier
#

this tbh

fair rampart
#

this feels right

copper nacelle
#

wrong

#

my ears do not thank you

cunning lagoon
#

it should've been a rickroll

fair rampart
#

should've just been zote tbh

#

just a still image of zote

hollow pier
#

i don't have sound

cunning lagoon
#

ever?

hollow pier
#

no the gif

cunning lagoon
#

well the gif doesnt play sound

#

the video does

hollow pier
#

yeah but the point is to mix the two

fair rampart
#

whyd u kill him ;c

hollow pier
#

is that a slime

cunning lagoon
#

on an unrelated note, running in the 90s is a fucking banger

buoyant obsidian
#

it's a gumdrop

hollow pier
#

it is tbh

copper nacelle
#

i have no clue how the sprites work

hollow pier
#

is this why we don't have woke mod

copper nacelle
#

no

cunning lagoon
#

soon โ„ข

#

early 2018

hollow pier
#

alt0153 when

#

โ„ข

copper nacelle
#

looks balanced

cunning lagoon
hollow pier
#

what a nice upwards pan

#

is that a feature

fair rampart
#

i have no idea why it does that LMAO

#

hold on let me get another gif

buoyant obsidian
copper nacelle
#

wtf

fair rampart
#

LMAO

cunning lagoon
#

wtf

fair rampart
#

okay I dunno why it keeps panning

#

asdjfk

#

let me check sharex settings

hollow pier
#

is this shitmodst 2

buoyant obsidian
#

This was the first Hollow Knight mod ever

#

never finished or even releaased

#

Hollow Knight Repainted

hollow pier
#

wait i think the reason i didn't have sound is because yt was muted

cunning lagoon
#

told u

buoyant obsidian
copper nacelle
#

wtf

fair rampart
#

nice

hollow pier
#

oh

buoyant obsidian
copper nacelle
#

delet this

hollow pier
#

oh

fair rampart
#

but yeah to whoever asked it's as fast as you can swing

cunning lagoon
#

oh no

buoyant obsidian
hollow pier
fair rampart
#

the exact values are uh

#

0.1s cooldown and duration of attacks

buoyant obsidian
cunning lagoon
#

imma TAS the shit out of your mod

#

absrad 30s quick kill

copper nacelle
#

@ shadoe

buoyant obsidian
fair rampart
#

it drops nail damage by a quarter but I dunno if that's too light

cunning lagoon
#

nah leave it like that

hollow pier
#

wait so why do other people like not talk here

buoyant obsidian
cunning lagoon
#

ill write a script that mashes the button for me

#

most people just stay in #hk-discussion arguing about what % of hornet is void

fair rampart
compact sedge
#

Woah uh hey KDT or anyone else who might know does adding a ParticleSystem automatically add a ParticleSystemRenderer?

I got this weird message in my log:

Can't add component 'ParticleSystemRenderer' to knightRadiantParticles because such a component is already added to the game object!

with this code:

knightRadiantEffect = new GameObject("knightRadiantParticles", typeof(ParticleSystem), typeof(ParticleSystemRenderer));

hollow pier
#

100% obv

cunning lagoon
#

this is supposed to be modding but half the time it isnt

hollow pier
#

1% of the time it's

#

dow!

#

wait what

cunning lagoon
#

Gra

hollow pier
#

am i lagging

#

gra didn't happen

rain cedar
#

yes

copper nacelle
#

dow!

fair rampart
#

doh

cunning lagoon
#

graa

fair rampart
#

the burn on my hand is hurting aganiertb

#

a clear sign that I need to make more things

hollow pier
#

agani

#

agony

#

it works

cunning lagoon
#

is this 56

copper nacelle
#

aganiertb

rain cedar
#

agonyrtb

hollow pier
#

so how do i set launch res options for laser league

#

i did it for hk

#

doesn't work

fair rampart
#

speaking of agony

#

my initial concept for thorns of agony glorify was a damage aura that did 0.5 nail damage every half second to enemies with nail range, but I dunno if that's doable

hollow pier
#

you mean dcrest

fair rampart
#

nah, thorns

hollow pier
#

make everything fucking die if you get hit

fair rampart
#

dcrest is cursed

compact sedge
#

you could make it do 1.0 nail damage every one second

rain cedar
#

That's already a feature on old patches

compact sedge
#

but no luck on the half damage

rain cedar
#

You could make thorns stay active forever

cunning lagoon
hollow pier
#

inf thorns is the best way to do hornet

cunning lagoon
#

i have no idea if this will work for you

hollow pier
#

i did that

#

and did screen-widthx

#

which is what worked for hk

cunning lagoon
#

"1600 (1600x1200) - This mode requires a high-end monitor and a high-performance card"

#

excuse me what

hollow pier
#

what

cunning lagoon
#

high-end GWchadMEGATHINK

rain cedar
#

Low res 4:3

#

Checks out

hollow pier
#

does laser league just hate res

#

to be tbh only 3 res options in the ingame settings

#

one is 1536x864

cunning lagoon
#

it looks like a fun game

rain cedar
#

I mean that is a 16:9 res

#

Just wtf

#

So weird

compact sedge
#

does it not spawn right away or something

rain cedar
#

Bosses exist in separate scenes that are loaded afterward

#

For no apparent reason

compact sedge
#

aaaaaaaa but if I print the scene gameobjects with modcommon it shows the boss as in that scene

#

using Scene.PrintHierarchy

#

but uh apparently none of the code I added worked

copper nacelle
#

gj

#

also random bosses are in _boss scenes while the others are just in the scene

#

good consistency

compact sedge
#

I noticed that but uh

cunning lagoon
#

nuke meme

fair rampart
compact sedge
#

ok I have no hecking clue why my code isn't working

copper nacelle
#

h*ck

#

.s/h/f

cunning lagoon
#

feck

copper nacelle
compact sedge
#

I have no fecking clue why my code isn't working

copper nacelle
#

darn

cunning lagoon
#

moth*rfucker

copper nacelle
#

motherhecker

compact sedge
copper nacelle
#
BINDS
    0
0
0
0
0
#

tbh

compact sedge
#

also the difficulty to get 5 stars is crazy, it's basically about as hard as getting FC

copper nacelle
#

what's fc

cunning lagoon
#

failed champion?

compact sedge
#

full combo

#

to get 5 stars rn requires less than 3 fails for every 100 hits

#

I might lower it a lot

#

but also the unicode star is almost as big as a tab

#

for some reason

cunning lagoon
#

is hk a rhythm game now

copper nacelle
#

no it's dmc4

cunning lagoon
#

ah

compact sedge
#

I mean this is a rhythm mod

cunning lagoon
#

๐ŸŽธ ๐Ÿฅ

compact sedge
#

ok it's actually adding the thing it's just false knight never actually uses the state I added

#

hmm

#

or Mato for that matter

#

wait a second is Mato the first one you fight?

#

or is it Oro?

cunning lagoon
#

oro is the first one

compact sedge
#

I have a really weird thought that they might be named backwards

#

that's the only possible explanation I can think of for why it won't work

copper nacelle
cunning lagoon
#

the first one uses the dash slash

#

oro teaches you the dash slash

#

ergo the first one is oro

compact sedge
#

in code they're basically identical

#

Mato even has a state called "Call Mato"

#

so idk maybe Mato is actually Oro

cunning lagoon
#

ยฏ_(ใƒ„)_/ยฏ

copper nacelle
compact sedge
#

56 ur fast with the announcements react

copper nacelle
#

yes

#

I needed to get seanprLet seanprTuce

cunning lagoon
#

can someone explain the lettuce

copper nacelle
#

it's sean's twitch subscriber emote

cunning lagoon
#

ok

#

does your mom know that you pay other people on the internet hollowface

copper nacelle
#

twitch prime to be tbh

cunning lagoon
#

ok

fair rampart
#

having a bizarre issue

#

tl;dr glorification sprites only update for half the charms in the list

[INFO]:[Exaltation] - Charm 3 is glorified!
[INFO]:[Exaltation] - Charm 4 is glorified!
[INFO]:[Exaltation] - Charm 6 is glorified!
[INFO]:[Exaltation] - Charm 1 is glorified!
[INFO]:[Exaltation] - Charm 3 is glorified!
[INFO]:[Exaltation] - Charm 4 is glorified!
[INFO]:[Exaltation] - Charm 6 is glorified!
[INFO]:[Exaltation] - Charm glorification set to False
[INFO]:[Exaltation] - Charm 1 is NOT glorified!
[INFO]:[Exaltation] - Charm 3 is NOT glorified!
[INFO]:[Exaltation] - Charm 4 is NOT glorified!
[INFO]:[Exaltation] - Charm 6 is NOT glorified!
[INFO]:[Exaltation] - Charm 19 is NOT glorified!
[INFO]:[Exaltation] - Charm 31 is NOT glorified!
[INFO]:[Exaltation] - Charm 32 is NOT glorified!
[INFO]:[Exaltation] - Charm 37 is NOT glorified!
[INFO]:[Exaltation] - Charm 1 is NOT glorified!
[INFO]:[Exaltation] - Charm 3 is NOT glorified!
[INFO]:[Exaltation] - Charm 4 is NOT glorified!
[INFO]:[Exaltation] - Charm 6 is NOT glorified!
[INFO]:[Exaltation] - Charm 19 is NOT glorified!
[INFO]:[Exaltation] - Charm 31 is NOT glorified!
[INFO]:[Exaltation] - Charm 32 is NOT glorified!
[INFO]:[Exaltation] - Charm 37 is NOT glorified!
#

relevant code is uh

#
            {
                foreach ( int i in CharmNums ) //num num =^.^=
                {
                    CachedSprites.Add(i.ToString(), CharmIconList.Instance.spriteList[i]);
                }
                Log("Created cached sprites for all charms");
            }
            foreach ( int i in CharmNums) //okay I want to die after writing that first comment
            {
                if(IsGlorified(i.ToString()))
                {
                    Log("Charm " + i + " is glorified!");
                    CharmIconList.Instance.spriteList[i] = Sprites["Exaltation.Resources.Charms." + i + ".png"];
                }
                else
                {
                    Log("Charm " + i + " is NOT glorified!");
                    CharmIconList.Instance.spriteList[i] = CachedSprites[i.ToString()];
                }
                //CharmIconList.Instance.spriteList[i] = IsGlorified(i.ToString()) ? Sprites["Exaltation.Resources.Charms." + i + ".png"] : CachedSprites[i.ToString()];
            }```
#

that calls each frame

#

(yeah it could be more efficient I'll optimize later)

cunning lagoon
#

56 just had a stroke reading that

copper nacelle
#

u right

fair rampart
#

well I'm at a loss here

cunning lagoon
#

is this

fair rampart
#

hOLD ON

copper nacelle
#

have you tried using the correct name

#

also tf is CharmNums

fair rampart
#

hallownest's hit new pastry

#

public global int[] CharmNums = new int[] { 1, 3, 4, 6, 19, 31, 32, 37 }; //the charm numbers that can be glorified go here for sprites and the like

copper nacelle
#

not even static readonly

#

smh my head

#

is spriteList ordered or what

fair rampart
#

how about now

copper nacelle
#

:ech:

#

does spriteList filter out the Resources. stuff

#

no i'm blind

#

nice

cunning lagoon
#

ee

copper nacelle
#

ee

fair rampart
#

funny story

copper nacelle
#

5

cunning lagoon
#

555555

fair rampart
#

it doesn't because I was literally too lazy to determine the substring arguments I would need

#

so I just did the whole file name lmfao

copper nacelle
compact sedge
#

PAINNNNNNNNNNNN

Call Mato is unused even tho the fsm thing seems like it should be used considering it claims to be called after Death Type

copper nacelle
#

what are CachedSprites

#

i mean

#

why

#

what

#

confusion

fair rampart
#

cachedsprites is the path to the vanilla sprites for the charms, so that either

  1. I can see at a glance if it's glorified
  2. I can allow the player to deglorify if they want without having the sprites stuck as glorified until reload
copper nacelle
#

ok that makes sense

fair rampart
#

most of this code is probably awful but it doesn't affect my performance so I'm not going to care until I need to optimize

copper nacelle
#

why's the else there tho

fair rampart
#

lemme uh

cunning lagoon
fair rampart
#

why would it not be

copper nacelle
#

no reason for it unless you've already implemented deglorifying imo

fair rampart
#

well I had the log there because I couldn't figure out why I was having issues

#

might still need it if this patch doesn't fix it

cunning lagoon
fair rampart
#

I haven't actually implemented proper glorifying yet, I just smack the H button to swap

copper nacelle
#

what's the problem tho

fair rampart
#

J swaps between wyrmfury/shadefury sprites

#

oh right

#

basically, only a few charms would have glorified sprites

copper nacelle
#

did it throw

fair rampart
#

it turns out it's because i overgeneralized but for FotF I had 6_king.png and 6_shade.png

#

it was looking for 6.png and didn't find it so it had a stroke and gave up

copper nacelle
#

ye

#

check output_log whenever something goes weird

#

half the exceptions are found there

fair rampart
#

I also could have just used a normal int check instead of all the tostring stuff but I wanted to make it easier on myself so I could do stuff like this

copper nacelle
#

geo control

fair rampart
copper nacelle
#

what

fair rampart
#

it means I don't have to memorize every charm # or refer to them, I can just punch in the name

copper nacelle
#

if that's not backed by a dict i will kms

fair rampart
#

there's lowercasing in the check itself so it doesn't mix up string casing

#

got bad news for u bud

copper nacelle
#

ree

#

what are you doing

#

switch?

fair rampart
copper nacelle
#

delet this

fair rampart
#

done

copper nacelle
#

why not just take an overload tho

#

it'd be much easier

fair rampart
#

like I've mentioned a few times, I'm a giant c# baby and have never properly used the language before now

#

well, that's not true, I did some terraria modding

cunning lagoon
#

is this fabsol

copper nacelle
#
private bool IsGlorified(int i) => IsGlorified("" + i);```
#

bam

#

now kill the tostrings

fair rampart
#

I was previous using a IsGlorifed(blah) ? x : y but I dunno if that style of if check is the devil or not

copper nacelle
#

idk i like it

#
? stuff
: stuff;```
#

is how i write it

#

iirc

fair rampart
copper nacelle
#

haha yes

fair rampart
#

is "" + i faster than i.ToString()?

copper nacelle
#

idk

#

less work to type

fair rampart
#

fair

compact sedge
fair rampart
copper nacelle
#

why isGlorified && setting

#

is the setting the toggle?

#

also ToString is faster apparently

fair rampart
#

it's the toggle yeah

#

whether or not it's kingfury or shadefury is stored in there

copper nacelle
#

understandable

rain cedar
#

Eh

#

I don't care

#

Anything past 1.2.2.1 really I just don't give a shit

#

That's the last viable speedrun patch

cunning lagoon
#

1424 seems pretty viable for 112%

fair rampart
#

of course, even though I have tons of charm glorifications implemented now I still don't actually know how to implement glorifying them

rain cedar
#

Steal a shop fsm from somewhere and modify it

fair rampart
#

I understood most of those words

cunning lagoon
#

come on even i know what an fsm is

fair rampart
copper nacelle
#

finite state machine

compact sedge
#

uh 56 is this the proper way to make an fsmvar?

timeToRestartCD = new FsmFloat {Value = timeToRestart, Name = "timetorestartCD", RawValue = typeof(FsmFloat)};

copper nacelle
#

no

compact sedge
#

just having Value = timeToRestart causes everything to break but idk what else to add

copper nacelle
#
var re = new FsmVar(typeof(float))
{
    floatValue = 10f
};
compact sedge
#

oh so it needs to be an fsmvar not an fsmfloat

#

oic

fair rampart
#

is there a way to play fancy sounds or not

#

I want wyrmfury to protect from one fatal hit per rest and I dunno if I can give good feedback on that

cunning lagoon
#

add a small icon below the soul meter

#

like baldur shell

fair rampart
#

i have zero idea how to do that

cunning lagoon
#

same

compact sedge
#

CanvasUtil

#

I mean I can't help much beyond that but it can draw images on the screen

fair rampart
#

that's like me asking how to make a cake and you say "flour"

#

not that I'm faulting you for trying to help

compact sedge
#

you want code?

copper nacelle
#

create a canvas

#

then create an image panel

#

then set the image content on the panel

fair rampart
#

naw, don't waste your time writing up code that ain't even for something you're making

compact sedge
fair rampart
#

I have no idea how to do that so it's time to

#

STEAL MORE CODE

compact sedge
#

nah dude I already wrote code for like all of this

rain cedar
#

You can also look at hp bars and randomizer

#

For other examples of it

compact sedge
#

basically for your image you do Sprite.Create

#

and you put a texture which is the actual image and a rect which probably is just the size of the texture.

fair rampart
#

and is this done every frame?

compact sedge
#

and you already should have code for making textures since you have custom sprites for your icons

#

no just once

#

when you load in an area

fair rampart
#

sceneloaded hook then, one assumes

compact sedge
#

and then you can just set the image opacity to 0f when it's not active

#

with Sprite.color = Color.clear;

leaden hedge
#

the rect is for subtexture sprites

#

in the case of a texture that only contains one sprite, yes it is just the size of the texture

compact sedge
#

tbh I make one texture per sprite even in animated things because it's easier for me.

#

at least when I'm doing it in assembly

#

in editor having massive spritesheets is easier I assume

#

But anyway create image panel handles all the unity stuff for you which is always nice and for the RectData nothing there matters unless you're rotating it except:

the first vector which is the scale, probably want 1f, 1f
the last two vectors which are the position of it on the screen. if you set the two position vectors to the same like I did they will represent the middle of the image.

leaden hedge
#

its super easy to do spritesheets in code if you have your sheets setup correctly

compact sedge
#

that requires making a spritesheet and e

#

why bother when I can just add 4000 png files to my assembly.

leaden hedge
#

its usually just

for( int i = 0; i < numSprites; i++ ){
    x = i *spriteWidth % sheetWidth;
    y = i *spriteWidth / sheetWidth;
    new Rect(x, y, spriteWidth, spriteHeight);
    Sprite.Create(...)
}

iirc

#

i mean if you wanted to save on vram and speed up gpu calls you'd pack them as tightly as possible into a 2^n square texture

#

but you probably don't care about that if you're just loading a bunch of pngs into memory Kappa

compact sedge
#

I'll care about it when my mod starts actually affecting performance which will be never because computers are fast and c# isn't that inefficient.

leaden hedge
#

well c# doesn't even matter here

compact sedge
#

(and also because I will never serialize every single enemy in the game)

leaden hedge
#

its gpus that are slow at reading textures

fair rampart
#

so here's what I have right now

#

but I will attempt to figure it out

compact sedge
#

Well I develop all my mods on what is possibly the lowest end GPU that can play HK at a good framerate. it gets only around 40 fps in ToF at 1080p and I have to drop it down. I fight basically every boss at around 70-80 fps and never more for the most part.

rain cedar
#

You probably don't want to yield WaitForFinishedEnteringScene

compact sedge
#

no need for that wait tho. you can do it on the load scene unity hook

leaden hedge
#

just make it when you load your mod ๐Ÿค”

fair rampart
#

I suppose the actual icon it would be around the Sprite.Create(

leaden hedge
#

and make it invisible when the gui is also invisible

fair rampart
#

but I'll need to screw around a bit to figure that out

compact sedge
#

I use WaitForFinishedEnteringScene. am I a bad person?

fair rampart
#

not sure how to transform a sprite into a 2d texture

compact sedge
#

other way around

#

you make textures into sprites

#

textures being serialized images basically

fair rampart
#

there's already code that creates sprites from all the resources elsewhere, would I be able to use the sprite from that?

rain cedar
#

Do you use it as a yield?

#

Because idk what that would even do

fair rampart
#

well supposedly I need to be using a sprite for this UI element

leaden hedge
#

why you got it in a coroutine

#

you can just do all that in your mod init

fair rampart
#

my friend I have LITERALLY no idea what I'm doing

#

I'm doing this all by ear based on blind luck

#

i'm shocked I've gotten this far already truth be told

compact sedge
#

I'm shocked you know how to use coroutines.

#

but also

#

if it works and it's dumb

#

it's not dumb

fair rampart
#

I have only a vague idea what a coroutine is

#

I assume it runs alongside of the main thing instead of inside of it

compact sedge
#

it's just a function that runs, and then stops when it hits a yield return, and then runs again.

#

it doesn't run in parallel so no need to worry about race conditions or anything silly like that

#

unity runs all the coroutines one after another in order.

#

some order, idk which order

fair rampart
#

is there a way to modify the image of the gameobject for the icon once it's been made?

leaden hedge
#

neither does unity

#

what gameobject

fair rampart
#

it obviously needs to change once the hit is absorbed

leaden hedge
#

you mean the Image?

fair rampart
leaden hedge
#

WyrmFuryIcon.GetComponent<Image>().sprite probably

#

unless that returns the actual Image directly which it might

#

nope it returns the panel, so yeah its that above

fair rampart
#

so this should in THEORY work

rain cedar
#

Yeah I change sprites in the same way for randomizer

fair rampart
#

nothing happened

#

MODS

rain cedar
#
string iconPrefix = Settings.FotFShade ? "Shade" : "Wyrm";
string iconSuffix = WyrmFuryDeathProtection ? "Icon" : "Broken";
WyrmFuryPicture.sprite = Sprites[$"Exaltation.Resources.{iconPrefix}fury{iconSuffix}.png"];```
fair rampart
#

appears to do absolutely nothing

rain cedar
#

Are you definitely calling SceneLoaded?

#

Oh wait string parameter

#

You're using the ModHooks one

#

Idk if that works, nobody uses that

#

UnityEngine.SceneManagement.SceneManager.sceneLoaded

fair rampart
#

let me try seeing if it works in Initialize first since I'm generally unwilling to override

rain cedar
#

That's a hook too though

fair rampart
#

ur a hook

rain cedar
#

Idk what you're thinking is an override

#

I also don't see what's wrong with overrides

fair rampart
#

probably old habits ingrained into me from other code where not making your own thing/taking the safest route usually broke everything ever

#

well I mean

#

it works

compact sedge
#

btw the last three lines in your iconload function you don't need to copy from my code. They're for filling a combo bar (Type.Filled basically lets you enter a fill amount and only that portion of the image will be visible). In rectdata your image size is set at 300f x 100f which is why it looks so stretched out.

fair rampart
#

yeah I imagined

#

not sure where best to position the icon though

#

below the soul bar one assumes, but

compact sedge
#

although if you want a hacky way of hiding the image you could keep it and just set fillAmount to 0f

#

instead of setting the color to clear

leaden hedge
#

pretty sure you can just disable it

compact sedge
#

probably that's another way to do it

#

there's probably 1000 ways to make an image not appear.

fair rampart
#

hrmm

#

how do I check if the UI is up, as well?

leaden hedge
#

canvas.GetComponent<CanvasGroup>().alpha = 0f lets you set the transparency of everything

#

and I think canvas.GetComponent<CanvasGroup>().gameObject.SetActive(false) prevents it from actually processing it which is probably the best way to do it

compact sedge
#

or just store the gameobject in a var and then no need to run GetComponent

#

which is probably faster than running GetComponent

#

but tbh none of these optimizations matter

#

you'd be hard pressed to make the game run any slower than it already does, unless you plan on making a thousand of these icons.

#

and having them all show up at once

leaden hedge
#

yeah but with the canvas group you can use the
CanvasUtil.FadeInCanvasGroup(canvas.GetComponent<CanvasGroup>()) coroutine to make it fade back in nicely intenseface

fair rampart
#

is there a way to check that other UI elements are hidden?

rain cedar
#

GameCameras.instance.hudCanvas.gameObject.active

fair rampart
#

actually, would it be possible to add the object to the HUD itself?

rain cedar
#

Probably

fair rampart
#

let's find out

#

okay, it didn't work AND it destroyed my performance

#

nice

leaden hedge
#

iirc the hud isn't even canvas

#

but yes you can add stuff to the hud

fair rampart
#

seems ideal to add the icon to the hud, then

#

no idea how, ofc

leaden hedge
#

you should be able to find a reference to a sprite thats also on the hud, instantiate a new one, set its parent to whatever you instatantiated froms parent and change its sprite + position

fair rampart
#

I see

#

thanks y'all for the help with getting this damn thing set up lmao

#

looks good now, except for that it stays up when the inventory is open

native widget
#

Heyy, thats pretty good

floral furnace
#

ey angle im doing this right?
fireball = HeroController.instance.spell1Prefab;
fireball.transform.Rotate(0,0,0);
fireball.Spawn(HeroController.instance.transform.position + new Vector3(0f, .6f, 0f));

fair rampart
#

a glance tells me it might work, but you'd have to test ingame

floral furnace
#

yeah its casting it normally but the rotation doesnt happen

leaden hedge
#

thats rotate

#

not rotation

#

you should probably rotate the game object that fireball.Spawn returns

#

as fireball = HeroController.instance.spell1Prefab; is almost guaranteed to be a shallow copy

floral furnace
#

kk ty ill try that

#

okay its rotating the sprite itself but im trying to rotate where its headed/direction instead

#

pretty sure im fucking with the wrong property GWchadMEGATHINK

leaden hedge
#

you are

fair rampart
#

would 2-notch hiveblood for glorified be too strong?

#

I'm not sure if 2 or 3 notches is better here

floral furnace
#

either it gets 2 or it gets 3 but with a reduced timer to heal

#

imo at least

fair rampart
floral furnace
#

noice

fair rampart
#

That makes... 8, I think

floral furnace
#

i honestly love how quick slash is literally just the WP sawblade

fair rampart
#

you clearly haven't seen how fast Steel Tempest makes your swings

floral furnace
#

how much did you scale it from?

fair rampart
#

ST makes you do a lot less damage per swing but you can basically mash the swing button and it swings as fast as you can press

#

what do you mean scale it from?

river eagle
#

Are you making a mod?

fair rampart
#

mhm

#

currently calling it Exaltation, trying to implement glorification through modding

floral furnace
#

also isnt there another float that affects attack length? iirc

fair rampart
#

though I'm still lost as to how they'll be glorified

#

not sure about that

#

I think it may just be charm hardcoded

floral furnace
#

also isnt there another float that affects attack length? iirc

river eagle
#

Looks interesting

#

Can't wait to see it finished

fair rampart
#

thanks :>

#

mostly just made as a learning exercise as I haven't really messed with c# before

#

I think for one of these I want to make it instantly restore soul when sitting at a bench when you have salubra's blessing (so you don't have to sit around while she screams at you) but I dunno which one

waxen wyvern
#

qol ๐Ÿ‘€

fair rampart
#

ye but

#

that's its own thing

floral furnace
#

Glorification was an inside job /s

fair rampart
#

kinda strange, but I have mostly just colorswapping tools

floral furnace
#

this is for soul catcher right?

#

what stat changes are you giving it?

#

also i think i know why i cant rotate the fireball direction, the spell prefab already has its own action for when youre facing left to cast it to the left, and facing right to cast it to the right

fair rampart
#

I'm planning on mostly just the resting change since SC as it is is already quite efficient

#

it would also overlap with grubsong which gives you more soul on hit depending on missing hp

floral furnace
#

makes sense

river eagle
#

Looks cool but you can clearly see it was modified by just color swapping..

#

Maybe if you were to color different areas of it induvidually it'd look better

fair rampart
#

I'll have to look into it when I next wake up

#

That's probably the one I'm most dissatisfied with, really, the rest are quite good

river eagle
#

Using a mask tool + layers really helps

fair rampart
quasi fulcrum
#

ooooh pretty

river eagle
#

Those are really good

fair rampart
#

If I were more arsty I could make them myself, but those are both modifications of existing ones

floral furnace
#

you can try asking for art discussion tho right?

fair rampart
#

First one is FotF upgrade, by being darker and having outlines around white eyes; second is Sprintmaster recolored, with the nostrils removed and eyes rotated

#

And yeah, I could, but I don't understand art concepts well and struggle to learn

#

I struggled hard enough getting the dang HUD working

floral furnace
#

last time i made a ui, only made a text one and... and basically said fuck it lmao

fair rampart
#

Protects from one fatal hit

floral furnace
#

so youre doing fine as it is

fair rampart
#

Oh yeah, I struggled a ton getting it to work

#

I used a lot of other people's code

quasi fulcrum
#

one fatal hit and then you gotta rest?

fair rampart
#

ye, similar to baldur shell and healing

floral furnace
#

oh so you replaced the baldur UI icon for that?

fair rampart
#

didn't replace, just added on

#

baldur appears directly beneath the soul meter

quasi fulcrum
#

baldur, melody, and that charm

#

ultimate tank

fair rampart
#

stalwart shell too

#

the glorified version reduces 2-mask hits to 1 mask

#

3 to 2, 4 to 3, and so on

#

may be too strong but I'm currently unsure

quasi fulcrum
#

oh nice

#

you could overcharm with it pretty well

fair rampart
#

perhaps I'll make it so that it can use up soul to negate damage instead

#

50% per mask maybe, only absorbs one mask per hit

quasi fulcrum
#

50% to block a hit

fair rampart
#

it'd be basically doing the same thing but with a cost

quasi fulcrum
#

or just heal

#

i guess in fights where there arent many openings it would be good

fair rampart
#

healing's a lot less easy to do in stressful situations ye

quasi fulcrum
#

grubsong would synergise well

#

thats on hit right?

#

not damage?

fair rampart
#

for PV and NKG I never healed at all, just used soul on spells

quasi fulcrum
#

for grub i mean

#

i cant remember

fair rampart
#

ye, glorified version also increases soul on nail hits depending on lost health

#

I'm going to have to do a balance pass before I go much further because some of these charms are far better than anything in vanilla

quasi fulcrum
#

grubsong + elegy every second hit you dont take damage

#

plus with soul from nail hits

fair rampart
#

some like dashmaster which is just 1 notch cheaper aren't bad, but grubsong becomes a better soul eater after 3 masks of damage for 1 notch

quasi fulcrum
#

wait grubsong needs you take damage

#

nevermind

fair rampart
#

Todo: 1% per mask on grubsong instead of 3%, stalwart shell soul cost

#

the rest should be ok

#

shaman stone being a flat buff might need addressing as will steel tempest effectively removing swing cd

#

that's for a time when it's NOT 6 am though

quasi fulcrum
#

sleep first

#

op charms later

floral furnace
#

yes dont be a 56

copper nacelle
#

h

floral furnace
#

also 56 i think the reason i cant rotate the object is because the SpellPrefab has its own FSM that has the Cast Right and Cast Left which pretty much dictates where it goes, so i did some digging up on its fsm and hierarchy
and tried doing something like this

castfireball = HeroController.instance.spell1Prefab.LocateMyFSM("Fireball Cast");

then hopefully i can manipulate castfireball's state with this
castfireball.GetAction("Cast Right", 5)

copper nacelle
#

remove the FSM's rotation actions

floral furnace
#

yes ill try doing that

floral furnace
copper nacelle
#

yes

#

also wow a new channel to mute

floral furnace
#

something something, no lore something

#

also no point in removing those actions cuz apparently the prefab is unaffected

copper nacelle
#

clone the prefab and then remove them

floral furnace
#

by clone you mean
GameObject fireball = HeroController.Instance.Spellprefab1
yes?

copper nacelle
#

no that's just a ref

floral furnace
#

ohhh its
GameObject clone = Instantiate(HeroController.Instance.Spellprefab1)

#

according to the docs at least

copper nacelle
#

yes

#

might need to set it inactive right after idk

floral furnace
#

the clone?

copper nacelle
#

ye

#

also might need don't destroy on load

floral furnace
#

so in pseudocode terms

  1. clone with instantiate
  2. get the clone's fsm
  3. delete the needed action from that fsm
  4. dontdestroyonload
  5. setinactive?
copper nacelle
#

I think so

floral furnace
#

wait so i have to do this while in game? the instantiate i mean, not at the Start() method? nvm i think im just tired which is me asking all of these dumb question

floral furnace
#

HOLY FUCK I KINDA MADE IT WORK

#

YESSSSSSSSSSSSSSSSSSSSSS

copper nacelle
fluid bane
#

Nice, well done!

floral furnace
#

ive been searching for tutorials and been moving stuff on my code for like, close to 5 hours already jesus

copper nacelle
#

vid when

floral furnace
#

literally i only removed the sound, i havent done the spell scale size and the rotation direction

#

but hey 1 down.... 50+ more to go

solemn rivet
#

How is the gun model

floral furnace
#

Uhh i havent started on the sprites stuff yet zote ~~and inb4 its gonna take 2 more weeks for me to fix that hollowdab ~~

solemn rivet
#

Boi

#

Fail

floral furnace
#

something something the last 10% takes 99% to work on

#

how do you become god at fsm do you dip yourself in a vat full of them for 10 hours straight

solemn rivet
#

No, that's suicide

#

9.5 hours tbh

#

Any more than that and it's suicide

floral furnace
#

i dont see the problem with that then /s

buoyant obsidian
#

You have to be held by your heel so as to not be entirely consumed by the FSMs

solemn rivet
#

And you have to wear an fsm-proof vest

fluid bane
#

But if someone shoots you in the heel you lose all your powers?

#

Anyway.

#

Hello everyone. How did you all get started on modding? The Steam community is currently full of people asking for changes to Pantheons and if Team Cherry don't implement anything I want to see if I can mod the game myself.

solemn rivet
#

Xhuis u here?

#

Anyway, we have a modding api which is a slightly modified assembly of the game which allows us to inject our own code

#

there's documentation for it... Somewhere

buoyant obsidian
#

Personally, I recommend opening up other people's mods and looking at them

#

there's a few mods on GitHub you can check out

solemn rivet
#

and he ded

#

also I'm really sorry for yesterday 753

#

the shithmodst2 plans were just too saucy and I couldn't help myself

fluid bane
#

Thanks, I appreciate it.

twin cloak
#

On a somewhat related note, who is currently maintaining the Randomizer Mod?

solemn rivet
#

sean, as always

buoyant obsidian
#

I might need to put some shitmodst mechanics into Lightbringer

hazy sentinel
#

u mean the play lightbringer part

solemn rivet
#

replace the actual lance with that text imo

#

so it's a meta game

#

you're shooting "play lightbringer" into enemies

#

it's code for shilling your own mod

floral furnace
#

So essentially 56's Ur Mum Gay mod but with Play Lightbringer instead

hazy sentinel
#

just overlay play lightbringer on every spritesheet

floral furnace
#

Godmaster was good, but not "Play Lightbringer" good

buoyant obsidian
#

Verulean played through all of HK twice for Shitmodst, he used an old save for Godmaster

#

One is an update that doesn't change the game enough to make people wanna start from the beginning and the other is shitmodst

warped sinew
#

Does enemy randomiser work in god master? And more importantly, work in the eternal ordeal???

young walrus
#

it works, but not on new enemies.

#

so.....kinda

warped sinew
#

Ahh damn

#

It would be the ultimate chaos mode

raven kayak
#

does grey prince zote have the same HP on all difficulties or is the wiki not updated yet?

austere iris
#

No

#

He gets more health

raven kayak
#

ok so the wiki must just have it in there as a placeholder

compact sedge
solemn rivet
#

Which panth is this

hazy sentinel
#

Inserted action into [Brothers.Oro][nailmaster][Call Mato]

compact sedge
#

panth 1

#

ofc

#

Combomod 0.1 now works with every pantheon and (probably) pauses when it should in all cases.

#

in all the ones I tested it worked but I might have missed an enemy

#

I would appreciate testing and balance feedback tho

#

or any feedback

cunning lagoon
#

oh wow new lore channel

#

instant mute

young walrus
#

^

rain cedar
#

The lore channel serves an important purpose guys

#

It's to say hornet is void in

austere iris
#

But sheโ€™s not

cunning lagoon
#

or is she?

rain cedar
#

Hornet is void

austere iris
#

No sheโ€™s not

rain cedar
#

Yeah she is

austere iris
#

No

rain cedar
#

She's got black legs

#

Checkmate

austere iris
#

I canโ€™t tell if your memeing or not

rain cedar
#

Really I don't give a shit I just think it's funny one of the #hk-lore nerds is over here

#

Y'all have a 5 page essay about hornet not being void

#

Hilarious

austere iris
#

We do?

#

Itโ€™s right tho

rain cedar
#

It was pinned yesterday but it looks like it's gone now

compact sedge
#

ok well I guess I'm gonna FC trial 1 all bindings and if I do it I'll release Glorious Combos.

#

no way in hecc I could fc any of the other trials tho

hollow pier
#

wow lore

#

bye lore

compact sedge
cunning lagoon
#

what is that by aladar apponyi thing

#

i've never seen that before

compact sedge
#

what?

cunning lagoon
#

below gorb's name

#

my gorb doesn't say that

tranquil glen
#

is that just a language thing?

compact sedge
#

oh I have backer credits turned on

#

it's a setting

tranquil glen
#

oh

cunning lagoon
#

ahh that makes sense

#

i forgot that was a thing

hollow pier
#

wow aladdin made gorb

compact sedge
#

ok all bindings mawlek is actually really hard

buoyant obsidian
#

no just dash

cunning lagoon
buoyant obsidian
#

if you play him safe he's free

compact sedge
#

can I play him safe and still get hits in every 6 seconds?

cunning lagoon
#

just dash lol 4head

#

hit him all the time and step back a bit when his scythe glows

#

rinse and repeat

#

if he spits you pogo him 3 times and go back otherwise he might jump on you

#

its literally normal mawlek but slower

compact sedge
#

oh wow ok

cunning lagoon
#

sorry not slower, it takes longer* since you have all binds

#

thats what i meant

hazy sentinel
#

u ever thought about how all binds has less damage but it takes longer

cunning lagoon
#

it might even be faster than normal mawlek

#

because you have spells

#

unless you fight mawlek with spells in your playthroughs in which case u gay

rain cedar
#

Not slower just takes longer

#

Hi krythom

cunning lagoon
#

yeah i meant the boss itself moves at his normal speed

#

if that makes sense

rain cedar
#

It's ok I understand you completely

cunning lagoon
#

english is hard

rain cedar
#

It's just like business days

compact sedge
#

well I beat mawlek now to figure out oro and sheo. this is harder than I thought. probably can't fc it or ever get 4 stars.

cunning lagoon
#

oro and mato

compact sedge
#

oro and mato

#

yes

raven kayak
#

does anyone here know why the zote theme unlock doesnt appear on my other computer with the same save?

young walrus
#

yeah. cuz you didn't do it on that computer

#

you have to complete the challenge for it to be logged in the system registry

#

it's not stored in the save file

buoyant obsidian
#

...Zote theme?

young walrus
#

the title screen

raven kayak
#

ah ok, thought it would be part of the save

#

thanks

steel patio
#

has health bars been updated for godmaster?

#

ping me with answer pls

young walrus
#

no

#

it won't crash tho

#

but it doesn't work 100% of the time

cunning lagoon
#

gradow updated it yesterday

#

@steel patio

young walrus
#

even for all new enemies and panth bosses? nice

cunning lagoon
#

i believe so, i havent tried it yet

young walrus
#

We should have like.... a modding announcements/updates channel

#

so we have a log of when and if things are updated

compact sedge
#

speaking of announcements. I just added Glorious Combos to the mod installer!

cunning lagoon
#

yeah good idea

hollow pier
#

just read every message lol

compact sedge
#

actually if they ever add a modding announcements channel I won't be able to speak in it

#

so

#

ยฏ_(ใƒ„)_/ยฏ

cunning lagoon
#

then we make them give you the role

#

2 birds with 1 stone

compact sedge
#

But yeah my combo mod is out or something idk

native widget
#

Is that a pinned msg Angle?

compact sedge
native widget
#

Combo mod

compact sedge
#

lol I can't pin messages and I don't think "a new mod is out" is worth a pin

#

not even for lightbringer

tranquil glen
#

Is the shade health set in an fsm? I can't find it

compact sedge
#

shade doesn't have a healthmanager component?

tranquil glen
#

I had no idea where to look

#

so idk

compact sedge
#

modcommon gameobject dump of it

#

or just check

#

shade.GetComponent<HealthManager>();

#

and see if it's nulll

steel patio
#

cool

#

how do you install it again i forgot

compact sedge
#

ModInstaller

solemn rivet
#

AA there are no HealthManagers in 1028

#

It's in fsm, kry

tranquil glen
#

rip

compact sedge
#

oh

#

I forgot ur playing on weird version

solemn rivet
#

Look for heath_manager or health_manager_enemy iirc

tranquil glen
#

don't call my version weird sadgrub

compact sedge
#

I never do speedrunning so I forget that people actually have fun playing the game that way

solemn rivet
#

Check bonfire/blackmoth's older versions

cunning lagoon
#

Wow rude

solemn rivet
#

I used those then

compact sedge
#

hey you get your enjoyment however you want. it's just personally never interested me

solemn rivet
#

Also, don't use that enemyhpbar I posted yesterday

#

It's meme

cunning lagoon
#

Does it hace the dolor HP brs

#

Have

solemn rivet
#

It shows all bars instantly, without hitting stuff

cunning lagoon
#

Door

solemn rivet
#

And yeah dlk

#

It does

cunning lagoon
#

Then its not meme

fair rampart
#

it would be neat if someone made an infinite pv mod

solemn rivet
#

It's the memest of memes

compact sedge
#

it would be neat if you did that js

steel patio
#

um

fair rampart
#

i don't have any knowledge of how to make mods

steel patio
#

modinstaller doesn't work

#

rather isn't working

fair rampart
#

is the modinstaller itself not working or are the mods not working

steel patio
#

the first one

fair rampart
#

ok

#

i had that problem before and i just reinstalled it

#

have you used mods before?

steel patio
#

install?

fair rampart
#

reinstalled as in redownloaded modinstaller and ran it again

steel patio
#

i did that

#

it still isn't working

fair rampart
#

hm

solemn rivet
#

What error

steel patio
#

hold on

compact sedge
#

verify steam integrity

steel patio
#

i don't have steam hollow knight

fair rampart
#

is there any knowledge on how the playercontoller instance var focusMP_amount functions?

odd jetty
#

GoG?

steel patio
#

yuh

fair rampart
#

it appears to function normally with an override of 33, but setting it to 25 makes it take double soul instead

#

it's rather bizarre

#

you forgot to set the path to gogs path

steel patio
#

@fair rampart it's the SOUL cost for Focus

buoyant obsidian
#

focusMP_amount is how much soul is drained to heal

#

I think

fair rampart
#

that's why I'm confused

#

if that were the case, setting it to 25 should make it consume 25% soul, no?

steel patio
#

no

fair rampart
#

but it makes it consume 2/3 of the meter instead

steel patio
#

it's a flat number

odd jetty
#

SOUL is not a %

buoyant obsidian
#

^

odd jetty
#

it's just a value from 0 to 99

#

that's it :3

fair rampart
#

so what is 25% of the soul bar in those terms

#

b/c "33" takes up 1/3 of it

#

you see my confusion here

steel patio
#

about 24

#

you can't get 1/4th of 99 as a whole number.

odd jetty
#

it rounds to an integer

#

and rounding in HK is weird

fair rampart
#

going to try this code

solemn rivet
#

Petrichor delete ModInstaller folder in appdata and try again

fair rampart
#

the focus amount is set on rest

odd jetty
#

on rest thinkgrub

fair rampart
#

starting with a full soul meter

solemn rivet
#

Xhu I don't remember the specifics, but you can check how I change focus cost on bonfire

fair rampart
odd jetty
#

Soul meter might change 11 by 11

solemn rivet
#

It does not

odd jetty
#

no?

solemn rivet
#

Lightbringer and bonfire have passive soul regen

#

And it fills 1 by 1

odd jetty
#

oh, fun

fair rampart
#

it appears to consume exactly 2/3 of the bar as it drained exactly 2 soul vessels to refill when I put on soul vessels and tried it

steel patio
odd jetty
#

you have some nice games there

fair rampart
#

perhaps it's just not capable of handling values below 2/3?

solemn rivet
#

Uhhh

fair rampart
#

err

#

33

steel patio
#

no because i have mine set to 1 and it only costs 1 soul to fucus

#

but my thing looks different from yours

solemn rivet
#

I'm not home so can't check code petrichor

#

Sorry

steel patio
#

did you make a new file then try to focus

solemn rivet
#

You can check it if you want to, it's on my github

steel patio
#

because save files also have a soul cost for focus value

fair rampart
#

that's bizarre

#

I didn't though, no

steel patio
#

try it then come back

fair rampart
#

supposedly this makes it use all your soul

#
//note to make this work with less than 33 soul, you will need to change the focus MP amount
public float FocusCostCalc(){
    return (float)PlayerData.instance.GetInt("MPCharge") / 33.0f;
}```
#

no idea how that's supposed to work...

#

and like I mentioned, it would not change the values because it updates on rest when the charm is equipped

#

I've set it to other values above 33 and had it change fine

steel patio
#

save file default is 33

#

so maybe you have to set the save file's value to 1

fair rampart
#

not sure where to get the save file from either, but I'll look around for a hook

steel patio
#

gimme a sec

solemn rivet
#

Check bonfire

#

๐Ÿ‘€

steel patio
#

you can use this tool

fair rampart
#

poor user4.dat

#

i have subjected him to so much

cunning lagoon
steel patio
#

anyway

#

is there a way to install the mod without using modinstaller

young walrus
#

manually

steel patio
#

which would be how

fair rampart
#

it would seem that I am already changing the save file variable

young walrus
#

pins

fair rampart
#

pd.focusMP_amount = WearingGlorifiedCharm("InmostFocus") ? INMOST_FOCUS_HEAL_COST : BASE_HEAL_COST;

#

pd = playerdata

young walrus
#

of.... modding help

#

i think has the step by step

#

and a video

#

so you can learn how to copy/paste

#

like the pros

solemn rivet
#

Ctrl+c/ctrl-v for days

fair rampart
#

writing your own code ๐Ÿ˜ด
copying code hollowwow
copying code with clicking only hollowwoke

steel patio
#

i don't see modding api

#

never mind i found it

fair rampart
#

might have found the issue, in fact

#

I was checking for glorified inmost focus, which doesn't exist, because inmost focus is glorified deep focus

#

let's see if this fixes it

north linden
#

Uh hey guys. I know it's scummy but I was wondering if someone could help me with the infinite health cheat ^^; I have no idea how mods work.

fair rampart
#

not updated yet I don't think

solemn rivet
#

Infinite health? Which mod is that?

fair rampart
#

hmm, now it seems to draw 25% soul correctly but then drops it by another 33%

steel patio
#

i have a better idea

fair rampart
#

this is so bizarre

steel patio
#

you can make yourself invulnerable through your save file

north linden
#

I don't know if that will help tho.

solemn rivet
#

Petrichor if you can't wait for me to get home and fix the installer, just rename your folder to Hollow Knight

#

Flower get the debug mod and enable infinite health on it

north linden
#

How would I get the debug mod?

solemn rivet
#

Installer in pins

cunning lagoon
#

๐Ÿ“Œ

fair rampart
#

๐Ÿ“
@solemn rivet

#

pind

cunning lagoon
#

@solemn rivet

solemn rivet
north linden
#

Uh which pin?

fair rampart
#

well, now the focus amt is setting correctly, but anything that isn't just 33 will consume 33 extra soul after the heal

solemn rivet
#

Uhhh

steel patio
#

did you try making a new file

fair rampart
#

I didn't need to because the save file's focus cost is changed

cunning lagoon
solemn rivet
#

Xhu check the focus method in dnspy