#archived-modding-development

1 messages · Page 491 of 1

vocal spire
#

As it only adds an item to the journal list with new Playerdata values, sprites, and convo strings which automatically get hooks. It takes the length of the list + 1 as part of all of the Playerdata and convo stuff so it should always return the correct value, and not another’s value

jolly oriole
#

better test it

vocal spire
#

Well can’t rn.

#

I should have probably uploaded the code here so it could be tested

#

If it does work, when I finish working on it, I’ll make my npc code more user friendly and make the first release of FrogCore or some other name for a core mod

vocal spire
languid goblet
#

does ModHooks.Instance.SlashHitHook or ModHooks.Instance.GetPlayerIntHook happen first

#

specifically, getting the int nailDamage

jolly oriole
#

you know what? i'll try to make something similar (but better ofc :^) ) SFCore, while on vacation lol

vocal spire
#

A journal helper?

jolly oriole
#

yes

vocal spire
#

Ok

jolly oriole
#

but i should finish additionalmaps first

languid goblet
#

does ModHooks.Instance.SlashHitHook or ModHooks.Instance.GetPlayerIntHook happen first
so, anyone know?

vocal spire
#

Why not do some logging to figure it out

languid goblet
#

oh

#

right

#

how do i enable like the little console in game that mods can print to?

#

i thought it was modconsole but that didn't do anything

vocal spire
#

You have read the api docs, right?

languid goblet
#

...yes?

#

i might've missed it

vocal spire
copper nacelle
#

oh i should fix that

#

kinda wrong

#
  "LoggingLevel": 2,
  "ShowDebugLogInGame": true,

in the modding api global settings

languid goblet
#

wait there's a logging section i'm so stupid

#

sorry i should really take a closer look at these things before asking

vocal spire
#

@jolly oriole it turns out my code did work with multiple entries being added

#

gonna go refine my npc code now

vocal spire
#

k done that going to add the fsm part of my JournalHelper now

vocal spire
#

turns out the last fsm modification isn't even a fsm modification

vocal spire
midnight thistle
vocal spire
#

download since it isn't on the installer yet

flat forum
#

@vocal spire how does the void spirit... work

jolly oriole
#

@vocal spire instead of

Modding.Logger.Log(string.Format("[{0}]: ", Assembly.GetExecutingAssembly().GetName().Name) + " DialogueNPC: " + o);

you can also do

using Logger = Modding.Logger; // Not neccessary, but why not
Logger.Log($"[{GetType().FullName.Replace(".", "]:[")}] - {o}");
#

and you also don't want to use GetIntInternal or SetIntInternal, as with that modhooks won't work on that field

#

but while checking the method out, i found out that for some reason, crawlers count twice in the journal

vocal spire
#

Ok

#

Yeah I found that strange too

#

Idk why I did the strange logging for DialogueNPC. I don’t remember when I added that

#

Awww now I’m making myself go fix it.....

vocal spire
#

Time to add a journal entry to uuwuu!

vocal spire
#

gonna leave lifeblood master alone because I have bigger plans for them

vocal spire
#

Nvm journal helper slightly broken. I know how to fix one issue but need more time on the other

jolly oriole
#

explain pls

vocal spire
#

First issue(the one I can fix) was me accidentally using the wrong list, causing Custom types of entries to display wrong when there are entries that haven’t been gathered yet. 2nd is journal entries not showing up despite me calling the correct methods

#

By not showing up, I mean I added them(not unlocked) then unlocked them

#

And they didn’t show up

jolly oriole
#

hm

vocal spire
#

To fix the first problem I just need to get the right list with reflection and get from that instead

#

I think I could have fixed the 2nd one because I may have used the wrong string somewhere, but I had to do stuff, and now I can’t for a while

vocal spire
#

K I can work on it again now

#

k fixed both

#

the 2nd problem was just me typing an incorrect string

vocal spire
#

I vaguely remember saying those exact words before.......

#

anyway, I went with this amalgamation of color because uuwuu turns normal, yellow, blue, and green colors during the fight

vocal spire
#

can confirm it now works with multiple mods adding custom types of entries, and entries being unlocked works

vocal spire
#

*it’s very likely no one used it

vocal spire
#

Oh FrogCore depends on Vasi and Modcommon

jolly oriole
#

vasi and modcommon
isn't vasi there to kinda replace modcommon?

vocal spire
#

I think I used something from modcommon somewhere

#

Got errors when removing using ModCommon;

#

Forgot what they were

jolly oriole
#

probably gameobject stuff, like FindGameObjectinChildren or something

vocal spire
#

Yeah

#

I think I also used GetOrAddComponent

vocal spire
#

I wish I could view hk’s code on my phone, would make modding a lot faster

fair rampart
#

hey someone, you're the only one that talks here?

vocal spire
#

Nah

fair rampart
#

i'm pretty confused tbh

vocal spire
#

Where?

dark wigeon
#

What phone do you have, someone

vocal spire
#

iPhone 7

dark wigeon
#

Rip

vocal spire
#

Oof

jolly oriole
floral furnace
#

yeah i know im not consistent

#

granted i think i did alter the soul cost for healing

#

ngl reading my source again, i wanna shoot my past self for writing this

#

like goddamn is it messy af

jolly oriole
#

same

#

i also want to shoot your past self for writing that

floral furnace
#

i dont blame you

#

like the amount of inconsistency, how some classes are singletons while the others are not

#

this is what i get for repeatedly going "oh wait wait nvm, this idea IS BETTER" for at least like 20 times over the course of it developement

jolly oriole
#

oh, you don't want to look at the source code for TestOfTeamwork

floral furnace
#

ngl you i dont expect you to write worst code than i do lmao

#

last time i told someone "wow holy shit your source code is clean" they said "what? no this is shittily written"

jolly oriole
#

yeah ok, my code is somewhat clean, but with >1700 lines in one class that can also be shitty

floral furnace
#

Blackmoth was written that way iirc

#

one class, the entire mod

jolly oriole
#

hm, i couldn't do that, as i have custom monobehaviours lol

floral furnace
#

SEE

#

you even seperated them into different folders

#

i shouldve done that ngl

jolly oriole
#

yeah, was kinda cluttered before i did that

floral furnace
#

oh this was NOT seperated like this before?

jolly oriole
#

moved them into subfolders on august 4

floral furnace
#

ahhh

#

was trying to find out what you mean by the 1700 line cs file

jolly oriole
#

oh yeah, that's the SceneChanger, where i put everything changing scenes in one file

floral furnace
#

oh yeah checking it now

#

honestly tho still cleaner than the shit i write

stoic anchor
#

where is the Hollow Piont Mod ?

#

point*

copper nacelle
#

very cool modding development question

#

unless you mean the source which grenade linked a few messages ago

mild moon
#

my friend is just drunk forget about him

vocal spire
#

Nice

shell moon
#

feasibility of adding Revek to constantly attack you throughout P5?

tawny onyx
#

of course, you can see HKTwitch source code

jolly jungle
#

Can someone explain the second pinned message? Sawyer's table

#

Is that a mapping of which unity layers can detect collision with each other?

floral furnace
#

pretty much

jolly jungle
#

Great

#

Honestly it means nothing to me right now I just wanted to make sure I understand it

vocal spire
#

I have good mod idea. I make mod idea reality now

weak lodge
#

hey can you make a mod for me that restores hallown--

flat forum
#

and you play as the plae knig adnd there's leik 100 new NPCs and yuo meet the 5 grate nkights

weak lodge
#

5 great knights 🥴

languid goblet
#

and you play as the plae knig adnd there's leik 100 new NPCs and yuo meet the 5 grate nkights
is that a pale court leak?

jolly oriole
#

Yeah, they're currently at NPC 73

vocal spire
#

Wow only 100?

#

And only 5 grate nkights?

languid goblet
#

no recreation of battle of the blackwyrm i riot

shadow dagger
#

what do you MEAN the modders aren't creating an entirely new game with new assets, rooms, characters, lore, custsc--

jolly oriole
#

new assets: done
new rooms: done
new characters: ig also done
new lore: maybe
new cutscenes: no

languid goblet
#

what if the cutscene is just a screen recording of moving around images in google slides

vocal spire
#

I’m thinking of another mod idea. Involves the radiance and dreamers. Lot of cutscene stuff

sage holly
#

is somebody talking about pale court

jolly oriole
#

nah

#

just shitposting about it

sage holly
#

oh

viral snow
#

new lore: maybe
_ _

jolly oriole
#

_ _
_ _

jovial tangle
#

What about mod, that allows to skip animation in Hall of Gods for quicker practice

vocal spire
#

@jovial tangle Qol mod. It depends on the Vasi mod being installed

flat forum
#

how do the watcher knights trigger their waking up thing

#

/can you force wake up all of them at once

jolly oriole
#

Afaik that was tried, but the bosscontroller is coded so that only 2 are awake at a time i think

vocal spire
#

That’s easy to do

#

I made only one wake up before

#

Editing the fsm to make all of them wake up should be extremely easy

jolly oriole
#

whoever tried that before said that the hard part was that the bosscontroller thought the fight was over, when only the 5th (6th?) watcher knight was killed

vocal spire
#

Probably something with the chandelier

#

I’ll finally make the watcher hoard mod soon then

sage holly
#

how do I make a still sprite sway like the grass in queen's garden, but from the ceiling instead of the floor?

vocal spire
#

Probably just copy and paste

#

Also pale court spoilers?

#

Upside down mode?

#

Defy gravity?

#

If pale court doesn’t defy gravity then I will

sage holly
#

lol

#

I want to figure out the script itself

#

because I have very thight room to work with utiny ripper

#

and therefore would like to avoid using it

#

also, I just want to make the same effect but in a different element, not copy the element

vocal spire
#

Ok

sage holly
#

already tried copying the script alone, but no good results

vocal spire
#

I think I heard it was a shader

#

What was the script?

#

Probably a null reference somewhere

sage holly
#

the only difference between the swaying grass and a still sprite was the script

vocal spire
#

What was it?

#

You are saying copy and pasting the code of a script, right?

sage holly
#

yes

vocal spire
#

Ok

#

Probably a null reference then

sage holly
#

I could be wrong though, I'm not an expert; this is just but what I think I've figured out

vocal spire
#

Ok

#

Can you send the code here?

#

I can’t do it on pc rn because I have region band soon

sage holly
#

hold on, looking for it

#

for reference, it's the object simple_grass_nocut

#

in level 220

#

fungus 3_40

#

(queen's garden stag statiom)

jolly oriole
#

swaying grass is made using a shader

sage holly
#

oh

jolly oriole
#

let me try if it works upside down

sage holly
#

so if I want make an object sway like that but upside down (ceiling) how must I put the shader?

vocal spire
#

Probably just leave it

#

(Yay I was right)

jolly oriole
#

for upside down, use the shader in the same way the original does, just rotate the sprite gameobject by 180° Z

vocal spire
#

But will pale court go upside down

#

I must know this before I devote my existence to doing it

jolly oriole
#

it does also work with no rotation, but then you have to adjust the Height Offset option of the shader to something negative (with the original sprite it would be like -2 to -3 or something)

vocal spire
#

Actually it doesn’t sound that hard to make the hero upside down

#

Just change the gravity to - of what it was, then change the hero’s size

jolly oriole
#

just change the Y scale to -1

vocal spire
#

Yeah

#

But don’t you also need to set the gravity of the rigid body?

#

Gtg

jolly oriole
#

oh, don't know if that works with the movement options

#

should just work with just the scale changed

vocal spire
#

Ok

jolly oriole
#

can't test it rn tho, playing among us

vocal spire
#

Well expect a new mod as soon as I finish playing my music for region

sage holly
#

so I need to rotate the sprite as well so it doesnt look upsdown right?

#

and no, no upside down mode will be added to pale court, this is for an specific aestheitc

jolly oriole
#

uh, depends on the sprite you have, but possibly yea

sage holly
#

ok, I'll make some experiments later

vocal spire
#

I feel like region went well!

#

Anyway prepare for the new mod call mod upside down mod

sage holly
#

cool

vocal spire
#

I feel like the gravity knight mod should have something extra....

#

What do y’all think of having a focus like thing for the quick cast key(yes I know I’m contradicting the point of that key) but it changes gravity

jolly oriole
#

sometimes you have to think with portals wait, wrong thing

vocal spire
#

Takes 66 soul

#

?

#

Why are we bringing portal into this

#

I wouldn’t mind portal in hk but why

#

Oh lol

jolly oriole
#

wait, no that i think about it, VVVVVVV fits more lol

vocal spire
#

?

jolly oriole
#

the game where you flip gravity

vocal spire
#

K

#

time to start programming the new no clip

dusk ibex
#

@vocal spire, what do you think of cyber knight so far?

vocal spire
#

Cool

vocal spire
#

already have my fsm edits planned

#

will people be mad if I make the vengeful spirit on quick cast one fsm state late?

jolly oriole
#

definetly /s

vocal spire
#

k well they will just be mad

#

bc I dont want it to be togglable with a charm because that will make everything another state later

#

I mean I COULD just change the fsm transition but... actually that sounds easy

#

k thanks

vocal spire
#

can confirm you also need to set the gravity

jolly oriole
#

and the jumping works like it should?

vocal spire
#

I'll stream it

#

general 1

jolly oriole
#

1 sec

vocal spire
#

k

#

I probably also need to set the velocity stuff too

#

also gonna make it cost soul now

#

I should probably add a check for that

jolly oriole
#

but looks nice already

vocal spire
#

ok

#

thanks

#

I'm not gonna make it cost soul yet because I should probably make sure gravity works first

#

hk clearly was not made with - gravity in mind

jolly oriole
#

idk if it's possible, but you could try to get some late update hook and just set the y velocity to -y nvm

vocal spire
#

It’s really weird because - gravity doesn’t seem to work well

#

Still pretty cool to mess with though

vocal spire
#

don't feel like staying up to upload source again. Charm explains most of the mod in it's description, the rest I can explain, but is easier to see and experience

jolly oriole
#

whatever you did, i'm invisible and fall right through the floor

vocal spire
#

I don't think I made the knight invisible.......

#

what

#

what happened

#

what did I do

#

I didn't do anything

#

what

#

ok I think I know what happened

jolly oriole
#

my guess is something in the herocontroller start hook died

vocal spire
#

nah

#

charm update apparantly comes before hc start

#

just needed to add an if to setting the size in charm update

flat forum
#

what's this?

vocal spire
#

charm best explains it

#

also using it best explains it

sage holly
#

so turns out the grass swaying shader is a custom hollow knight shader

#

which is to say, not a default unity one

vocal spire
#

just do it in code

#

*have one of the pale court programmers do it in code

sage holly
#

mmmmm

#

@jolly oriole what do you say?

jolly oriole
#

i mean, you could rip the shader from the game files (probably with UABE or utinyripper), but that would require one assetbundle for each platform (so windows, linux, mac) with the compiled shader, or one does it in code, which would require a codebase that allows for that

sage holly
#

which is to say, too complicated, right

vocal spire
#

can't you just copy the shader from somewhere else in code?

jolly oriole
#

yeah, but idk how the pale court code looks like, as in, how difficult it is to do something like that (and making the shader from scratch is better as it doesn't need a preload scene slot, i've been told that the modding api can only preload a certain number of scenes)

#

but not too complicated

vocal spire
#

wait what

#

oh no we are going to die now

#

the modding api is limited help I am in pain

#

also help I am in pain copying a SpawnObjectFromGlobalPoolOverTime from grimm to watcher knights isn't working

flat forum
#

do I gotta download the mod to understand what it does

vocal spire
#

?

#

yes

flat forum
#

sad

vocal spire
#

or look at me and grenade's conversations before it

flat forum
#

I will when I gethome

sage holly
#

ok internet back

vocal spire
#

yay

sage holly
#

we can just not get complicated with that, it was just for a fancy little detail anyways

solemn eagle
#

Okay so I'm tryna make a mod to give Nosk a nose

#

I've edited the spritesheet but have no idea where to go now

vocal spire
#

Program a mod to replace the spritesheet

solemn eagle
#

Rrright, yeah...

jolly oriole
solemn eagle
#

Oh, how delightful

vocal spire
#

borrowing more like replacing the spritesheet and a single string....

zealous basin
#

im at the stage "Loading assetbundle into Hollow Knight" of adding my textures, ive done the compile and build stuff inside unity, however im sure what to do now

#

im basically doing something similar of what akino is doing

#

if i open my .csproj file of the project, it appears blank.

young walrus
#

why not just use customknight

#

and load the sprite sheets that way

zealous basin
#

hmmm

young walrus
#

what are you changing

zealous basin
#

a bosses sprite

#

specifically false knights, for now

copper nacelle
#

wdym your csproj is blank

#

like it's literally an empty file?

zealous basin
#

well i open it in visual studio and theres nothing

#

i might of not done something specific in a previous segment perhaps

#

thats probably it

copper nacelle
#

show

zealous basin
copper nacelle
#

ah

#

don't do that

#

open the sln

zealous basin
#

ah

#

ty

#

hmm

#

again its empty

#

but in unity, my actual scene is empty too, and the only thing ive changed is assets. so that might make sense

#

im tired for now, and ive made enough progress to call it a day. ill come back to it tommorow. thanks for the help 🙂

copper nacelle
#

this is for a mod yeah?

#

You don't open the unity solution

#

Or at least most people don't use the same solution

#

You just use unity as a budget asset bundle creator

#

I think Nickc01 actually does stuff in unity fwiw

vocal spire
#

So I’m using a custom scene for a boss mod. I use the statue, and it stays white for a while, then I go back to the statue as if I had lost. My logging says that the objects in the scene have loaded properly, so what’s wrong? I think that the scene might be loading but the white doesn’t fade away. Does anyone know how to fix this?

copper nacelle
#

send blanker down

sage holly
#

is people figuring out how to change backgrounds? NICE

#

@jolly oriole did you figured out how to implement our thing, looking how you're messing with the title screen background?

jolly oriole
#

i'm still trying to get this shit darker

sage holly
#

ok

#

damm

#

indeed shiniie

jolly oriole
#

and

cameraCurves.redChannel = new AnimationCurve();
cameraCurves.redChannel.AddKey(new Keyframe(0f, 0f));
cameraCurves.redChannel.AddKey(new Keyframe(1f, 0.5f));

also doesn't work

sage holly
#

was thinking, can a shadow be added behind the letters?

#

or at least behind the one being selected?

jolly oriole
#

you technically can completely replace the logo

#

oh wait, you mean the option thingies

#

idk

sage holly
#

yes

jolly oriole
#

for some reason i can't get the camera to use the provided curves

glass thorn
#

I've noticed while using the LanguageGetHook that the game seems to cache some lookups for the sheet "Map Zones" - for example, if you open the map multiple times, the first time it calls the hook for every area name, but later times do not. Anyone know why this happens or how to fix/work around it?

jolly oriole
#

update: that obv didn't work, but the color correction stuff also has no impact

jolly oriole
#

managed to make it have impact

vocal spire
#

Huh

#

Definitely managed to make a impact tho

jolly oriole
vocal spire
#

Menu theme helper?

#

Coming soon?

jolly oriole
#

i could upload it rn, but i also could add something else

vocal spire
#

Adding something else seems to be the thing you will most likely do

jolly oriole
#

especially when it involves that logo sprite, which can be changed dynamically

vocal spire
#

Ok

#

Also how do I camera animation curve what is a camera curve animation curve

jolly oriole
#

optional, but

var cameraCurves = new MenuStyles.MenuStyle.CameraCurves();
cameraCurves.saturation = 1.25f;
cameraCurves.redChannel = new AnimationCurve();
cameraCurves.redChannel.AddKey(new Keyframe(0f, 0f));
cameraCurves.redChannel.AddKey(new Keyframe(1f, 1f));
cameraCurves.greenChannel = new AnimationCurve();
cameraCurves.greenChannel.AddKey(new Keyframe(0f, 0f));
cameraCurves.greenChannel.AddKey(new Keyframe(1f, 1f));
cameraCurves.blueChannel = new AnimationCurve();
cameraCurves.blueChannel.AddKey(new Keyframe(0f, 0f));
cameraCurves.blueChannel.AddKey(new Keyframe(1f, 1f));
vocal spire
#

Can I ask what AddKey does?

vocal spire
#

Ok

#

Is it ok that I don’t know what that is

jolly oriole
#

yea

vocal spire
#

K

jolly oriole
#

basically it's just

Input Color: (R: 0.0 - 1.0, G: 0.0 - 1.0, B: 0.0 - 1.0)
Color Correction Curve: Normal (so from [0, 0] to [1, 1], per color) or something different
Output Color: Color Correction Curve Value at Input Color point
vocal spire
#

Ok I think I sort of get it

jolly oriole
copper nacelle
#

if you need to run before initialize just use the constructor bro

jolly oriole
#

nah, too ez

copper nacelle
jolly oriole
#

in the end it worked with the code in the initialize method

languid goblet
#

change the logo to hollow knight silksong to prank people

jolly oriole
#

that's rad, do you happen to have a somewhat HQ version of a logo?

jolly oriole
#

can pr once i'm home

vocal spire
#

yay

#

Now we won’t have nightmares

#

HELP MY JACKET DOESNT PROTECT MY HANDS AND ITS COLD

copper nacelle
#

it does get unloaded though

#

loading a non-additive scene forces an unload of every other scene

vocal spire
#

dramatic sound effects

copper nacelle
#

I thought similarly on the number of scenes thing but doing an explicit unload didn't actually change anything

#

which happens at 447

vocal spire
#

So what puts the limit on scenes then?

jolly oriole
#

or where would the single be?

#

oh, probably when without the second param

copper nacelle
#

oh ig

#

it didn't really make a difference when i tried it though

#

but it's probably a good idea to have

languid goblet
#

that's rad, do you happen to have a somewhat HQ version of a logo?
@jolly oriole

#

from google lol

jolly oriole
#

Thx

jolly oriole
#

it crashed, nice

#

apparently it wasn't difficult for unity to load those 494 scenes, but apparently it broke down when fetching the gameobjects

jolly oriole
#

got it working

#

but imma eat now

vocal spire
#

Guess it’s from loading too many gameobjects then

#

Is it?

jolly oriole
#

was wrong, it was because of loading the scenes

vocal spire
#

I’m so confused rn

jolly oriole
vocal spire
#

So there is no way to fix it?

jolly oriole
#

changed the loading a bit so it fetches the gameobjects per scene, with only one scene loaded at a time, maybe increases loading time but decreases vram usage

vocal spire
#

Ok

#

A bit better

jolly oriole
#

it went from 1.5 GB (starting the game) to ~600 MB (at some point during preloading) to idk how much vram usage (menu screen)

vocal spire
#

Well that’s a lot

#

What do y’all think of a save fixing mod? Since so many mods change saves and sometimes break them, instead of save editing the save, imagine a mod returning all the boss statues to normal. Fixing grimmchild. Fixing less journal entries than the one previously selected

jolly oriole
#

but i may or may not tried loading 494 scenes (or at least the _SceneManager GOs in them, if present), out of which 473 actually had one of those

copper nacelle
#

but it's so much slower

#

it used to be serial

#

at that point doing an unload explicitly is going to keep the vram benefits with less of a speed impact

jolly oriole
#

although you may want to move the unload after the progress++;, as the progressbar isn't full when the game goes to the menu screen

#

what i should've tried before, but simultaneously loading the scenemanagers from a bit less than 150 scenes is slower than serialized loading them from those nearly 500

copper nacelle
#

i mean i'll merge it but updating the actual dll is so much effort

jolly oriole
#

just the unload is also probably better, as i now see that some things are broken when doing the serial version

#

namely: stuff that works when preloads are present

jolly oriole
#

btw, while i look at this i wondered why you guys use the OnScreenDebugInfo class to load mods, instead of the StartManager, which would allow mods to hook into GameManager.Awake

#

oh, would also circumvent GameManager from existing until the main menu is loaded

vocal spire
#

Anyone want to do a big holloween collab to make a trick or treat hunt mod?

#

A bunch of rooms have candy in them, and the knight needs to get all the candy to get some king of spell upgrade(or something) from a rogue member of the Grimm troupe. In each room with candy, there will be a challenge(ex: ghosts fighting you, the floor is lava after collecting the candy, anything). There were just my ideas. If we do end up doing it, they probably will be changed

jolly jungle
#

wait how odes one change the logo

#

that sounds useful for certain purposes

vocal spire
#

GameObject.Find then change the sprite with another one(assuming it’s a SpriteRenderer)

jolly oriole
#

Or wait a bit for me to implement that in sfcore

jolly oriole
#

you know what would be amazing?
possibly breaking every mod by changing when a mod is being initialized

vocal spire
#

:0

#

No way

#

Impossible

#

Bruh

#

:0

#

Sounds illegal to me

jolly oriole
#

oh boy, that is an output log

jolly oriole
#

so i got batch preloading working

jolly oriole
#

if you want to look at this tiny modlog with debug information for the batch loading

heady oyster
#

im trying to make a mod where the character can fly, but im encountering a problem trying to make it so that the character can focus while in midair, does anyone have any ideas?

upbeat saddle
#

man do i love this channel

heady oyster
#

i used dnSpy to find a canFocus method in herocontroller, but I cant find where it is called

jolly oriole
#

probably called in some playmaker fsm

unborn flicker
#

There's a Spell Control fsm in Knight Pickup that is responsible for focus.

vocal spire
#

Oh I made a mod for going upside down

shy garden
#

Oh I made a mod for going upside down
@vocal spire australia mode

jolly oriole
#

the loading bar for preloads dissapeared, trying to fix

jolly oriole
#

@copper nacelle idk if you know that, but is some camera needed to display the preload progress bar? (as in, would the modinstaller really need to load Menu_Title just to display the loading bar?)

#

workaround aquired

vocal spire
#

Yay

jolly oriole
vocal spire
#

Don’t you just hate it when you log a bunch of stuff to fix one error, fix the error, delete the logging, and it still logs?

copper nacelle
#

this ain't it

jolly oriole
#

then just copy the newer mod to the mods folder or don't compile while the game is running

vocal spire
#

I did that and I still can’t find where I have the Logging

copper nacelle
#

any grep

vocal spire
#

Also I found out the most likely reason my custom boss scene wasn’t working. Forgot to preload a scenemanager and boss scene controller and put them in my scene

jolly oriole
vocal spire
#

I want to know this too

copper nacelle
#

yeah

jolly oriole
#

oh god oh fuck

private (string, GameObject, int, string, string[], MenuStyles.MenuStyle.CameraCurves, AudioMixerSnapshot) AddMenuStyleCallback(MenuStyles self)
{}
copper nacelle
#

have you heard of naming your outputs

jolly oriole
#

in the sense of a struct or what

jolly oriole
#

done

jolly oriole
vocal spire
#

Awesome

copper nacelle
#

sick

#

but I meant you can name tuple items

#

(string name, int index) type beat

jolly oriole
copper nacelle
#

ah

jolly oriole
#

never used those things before

#

now i only need to figure out how to make my own AudioMixerSnapshots, or if that's even possible

vocal spire
#

Assetbundle them?

jolly oriole
#

but how to create them?

vocal spire
#

Idk

#

Look it up?

jolly oriole
#

already did, a snapshot has a normal mixer behind it, with possibly some float exposed, but you can't look those up, and UABE doesn't want to show how a snapshot is structured, so i basically have to brute force the float names

jolly oriole
#

fuck this

vocal spire
#

F

#

What pc specs would y’all recommend for modding?

#

My current pc is pretty bad, so I have been using a family member’s for modding, but I want to get a better pc for myself that I can always use.

jolly oriole
#

wait till december for possibly all amd ryzen 5000 cpu + radeon 6000 gpu would be my recommendation

vocal spire
#

Ok

jolly oriole
#

wait, idk when ryzen 5000 is being released

vocal spire
#

How much would that cost?

jolly oriole
#

moving it to dms

vocal spire
#

K

vocal spire
#

not exactly modding related, but does somebody know why malwarebytes could possibly be detecting an app I made in visual studio only when it has a custom icon?

dark wigeon
#

I'm a bit late again but snapshot values are stored in the audiomixer for built games, and uabe does show the format

#

Snapshot name buffer will have a null term list I think

jolly oriole
#

couldn't find the audiomixer with uabe
and my uabe says "unrecognized asset format" or something for the snapshots

dark wigeon
#

Hmm try with assetsview then

#

I have a modded uabe so 🤷‍♂️

jolly oriole
#

uh, which file would the mixer be in?

dark wigeon
#

resources.assets?

jolly oriole
#

wait, i can just open file with dependencies

dark wigeon
#

Could be in individual shared assets as well

#

Yeah you can

#

Make sure you don't load in scene path mode

jolly oriole
#

ok

supple sedge
#

hi, so im trying to reset the size of enemy bullets by just setting the localscale of the transform. This works fine for most things, you can get hit by them and stuff. However, the bullets arent destroyed on collision, so should i destroy them on the code and if so how?

jolly oriole
#

@dark wigeon do you mind telling me how you modded uabe?

dark wigeon
#

🤔

#

Quick patches?

#

Although it would be really hard to implement unity 2020 support that way so I'm just waiting

#

Also the mono type tree exporter is modded too but that one's on c#

jolly oriole
#

hm

vocal spire
#

I'm about to go look, but does anyone know a way for me to create some of the modding api's globlasettings files in a different program? I know how to create a program that writes text files, but how do I write them in the same json format?

jolly oriole
#

any json editor should be enough

vocal spire
#

ok

jolly oriole
#

ok, it's official, the issue was never the audiomixersnapshots, although now i know how i get whatever one i need, but the issue was a missing audio source in the radiant style...

#

snapshot 14 ("Normal - Gramaphone") is my favourite

vocal spire
#

help my ears have been snapped by audio shots

jolly oriole
#

scam, xbox one and ps4 get exclusive title screen logo

vocal spire
#

?

#

Anyway, cool how do I make a cool animation like that

supple sedge
#

is there a hook for when the player uses a spell?

unborn flicker
#

No, that's handled by the Spell Control fsm.

supple sedge
#

ok

jolly oriole
#

that's a feature, for the poeple how already forgot he update hook existed

jolly oriole
languid goblet
#

lmao

vocal spire
#

Ah, what a great mod name with such an illegal title. Get hollow point and it’s legal again

#

Testing Stuff

#

Tbh I can’t think of a better one tho

inner hare
#

FORTNITE

jolly jungle
#

How does one use the PlaymakerFSM Viewer?

jolly oriole
#

start it, click top left load scene, select whatever scene you want to look at, select the gameobject with the fsm you want to look at, done

jolly jungle
#

Where am supposed to put it though?

jolly oriole
#

the fsmviewer is a standalone application, put it anywhere you remember

jolly jungle
#

And all I need to download is the actual Viewer right? No need for the source code

#

the fsmviewer is a standalone application, put it anywhere you remember
thanks

jolly oriole
#

ye

jolly jungle
#

Is there any problem placing files within the Hollow Knight folder

#

?

#

(under steamapps>common)

jolly oriole
#

you probably shouldn't do that

jolly jungle
#

Oh ok

#

I did "open file", and, well, it closed and nothing happened

#

open scene list does the same

jolly oriole
#

hm, maybe @dark wigeon can help

jolly jungle
#

That's the creator, right?

jolly oriole
#

yea

jolly jungle
#

Welp seems like I'll need to wait a while, I'll check later for an answer I suppose

#

In the meantime

#

Anyway to see what's in a mod?

jolly oriole
jolly jungle
#

Hm

#

This is used to look at the game, mainly, but can be used to look at mods too?

copper nacelle
#

any open source

jolly jungle
#

Yeah I see that now

#

Thanks @jolly oriole

#

Alright so um
this is kind of a stupid question

#

but

vocal spire
#

Ok

jolly jungle
#

can someone explain "hooks"?

#

like, I have the page open in front of me

vocal spire
#

Make code happen when the hook happens

#

The

#

End

jolly jungle
#

ah

#

So, they're.. used a lot?

vocal spire
#

Yeah

#

Hooks are called from the newest hook to the hook to the oldest

#

I think

jolly jungle
#

what does that mean?

#

Also

#

I'm reading the first one in the list

#

"SetPlayerBool"

#

desc.

This code can be used to check when certain events happen in game such as obtaining a charm by checking if target == "gotCharm_X" where X is the id of the charm

#

now, above it is a line public void PlayerBoolSet( string target, bool val )

#

and the whole section starts with ModHooks.Instance.SetPlayerBoolHook += PlayerBoolSet

#

So

#

if I understood correctly

#

and the whole section starts with ModHooks.Instance.SetPlayerBoolHook += PlayerBoolSet
this
makes the SetPlayerBool track PlayerBoolSet

#

yes or no?

vocal spire
#

Yes

#

It will make your code in PlayerBoolSet occur before any code in the rest of the hook

#

Anything hooked after your hook will come before your hook, and so on

jolly jungle
#

alright the only thing I understood is "yes"

#

can you explain it a bit more in detail?

#

like, any new hook will have order priority, I understood

#

but where are hooks created?

unborn flicker
#

First, the original code runs on target and produces val. Then the first added hook runs on the original target and val to produce a new val which is passed to second added hook along with target, and so on.

jolly jungle
#

woah um

unborn flicker
#

In the case of GetPlayerBool, the final hook determines which value is retrieved.

jolly jungle
#

I must've missed something earlier on

unborn flicker
#

In the case of SetPlayerBool, the final hook determines which value is set.

jolly jungle
#

lets say I set no hooks

#

when would playerboolset be called?

vocal spire
#

Never

#

that is your method, right?

#

ModHooks.Instance.SetPlayerBoolHook += PlayerBoolSet in initialize will do the hook

jolly jungle
#

ah

#

I see now

vocal spire
#

Without hooks or on, you can’t really do much

jolly jungle
#

playerboolset is basically the "MyCodeThatRunsWhenPlayerDataBoolsAreSet" that's in the page's beginning

vocal spire
#

Yes

jolly jungle
#

So what triggers the hook?

vocal spire
#

When SetBool is called in Playerdata I think

unborn flicker
#

The hook is inserted into the original code by the Modding API.

jolly jungle
#

Hm

#

So, I insert it wherever I want it?

vocal spire
#

Wdym

jolly jungle
#

It'll be easier giving examples

#

Ca you give an example of a hook, a method called by it, a place to use the hook, etc.?

vocal spire
#

Bruh

jolly jungle
#

please?

vocal spire
#

Well

#

I don’t get exactly what you want

jolly jungle
#

Like, take this example

#

This code can be used to check when certain events happen in game such as obtaining a charm by checking if target == "gotCharm_X" where X is the id of the charm

vocal spire
#

Yeah?

jolly jungle
#

Can you take this example and detail it?

vocal spire
#

I’m not on pc rn but I’ll try

#

Define detail it tho

jolly jungle
#

Alright so

dark wigeon
#

Wat

#

Ping pong

vocal spire
#

Ok

#

U talking about tk2d animations or something else?

supple sedge
#

look at 56´s video tutorial, he has some hook examples that really helped me

dark wigeon
#

Fsmviewer broke?

jolly jungle
#

public void PlayerBoolSet( string target, bool val )

would simply be the method called, correct? this wont have to do with triggering it and all, inside this I just write what will happen

vocal spire
#

Yes

jolly jungle
#

Fsmviewer broke?
I'm not sure, but I think so

dark wigeon
#

Os?

jolly jungle
#

Yes
yes to what?

dark wigeon
#

That was autocorrect

jolly jungle
#

Os?
windows?

dark wigeon
#

Ok and it instantly crashes on file open?

vocal spire
#

yes to what?
@jolly jungle the first question in the message above that message

jolly jungle
#

yup

#

simply closes

#

the first question in the message above that message
@vocal spire alright that's a good start for me

dark wigeon
#

Did you extract the zip

#

The only thing that happens before the open file dialog is the cldb read code

vocal spire
#

ModHooks.Instance.SetPlayerBoolHook += PlayerBoolSet at its most basic form of explanation calls your code when the hook is called

jolly jungle
#

So this

ModHooks.Instance.SetPlayerBoolHook += PlayerBoolSet
is setting the hook. Now, where would one place this?

vocal spire
#

I already told you

jolly jungle
#

Did you extract the zip
I'm pretty sure I ran it from in the zip

#

should I not do that?

vocal spire
#

Bruh

supple sedge
#

no

jolly jungle
#

whoops

vocal spire
#

Not how files work...

dark wigeon
#

Yeah as I figured

jolly jungle
#

thanks

supple sedge
#

lol

jolly jungle
#

aw damnit i need to go now

vocal spire
#

Awww

#

I was gonna ask you to try adding a journal entry

jolly jungle
#

I'll need to continue being educated some other time

vocal spire
#

And rate your experience making one

#

specifically with frogcore’s journal helper

supple sedge
#

look at 56´s video tutorial its really helpful

vocal spire
#

Anyway, I’m making CustomKnight+ more user friendly to compensate for the needless extensions on the release of it

#

I could have released it weeks ago

#

Not user friendly at all in it’s current state

jolly jungle
#

I was gonna ask you to try adding a journal entry
And I was gonna ask how to do that
eventually

vocal spire
#

lol

#

In advance, get frogcore

jolly jungle
#

look at 56´s video tutorial its really helpful
Heh, I tried, it's too fast for me

#

In advance, get frogcore
where and how

vocal spire
#

Look in the releases

#

Use manually install mods in the mod installer

#

Also don’t download the source

jolly jungle
#

I'm supposing its a kind of central thing for certain things that can be made easilyer with it?

vocal spire
#

A library

#

Basically another modcommon, seanprcore, Vasi, and SFCore

jolly jungle
#

Use manually install mods in the mod installer
is that option for mods that arent on the installer's list?

vocal spire
#

Yes

#

Next to revert to vanilla

jolly jungle
#

Basically another modcommon, seanprcore, Vasi, and SFCore
why dont you all just make one single core?

vocal spire
#

Bruh

#

We all have different ways of doing stuff

#

Also bruh to me for defending that

#

Modcommon has a bunch of stuff no one uses

jolly jungle
#

but like, wouldn't one single thing be better?

vocal spire
#

Yes but

#

It would need to update for every small thing

jolly jungle
#

I mean at this point it might not be a good idea

jolly oriole
#

one has an idea to make things easier, implements in their own thing to not clutter other things and things went on from there

vocal spire
#

Yeah

#

Ups and downs to either way

jolly jungle
#

and how do you make sure they dont do conflicting things?

jolly oriole
#

yes

vocal spire
#

Also it’s each developer’s personal library

#

Well that’s the point of multiple

jolly jungle
#

also can a mod use multiple?

jolly oriole
#

yes

vocal spire
#

Yes

jolly jungle
#

oh good

vocal spire
#

You just add them as references

jolly jungle
#

anyways I'll be going now

vocal spire
#

Goodbye

jolly oriole
#

for example: SFCore needs ModCommon to function

jolly jungle
#

I'll continue my demonstration of my vast ignorance some other day

vocal spire
#

FrogCore needs modcommon and Vasi to function

jolly jungle
#

Ciao

#

Good luck with everything

vocal spire
#

I wonder when I’ll make a shop npc monobehavior

#

To go with my dialogue npc one

#

Should I make one?

jolly oriole
#

ye

vocal spire
#

Ok

#

Will work on it after I finish my CustomKnightPlusCreator application and port it to Mac and Linux

#

Gonna require a lot, but it’ll be worth it in the end

#

the encouragement for each mod I make

jolly oriole
#

not neccessarily requires a lot, just instantiate some GameObjects, maybe change some fsm variables, change some monobehaviour stuff, and done

vocal spire
#

Yeah

#

There is already a shop monobehavior I think

#

To go with the fsm

jolly oriole
#

yea

vocal spire
#

So I can just use reflection on that to get the private stuff I need(from my memory) then just bend that to my will

languid goblet
#

would i need fsmviewer and stuff to actually learn more about the game's code

jolly oriole
#

probably

vocal spire
#

Are you wanting fsms or code

languid goblet
#

because i can use ilspy to figure out variable names but idk what values do what

vocal spire
#

Fsms are a good portion of the game’s code

jolly oriole
#

fsm is glorified code

languid goblet
#

oh

#

yeah i don't think there's an fsmviewer for mac

vocal spire
#

Bruh

#

Run it with mono or wine

languid goblet
#

one more reason to get a windows as soon as i can

#

catalina dropped support for 32 bit

#

so i can't use mono/wine

#

or even play portal 2 apparently

supple sedge
#

so looking at hellmod´s source there is an unload method, why is that necessary?

vocal spire
#

In game toggling

jolly oriole
#

some mods support that

supple sedge
#

ahh ok like in the menu

vocal spire
#

Yeah

supple sedge
vocal spire
#

The class needs to diver from ITogglableMod

dark wigeon
#

Fsmview won't work with mono only wine

#

Avalonia port was lost somewhere

#

Probably on my old hdd

supple sedge
#

what fsm can i use to detect when the player uses vengful spirit?

vocal spire
#

SpellControl

#

Just search knight in fsm viewer

supple sedge
#

found it thank you

#

is there a better way to call a method when the fsm is in a specific state than just checking if its in that state every frame in a hero update hook?

vocal spire
#

Wait what

#

You are checking every frame?

#

You ever heard of modcommon or Vasi

supple sedge
#

yeah but idk what they do

vocal spire
#

They each have a version of Fsm utility

#

Look in the apidocs fsm section for how to use modcommon’s

#

You can insert/add your method into the state

#

Modcommon has the methods directly in the fsm, while Vasi requires using getstate then you can use all the normal stuff

supple sedge
#

you mean with fsm.InsertAction?

#

oh wait now i get it

vocal spire
#

fsm.insertmethod or fsm.addmethod

#

Addmethod doesn’t require a action index

#

Just adds it to the end

supple sedge
#

can i do addmethod in initialize?

vocal spire
#

Bruh

#

Do

#

You

#

Think the knight exists then

#

On.HeroController.Start is a good hook for that

supple sedge
#

oh yeah sorry zotewheeze

#

im not very smart

vocal spire
#

Just make sure to do orig(self); at the end of your code in the hook

#

It will also give you a HeroController so you don’t have to do HeroController.instance.GameObject, just self.GameObject

supple sedge
#

cool

vocal spire
#

If you don’t do orig tho, HeroController will actually just die

supple sedge
#

bruh

supple sedge
#

so im using herocontroller.start hook and everything works fine until i put fsm.InsertMethod("Fireball 2",0,() => Log("used fire")); then the entire method just stopped working, am i misusing InsertMethod? Also sorry for the many questions zotewheeze

floral furnace
#

shouldnt insertmethod's index be the 3rd parameter input

#

oh my bad im thinking insertaction nvm

#

try adding a try/catch to it and log that

supple sedge
#

ok

jolly oriole
#

i'm not that into c#, but maybe it doesn't like lambdas

#

although unlikely

floral furnace
#

i think you have to specify that its a new action object?

vocal spire
#

Recently some of my fsm code had a null reference exception randomly out of nowhere

#

I had to rewrite some code for it

cinder rivet
#

Anyway, I’m making CustomKnight+ more user friendly to compensate for the needless extensions on the release of it
@vocal spire ayy dope af. yes I'm still lurking here. I love anyone's Radiance background btw

supple sedge
#

hello sorry for the late response, but i tried logging the try catch but it didnt log anything at all for the try catch or the method

floral furnace
#

I dont know much about insert method but if you just wanna call a method maybe you can do something like this?

fsm.InsertAction("My FSM State", new CallMethod
                {
                    behaviour = mymonobehaviourinstance,
                    methodName = "MyMethod",
                    parameters = new FsmVar[0],
                    everyFrame = false
                },
                0);

void MyMethod(){
   Log("Test");
}
supple sedge
#

alright ill try that and tell how it goes

supple sedge
#

i think it will be easier if i send the method i call on the hero start hook and you can check if im doing something wrong

#

how do i add that code box like you did in your message?

vocal spire
#

`

#

` 3 times

#

then to make it colored add csharp

#
public bool test;
tawny onyx
#

i think InsertMethod should work

#

maybe you build a wrong project like not choose .Net Framework

vocal spire
#

wait

#

modcommon has it's own version of callmethod

supple sedge
#
        {
            Log("Player init");
            PlayMakerFSM fsm = self.gameObject.LocateMyFSM("Spell Control");

            try
            {
                fsm.InsertMethod("Fireball 2", 0, () => Log("cast"));
            }
            catch (Exception e)
            {
                Log(e);
            }
            orig(self);
        }```
vocal spire
#

what specifically is the error

supple sedge
#

nothing logs

vocal spire
#

hmmm

supple sedge
#

in the method

#

the rest works fine

vocal spire
#

so there is no error and there is no logging?

supple sedge
#

yes

vocal spire
#

hm

copper nacelle
#

did you hook the method though

vocal spire
#

lol

supple sedge
#

yes

copper nacelle
#

where

#

how

vocal spire
#

show the initialize code

supple sedge
#

if i remove the insert method everything works

#
        {
            Log("Initializing");
            ModHooks.Instance.RecordKillForJournalHook += OnKill;
            On.HeroController.Start += InitializePlayer;
            On.HeroController.CanDash += CanDash;
            Log("Finished");
        }```
vocal spire
#

hmm

copper nacelle
#

any output log

vocal spire
#

?saves

autumn shardBOT
#

Saves


Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)

Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\```
** **
Mac File Paths:
```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/
Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/```
** **
Linux File Paths:
```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/
Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
supple sedge
#

only from initialize

tawny onyx
#

show the logs

vocal spire
#

so nothing logs from your method?

supple sedge
#

nope

vocal spire
#

then something else is wrong

#

since you have logging before insertmethod

#

are you sure you built and copied the dll to the mods folder while the game was off?

supple sedge
#

yes

#

i tried again multiple times as well

vocal spire
#

ok just show the modlog then

supple sedge
#

ok wait a sec

#

you want me to paste the content of the modlog or just send the txt

vocal spire
#

send txt

supple sedge
#

Class1 is the mod

copper nacelle
#

you're building the wrong library type

vocal spire
#

lol

supple sedge
#

what

copper nacelle
#

it's supposed to be .net 3.5 not net standard 2.0

supple sedge
#

whoops

#

is there a way to change it or do i have to create a new project?

vocal spire
#

I think you need a new one

copper nacelle
#

project settings

vocal spire
#

when I made a 2.0 one, it wouldn't let me select anything higher than 3

supple sedge
#
    <TargetFramework>.net 3.5</TargetFramework>
  </PropertyGroup>
``` like this?
copper nacelle
#

no

vocal spire
#

in the editor

#

right click the project

copper nacelle
#

it's just net35

#

like <TargetFramework>net35</TargetFramework>

vocal spire
#

oh

supple sedge
#

ahh ok

#

yay it all works now

#

thanks everyone

tawny onyx
vocal spire
#

lol

supple sedge
#

bruh

#

sorry zotewheeze

vocal spire
#

development on the customknight+ creator is going pretty well

supple sedge
vocal spire
#

in a minute, I'll be able to perfectly recreate a customknight+ globalsettings file

#

except in a different program

#

yay I did it

jolly oriole
vocal spire
#

ooooooooooooooooooooooooooooooooooooooooooooooo

floral furnace
#

god i fucking wish

warm copper
#

Lol

#

That’s awesome

vocal spire
#

me is yes make menu theme fun when release helpers

#

yes

gilded lotus
#

custom start text for hollow point? 🥴

vocal spire
#

custom menu theme for it too?

jolly oriole
#

nah

gilded lotus
#

yeah just play fortunate son in the bg with vietnam footage

jolly oriole
#

i fucking wish i could upload it to the gdrive, but google doesn't let me log in since i was on vacation

vocal spire
#

F

sage holly
#

meanwhile, in the pale court developing quarters

warm copper
#

Lol

vocal spire
#

lol

jolly jungle
#

So

#

Suppose I make a boss

#

Based off an existing boss

#

Say, for example, Crystal Guardian

vocal spire
#

yeah?

gilded lotus
#

type it all out you can do it

jolly jungle
#

I'll need to actually make animations, right? I won't be able to use the ripped spritesheet directly like in CustomKnight

vocal spire
#

?

#

like for new moves?

#

you can use the ripped spritesheet

jolly jungle
#

Yes, but, I'll need to extract the frames

#

Right?

vocal spire
#

look at how mods like lifeblood master, lost lord, or any other boss with texture changes

jolly jungle
#

no I already have it

vocal spire
#

I made the lifeblood master one by using the fill tool

jolly jungle
#

And already working on the retexturing

vocal spire
#

extracting the frames isn't necessary

jolly jungle
#

Ah

vocal spire
#

you need the full spritesheet for the easiest way of changing the textures

jolly jungle
#

So I will be able to use it like when passing a full customknight sheet to the mod? It'll do the separation itself?

vocal spire
#

?

#

no

#

you are replacing the sheet it gets the textures from

#

well I guess that's a way to think of it

jolly jungle
#

yes that's what I mean

#

no need for manual extraction

vocal spire
#

ok

jolly jungle
#

cool thanks

vocal spire
#

yeah it's just the sheet

jolly jungle
#

I just needed to know ahead of time

jolly jungle
#

For the FSM Viewer (which I had, displaying my brilliance, forgot to take out of the zip file before I ran it), do I need to take out only the zip or also the three other files?

dark wigeon
#

All files

jolly jungle
#

hm ok

#

thanks

#

should I make a small folder for them?

#

fro organisation

#

Or should I put them somewhere else

#

what do I do someone help please I don't want to mess up my files

vocal spire
#

@jolly jungle anywhere as long as they are in the same folder smh

jolly jungle
#

hm thanks

jolly jungle
#

When I do "open file" am I supposed to choose the game?

#

in the fsm viewer

#

wait

#

"open scene list" is all scenes in the game?

vocal spire
#

Yes

jolly jungle
#

Alright so I'm looking at the menderbug fsm, for example

vocal spire
#

?

jolly jungle
#

Just making sure I understand. It goes over and checks if its dead. If yes, ends the machine. If no, continues to check if the sign is broken. If no, ends, if yes, checks whether the spawn chance happened.

#

Now, I'm not sure what the next part means, "Idle- Hero enter".

#

And after that, comes, "Direction: Left/Right". Why does left link to right and right to left?

vocal spire
#

Idk

jolly jungle
#

Or is that the way it enters from

vocal spire
#

The thing with idle is waiting until the knight appears

jolly jungle
#

So, entry from left, so fly to right

vocal spire
#

Probably

jolly jungle
#

Or entry from right, so fly to left

#

Then happens the startle, and then it skedadles away

#

Now, how does the "Killed" section work?

vocal spire
#

?

#

Oh

#

It receives that it has no hp left

#

Then it’s state is set to that

jolly jungle
#

Hm

#

That happens in a different section entirely as it has nothing to do with Menderbug's routine, correct?

vocal spire
#

No it is just an easier way to have all states have the same transition

#

So imagine all states having ZERO HP as a transition and they all lead to the Killed state

jolly jungle
#

Ah

#

So it's unmarked on them because its for all?

#

and thats why its differently colored

#

ok cool

#

Also

#

Crystal guardian is apparently "Mega Zombie Beam Miner"

#

Alright a question

#

How does one manage a bossfight such as Hive Knight

#

It seems to have multiple fsms controlling different aspects of the fight

#

how does one link between them all?

vocal spire
#

hive knight actually only has one for the fight

#

other is for stunning

#

it's just the same as other fsms though

#

you modify multiple this time though

jolly jungle
#

but what about the bees and the spikballs

vocal spire
#

try looking at how those are summoned

jolly jungle
#

like, are they automatically applied when the gameobjects are created or however it works?

vocal spire
#

look at how they are created

jolly jungle
#

where do I do that?

vocal spire
#

have you opened hive knight's fsm?

jolly jungle
#

Yup

vocal spire
#

well

jolly jungle
#

I see the bee roar for example

vocal spire
#

yeah?

jolly jungle
#

"ActivateGameObject"?

#

thats what does it

#

probably

vocal spire
#

let me look

jolly jungle
#

gameobject:"Mouth Swarm"

vocal spire
#

pretty sure that's just the animation

jolly jungle
#

oh

#

so what does the actual spawning of the swarm?

#

or triggers it on

#

etc

vocal spire
#

look through the rest of the state

#

also look through the other bee roar states

jolly jungle
#

It's one of the purple ones, right?

vocal spire
#

yes

#

already found it

jolly jungle
#

hm

#

dont tell me

vocal spire
#

k

#

gonna continue developing my customknight+ maker