#archived-modding-development
1 messages ยท Page 317 of 1
I've never seen this tenor thing in my life
It looks like garbage if this is the kinda content on there
nitro 
I can count the frames in that
same
sean wtf
what
twitch lies again 



Is that a fucking nitro lettuce?

You've stolen from me

I can't believe this
5 days 

Why is it so pixelated
Why does this chest full of chickens kill my game?
Does this mod like calculate the sprite from a 3d model every frame or some shit?
i can't believe sean is playing 3d terraria without me
We can play 3d terraria together if you want
I have two minecraft accounts don't worry
Incredible
I used to have 3 but I gave one of them away
I bet its Kyle
what about his dad
mr singh
5incredible6
wait wait
Good guess
yeah and you gave him the account
is that even her name
no
ez
No to krythom yes to pete
was kurosh here when the sheo emote existed
no
was it one of the other sisters
no
There used to be more emotes?
well do you have a secret brother
no
was it timesink
no
i can't believe this
So pete you want to play mc?
do i
fuck you got me
no
tfw 56 has 6000 no
?
The emote of #archived-modding-help

๐ซ 1โฃ imo
Incredible
56 nice calamity discord emote
yes i too hate freeze ice cube person
incredible.

@ timesink
when
Sean do you by any chance know why it's fucked on 1.4.3.2 but not on 1.2.2.1 and stuff
So in the example mods there's several uses of LogDebug()
Where does it actually output to?
Furthermore, where is LogDebug actually defined? Visual Studio seems to think it doesn't exist
Ah, cool, I see it
So given that the example mod built, all I need to do is drop the .dll into the Mods folder and it should work?
does anyone have the google link for what the bonfire mod affects with each stat upgrade?
the link is dead
@copper nacelle is this u?
https://cdn.discordapp.com/attachments/467382508397527050/500401974546661387/unknown.png

unmod him imo
multiple instances of unproffesionalism
Anyone have any tips?
I hate to be asking all these noob questions but I don't know how to debug past here on my own :/
just the tip
Ah yes perfect
Which example mod are you trying to compile?
Just #1
I have the other two not set to build
After I move the .dll from the Distribution folder into the Mods folder in the install path
I see the Example Mod loading in the log file
But after that nothing else is logged
Ok I see that's the nail damage one
Anything below an info log is hidden by default
You need to enable the log in the api config
These two values are good to have for debugging
That still hides LogFine, use 0 for that
In ModdingApi.GlobalSettings.json in your save folder
That example mod won't actually increase nail damage btw
Hmm yeah I noticed it didn't seem to
After setting the nailDamage field you have to do
PlayMakerFSM.BroadcastEvent("UPDATE NAIL DAMAGE");```
The examples are all a bit shoddy, I should update them
I see
You still get the general structure of a Mod class from them, at least
Yeah even that is very helpful
I just wanna make sure I can get one working first lol
I have all the references needed to use PlayMakerFSM.BroadcastEvent() but my nail damage doesn't seem to change
LogDebug("You should now be doing " + PlayerData.instance.nailDamage + " damage.");
Correctly outputs 20 damage
But tiktiks survive a hit
Any ideas?
tiktik swole
Yeah for real
i think the nail slash has a damages enemy component on it
you could just change the value on that
instead of broadcasting the event
You're broadcasting the event after changing the damage, right?
Yeah lol
Show code
that return is useless
rude
That wouldn't make it not work, though
I think it was wyza
^
I think damages_enemy is the FSM yeah
But anyway that won't work, I think I get what the problem is
Or actually that would work
Let me check the DamagesEnemy component
I'm not really sure what the best way to go about finding object properties and functions is
Like
PlayerData.instance.nailDamage
That's a field
Field - variable
Property - Two methods pretending to be a variable
Function - method
Lol
You can see here even though you access it like a field, it runs a function
Wow
How come they don't just use a variable?
I can see that it initializes itself
Is that the only difference?
In this case it prevents it from ever being null
Right
There's a lot of reasons to use properties though
Like you could make it only have a public get
So nobody can mess with it
Or do bounds checking on the set
Ah
I see
So its effectively a variable with some implicit value checks
Well... usually, anyway
Usually, yeah
I can imagine it has a lot of uses lol
But really you can't know what it does without checking
Right
Anyway, back on the other thing
It looks like the AfterAttack hook is still before the slash comes out
Bit of a misnomer I guess
So that's probably why it doesn't work
If you want a true after attack hook, you can use On.HeroController.Attack
Hm
I tried commenting out everything in OnAfterAttack() earlier so in theory the attack would have just kept going up
You'd have something like:
private void AfterAttack(On.HeroController.orig_Attack orig, HeroController self, AttackDirection dir)
{
orig(self, dir);
// After attack stuff here
}```
But that didn't do anything either
Oh, odd
yeah
The logs from the earlier hook are happening, right?
That's a debug log generated by the API when you hook onto stuff
Since the log messages within the methods occur, that means the hooks should be fine, right?
Oh what are you referring to
Should be, yeah
So you should get:
[ExampleMod1] - Adding AfterAttackHook
Is that what you meant by the first thing about attaching?
Alright
So it does work, then?
I tried commenting out the reverting code
Sometimes at least
You can add a post build event to move it for you
Seems a bit overkill but could be
That's what they want you to think
Yeah I was about to start digging into that 56
Post build event? Is the build location hard-coded?
you can do something like call moveToMod.bat as a post build event
and make moveToMod.bat do something like
mv C:/.../debug/debug.dll C:/.../managed/mods/whatever.dll
Yeah wait are .bat files just a series of commands?
or something to that effect
That can't be too hard if that's the case
although you'd want to del whatever.dll first
You can just put mv in the postbuild
Is postbuild a Visual S feature?
does mv auto overwrite?
it might
Yeah
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="@echo on" />
<Exec Command="echo Copying mod" />
<Exec Command="copy "$(TargetPath)" "D:\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\Mods\"" />
</Target>
i dunno how you do it on visual s
What do you work on?
but on vs17 you just right click on the project > properties
and build events is one of the options on the left
vs17 = Visual Studio 17?
yeah
@rain cedar you were saying the after attack hook seems to proc before the attack finishes?
I'm trying to implement the function snippet you sent but I'm unsure how function is actually called
Unlike the hooks it doesn't seem tied to any in-game event
give them modder after ngg2
and enemy rando 2
ngg2 after I manage to act like a human being
and do something that doesn't involve sleeping 4hrs a day and spending the next 20 in bed
ok so this is me
Basically me, but without the full night of sleep
anyway im proud of the lad @ Cake#5928
never thought id see someone with a wholesome pfp in #archived-modding-development
whose not coming to ask about randomizer*
as soon as they find out about fsms they'll stop being wholesome
wtf is 753check
little fool
The hook is On.HeroController.Attack
Guess not tho
FSMs changed my life
it's a rainbow checkmark i stole from 753
I literally stopped modding because of superdash's stupid fsms
Thanks for all the help โค xoxox
I have animations disabled for everything
Ill be back later
same tbh
If an FSM is too frustrating remake it as not garbage
56 when are you never back
I started doing that very thing, sean
but then I had to deal with the hero's stupid spriteanimator
and that broke me
cake be warned, hk coded like spagetti with fsm's, im not a modder yet even i can tell you
maybe someday I'll come back to it
but I don't really hate my life that much, so idk
the ancient tentacles of the forbidden Finite State Machine will grab hold of reality, and destroy us all
i hate my life too much to do more mods
fsms are good
playing FFBE
o ic
dung defender's hitboxes are good
hornet's hitboxes are good
lost lord is easier than lost kin
ngg phase 2 isn't rng
they are both easy
hollow knight has good fsm's
what's with the apostrophe
fair enough
fsmn't's
f's'm'n''''t's'd'o'n''t's'
wh'y d'ont w'e all use apos'trophe's
is this shakespear
hmmmm
'i'w'a'n't't'o'e'n'd'm'y's'e'l'f'
shakespearen't
Hail, sir knight of m're! doth thee wisheth f'r m're apostrophes?
F'r t is m're apostrophes yond i can grant!
โ
nice semicolon
thanks i try
i'm too angry to be wholesome and too normie to be cool
hmmmmmmm
at least i'm a communist
hi a communist
I. Communism is already acknowledged by all European Powers to be itself a Power.
II. It is high time that Communists should openly, in the face of the whole world, publish their views, their aims, their tendencies, and meet this nursery tale of the Spectre of Communism with a Manifesto of the party itself.
glorious comrade mod is backwards, the void killing the radiance is obviously a metaphor for the workers banding together to seize the means of production
this but unironically
bold of you to assume i'm being ironic
bold of you to assume the workers will ever succeed
bold of me
bold of US
italics of portugal
WE HAVE NOTHING TO LOSE BUT OUR CHAINS
unironically unironically this unironically
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo
comrade napoleon
lmao
fr tho just wanna say i appreciate yall i just lurk and have no idea about modding but if it wasn't for you guys i would have shelved the game long ago
same
clyde cock blocking me
Woah there! The owner of Hollow Knight has requested that Discord block any messages our mostly-accurate robo-hamsters deem to be explicit. Seems like you found one, so your message has not been sent. Please be nice.
ladies and gentlemen
we got em
i tried 
how do you do the strong pogo
you do it at 1:51 in your run
and your nohboard doesnt work
double tap down
also shoryuken does a weird forward dash slash thing but i didnt find any uses for it
and spamming attack and dash lets you do dashes as fast as you want
tf is shoryuken
wtf so much tech
ikr
how did you even figure these combos out
mostly just accidentally doing them lol
the dash cancel thing i got from youtube comments on someone elses run
nice
iis there a mod that changes the pantheon music to the original boss music?
no
why
cause no one made one yet
someone should make it then
i dont think someone will


git commit sudoku
@cunning lagoon @fast hearth @solemn basin
Hopefully the last version of the mod.
https://github.com/SalehAce1/Daughter-of-Hallownest
Made it so Hornet does not spam air dash
I am going to start working on Pale Champion (aka Pale Lurker mod)
pale champion more like pale prince amirite
Why does it say program does not contain a static main method as entry point
how's cherry madness going ๐ค
ye
how's coal in your eyes going
eyes coal your in going how's
literally dies
gradowo no pls we still need you
tell that to whoever put burning coal in my eyes
draco why 
I need help with a mod
To figure out this programing langue cause i started in wrong C. They are familliar but still
Work and staff
So
You know what is the worse?
@ornate rivet compile as class library
When time passes i get even more freaking ideas
oh noo!
honestly I'm like the opposite I have very little inspirtation rn but enough knowledge to sorta make stuff I wanna make
Traveling between the worlds, on desserest like one, and swampy one, even more weapons, Troupe mode - every enemy is buffed, have new attacks and sprite, Starting chose of vessel with other starting weapons and abilities. Other type of Masks, and more
And more
And freaking my mind is sometimes to big
knightmere you can do it, all you need is a bit of determination, willingness to learn, professionally steal source code and bug everyone for fixes when you encounter an error
so basically the first half of that sentence i dont have
im willing to steal code no matter what it takes though'
seeing someone so willing to steal code fills you with determination
Troupe vessel - faster attacks and movement, hovever start with only three masks and staff (that shoots little soul bullets)
ok now explain playmaker for me thanks @fair rampart
its death reincarnated into a software
also ngl rewriting the entire code for the 3rd time is actually refreshing

like you get to abuse ternaries now without shit breaking up
which mod do someone suggest me?
randomizer hands down
play lightbringer
Yeah
if my PC will load it and my friend stop playing it because I can't afford it yet(but finish it anyway 112%)
Have you checked the global transitions
Also for basically any mod of non-zero complexity you're going to have to deal with fsms

wow nerd takes down chat with facts and logic
yeah just get good
it'll probably run better anyway
incredible
hey someones gotta bop ax
Wait DL why can't you play hk
my cpu is dying
i can barely play terraria
i did some wp`runs on cp a few days ago and it was beyond unplayable
just be like 56 and stop playing after day 1

5 book library with d6 weary
wow you found the rare 5 item item room nice
kp oob incoming
find this
you cant even skip a tunnel lol how are you going to skip kp
i can skip the tunnel in nldg
weird way to spell using cheats
wow gulped left hand cool
I understand you don't want your efforts to be in vain DL
But pete
Pls find KP skip
So many press saves
And time save
Would bring both low press categories to under 10
but what about low both press category

d
wnpatching
isn't rekky 8m
wow you suck
shut up its my first run
u
how do you even know that that's gittle
looks like you have to do absrad radiant 4 times in a row with no charms and oldnail when you get a new cpu 
imagine talking to anyone outside modding
he also whined non stop about scal
scal is unfair pls give less hp
from what i've seen he basically just complains about every boss he can't beat first try
Scalpr
anyway the point is
eroico is lowkey a fun game
who do i yell at to get it added to srcom
@cunning lagoon how consistent do you get this
imagine not doing the faster rng cdash
kuro cdash 
how is rng dash faster
rng dash is def half a second or a second faster
?
secret santa pog
wow it's a new keyboard
i mean if your setup gets you in the good wall position every time then its probably roughly equal
woke coke
but i always go a bit high then slide down a bit to line it up
no dashmaster because its a dumb charm https://twitch.tv/ax2u
there's no way rng dash is faster than this
yea thats faster for sure
no but thats the part i can improve
but
wtf i haven't picked up rune bag yet
yeah i mean im not defending the rng dash
so it's not consistent?
i cant improve rng
i think its shit and no one should go for it
why is the randomizer mod not working?
play lightbringer ez
wich one should i choose in the menu?
Imagine providing a descriptive bug report
or literally any info at all except 'wow not working'
i have found these navy blue looking enemies
they seem to only crawl and not actively attack me
but what if its just not working :(
they have fairly small hitboxes
56, aren't globale transitions shown in the fsm reader in a different color?
they seem to be non-hostile
there's a pretty good monomon hardlock joke here but i cant figure it out
there are 4 in king's pass
i launched a randomizer game but every single enemy is not random
Yeah they're black saleh
you just got good rng
pete i actually despise you for giving 56 access to turbo
turbo
well I cant see any black ones
Rando is for charms and skills you fool
ok thx to laugh at me
nitro whatever
just give it a month
Enemy rando is for enemies
you're nice
ax asleep post cursed ms for a month
i am an eroico speedrunner
Also if you're using enemy rando and not rando did you hit the load button
same! ๐
thank you mom's knife for ruining synergies
also wtf is this supposed to mean
means absrad unfair
same
he's done it
What version is that ptkyr
the game doesn't want you to skip kp
can we take away 56's nitro
it's called block feature
ah u right
yes
gamer

when will delirious exist
Pete kyr did you pirate the game? Or why are you not on the godhand version of the game
he's done it
must be qol
Do you want mini debug?
sure ๐
that might be the first time I ever see anyone use that emote wtf
i've used it multiple times in this server alone
do you not read this channel 24/7?
shit mod

would anyone be interested in a mod which makes the game run better
no it runs fine for me ๐
i have a few fsms which i'd like to kill
wtf murderer
i mean particle removal was an idea
then i might be able to run it at 30fps 
there are particle options in unity i think
i could probably set it lower than it is
you can just set the max number of particles to zero for all particle systems
bye bye
๐ฉ
Can you make a mod that actually makes the performance worse?
Yeah that's not hard at all
while making the game look better
that's harder
if only it was 3d
Hollow Knight Reshade presets 
then you could just spam post process
VRChat used to have an issue with people making particle weapons that crashed people so I built an anti-crash that just removed all particles with more than 100k particles
that was gods way of telling you stop playing anime simulator
but could you make a mod that increases all particles by 200%?
easily
quit bragging cunt
could you make a mod that turns all anime avatars in a really fat guy
KDT where else will I find so many traps
tiktok
assuming you wanted actual humans
if you want 2d traps pretty much every site has them as a tag
kuro uhh this room gives me trouble to speed through any tips
imagine using #speedrunning
make the cycle
nice pink knight
just watch any 106 or 112 run and copy it
im not a speedrunner memer
its incredibly lenient
also dont copy my thing because there are a billion things that i dont go for because i lag like crazy
copy ax'r run or something
no dashmaster because its a dumb charm https://twitch.tv/ax2u
well there's no modding talk going on atm so i don't see anything wrong with having an offtopic conversation here
#hk-discussion works in the same way
but sure
#hk-discussion allows offtopic talk if a topic talks turns into offtopic, not starting unrelated convos
I don't let random people talk about completely off topic shit
half of the time this channel is speedrunning tbh
most people that talk in here are regular and theres quite a bit of overlap anyway
also kuro your screen tears worse than mine 
my screen tears worse than everyone else's
How bad is Kuro's screen tear?
5 bad
I feel like screen tearing is the worst around when you have slightly over 60fps
for example at like +300fps it feels like nothing
but at 80fps it's terrible
just get more fps ๐
mfw when 70 fps
Also something I've been wondering
since Vsync causes input lag
couldn't you just underclock your gpu to get as close to 60fps as possible without even having to deal with input lag?
and isn't the issue with vsync that less frames is less input checks
isn't look for input queue on update
the lag is caused by vsync buffering extra frames in advance
so you're a frame or 2 behind
sometimes theres big brain stuff like sfv
o
hmm, wonder why there isn't an application yet that automatically tries modifying your gpu clockspeeds to keep a steady 60fps
because the load done on 2 different frames can be extremely different
Hm, right and also especially on graphics heavy 3d games the fps fluctuates quite a lot so you'd probably end up dipping below 60fps many times which would be worse than screen tearing

Why are you using gay knight robes
he has done it
Do you have 100% achievements?
is this a second save file
this is a first save file after deleting the actual first save file
very nice
๐ฉ
wow encountered larry jr 1326 times hmmm
shit my bad thought this was the hollow knight modding channel
aka the fsm-hating channel
btw who was it that was asking about FSMs earlier today?
Knightmere I think
What the hell is an FSM
u
Finite State Machine
no
lol
they are not
ok so
What are they good for
an fsm is basically the middle finger from team cherry in the code
elegy HAS 7 FUCKING PARTS
? ยฟ ? ยฟ ? ยฟ
I present to you, the most amazing FSM ever
https://cdn.discordapp.com/attachments/297468195026239489/494544243147276288/The_Hollow_Knight.png
Ah
fsms are good
That picture up there is what they look like in Unity right?
also arrays start at 1
How would you even start changing that?
Itโs like one of those origami puzzles where if you unfold one part you tighten others
you realize that it's not the fsm that bends, it's you who's bending
And this is modding
I can't wait
why not ๐
plz no more fsm
^
it hurts so much
^ What is Sean saying here
It seems like it's not as simple as replacing AfterAttackHook with a different hook
whats the error?
Oh the red line?
afterattack probably has some parameters that isnt added on your OnAfterAttack method
yeah
OnAfterAttack is just commented out
The problem seems to be that AfterAttackHook fires after before the enemy actually takes damage
https://cdn.discordapp.com/attachments/327461802311155714/522842346388324364/dungwhy.png
Naming 4 FSMs the same thing ๐ฉ
well im guessing the hook starts even before the hit is registered
Yeah that seems to be the issue
what do you want to hook for?
yeah, the 2548 is the passive dung cloud, the 3752 is the spore dung combo
do it at the start of the next hit
but there are 3 variations to the passive cloud shape, and each has it's own FSM
because 
expect nothing less from gradowo ๐ฉ
What server is tentacle global emote from?
Hm well there's actually problems with reverting the damage buff on the next attack
Other things rely on nail damage
So for example you could get buffed shadow dash damage so long as your last nail hit was a buffed hit
You could also crit then quit out and it would save the increased damage
Try the hit instance hook
nathan is ttacco now ๐ฎ
all you modders look the same
So none of the hooks related to attacking happen after an enemy takes damage?
Are there any other tools to work with other than hooks?
like sean said you can use the hitinstance hook
but you gotta filter it if only wanna apply it to nail attacks only
It's unity you can do everything without hooks
Literally everything in the game is available for anything to access
Especially because of reflection
It's not the best way to do it though
The best way is... hooks?
Events in general are a lot faster than other methods
Since they only run when they need to
rub
rub a dub dub
rub a rub a dub dub fellow gamers
wet
the parathesis stuff
Are you sure? Those are the parameters I pass to the function
Or rather I think it's what the hook passes to my function
or wait no return type is like "Void" "Bool" "Int" stuff like that
Fsm owner, HitInstance hit
You can check the return type by viewing the definition of the hook
you return the hit iirc
It's a struct so that makes sense
its asking for a HitInstance return type
Sean the best definition I could find was
#region Assembly Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// C:\Users\Vasa\Personal Files\Programming\HK Modding\HollowKnight.Modding\Vanilla\Assembly-CSharp.dll
#endregion
using HutongGames.PlayMaker;
namespace Modding
{
public delegate HitInstance HitInstanceHandler(Fsm owner, HitInstance hit);
}
Your changes are boxed otherwise
so return a HitInstance
public delegate HitInstance HitInstanceHandler
o shit
Uh
Returning a default HitInstance seems like it would be bad
What does the hook actually do with the value anyway
hit.damageDealt = 420;
return hit;
Hmm
it gets called whenever a new hitinstance is created, in this case whenever you hit anything, hit contains the info of what that hit is, could be a Spell type that does 20 damage etc etc
it gets called whenever a new hitinstance is created, in this case whenever you hit anything, hit contains the info of what that hit is, could be a Spell type that does 20 damage etc etc
kuro please
Thanks Kuro
Good job as always kuro knew we wouldnt have done it without you 
No problem dude ๐
So whenever I hit an enemy with the nail
Surely a hitinstance is already created
Does the hook replace the old one?
the hook gives you a reference to it
How does the api handle multiple mods trying to set nail dmg?
That's the param
it doesn't handle it
the mods have to handle between themselves
which they don't
so which one is last in the queue works
lol
so just put the load priority to be at the bottom of the list
hitinstance is when you take damage
plsno
not when you hit something
no god ive come too far
wait what 
That's not right
huh
angle pls
but it's broken
thats another hook
cuz the only way to do hitinstances reliably
is with
health manager hook
because that hit instance applies to like
grass and shit
Yeah I was going to try to filter the target like someone had suggested
Not sure how well that's gonna go
but if you care about ONLY triggering it when hitting enemies
can't you just check the target
you need On.HealthManager.Hit hook
doesnt the hitinstance var allow you to check the game object your hitting at, then check if it has a healthmanager in it ?
to make sure its an enemy
That's interesting I figured healthmanager would be about player health
target isn't actually the target
it's your object
that's doing the hitting
so like
the nail fsm
nope healthmanager is the enemies health
whack
there was something about target that made it so I couldn't do it at any rate
all damage-able stuff has it
yeah healthmanager is only for enemies
and it's not implemented natively in modding api because api development stopped before it was added to the game
not 100% true me and 56 have made some commits to the modding api since then but it's mostly not been updated
I see
I thought it was 56's project alone
I didn't know other people had helped
Or was it just you two lol
l m a o
and I guess firzen at the start
the other 2/3rd is kuro ofcs
same
Amazing
It was me/firzen, then wyza, then it kinda died
A couple people do minor changes every so often
Wow 56 isn't even that list
Monomod hooks kinda obsolete any further development
Despite owning the github repo lol
Wut
But I own the repo 
Hm
no i own it ๐
I own u
I own your planet
i can let you own me all you want dad
the fork fits the agenda Kappa
cuz it's the version that is on the drive
I'm pretty sure I've merged the most recent changes
Yeah that's only version I've seen lol
not merging fast enough ๐
I didn't see forked from Sean in tiny ass text below it lol
The contributors page is inaccurate either way
Wyza has too much, I have too little, I don't think firzen is on there at all
Tell people to play Iconoclasts probably

how's this


