#archived-modding-development

1 messages · Page 79 of 1

solemn rivet
#

I'd guess so

flat forum
#

does KDT plan on updating it?

#

on the other hand

#

the Grimm fight spawns 2 Grimms still

scenic slate
#

was playing boss rush and I beat NKG and its not letting me select radiance

#

also everything went pitch black after beating NKG

leaden lintel
#

Double grimm, double level of grimmchild (?)

granite bough
#

does the debug mod let you set your health?

rain cedar
#

Kinda

#

The infinite hp cheat just locks your health where it is already

#

Doesn't max it

#

So you can use that to practice fury bosses

granite bough
#

but nothin to let you set it to say, 1?

rain cedar
#

Get hit a few times first

#

I guess that's a bit inconvenient but eh fury is a meme anyway

rapid hamlet
#

How do you open the .java files in the save editor?

exotic venture
#

you just open up the base .jar

#

just run it with java

rapid hamlet
#

I see no .jar?

exotic venture
#

you should have a jar

#

did you download the source code instead

rapid hamlet
#

I dont see it in there either

exotic venture
#

you downloaded the source code

#

not the package

#

nice

rapid hamlet
#

Ah

exotic venture
#

but i also sent it in discord so w/e

rapid hamlet
#

Thanks haha

rapid hamlet
#

I cant get my changes to save

#

hm

exotic venture
#

file -> save

solemn rivet
#

Yeah, idk what happened, but when I tried using the editor last night, all my saves became invalid. Like, they're still there, but the game and the save editor won't recognize them anymore

solemn rivet
#
  at (wrapper managed-to-native) UnityEngine.JsonUtility:FromJson (string,System.Type)
  at UnityEngine.JsonUtility.FromJson[SaveGameData] (System.String json) [0x00000] in <filename unknown>:0 
  at GameManager.GetSaveStatsForSlot (Int32 saveSlot) [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)```
#

I mean, if it works for everyone else, seems to be a problem on my end then

#

but how can a parse error be a problem on my end?

exotic venture
#

could you send the savefile?

#

might just be that messed up

solemn rivet
#

but, here's the thing, it did that to every save file

#

and when I restored from backup and tried again, it did it again

exotic venture
#

uh

#

have you tried the verify game integrity trick

solemn rivet
#

I tried running on earlier versions of the save editor too, but no deal

exotic venture
#

which magically solves all problems

solemn rivet
#

well, aside from that, game runs fine

#

it's weird tho

exotic venture
#

oh wait this is the savefile editor giving you this?

solemn rivet
#

I open the editor, select the save folder and then, BAM, all saves corrupted

#

yup

exotic venture
#

huh

#

i have no clue

solemn rivet
#

yeah

#

I'll just ask KDT when he's available

pearl sentinel
#

Iirc recent beta updates changed the format of the save files slightly. Idk if this is specifically relevant to what you're looking at tho

exotic venture
#

awwww

pearl sentinel
#

One more bc that one was blurry

solemn rivet
#

puppy pics fyeah

exotic venture
mellow oyster
#

Confused pup

solemn rivet
pearl sentinel
#

Daww

#

Thoughts on the names Kirby, Pixel, or Blaze?

solemn rivet
#

how much does he eat?

leaden hedge
#

dog one

solemn rivet
#

doggone

pearl sentinel
#

He's a corgi, they love food

solemn rivet
#

Kirby den

hollow pier
#

good cat

pearl sentinel
solemn rivet
#

sleepy cat is always good cat

#

@leaden hedge did you see what I posted earlier about the save editor?

vagrant leaf
solemn rivet
#

best channel

vagrant leaf
#

mys can we delet modding and replace it with #cute-animals thx

exotic venture
#

dunno ask benji or simo tbh

vagrant leaf
#

@ admin please replace kthx

leaden hedge
#

yes i saw it @solemn rivet not looked into it

solemn rivet
#

oh, ok

exotic venture
#

oh btw is there an api for the latest patch available yet

solemn rivet
#

what patch we in

young walrus
#

1.3.1.2 iirc

exotic venture
#

yup

leaden hedge
#

i thought 1.3.1.1 was the release candidate 🤔

exotic venture
#

lemme check

leaden hedge
#

current patch is 1.3.1.2

exotic venture
#

yup

sterile valley
#

some modding mistakes can actually get kind of hilarious

#

@solemn rivet

digital citrus
#

Are the Bonfire and HPBars mods getting updated anytime soon?

sterile valley
#

Gradow's working on an hpbar mod

#

That works for all enemies, not only bosses

digital citrus
#

Oh sweet, would you mind helping me out for a second?

sterile valley
#

hmm?

#

I'm the one who provided the art for the actual hpbar, hand drawn, btw

digital citrus
#

Oh alright, let me just ask you and see if you know anything lol

#

The game keeps crashing on me for some reason, I only replaced the sharply file and added no mods

#

Crashing on startup btw

sterile valley
#

validate game files

digital citrus
#

Nvm not sharply lol

#

Assembly-CSharp.dll

sterile valley
#

Validate your game files

solemn rivet
#

which API are you using and which game version are you on?

digital citrus
#

I am suing the API that came with the Bonfire mod

#

I am on the latest patch, can't check which one atm

young walrus
#

"latest patch"

#

beta?

sterile valley
#

Validate your game files, install Crossroads and install the modding API through it, download the bonfire mod manually, go to your hollow knight directory and install the bonfire mod manually too, I think

young walrus
#

or non-beta

digital citrus
#

Non beta

young walrus
#

then you installed it wrong. cuz bonfire has worked on 1.2.2.1 for forever

digital citrus
#

Huh, the mod folder doens't show any .zip with 1.2.2.1

young walrus
#

use the API labeled one

digital citrus
#

That's really weird

#

I donwloaded the whole folder

young walrus
#

says API on it

#

use that one

digital citrus
#

Yeah gotcha

#

My apologies then

young walrus
#

the ones before that were standalone

#

then was ported to API

digital citrus
#

Btw Mickely, what is new in the beta if I may ask?

young walrus
#

compared to....

#

current release?

digital citrus
#

1.2.2.1

#

Yeah

young walrus
#

one new boss, and a bunch of optimizations

#

and removal of a ton of glitches

#

but a bunch is bugged

#

like.... achievements

#

and cutscenes. though i think they've fixed the cutscenes now?

#

and some balancing changes

#

like nerfing basically everything

#

and then buffing Traitor Lord

digital citrus
#

Oh alright, thank you ^^

pearl sentinel
#

I'll make a 1312 build tonight unless someone else wants to download my fork of the api from github and do it before then

exotic venture
#

i think you're our lord and savior at this point

pearl sentinel
exotic venture
#

༼ つ ◕_◕ ༽つ SEND US MODDING API ༼ つ ◕_◕ ༽つ

#

that broke kek

pearl sentinel
#

I need to go home and check on pupper in a bit so maybe I can do that then

sterile valley
#

The second guy was killed using fury of the fallen.

#

This game doesn't count fury of the fallen's extra damage as nail damage.

#

It's probably a multiplier, but the multiplier is 0..?

#

Gradow's scratching his head over this trying to fix it and I'm trying to be useful but I'm failing at it.

#

Do you think you guys can be?

#

As in... do you think you can help out a little with this?

#

What kind of damage does fury of the fallen add ontop of the normal one?

exotic venture
#

it adds a multiplier

#

of i think 1.75

#

don't quote me on that

solemn rivet
#

it does, but I have no idea how

#

the slash fsm still does default damage, even with fotf

exotic venture
#

isn't the slash fsm just nail dmg fsm

#

you can check debug mod for that

#

maybe you need to add the multiplier dmg to that slash dmg

solemn rivet
#

but when I print the multiplier, it's set to 0

#

wait, that strange

#

if that was the case, then damage would be 0

exotic venture
#

because it adds to the base dmg

solemn rivet
#

oh, ffs

#

TC why

exotic venture
#

BECAUSE THEY CAN

#

poor coding job remember

solemn rivet
#

so, here's sharpshadow's "damageDealt" value

#

sharpShadowFSM.FsmVariables.GetFsmInt("damageDealt").Value

exotic venture
#

yes

solemn rivet
#

and here's super dash's

exotic venture
#

it is seperate form nail dmg

solemn rivet
#

superDash.FsmVariables.GetFsmInt("DamageDealt").Value

#

spot the difference

exotic venture
#

LUL

copper nacelle
#

Capitalization

solemn rivet
#

smh

exotic venture
#

excellent

solemn rivet
#

how is this game even able to function properly?!?!?

copper nacelle
#

🍝

solemn rivet
#

btw, those fsms still exist in lifeblood

#

they were not removed

flat forum
#

Hey

#

How did you make NGG spawn 2 Grimms at once?

hollow pier
#

it is seperate form nail dmg

#

pls fix

exotic venture
#

you dont want to look at nail arts dmg

#

that is a mess

solemn rivet
#

okay, so

#

new idea

#

how can I check that an enemy is still alive after I hit it?

copper nacelle
#

check if the game object is not null

exotic venture
#

^

copper nacelle
#

and not destroyed

solemn rivet
#

does the game actually destroy the object?

#

ok then...

copper nacelle
#

I'd assume so

#

but this is hk

#

so idk

solemn rivet
#

ok then

copper nacelle
#

@flat forum you can check kdt's GitHub

#

@solemn rivet debug seems to check for obj == null | !obj.activeSelf

hollow pier
#

github more like gitgud haha

copper nacelle
#

if it's null it removes it

#

otherwise if moves the hpbar I think

solemn rivet
#
            {
                ModHooks.Instance.OnGetEventSenderHook -= Instance_OnGetEventSenderHook;
                EnemyHPBar.enemies.Remove(gameObject.name);
                canvasGroup.alpha = 0;
                Destroy(this);
            }```
#

I'll try this

copper nacelle
#

why do you have a weird equals

solemn rivet
#

ehh

#

I read on the interwebs it's best to compare nulls like that

hollow pier
#

equal equality pls

copper nacelle
#

it overrides ==

#

so that you can use it with game objects when they aren't null

solemn rivet
copper nacelle
#

that's why ?? doesnt work

solemn rivet
#

wait what

copper nacelle
#

because they couldn't override it

#

yeah

solemn rivet
#

wtf

copper nacelle
#

it's apparently for better error messages or some shit

solemn rivet
#

you can't ?? gameobjects?

copper nacelle
#

iirc someone was having problems with that

solemn rivet
#

ffs

copper nacelle
#

might have been sean

solemn rivet
#

well

#

anyways, I guess that should work

#

will also add that activeSelf check

#

just to be safe

copper nacelle
#

idk what that's for

#

it checks for null again right after

#

and if it's not null has a vector -1000 -1000 thing

#

for the hpbar

pearl sentinel
#

Check out enemy randomizer checks for dead or living enemies

#

If you wanna see how I do that

flint zenith
#

is there any sort of multiplayer mod for hollow knight whatsoever

young walrus
#

dream shield co-op

#

otherwise, no

flint zenith
#

ok thanks

pearl sentinel
exotic venture
#

i'm actually about to go to bed so lemme just

#

there we go

copper nacelle
#

modders can pin 🤔

hazy sentinel
#

modders can unpin intenseface

hollow pier
#

but mystery isnt a modder how can they pin

pearl sentinel
#

It was hard to squeeze that in during puppy lunch break

#

No changes to any game logic code. Just some timer and cinematic video stuff

solemn rivet
#

hypu

#

thanks to @sterile valley for the hpbar graphics

hazy sentinel
#

wtf

odd radish
#

this i like

solemn rivet
#

this is for 1.2.2.1

#

but easily updatable to 1.3.x

copper nacelle
#

nice

solemn rivet
#

code is fugly btw

#

cause I had to keep bashing my head against a pile of bricks till it worked

#

I have to do cleanup later

#

but I'm too tired for it rn

odd radish
#

excited that this exists

#

nice gradow!

solemn rivet
#

(it uses health_manager fsms, that's why it won't work on 1.3.x)

#

if people want me to, I'll try porting it to lifeblood tomorrow

#

but too tired rn

solemn rivet
#

ok, so, question

#

I'm iterating over a dictionary

#

and I want to delete each entry after the iteration

#

so I just put dict.Remove(entry.Key);and it works

#

except it doesn't

#

are the entries pooled before iteration?

#
foreach (KeyValuePair<string, ComponentHPBar> hpbar in hpbars)
{
    if (GameObject.Find(hpbar.Key) == null || !GameObject.Find(hpbar.Key).activeSelf)
    {
        Log($@"Cleaning up after {hpbar.Key}");
        EventInfo ei = ModHooks.Instance.GetType().GetEvent("OnGetEventSenderHook", BindingFlags.Instance | BindingFlags.Public);
        if (ei != null)
        {
            Delegate handler = Delegate.CreateDelegate(ei.EventHandlerType, hpbar.Value, "Instance_OnGetEventSenderHook");
            ei.RemoveEventHandler(ModHooks.Instance, handler);
        }
        try
        {
            hpbar.Value.canvasGroup.alpha = 0;
        }
        catch
        {
            Log("Error while cleaning canvas");
        }
        UnityEngine.Object.Destroy(hpbar.Value);
        enemies.Remove(hpbar.Key);
        hpbars.Remove(hpbar.Key);
        Log($@"Finished cleaning up after {hpbar.Key}");
    }
}```
#

and it logs just fine

#
[INFO]:[EnemyHPBar] - Finished cleaning up after Climber 1```
#

but then, right after that, I get an NRE

solemn rivet
#

nvm got it

rain cedar
#

You never want to modify a structure while looping it with a foreach

#

Always make a copy using ToList or something similar

copper nacelle
#

TIL

solemn rivet
#

yup, that's what I did

slender spear
#

that HP bar mod is epic af

#

gj

solemn rivet
#

it's still got a ways to go

#

rn some enemies' hpbars linger after dead

#

dunno why

#

only some enemies, no others

rain cedar
#

Internally a foreach works something like this

using (List<T>.Enumerator enumerator = someList.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
        T thing = enumerator.Current;
         //Do stuff with thing
    }
}```
solemn rivet
#

for some reason, the game doesn't treat them as dead

#

oh

#

yeah, I figured it was something like that

#

but, yeah, I have a list of every enemy with an active hpbar, and I check that list for enemies that are dead (i.e. their objects are null or activeSelf is false) and, if they are, I delete the bar component, unsubscribe them and delete their canvas

#

but...

#

some enemies don't go through that loop, for some reason

copper nacelle
#

isn't there an isDead or something

#

that might be on the new health manager

solemn rivet
#

I'll show you an example rq

#

here's the log:

#
[INFO]:Entry: Climber 1 - 8 - -1
[INFO]:Climber 1's HP = 8
[INFO]:Fill Amount - 1
[INFO]:[EnemyHPBar] - Enemies: Climber 1
[INFO]:Enemy Climber 1 HP = 8
[INFO]:[EnemyHPBar] - Cleaning up after Climber 1
[INFO]:[EnemyHPBar] - Finished cleaning up after Climber 1
[INFO]:Creating canvas for Buzzer
[INFO]:Entry: Buzzer - 8 - -1
[INFO]:Buzzer's HP = 8
[INFO]:Fill Amount - 1
[INFO]:[EnemyHPBar] - Enemies: Buzzer
[INFO]:Enemy Buzzer HP = 8```
#

notice how it doesn't clean up after the Buzzer

copper nacelle
#

buzzer lives forever

solemn rivet
#

I have no idea why

copper nacelle
#

isn't there a state for death

solemn rivet
#

for the hero, yeah

copper nacelle
#

oof

solemn rivet
#

dunno for enemies

copper nacelle
#

could've sworn there was one for enemies in health_manager

#

might be remembering wrong

solemn rivet
#

oh, you're talkin an fsm state

#

hm... Dunno

#

won't hurt to look tho

#

brb

fiery sequoia
#

blackmoth machine broken

#

it just stopped hitting things

solemn rivet
copper nacelle
#

good state name

solemn rivet
#

so, there's a Send Death state

#
PlayMakerFSM hm = FSMUtility.LocateFSM(fsm.GameObject, "health_manager") ?? FSMUtility.LocateFSM(fsm.GameObject, "health_manager_enemy");
if (!Equals(hm, null) && Equals(fsm.GameObject.GetComponent<ComponentHPBar>(), null))
{                
    enemies.Add(fsm.GameObject.name, new int[2] { hm.FsmVariables.GetFsmInt("HP").Value, -1 });
    ComponentHPBar hp = fsm.GameObject.AddComponent<ComponentHPBar>();
    hpbars.Add(fsm.GameObject.name, hp);
    hp.Instance_OnGetEventSenderHook(go, fsm);
    Log($@"Enemies: {String.Join(",\n", enemies.Keys.ToArray())}");
}```
#

but when I tell it to print enemies...

#

[INFO]:Entry: Climber 1 - 8 - -1

#

so you'd think that the enemy doesn't have a hm.FsmVariables.GetFsmInt("HP").Value

#

but no, all calculations are done using that, and, for Climber 1, it works fine

#

kek

#

[INFO]:Error while running OnGetEventSenderHook for enemy Crossroads Pole Fancy

#

when I kill the Buzzer

#

wtf

copper nacelle
#

tf

rain cedar
#

If FSM has MonoBehaviour/GameObject in its inheritance that won't work

#

Idk if it does, though

solemn rivet
#

why won't that work?

copper nacelle
#

unity == override

#

probably

solemn rivet
#

got it

#

wait, no

#

nvm

rain cedar
#

Basic idea of that is null objects aren't null so things that aren't overridden break

copper nacelle
#

like ??

rain cedar
#

Like ?? and Equals

solemn rivet
#

hm... But that's not the issue here

hollow pier
#

56 missed opportunity to say like ???

solemn rivet
#

because it is getting the buzzer enemy

copper nacelle
#

does the check for dead use ?? or Equals tho

solemn rivet
#

I think the issue is that there's not "Buzzer object"

#
foreach (KeyValuePair<string, ComponentHPBar> hpbar in hpbars)
{
    if (GameObject.Find(hpbar.Key) == null || !GameObject.Find(hpbar.Key).activeSelf)
    {
        Log($@"Cleaning up after {hpbar.Key}");
        EventInfo ei = ModHooks.Instance.GetType().GetEvent("OnGetEventSenderHook", BindingFlags.Instance | BindingFlags.Public);
        if (ei != null)
        {
            Delegate handler = Delegate.CreateDelegate(ei.EventHandlerType, hpbar.Value, "Instance_OnGetEventSenderHook");
            ei.RemoveEventHandler(ModHooks.Instance, handler);
        }
        try
        {
            hpbar.Value.canvasGroup.alpha = 0;
        }
        catch
        {
            Log("Error while cleaning canvas");
        }
        UnityEngine.Object.Destroy(hpbar.Value);
        dedList.Add(hpbar.Key);
    }
}```
#

nope

#

it uses == tho

#

GameObject.Find(hpbar.Key) == null

copper nacelle
#

dedList

#

10/10

rain cedar
#

Just check the enemy hp as a failsafe

solemn rivet
#

but, can I check it if it's null?

rain cedar
#

If it's null they're probably dead

solemn rivet
#

but Buzzer, for some reason, never triggers that check

#

and some other enemies

#

I can try checking hp...

rain cedar
#

Do it when you update the hp image

#

If hp <= 0 instead of updating delete self

solemn rivet
#

I was doing that

#

but getting nre's

#

because the parent object was gone, since enemy dies before I can do that

copper nacelle
#

if not null then check maybe?

solemn rivet
#

also, OnGetEventSenderHook returns HP right before the damage is dealt

#

so, technically, HP is never <= 0

copper nacelle
#

oof

solemn rivet
#

so what I was doing was

#

if HP - damage <= 0 , kill hpbar

#

but I can't get damage reliably

#

I was trying FSMUtility.LocateFSM(go, "damages_enemy").FsmVariables.GetFsmInt("DamageDealt").Value

#

but, for instance, it always returned the same value for both nail and fotf nail

#

so some enemies broke

#

so, back on that override thin

#

is == more reliable than Equal?

copper nacelle
#

for anything that derives from Unity.Object i think it is

#

because it returns true for destroyed stuff

solemn rivet
#

hmm

copper nacelle
#

is using the free copy of unity editor good for anything

#

or is visual studio just better

solemn rivet
#

I don't know how to unity

#

neither do I know how to vs

#

so I vs

copper nacelle
#

lol

solemn rivet
#

I think it might have something to do with the fact that there's another Buzzer in the scene

#

and it's also called buzzer

#

contrary to spitter, which are called Spitter and Spitter (1)

#

Climber 1, Climber 2

copper nacelle
#

could test it by duping an enemy

solemn rivet
#

hm...

#

I think I'll pool all enemies on scene load

#

so then I'll get no duplicates

#

problem with that, is that I can't add bars to enemies that spawn after scene load

copper nacelle
#

do both

#

and hope the ones after scene load aren't duplicates

solemn rivet
#

[INFO]:[EnemyHPBar] - Cleaning up after Buzzer
[INFO]:[EnemyHPBar] - Finished cleaning up after Buzzer

#

yup, when I kill the second buzzer, the bar disappears

#

smh

#

how to differentiate between the two - pray tell?

#

maybe they're tagged different?

solemn rivet
#

okay, i'll compary instanceId's

#

ugh

copper nacelle
#

tfw new public beta

#

again

solemn rivet
#

yup

solemn rivet
#

ok

#

good news, I fixed it

#

bad news, I think I might actually be stupid

#

instead of finding gameObject by name

#

why not reference the object directly?

#

I can simply save it when I add the HPBar to it

#

objects.Add(fsm.GameObjectName, fsm.GameObject);

#

poof

#

it works

#
[INFO]:[EnemyHPBar] - Finished cleaning up after Buzzer```best words to read in a log
vagrant leaf
#

does it like

#

work

rain cedar
#

No

#

He said "I fixed it" then posted a download because it's still broken

solemn rivet
#

so far, it seems it only breaks for some of the annoying flukes

#

and for some reason the puffybois in the sewer have their bars in the bottom of the screen, instead of following them

#

but that's... Good enough for now

leaden hedge
#

have you tried

#
void OnDestroy(){
    Destroy(this.hpbar);
}
solemn rivet
#

I thought of that, but where would I put it? It would have to be on the enemy itself, but... How can I add stuff to a gameObject's OnDestroy/Disable?

pearl sentinel
#

Is your hpbar a component?

solemn rivet
#

Yup

pearl sentinel
#

Then just like update, your component can have on destroy triggered when it or the object it's on is destroyed

wide crown
#

as soon as api update is released another update comes in cryla

#

hey kerr

pearl sentinel
#

Hm. 1.3.1.3?

hazy sentinel
#

1.3.1.5

pearl sentinel
copper nacelle
#

hk versioning makes sense

hazy sentinel
#

skipped a few numbers there

pearl sentinel
#

Just means they caught a bunch of last minute bugs when making builds

#

Happens at work all the time

hazy sentinel
#

1.3.1.35 when

pearl sentinel
#

Make a build that seems fine, someone comes in and goes, "wait we missed a thing"... well, time to start another build

hazy sentinel
#

tbh keep build number the same

wide crown
#

1.3.1.3.5.6.7.beta.alpha.groudon when?

pearl sentinel
#

Update added some new FSM Actions (yay...)

#

ScaleTo
ScaleToCurves
SendEventToGameObjectOptimized

#

fixed some bugs (i assume) with the new DamageEnemies component

rain cedar
#

Lol

#

FSM that claims to be optimized

#

That's a new one

pearl sentinel
#

added a check to the hero controller's FixedUpdate (this)

#

        if (this.cState.dead)
        {
            this.rb2d.velocity = new Vector2(0f, 0f);
        }
rain cedar
#

That doesn't really change much

pearl sentinel
#

yea

#

a bunch of FSMActions with Awake() methods had those methods removed and some had OnPreProcess() methods added

#

example old:



        public override void Awake()
        {
            base.Fsm.HandleFixedUpdate = true;
        }
#

new:


        public override void OnPreprocess()
        {
            base.OnPreprocess();
            base.Fsm.HandleFixedUpdate = true;
        }
#

a basically nothing else changed

rain cedar
#

When is that called?

pearl sentinel
#

and*

#

not actually sure

#

but nothing changed as far as the api is concerned, so i just rebuilt it against the new version

rain cedar
#

Neato

pearl sentinel
#

i removed the 1.3.whatever string literal from the save file version so it uses the game's constant now, removing the need to update that every time the version changes...

#

and that's all i have time for today... puppies are fucking exhausting...

river eagle
#

Aww happygrub

flat forum
#

I just came in tosee if there's a new version of the API

#

and it's posted

#

you're fast

flat forum
#

I can't seem to find The Health Bar mod

rain cedar
#

Which one?

flat forum
#

There was one with a giant Health Bar at the bottom that was like marked at 75/50/25%

#

I don't know which one it was

#

I've only seen it in a few videos

rain cedar
#

Pins

flat forum
#

The Google Drive?

#

I didn't find it there

rain cedar
#

Well it's there

#

So

flat forum
#

What is it called?

rain cedar
#

HPBar

flat forum
#

Found it...

#

And FSM is?

rain cedar
#

It's for helping make mods

flat forum
#

Mhm

#

Also, is there a place I can find the code for different enemies outside of game files?

rain cedar
#

Ha, funny you should ask that right after asking about FSM

#

There is no enemy code

#

They used something called PlaymakerFSM to create state machines for AI in a visual editor

#

Use the FSM mod to access it easily

flat forum
#

So, there is no easy direct way to edit enemy behavior and effects?

rain cedar
#

God no, editing enemy AI is one of the hardest things you can do for modding in this game

flat forum
#

Hmmmmmmpf

#

and things outside AI?

#

say, speed

#

or time it takes between attacks

rain cedar
#

That's still modifying enemy behaviour

flat forum
#

But This seems to be the thing that the Mantis Gods and NGG mods do

#

Mantis Gods makes the Lords significantly faster both in movement and time between attacks

#

and NGG makes... NGG use several attacks at once

rain cedar
#

Haven't looked at mantis gods but here you can see he's manually modifying the state machine at runtime

#

Which is pretty unrealistic without having looked at it

#

Never said you couldn't do it, just that it's hard

flat forum
#

( ._.)b

#

I had this wish of seeing what I can do with different things bosses do, but apparently the code has been made so that such things will be too hard

exotic venture
#

blame TC all right

flat forum
#

I know it's not your fault, but why isn't there like a Time-between-Attacks or Apeed Tag, it's just unfair

exotic venture
#

such is the state of the game

#

also you really shouldn't look at Hornet's AI

#

that's FSMs that spawn FSMs

#

it's a fun time all around

rain cedar
#

That's how like half the things in the game work

exotic venture
#

i don't know how it's possible that the game even works

flat forum
#

Also, What parts of the code did the Lifeblood update rework?

rain cedar
#

Just small changes, really

#

Only somewhat big thing is they've got an actual component for enemy health

flat forum
#

But didn't someone mention that enemy health isn't a constant thing a few minutes back? I think in the help channel

#

I think it was @exotic venture

#

lemme just check

exotic venture
#

uhh

#

i said it wasn't an fsm

flat forum
#

Yeah

#

my bad

#

Well

#

I have to go now

exotic venture
#

seeya!

pearl sentinel
#

Can also link my mostly done hornet rework to really freak em out

solemn rivet
#

Thanks KDT! I didn't realise that OnDestroy and OnDisable would trigger with the parent object

leaden hedge
#

magic

solemn rivet
#

that fixes almost everything tbh

#

I don't have to check for scene changed anymore, for instance

exotic venture
#

tbh wilbo needs to be online a lil more so you can show him your progress

#

cuz he's the programmer dood guy

sterile valley
#

Guys

#

Because the topic concerns both

#

I took a different artistic approach, a slightly different one, as per recommended by KDT

#

This is what the hp bar looks like now

young walrus
#

how does that look at the extremes? once it gets down to low HP, can you even see the bar behind the flourish on the side?

leaden hedge
#

most enemies except bosses take damage in 25% or more chunks

#

and bosses will probably use the big bar

sterile valley
#

@young walrus Actually there's no need because the flourish on the side is at the edge of the bar.

exotic venture
#

i mean the details on the side are nice but idk about the glow on em, seems a bit too much

sterile valley
#

The flourish doesn't cover the actual bar.

young walrus
#

so you're saying the bar stops at the red line?

leaden hedge
#

i still don't think the colour matches btw

sterile valley
leaden hedge
young walrus
#

so yeah, you can't see the last bit of the bar on that last, large dude

#

granted, you still see the bar and he's not dead

#

so you can kinda "assume" what's left

leaden hedge
#

its never going to be perfectly accurate

exotic venture
#

i'd rather think a functional bar is better than a decorated one

leaden hedge
#

its only like 50 pixels wide

sterile valley
#

@young walrus If the enemy is so low you can't see the bar then that means it's one hit from death don't you think

young walrus
#

most of the time, yes

#

but not always

exotic venture
#

weeeeelll sometimes there's enemies that have a ton of health

leaden hedge
#

theres only a few

#

goldbug

sterile valley
#

Well fuck my life

leaden hedge
#

husk sentries

#

and devouts

sterile valley
#

Time for me to go edit the bar for 10 minutes again to raise it like 5 pixels

solemn rivet
exotic venture
#

or just get a rectangular bar

solemn rivet
#

helthy bois

leaden hedge
#

also

#

don't have pure black bg

#

make it like 75% transparent

young walrus
#

^ that's a good point

sterile valley
#

@solemn rivet The bar looks better the way you made it there

solemn rivet
#

if you say so

sterile valley
#

I'll make the background 75% transparent though if I can

solemn rivet
leaden hedge
#

it can be done in engine

sterile valley
#

But for now let me suffer an insanely high amount of pain to fix the fucking corner fleurs

leaden hedge
#

you don't even need a sprite

solemn rivet
#

that's what I'm doing, KDT

#

I'm resizing the base graphics

sterile valley
#

This is where the fleurs are

young walrus
#

make it square

exotic venture
#

^

sterile valley
#

I'm going to have to resize the alpha background on the sides and resize all of the god damn layers

#

Heeeeere we go

exotic venture
#

just go with square tbh

young walrus
#

and where the red line i put is, make that the boundaries of the bar

exotic venture
#

functionality over form

young walrus
#

instead of rounded

sterile valley
#

What, make the bar smaller?

leaden hedge
#

no

exotic venture
#

no, just make it, well, a rectangle

leaden hedge
#

instead of having a rounded edge

#

make it not rounded

young walrus
#

the triangles are the flourishes

solemn rivet
#

best art

exotic venture
#

also the rounding still protrudes the flourishes

leaden hedge
#

use that at as is, as the health bar tbqh

young walrus
#

there

exotic venture
#

i mean i'm a man who likes it basic as hell and thinks that a rectangular one is best

young walrus
#

better?

hazy sentinel
#

include the white BG kthx

young walrus
#

lol

leaden hedge
#

i mean i like rectangles too

#

but if you're adamant on having art for it

solemn rivet
#

I'm editing it

#

just a sec

young walrus
#

fits the game better, imo

#

shrugs

leaden hedge
#

i'd just have a rectangle with a black border tbh, going from dark to light orange left to right

young walrus
#

lol

#

with notch marks at every 25%?

leaden hedge
#

woah

exotic venture
#

lol i mean whatever

hazy sentinel
#

🤔 🤔 🤔

leaden hedge
#

that sounds pretty good and functional

solemn rivet
exotic venture
#

if it was as big as the screen, on the bottom and the main color was red that'd be basically perfect

solemn rivet
#

zoom to see bar edges

sterile valley
#

It's not the end version yet, I'm trying my best here guys, it's been days

solemn rivet
#

it ends juuuust before the fleur

sterile valley
#

I'm gonna have little notch marks at every 25%

exotic venture
#

yeah you see

sterile valley
#

@solemn rivet Okay so I don't have to resize the bar?

exotic venture
#

now you see the issues with the glow too

#

you see lighter squares at each side

solemn rivet
#

no, I can do that myself, Niko

sterile valley
#

I'm aware of the little lighter squares and I would be very happy if someone could fix that because I'm trying

young walrus
exotic venture
#

sure i'll have a knack at it

young walrus
#

blown up view

solemn rivet
#

how's that, mick?

exotic venture
#

i can pixel decently so this should be a cinch

solemn rivet
#

I can make the ends of the bar coincide with the ends of the fleur

young walrus
#

if the black in the parts of the fleur were gone too, that'd fit in nicer.

#

like make that black transparent

solemn rivet
#

make them transparent

young walrus
#

i realize it's nitpicking

solemn rivet
#

yup

sterile valley
#

audible groan

#

sec

young walrus
#

gets feedback

#

groans

sterile valley
#

not that

solemn rivet
#

I mean, I've been bashing my head against this mod for 3 days straight

sterile valley
#

didn't groan because of the transparent thing

solemn rivet
#

this is by far the easiest part

#

I'm happy with criticism at this point

sterile valley
#

there we go

#

i groaned because i'm trying to kill the lighter square around it

solemn rivet
#

nice

#

I'll kill that

#

brb

sterile valley
#

if you guys don't mind

#

i'm going to start listening to the russian national anthem

#

while i edit this

half sierra
#

ive done it several times it helps

#

the anthem really helps

#

i also recomend the ussr anthem

leaden hedge
#

also you should make it load from files rather than resources like I did

#

so people can just easily skin it

solemn rivet
#

ehh

#

wouldn't that be harder?

leaden hedge
#

not really

exotic venture
#

i'm busy as well

hazy sentinel
#

rainbow skin hpbar hollowwoke

leaden hedge
#

instead of doing resources.load you use
www.loadimageintotexture

#

www is designed for urls but you can just put a filepath in there

exotic venture
#

okay i messed up at the top

#

hold on

solemn rivet
#

nice mystery!

leaden hedge
#

as much as I like fancy things that fit the aesthetic i'm much more of a this kinda style

solemn rivet
#

but then, wouldn't I need to package the files with the dll, KDT?

#

yeah, I like the art for your HPBar mod

leaden hedge
#

not neccessarily

sterile valley
#

a lot of people complain about that style for some reason

#

but i'm still going to add a few notches and such to indicate

#

like four notches

leaden hedge
#

you could check if sprite exists at url else load from resources

solemn rivet
#

I honestly like it better without the fleurs

#

hm...

#

also

hazy sentinel
#

nah having 900 fleurs on screen after gruz mother will look great

solemn rivet
#

any idea why the puffybois in the sewer don't like their HPbars?

leaden hedge
#

yes 10x2 = 900

#

goodest of maths

solemn rivet
#

they're the only enemy type, so far, that has that behaviour

hazy sentinel
#

u bet

leaden hedge
#

they also die in 2 hits so they basically won't even show up

solemn rivet
#

I set the bar to follow the enemy's transform.position

leaden hedge
#

probably weirdly coded

#

because they are a double state 0 hp thing

solemn rivet
#

but for the balloon guys, it's stuck to the bottom of the camera

#

oh

exotic venture
solemn rivet
#

thanks Mystery!

#

can I use that?

exotic venture
#

no wait there's still traces

#

REE

#

give me a moment

solemn rivet
exotic venture
#

i don't have an IPS panel which makes this a million times harder

#

but sure you can use it

solemn rivet
#

btw, did we decide to remove the top and bottom of the fleurs outlines?

exotic venture
#

oh yeah that's better

solemn rivet
#

@sterile valley can you use that?

sterile valley
#

give me

#

a moment

solemn rivet
#

k

exotic venture
#

glad i could contribute in some way
even though i am the one who complained about it in the first place zote

solemn rivet
#

kek

#

Mys is goodboi

#

he complain but he also help fix

exotic venture
#

also @leaden hedge i prefer your version more than anything that's coming out of this, could you make a version of the enemy hp bars with the bar you just posted?

sterile valley
#

okay now for the love of god i think it's finally good

#

let me just save it now

#

and then i'm going to try to add the notches

#

does it finally look good now

#

still need to add the notches

#

@exotic venture ?

exotic venture
#

yeah, looks much better

leaden hedge
#

if gradow wants to compile them together he can release a version with them

#

or prebundle multiple i guess hollowface

#

into the main version

sterile valley
#

now for the background and the notches

exotic venture
#

multiple variations with a select screen?

#

hell yeah

sterile valley
#

also nice simple gradient effect

#

do you think i should do that with my 'filling'

exotic venture
#

not at all

sterile valley
#

make it one solid color and add a gradient

exotic venture
#

simple shading is all you need with that

#

a gradient really wouldn't fit with it imo

sterile valley
#

alright

#

i'm adding the notches now

exotic venture
#

are you gonna do it 25/50/75 or just one at 50

#

or, idk, 33/66 if you're a rebel

sterile valley
#

25%

exotic venture
#

ok, so 3 notces

#

seems ok

#

lemme see if my pixeling skills can get some random shit going too

leaden hedge
#

the one extra thing Id want for my version is a really subtle cloud animation but thats too much effort

exotic venture
#

cloud animation?

#

you mean as it goes down?

leaden hedge
#

"cloud" is like a random render

#

look at gg xrds health bars

#

to see what I mean

#

all the health bars should have combo hp

#

I implemented it into mine

sterile valley
#

kaboom

#

and it only took me forever

#

@leaden hedge

#

ok_grimm ?

#

@exotic venture ok_grimm ?

flat forum
#

Those are amazing

exotic venture
#

huh, that's pretty decent actually

flat forum
#

What mod?

#

I want it

exotic venture
#

new mod

sterile valley
#

One that me and Gradow are working on together

exotic venture
#

enemy hp bars

sterile valley
#

Gradow is doing the codeboi part

leaden hedge
#

its a mod of a mod

sterile valley
#

I'm doing the art

flat forum
#

@exotic venture as in?

#

It looks amazing

sterile valley
#

@leaden hedge actually considering adding the boss health bars to this too

flat forum
#

You mean

sterile valley
#

but like, health bars for the boss, yes, maybe make them bigger

#

and differently colored?

#

i'm not sure

hollow pier
#

why have health bars when you oneshot everything

flat forum
#

like that HPBars mod that put a big red one at the bottom?

leaden hedge
#

yes this is a mod of that mod

flat forum
#

@hollow pier one shots everything

sterile valley
#

basically that's the mod that was modded to make this mod

flat forum
#

Also, KDT

#

I had a question about one of your mods

hollow pier
#

is it ngg

flat forum
#

No

#

But it's still broken on the beta

leaden hedge
#

correct it is

flat forum
#

The Grimm fight spawns 2 grimms

#

but the NKG fight doesn't

#

I guess it's because of changes in the code

#

I noticed they changed the bullet hell attack for one thing

exotic venture
flat forum
#

@exotic venture maybe flowing?

fringe schooner
#

does boss rush mod work with lifeblood beta or do i have to downgrade my game?

exotic venture
#

gradients?

flat forum
#

and not red-orange-green, but something more like the game colors

sterile valley
#

gradients will work good

hollow pier
#

just make the bar completely white

flat forum
#

say, yellowish to infection orange

hollow pier
#

it can go from white to off white

leaden hedge
#

tbh a white bar wouldn't even look out of place

exotic venture
#

sure, could do that

#

a white bar is probably better for this kinda thing indeed

hollow pier
#

in this modern society white bars don't look out of place kdt

flat forum
#

Well

#

won't it be a bit bland

#

just a white rectangle above the enemies

leaden hedge
#

look at your soul and hp

#

your soul is just a white circle lol

hollow pier
#

I never look at those

flat forum
#

I still think @sterile valley 's version is best

#

Well, yeah but

#

shouldn't enemies be more clearly visible?

hollow pier
#

just put text above it that says deadness: x%

vagrant leaf
#

boom perfect mod

flat forum
#

Just replace all enemy sprites with Words. A Giant Red NKG, small white TikTiks

#

Have squares called "GROUND"

solemn rivet
#

KDT if you can tell me how to make a layout selection screen, I'm sold

flat forum
#

(Don't do it please)

#

Is 56 online?

exotic venture
leaden hedge
#

look at the modding api's mod menu code

flat forum
#

@exotic venture GO EVEN FURTHER. REMOVE THE PERCENTAGE MARKS

leaden hedge
#

or rob kerrs code lol

exotic venture
#

nah i need my percentages man

leaden hedge
#

i wouldn't even have the black outline

#

just 3 white blocks

flat forum
exotic venture
#

that sounds cooler yeah

sterile valley
flat forum
sterile valley
#

I've reduced the opacity to 50%.

#

On the background.

flat forum
#

The one Niko made

#

I like it best

vagrant leaf
#

^

sterile valley
#

Thank you, I worked really hard on it taking you guys' suggestions.

leaden hedge
#

but yeah @solemn rivet i'd just ask @pearl sentinel for whatever code he borrowed from the api, it's probably closer to your goals than the mod api code

#

its already designed for settings

flat forum
#

By the way, how did you make the FPS appear?

exotic venture
#

wait it uses black

#

not the grey i picked

#

re

#

one sec

flat forum
#

The process of modding does seem interesting

#

ONLY IF I WAS ABLE TO EDIT ENEMIES

#

Still Salty About it...

exotic venture
#

as i said, it's a really fucking simple bar

flat forum
#

But...

#

Ok

leaden hedge
#

you can

#

you just need to believe

flat forum
#

Said the one that made NGG

#

Also

#

I have the code in another tab

#

And I noticed this "hme.FsmVariables.GetFsmInt("HP").Value = 3200;"

exotic venture
#

lul

flat forum
#

so

exotic venture
#

seems like someone made an update

flat forum
#

wait, someone edited this part?

leaden hedge
#

no its been like that for ages

#

you can check revision history on github

flat forum
#

Also, this

#

A bit later

#

" grimm_anim.GetClipByName("Tele In").fps = 24;"

exotic venture
flat forum
#

aren't such tags (or whatever they are) present in the base game for each enemy?

leaden hedge
#

you can use ` to make code "quotes"

#

grimm_anim.GetClipByName("Tele In").fps = 24;

flat forum
#

'test'

leaden hedge
#

no `

#

not '

exotic venture
#

meme

leaden hedge
#

and 3 will do multiline

flat forum
#

I don't think I have it on my Keyboard

exotic venture
#
``meme``
flat forum
#

?

hollow pier
#

boi

flat forum
#

Pl

#

ok

leaden hedge
#
 grimm_anim.GetClipByName("Tele In").fps = 24;
 grimm_anim.GetClipByName("Tele In").fps = 24;
 grimm_anim.GetClipByName("Tele In").fps = 24;
#

but yes every enemy has those

#

although you'll have to dump the animation list

flat forum
#

Hmmm

leaden hedge
#

and some may not work as expected

#

if the trigger isn't the animation ending, it may loop instead of ending the state early

flat forum
#

Becuase Mantis Gods seems to have edited those too and I was wondering if I can try and edit them as well

#

lemme just check for something

exotic venture
#

a really simple hp bar for your daily needs

flat forum
#

does it work for 1.3.1.5?

hollow pier
#

why is it 33 50 and 66

leaden hedge
#

its not

exotic venture
#

rE that's just an example

leaden hedge
#

its just 33 / 66

exotic venture
#

33/66 aye

hollow pier
#

it acts like a 50

exotic venture
#

wait i noticed it's off

hollow pier
#

because the colour

young walrus
#

@flat forum just assume mods aren't working on the beta branch yet

#

it's changing daily

#

not worth updating things in real time yet until it releases

flat forum
#

Also, KDT, any idea why the HP mod broke between 1.2.2.1 and 1.3.1.5

exotic venture
sterile valley
#

@exotic venture what's off

hollow pier
#

the mods aren't working but the modders are

sterile valley
#

your thing?

exotic venture
#

it's at 51 and 101px not 50 and 100px

sterile valley
flat forum
#

@young walrus maybe yes, maybe no. Look at how excited the nice people of the Discord are

hollow pier
#

nice where

young walrus
#

hpmod broke b/c health is tracked differently.

#

and it's the beta, so there's compatibility issues

exotic venture
#

yeah my thing btw

hollow pier
#

just don't play beta

young walrus
#

^

flat forum
#

But I got bored maggot

young walrus
#

so.... you played an unstable version of the game that only really adds 1 boss? it's still 99% the same game

flat forum
#

No

exotic venture
flat forum
#

the problem is

hollow pier
#

it's actually 106% the same game

flat forum
#

my computer is 32 bit

young walrus
flat forum
#

and the Lifeblood works far better

#

many of the crashes and stuff seems to be relatively fixed

young walrus
#

well you can't have your cake and eat it too. mods aren't ready for beta as a general assumption. wait until it actually releases

exotic venture
#

props to the one who can get the reference for my folder name

flat forum
#

Put a ring on it

#

is the original

#

I have no idea where it's from

#

I heard it somewhere

exotic venture
#

nah it's put a donk on it

flat forum
exotic venture
#

yeh yeh yeah dat is sik

#

can definitely drop to that one

flat forum
#

Also, this

#

Make a hydra mod that spawns 2 of each normal enemy you kill at the place it died

#

(shouldn't be way too hard, should it?)

pearl sentinel
#

2 cents on hp bar: don't have any hp bar. Have floating numbers that pop off things you hit showing damage. Make the numbers a darker color (more red or w/e) the closer to death the enemy is.

flat forum
#

Make it make Morse code sounds about the percentage

half sierra
#

but in nkg the red numbers would be pretty hard to see

sterile valley
#

@pearl sentinel ...

#

I like that idea tbh

#

How about we mix both of these ideas?

#

Floating numbers that pop off of things AND the hp bar

#

I'm guessing you're saying floating numbers like castlevania : symphony of the night?

#

the problem with that is that in hollow knight you don't usually swap weapons

#

so you'd just see the same number floating off the enemy over and over again

#

until you upgrade your nail

#

the only things that would show different numbers are the spells

pearl sentinel
#

(Shrug) I just think bars don't fit the asthetic, but some well done numbers wouldn't be too clashing

flat forum
#

Аn HP bar with numbers?

#

on it

pearl sentinel
#

Your mod tho so w/e :)

#

The floating number could sum up for back to back hits

#

That takes care of the repetition problem

sterile valley
#

that's actually a good idea