#archived-modding-development
1 messages · Page 330 of 1
he did yes
ree
Ah yes
I can barely even tell what transitions to what
like tf
Oh hey
That's why SmallShot HighLow was so weird
It was a rip off of thk
can you even call yourself a modder if you are not able to read this fsm
i can't believe 56 just yoinked an attack from tc
They left it in
Their fault
ah yes
Oh they just start from either side
I can literally just clone this because this was a clone from the start

PV's small shot is literally a copy-paste of THK's small shot
except they removed HighLow

did they change the avenging one
using lists
/s /s /s

If they had used lists this would be about 10x easier
Instead I have to convert all of their arrays
then add the stuff
then convert back
Or just resize
just tell them to hire you for hornet dlc so these things dont hgappen again
just assassinate wilbo and replace him
kuro u dungo you cant assassinate them cuz theyre literally just AI's smh not even updated on TC lore
You ever clone about 80 billion states and then realize that you have to re-link them too
i only care about icono lore sorry
lmao just link it with a loop its that ez lmao xd or are you gonna have to manually specify each?
oof
the hell are these states for
SmallShot
dagger throw?

n i c e
im addicted to this stupid frog
do you liquify frogs and inject them
Wow nice all the transitions use strings too

What a lad

Dee ell koo rosh
ech lamdba o🅱erators


doing things more than once 
Local functions 
i honestly keep forgetting how to use them because, i dont use them, except ternaries i abuse the shit out of it now
don't worry that'll happen with local functions too
s o 🅱 n
@floral furnace l o 🅱 a l f u n c t i o n s
global functions 🤔
local
i know i just misread it smh

Functions inside functions
so can you just like
int outsidefunc(){
do stuff here
int inside func(){ return 5 }
return 1
}
and thisll work right
yeah
yes
or does it require a more ""specific"" syntax for it to work
thanks kuro
no thanks to you 56 smh took you long enough /s
Can also use expression bodies
e.g ```cs
int Outside(string in1, string in2)
{
MagicFunction(string @in) => Math.Pow(@in.Length * 2 + 3, 2);
return MagicFunction(in1) + MagicFunction(in2);
}
hnggg lamda operators
it's just shorthand
but i get it now
its just that, unless i force myself ill probably forget about it again
yea ur mods gay
👊 talk to the hand
🖖🏿
nice star wars reference
look at the emote name tbh

did you know you can't commit suicide during nkg's intro

ikr
it's not tc
fuck
that's a pain
Oh
It's probably NoHardSaves
it is
i can now blame sean

NoHardSaves is part of qol therefore it's your fault
you accepted it


hes right, 56
you vs the guy she tells you not to worry about
High low
LowHigh
What exactly did you change
everything
God
you ever comment out a huge block of code you added and have the bug remain
this is so dumb
im locked out of 2 icono achievements because steam is retarded
i have to do a new `plñaythrough
which i was gonna do anyway but still
Thanks! ❤ 😄
goddamn it kuro im playing video games here eh 😤
sorry i did not realize you were a gamer 
yeah thats right you dont wanna mess with me and my in game character
s-sorry mr ttacco 
I bet my ingame character, shadowknife blade storm 420_xxx, a level 47 necromancer could beat your character
you ever listen to cocaine
clap
@floral furnace you can also use expression bodies
it would be funny if i wasnt so pissed right now
but why
goddamn beetle fucks doing 6 trillion damage while my entire party is stunned for 5 fucking turns
nah just the weather its a bit on my nerves today 🙂
so uhh, fsms yeah
when is gun mod release 
FSMs are bullshit and RNG
when pale prince hornet dlc is out
ouch
real gamers get angry at themselves and not at the game they are playing
real gamers get angry at games they havent played at all yet 😤
Actually tho pale prince is looking fairly close to done
I just want to add some new attacks like I'm doing rn
wow ok
pale prince is 🐮 💩 & 🎰
i said hornet dlc tho 🤔
triumph is the new weary
ngl you deserve that think
nice are you adding elderbug: the last vessel as a boss fight too
????????
it starts twice?
no
One log is for start of state
One log is for end of state
Arc Antic should go to Arc Start
oh
foreach (FsmTransition trans in clone.Transitions)
{
if(!states.Select(CloneName).Contains(trans.ToState)) continue;
_control.ChangeTransition(clone.Name, trans.EventName, CloneName(trans.ToState));
}
am i stupid
inb4 yes
yessssssss
die
not like a boss?
correct
As Saleh once said: Yas
fuck I didn't screenshot
Good
Okay I fixed it
Now I just need to fix the attack GameObject
Does FlingObjectsFromGlobalPoolTime set the thing active?
That is a longass method name
PV be like
"Give up! You cannot win! Just quit while you can!"
trying to make Carefree Meoldy + Joni spawn Lifeseeds. Eventually I just settled on using a coroutine that added the Lifeblood directly
but why would you use the object pool
Instantiate is your friend
You just have to set them active after
How do you try yourself?
oh god oh fuck
To make discord realize I am not idle, I have click out of the window, then back in
What is it not shooting? I thought you already had the projectiles in Pale Prince working
why would doing the same thing you did for the other projectiles not work?
because the other projectiles aren't spawned by fsms

the good ol copy the entire fsm action and rework it until it's not shit
If you ever rework THK FSM, good luck
No I'm reworking FlingObjectsFromGlobalPool
you see
I'm just replacing Spawn with instantiate
making everything not fsm fields
and a few other things
and it'll just work™
DAB
D - estroy
A - ll
B - FSMs
ah yes
it still doesn't work
NullReferenceException
at (wrapper managed-to-native) UnityEngine.Object:INTERNAL_CALL_Internal_InstantiateSingle (UnityEngine.Object,UnityEngine.Vector3&,UnityEngine.Quaternion&)
at UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, Vector3 pos, Quaternion rot) [0x00000] in <filename unknown>:0
at UnityEngine.Object.Instantiate (UnityEngine.Object original, Vector3 position, Quaternion rotation) [0x00000] in <filename unknown>:0
at UnityEngine.Object.Instantiate[GameObject] (UnityEngine.GameObject original, Vector3 position, Quaternion rotation) [0x00000] in <filename unknown>:0
at Pale_Prince.Prince+<>c__DisplayClass13_1.<Start>b__6 () [0x00000] in <filename unknown>:0
at Pale_Prince.InvokeMethod.OnEnter () [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.FsmState.ActivateActions (Int32 startIndex) [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.FsmState.OnEnter () [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.Fsm.EnterState (HutongGames.PlayMaker.FsmState state) [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.Fsm.SwitchState (HutongGames.PlayMaker.FsmState toState) [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.Fsm.UpdateStateChanges () [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.Fsm.UpdateState (HutongGames.PlayMaker.FsmState state) [0x00000] in <filename unknown>:0
at HutongGames.PlayMaker.Fsm.Update () [0x00000] in <filename unknown>:0
at PlayMakerFSM.Update () [0x00000] in <filename unknown>:0
thank you unity very cool
🤢
this is what i get for trying to make my code cleaner
Pale_Prince.Prince+<>c__DisplayClass13_1.<Start>b__6 ()
that's a coroutine, right?
Yeah
yes
why do coroutines look so weird after getting compiled?
Because they're just fancy syntax for iterators
Have you seen what a coroutine actually looks like?
You mean before getting compiled?
No; after
yes to both
Not the dnSpy version
dnSpy makes coroutines readable
stiches them back together
that's considered readable?
Yeah
yup
@floral furnace you can also use expression bodies
die


i fucking swear, i hope, that the next time you play hollow knight
you fuck up your crystal dash again, but only once

noone deserves to fail their cdash 2 times 😔
Let's take a quick look at an example coroutine
Kurosh, play RNG, so that you can blame the game for CDash fuck ups
i n p u t l a g : ^ )
Here's a coroutine which waits a frame before doing some simple edits to a FSM
Nothing amazingly complicated
DnSpy version is pretty good as well
Its already the games fault since i dont Makes misyales
Main difference is taking the bool out of the if and an extra yield break which is otherwise implicit
and formatting ofc
Now let's see it non-stiched
i never understood how coroutines require a return type (because its asking for a IEnumerator type right) but yield return null doesnt actually stop the coroutine 🤔

just screenshot it?
just send it over those txt websites
fuck you discord
Thanks discord
Time to split it into two messages 
Very cool
[CompilerGenerated]
private sealed class <AbsRadSkip>d__9 : IEnumerator<object>, IDisposable, IEnumerator
{
[DebuggerHidden]
public <AbsRadSkip>d__9(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
}
bool IEnumerator.MoveNext()
{
int num = this.<>1__state;
if (num != 0)
{
if (num != 1)
{
return false;
}
this.<>1__state = -1;
this.<control>5__1 = GameObject.Find("Boss Control").LocateMyFSM("Control");
UnityEngine.Object.Destroy(GameObject.Find("Sun"));
UnityEngine.Object.Destroy(GameObject.Find("feather_particles"));
this.<control>5__1.GetAction("Setup", 6).time = 1.5f;
this.<control>5__1.RemoveAction("Setup", 5);
this.<control>5__1.RemoveAction("Setup", 4);
this.<control>5__1.ChangeTransition("Setup", "FINISHED", "Eye Flash");
this.<control>5__1.GetAction("Title Up", 6).time = 1f;
return false;
}
else
{
this.<>1__state = -1;
bool flag = this.arg1.name != "GG_Radiance";
if (flag)
{
return false;
}
this.<>2__current = null;
this.<>1__state = 1;
return true;
}
}
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return this.<>2__current;
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return this.<>2__current;
}
}
private int <>1__state;
private object <>2__current;
public Scene arg1;
private PlayMakerFSM <control>5__1;
}
👀
As you can see
It's a bit different
just a bit
So the main thing to note here is that it's an iterator with no yield returns
You see that stuff in dnspy be turning on the compiler generated stuff
MoveNext is instead separated by each yield return
Yeah
Or just not decompiling coroutines
which are enumerators
So MoveNext gives the same thing the iterator would have given on a move next
effectively
Current is the thing it would give (null, orig, etc)
And MoveNext is whether or not you can move next
Which is where you would execute your code
Yield break would return false as you cannot move next any farther
Yield return null would return true as you can as you're not at the end yet
@floral furnace This is why yield return null doesn't stop the coroutine
Because it's just an iterator
This is just the next element in the "sequence"
The return type is an IEnumerator because you're returning what's known as a lazy sequence
Which doesn't get executed until you try and get the next element via MoveNext
yield return null is setting current to null
which tells Unity to wait a frame
understandable
break is leaving current as-is
but returning false from move next
which stops the while loop which runs a coroutine
You know how to move through iterators right?
IEnumerator e = whatever;
while(e.MoveNext())
{
DoWhatever(e.Current);
}
This is what unity is effectively doing in the backend
That DoWhatever check will execute any coroutines yielded recursively and wait a frame if e.Current is null
Which is why stack traces look fucked
It can't tell you stuff because that stuff no longer exists
It's now part of an implicit iterator class
<> is used in compiler generated shit
Why did 56 just started starting his sentences with capitals
Like a boss
This is a compiler generated iterator for the method Start
And within that iterator is another sub-class for the local method
Because local methods do something similar
They create their own classes with fields of captured variables
this is probably the +<c>__DisplayClass
56
level mobile typing skill or deliberately starting sentences with capitals?
Local function
It's not because it's a coroutine
It's because dnspy doesn't understand local functions
Use e.g ILSpy and it'll show you
Or just turn on compiler generated stuff
And you'll see the captured vars
See
It moved the local function out
That's actually this
With yours however
You use variables such as self
Which aren't parameters
They're implicitly captured by the creation of that function
And as a result the compiler has to take those variables out with the local function
To do this, it moves them into a class
That <>c__DisplayClass stuff is a reference to that class
that's why it's setting the vars for that class
so that the local method can use them
Do you want an easier example or do you get it?
I think I get it
Okay cool
¯_(ツ)_/¯
Probably class
If you want more info you can ask the advanced section of the C# server
I'm not very knowledgeable about compiler generated names
I just know that the <> is to stop it from having the same name as your stuff
Because you aren't able to use <>
But the compiler is
The channel is called lowlevel-advanced or something
Wont sent 
Same
is this the legendary C# Gang Club 🤔
.
hmmmmmmmmmmmmm
how did you even do that typo
He's just that skilled
56 how tf did you learn all these in depth compiler stuff
on my keyboard, ` on the top left, and p is on the top right
I was just trying to decompile Terraria code and they used a local function
I couldn't see it
And it had the <>c__ stuff
So I made my own test dll and tried out local functions in it
Still couldn't see it
Dlk*
Turned on compiler generated stuff
Then I could see it
Looked at how it worked
Saw something similar when I looked at a coroutine
And then I just left it on because it's more useful than not

looking through google images and I don't see a keyboard where ` in near p
yw
well its pretty common in espanol
Nathan its called ñ 
why don't they just write a y after the n 🤔
nya
Cause that would mean a diffeewnt thing?
enye
Ny wouldnt be pronounxed like it is in english
how is it pronounxed?
enye
also, I love substituting the letter c for x
xreator of xharm overhaul™
For example if you write piraña as piranya it Makes no sense
kuro i shall use my limited spanish to communicate
ehem
p u t a n g i n a
p sure it's piranha
have you heard of spanish
Thats in english, not spanish 
i mean it sounds like prianya to me
KDT I was joking about Kurosh spelling "pronounced" as "pronounxed"
The sound isnt the same at all
For me to type ñ, I have to do alt+num164
Thanks nsthan
For me to type ñ, I have to do Ctrl-V
For me to type ñ, i have to tap ñ
😩
ñ
muerate
just cause you can't pronounce y properly doesn't mean ñ doesnt make an ny sound
What do you mean properly
OwO
Thats how its pronounced in this language therefore it doesnt Makes sense for it to be spelled as nya
emphasis on "Makes"
Thats autocorrext's thing
you have autocorrect?
nice
I added make as a word nos it should be fine
@solemn rivet ñ
what tf is wrong with your autocorrect?
ñhh
Ñ^2
Yeah +- 42069 years
cool

is FSM gone yet?
Yes fsm is 
what a time to be alive
https://cdn.discordapp.com/attachments/516675581622878209/530070776892751887/godtierautocorrect.png
amazing how the only thing autocorrect wanted to correct was the thing it wasn't supposed to
Im visiting family and i already want to die
cjanges and autocorrext are totally fine
I wish I was visiting family dlk
but makes has be corrected
I'm stuck studying for my thesis
play more icono
I finished it
juf plsy icono again
Im learning any% no airswim
oh i see, spanish people just wanted to be special 
The fabled sean bop
Or i would if i was home 
every other language uses nh, nj or ny for palatal nasals
Yes this language does indeed pronounce words differently than others
scrub dlk can't even airswim, so just runs the scrub category
nothing to do with pronounciation
makes perfect sense
^ this, but 50% sarcastically
Yes the good old though thorough thought Makes lots of sense
the only reason ny/nj/nh doesn't make the sound you associate with it cause they arbitrarily decided to use ñ 600 years ago
wow your autocorrect really just won't stop capitalizing "makes"
makes is his name
but it won't correct actual mistakes
and yes ough can be pronounced lots of ways
Autocorrect is a sin
u
colour
There's another way to spell fence?
fense duh
well they spell fence correct
but defence wrong
even though they are same root word
pheñçe duh
well its not greek so ph is way out of the question
Yes
Defence
who spells "defense" as "defence"?
Defence
defence is correct
^
Yeah 56 tell your xountry to lwarn how to spell words correcrlt
that's offencive
you can spell fence correctly
fense looks stupid af
but somehow you managed to get defense
Offencive or offensive ?
practise
Bwgone
Begome
practice and practise are different words
^
one is a verb yes
What is pratise
a typo
Oh
Prat
you know what else is dumb lazer
don't they know its an acronym
you can't just put z's in there
So we all agree the American spelling is gay
Too muxh mc donalds imo
Wait whats the correct way
laxer
Laser
Of speling lazser
light amplification by stimulated emission of radiation
Spelling
Who the fuck says lazer
Ive actually never se en lazer
its pretty easy to remember because theres basically no words beginning with z other than zebra or zoo
the answer is no one
Seriously, wtf is wrong with your autocorrect
its much more common in america
Shut up
Hey look gradow
lazer means leisure in ptbr
lixo 
How do we pronounce Pizza
its obviously not correct in american cause of you know the fact its an acronym, you can't replace letters
but if they could they would FeelsBadMan
Holy shit lmao
™A0
i have witnessed the god attack
incredible discord crash
incredible
watch streamable
Im not qasting my data on this
Lord fool
data 
Goodbye Kurosh
imagine thk's infection chest shot attack
except it's super slow
and shoots lances
Please dont send gif emotes you will overheat my phone
but the lances drop like rocks


lanxes
I’m underage
Because it's what TC says
Or send a 10p streamable so i can watch

I dissbled animated emojis 

guess what it's static
Same
Statical
no
Reverse
cease
ccease
any bord
How do you add something to a SendRandomEventV3
I tried just adding something to every field but it just dies
If you dont stoo memeing now im telling benji
hi benji
I love how this channel went from compiler generated fields to whatever the fuck this is
Wasn’t simo fine with your memery or am I retard as usual
Well Yes you are s retard
I am s retard
I dont know avout sino though
Cease
It’s almost like kurosh’s hands are as big as mine
is this modding staff
holy shit pale prince's flaccid knife attack tho
You are getting nutedvidiot
Modding staff more like green name lounge 
Send
Send low quality streamable
erect knives
Send me to your french girls
🥖
There we go
what is that emote it doesn't exist
consistency
Pete better taste the baguette or call modding staff 
?
Image isn’t loading for him
It's a baguette
Yes
I had to replace FlingObjectsFromGlobalPoolSpawn because these objects don't exist until later
fuck mobile
Mobile is older than all of us
Yeah same
I was using it earlier but the second I made any changes 1/3 bullets would just stop existing
https://streamable.com/mvl0z @weak lodge
Pooling objects isn't even gonna matter unless it's something like geo
Even then it's not that important
Idk why they put so much effort into it
I was just trying to get it work because their actions use it
But then I gave up and just re-implemented their action but better
way easier
wr edit
I'm using their fling thing for geo in rando and it's working
It works for me until I swap out the gameobject with literally anything else
Then it just says no and dies
Yeah
I had it working with a spike tink effect
Then it stopped working at some point, I don't even remember changing it
So I remade their tink component with not Spawn
Yeah that's the same thing I did w/ fling
I can play pokemon emerald goodbye nerds
Bye
Bye
Bye
👋
you ever wish FSMs used lists instead of arrays

this indeed
Have you considered
making a mod in #archived-modding-development
instead of
shitposting for multiple hours in #archived-modding-development
It's a great idea
have you considered what time it is
hmmmmmm

bamboozles me saleh has less messages than i do here

no
💨
no
?
no
modding hollow knight 
fuck off

whirling worlds 
atleast whirling world devs can actually make art 
more like pisskel art amirite hehhheheeh
all digital art is pixel art 
eroico emotes 
abs rad
my abs are rad
absrad is a abstad bit absbad
no

no

how2modHK
just copy lost lord
at least copy a good mod
but lost lord is easier than lost kin
hey guys
yes

haven't talked here since last year
our lord has returned 
it's true tbh
lies
also needs more jpeg
Idk it's where I started
You can clone mods of similar ideas and take a look at them ofc
I made hell mod from glass soul except I deleted everything in it
Aalek and Saleh based their boss buffs off lost lord iirc
And mantis gods took a lot from ngg
Personally I code first then use whatever ended up working the best
When making Lightbringer I planned on it being a spell overhaul but the first thing I found was the beam attack
so I just rolled with it since it was easy to manipulate
nice
I do that sometimes too
Like tendrils from the floor
They sucked
So now they're dead
like the tendrils in the abyss?
Mola said you should call it Pale Heir, and that Pale Prince is a stupid name
but then you can't make hilarious pp jokes


pale prince sounds good wtf
@copper nacelle those pv moves are epic
henlo saleh
Pin number
pale prince is bretta fan fiction
the only reason tc didn't use it was because it was masculine
who pinged me
knightmere make skrrtmod
what is this
oh god oh fuck
consider not making a hollow knight mod
Papers is the greatest person of all time (not counting 56 of course)
are you adding more bosses to HoG
papy > 56, clearly
oh god oh fuck
what
uhhh why is Bretta's head not a part of her body TC
that's just the blush face
The second bench is there so they can offset where the knight sits so he can sit next to Bretta
ah
they probably disable whatever component allows the knight to sit on the original bench and enable it on the 2nd bench when she's there
and the 2nd bench is always invisible
should I take eternal ordeal out to fit pale champion or should I just add a statue
you could add a breakable wall in Zote's room that leads to it
no why would I make it harder on myself.
well, not a breakable wall
just make a room up there for new statues
the Hall of Lost Gods
inb4 Pale Prince goes there
but then I would have to make my mods compatible with each other
the way I do the statue teleportation is shitty so...
I didn't change DoH's
yea that's a feature*
™
no thanks
I didnt do that
the image is you having less messages than knightmere and infinitely more mods
in modding
is there a reason why all the HoG statues would have GPZ instead of the correct statue
Zote is All, Zote is One
what is that?
it's hall of gods in the unity editor
oh
the nail masters and pv are the only statues that aren't just gpz
oh and Dung defender's ball
I am growing more confused by the second
Hi growing more confused by the second
Imagine if all the statues came to life and attacked you at once.
Who would win? 40+ bosses, or 1 empty boi
he not actually empty
ok the edits I am making aren't working
what are you missing
the new pale lurker statue I'm adding
oh
oh ic
(Papers made it btw)
I love being wrong
why is there so much bloom?
bloom?
ok
bloom, you know, all the glowy light stuff
Check output log
it's the glow that stays on screen for a quarter of a second when you're coming near a statue
light bloom
in your images of the editor, HoG is just white light everywhere
saying light bloom is not how you make a mod 😡
light bloom
56 show
x
@ornate rivet did you hire papers to make a pale lurker statue
ur mom pale heir
vessels have no gender
implying i care

Pale heir has no alliteration
vure vessel
Hale Heir
i mean what

How2use example mods
- clone
- edit
- profit
Is that really how it works
yes
Nice
Fun when you haven’t opened up anything yet but you already know you’ll understand jack shit
I just call empty vessels "soulless asshole automatons" is that a good substitute for "pure vessel" @brazen mortar
(totally not cuz of any moth bias)

l
re





