#archived-modding-development
1 messages Β· Page 190 of 1
so public override void Initialize()?
ye
yeah
uhhhhh


yeah sorry about that
I can't balance shit
wanna work on it with me tommorow
@buoyant obsidian woke
also woke
alright it will be a long day
change your name again AA
around 4-5 hours should be enough to have near perfect values
no I like being called the radiance
is that cool
this is awesome
so will gittle
ye
and nothing of value was lost
and like all of the subreddit
tbh dlk is right
yeah
This is like being a big fan of Jimi Hendrix and someone calling me Hendrix. And yeah I know he's dead. I know the radiance is too.
new lightbringer is out
ok
didnt know you were the mod creator
can people call me mum? I'm a big fan of ur mum
step 1 to getting the mod creator to help you is calling the mod bad
ok mum
TIL
to be tbh I'll let you be in charge of balancing it
to be fair the values are complete trash
expected, ngl
the assets and other things are awesome
thank papers tbh
the... procedural assets?
he's awesome
and the procedural stuff is also awesome
make all attacks do 2000 damage
10k
make fireball heal you
1.2b
1.2π ±
wow is this grimmchild upgrades but for yourself
your nail damage scales linearly with how much damage you do to inf grimm
this is so balanced fuck i love myself
hey whats up fellow modders how do i progress
just run through IG a couple times and get 999999 nail damage
where u at dlk?
no, veru, it has to be high score only
ok so you want to make a new class
yeah
HuFinder
IG high score
which is like HuFinder : MonoBehaviour
which means it inherits from MonoBehaviour, getting its fields and methods and stuff
good practice is to make it its own file btw dlk
^
ok i will do so
same namespace
Huz Mother
Haz Mather
marshall mathers
when are you gonna read fanfiction to us again veru?
ok time to do my summer reading assignment the day before school starts
sure
lets gooooooo
r u danG
my pfp is literally danny g's tshirt
where's the gold chain smh
I need my fix of RWBY fics

do something veru
using UnityEngine;
i need to find 10 quotes from this book and write about them
ok
ok
will make your code more readable, which is good for everyone, including you
project add new class
case AttackDirection.downward:
HeroController.instance.SetAttr("slashComponent", HeroController.instance.downSlash);
HeroController.instance.SetAttr("slashFsm", HeroController.instance.downSlashFsm);
HeroController.instance.cState.downAttacking = true;
HeroController.instance.downSlashFsm.FsmVariables.GetFsmFloat("direction").Value = 270f;
HeroController.instance.GetAttr<NailSlash>("slashComponent").StartSlash();
break;
I could just make the bottom line HeroController.instance.downSlash.StartSlash() right? cause it's copy by reference
ye
whatever you want to
what even is HuFinder anyway
sure
it's a component for a game object
you can think of it as... A tool of sorts for that object
do i have to add the using Modding; and all of that
also am i being dumb about the copy by ref thing or no
or is that done automatically
no
for instance, my enemyhpbars are components as well
it's not done automatically but you're fine for this file
wdym by copy by ref 56
are you sure because i have red lines under MonoBehaviour
you need to using unity engine
which went away after doing using UnityEngine;
put that in the other file too
ok
gradow i mean like
var x = new Thingy();
var y = x;
x.StartSlash() is the same as y.StartSlash()
right?
is this right
not necessarily 56
yeah
Thingy where Thingy : object

ok where do i add the new cool attacks


you want something like
private GameObject _kin;
private void Start()
{
Logger.Log("[Lost Lord] Added KinFinder MonoBehaviour");
}
private void Update()
{
if (_kin != null) return;
_kin = GameObject.Find("Lost Kin");
if (_kin == null) return;
_kin.AddComponent<Kin>();
}
that but in a coroutine
yeah let's run AddComponent every single frame even tho we only need to do it once
i don't understand any of this wizardry
no that's why the return is there
dungo
kin gets set to a value
so it stops adding
so you check if something's null every single frame without fail
yes
highly optimized code
oh unless you haven't beaten lost kin
in that case it just doesn't check at all
@cunning lagoon
private GameObject _hu;
private void Start()
{
Logger.Log("[Ancient Hu] Added HuFinder MonoBehaviour");
}
private void Update()
{
if (_hu != null) return;
_hu = GameObject.Find("idk what hu's name is so put it here");
if (_hu == null) return;
_hu.AddComponent<Hu or something>();
}
idk
checking scene name would be a good idea
that inside public class HuFinder : MonoBehaviour?
idk what hu's name is so put it here
Ghost Warrior Hu?
yeah
hu but he doesn't do that stupid attack from the sides where it's so easy to dodge and get in heals during

ok i called it AncientHuBehaviour
yeah
need : MonoBehaviour
on ancient hu behaviour
also separate file
if you haven't
not sure what that means
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Modding;
using UnityEngine;
namespace ElderHu
{
class AncientHuBehaviour
{
}
}
this is the other file
also how do i make the formatting have cool colours
```cs
ok
class AncientHuBehaviour : MonoBehaviour
Modding.Logger
^
you can using too
ok
but I don't remember the syntax
using Logger = Modding.Logger;
^
U
gonna take some time off of studying for now
should I make modcommon silently install?
k
should I check if the folder is "Hollow Knight Godmaster" and assume pirate in case it is?
idk about that cause people rename
maybe check steam dll and that?
or check appid.txt and that
appid is for people who rename and run hk from other folders w/ steam
hmmm
agony
what is this appid file you speak of
you put it in the folder hk is in
and even w/ the folder renamed it'll run
good for downpatching
yes
how do i proceed
uhh
var _fsm = gameObject.LocateMyFSM("FSM NAME");
add FsmUtil.cs to your mod
then you do stuff like
do i paste that in a new class?
_fsm.ChangeTransition("State", "Transition', "Do something else")
you save it in the folder
oh
haha yes
is the [101056b] relevant
no
i have that in HuFinder
Class1 or AncientHuBehaviour
latter
ok so do i just move all the stuff that gives me errors there
only the AncientHuBehaviour errors
put it inside the class
private means you can't access it from other classes without reflection
and void means it doesn't return anything
Initialize
public override void Initalize()
{
ModHooks.Instance.AfterSavegameLoadHook += AfterSaveGameLoad;
ModHooks.Instance.NewGameHook += AddComponent;
}
that?
yeah
Show it in context



i gtg for a bit

for examples on modifying FSMs there's
https://github.com/5FiftySix6/HollowKnight.Lost-Lord/blob/master/LostLord/Kin.cs
https://github.com/5FiftySix6/HollowKnight.Mantis-Gods/blob/master/Mantis Gods/Lord.cs

for gog
like I said, steam isn't the only platform this game is available on
π
yeah, never saw a galaxy.dll file on cracked files tho
yeah, that's why it doesn't accuse you of being a pirate if such a file exists
can't wait for redwing's rebalancing tbh
does hallow knight god's patch change any of the early-mid game
no
re-reading the 4th last message you posted should be punishment enough
almost anyone can 
me
All PokΓ©mon who can learn TMs can learn Toxic except Unown, Wobbuffet, Wynaut, Kricketot, Burmy, Tynamo, Spewpa, and Magearna.
makes you think
I can delete a few of my files
ok
what's a magearna
open your mod installer
a gen7
DLK
recall lando mag tapus
it's a gear
that's the mag in lando mag tapus
^
it this robotic diancie
yes that thing
lore: it's said to be where the original pokeball design came from
it has a special form and all
wow thats a new one
that's how you get like every special mon
got the installer updated
did it update with no issue?
ptk which pokemon is gonna be your next pfp
use magearna
how the fuck you do that
idk
modcommon is hidden after the installation
let me push the code btw
π‘
climb impos tbh
does clicking install modapi also install modcommon?
climb defo hardest phase now
most consistent way to climb is randomly dashing change my mind
how do I save and quit in vim again
alt f4

graig's here like every day
good shit
nice
who
lead playtester
graig
ari gibson or william pellen
no. they hate us
oh
will tolerates us
thats still super cool
I remember when steam leaked a beta which had some GM content
and will was like "shit, what have we left in"
but there was nothing


actually, there was one thing
two things
the title screen background
and the icon for the GM gamemode

i like on his main pic his glasses are distorted
blessed image
full homo dude
im surprised at the amount of experience they have
thought they were new to the scene
who
they are
the code is shite
they literally had to redo a lot of the game for the switch release because of how messe up the code was
it ran too poorly for the switch
i dont know a single dev team whose code isn't complete trash
massive fps drops
besides blizzard
celeste
I forgot that the art was only created by one dude
man i could look at almost every frame of hollow knight and stare at it for a few solid minutes
I haven't looked at celeste code myself, but people from here who have done so, say it's uncanny how absurdly better than HK's it is
psure that's not because it's good just because HK code is shit
I think I recall KDT saying the code was actually pretty good
to be fair on release day
and he would know
i didn't find a single bug
idk i found many bugs in this game
and I licked every wall
because the game is literally filled with bugs
in the first room there are like 10 of them
(get it? it's a game about bugs)
^
there was one bug on where my nail created shockwaves however
i miss that bug
: (
Video games can occasionally have good or above average code but:
I think video games and amazing code are mutually exclusive for the most part. Aside from a few rare exceptions like that one quick square root function in doomquake. To make a game requires creating a product of such complexity that you should at best write above average code or risk it going way over deadlines.
I think video games and amazing code are mutually exclusive for the most part. Aside from a few rare exceptions like that one quick square root function in doomquake. To make a game requires creating a product of such complexity that you should at best write above average code or risk it going way over deadlines.
I think video games and amazing code are mutually exclusive for the most part. Aside from a few rare exceptions like that one quick square root function in doomquake. To make a game requires creating a product of such complexity that you should at best write above average code or risk it going way over deadlines.
ha you can't paste ~~ get rekt
I think video games and amazing code are mutually exclusive for the most part. Aside from a few rare exceptions like that one quick square root function in doomquake. To make a game requires creating a product of such complexity that you should at best write above average code or risk it going way over deadlines.(not edited anymore)
(edited)

https://en.wikipedia.org/wiki/Fast_inverse_square_root#Overview_of_the_code this is sexy tho not gonna lie.
it doesn't demonstrate your game design abilities however
which is one of the biggest things you need
not clean code
look at league
(^:
League runs well though
753 do you have the steam_api.dll
optimization is a different matter
or the steam_appid
o Graig is here
uh
I'm trying to figure out why you got a false positive, 753
because he is a pirate
a filthy pirate


wtf
he has a treasure box full of them boys
internet provider
please
that sounds super believable
set this as their desktop background
"your internet provider has been contacted by this act of piracy"
753: what about in your Hollow Knight directory?
whois baby
(actually no you might be breaking the gdpr doing that idk)
nah you don't
π
is there a steam_appid.txt there then, 753?
so what I don't get is why 753's looks more like mine than y'alls
also if he were to reinstall the game would it place it in the same spot
what if y'all were to reinstall the game
which txt?
nope
arrest this man
fbi open up
also you know there are DRM free versions of the game right?
i dont have steam_appid.txt either
ye

I'm checking for those 753
DRM free means there would be nothing different about a pirated version and a legit version...
can you sha1sum steam_api or check if it's legit some other way maybe with reflection?
not exactly 753
can you download the pirated version of HK steam_api.dll and put it in dnspy?
or is it a c++ binary
oh
so it's a relic file that was removed by newer patches?
no
it's a file that tells steam that even tho the folder name is wrong, that folder is legit 100% the game it says it is
pretty complex script and code too, ngl
it's not telling steam the game is legit it's telling steam which game it is.
ye
367520
so like if you installed Hollow Knight to steamapps/Celeste but put that file there it won't try looking for Celeste.exe
that's what I meant
the file is telling steam that even if the folder name is different, the game is actually what the file says
"that folder is legit 100% the game it says it is" that second "it" was "the file" not "the folder"
sorry for the confusion
anyway if you delete every file in the HK folder and verify integrity the end result should be the minimum set of files every steam user has.

not necessarily
if you do that, you get the steam_api.dll
but 753 doesn't have it
but how will the minimum set help you
neither does mick
what if they deleted everything and verified
idk what then
i always knew mick was a pirate tbh
light theme
install RES
dark themes are overrated
you are overrated
you are precious
@solemn rivet galaxy.dll won't exist on gog if you don't use Galaxy 
e.g if you're on Linux
e.g if you consider galaxy DRM and are using GoG to avoid DRM in the first place
@solemn rivet https://youtu.be/54Kpy5msiLs explain
wow thumbnail fucking spoiling everything
is that 2 life bars

they are clearly harder than anything else in the pop
so they must be a boss
the healthbar only shows up if you enter the room through the secret area
a secret endgame boss
remember when i told you the manual hazard respawn in debug didnt work
i lied
it works
actually no it goes away
so it doesnt really work
so i didnt lie
but u lied about lying so u still lied
is this lore
yeah they just use that as the falling oob hazard
that's how you get oob with invuln

its in a bunch of places
for example the new gorb arena i'm pretty sure
one of the new dream boss arenas anyway
ur mum
no yours
this game has very good hazards
that looks so adorable for some reason
also why do thorns in hog/panths make blobs
very very good hit detection
i hate those things
oh I think monomod hooks requires public functions
also @hollow pier the first room cycle is the same in 1424
yes i know
why do you even have hpbar in pop
too lazy to disable
it's like one drag
good
nice
@copper nacelle save me
have that in your wr vid

Has anyone ever gotten TypeLoadException with monomod hooks and know why?
@compact sedge target 3.5
@floral furnace wow thanks a lot
4.6.1
hey 56 how do you make the enemy sprite flash after hitting them?
you know the boss fight is going to be hard
when you his health bar fills half of the screen
also how do I actually get a ref to a private object with reflection?
same as just getting things w/ reflection afaik
x.gettype().GetField(stuff, flags).getvalue(thing)
so like this??????
yeah
if you have modcommon reffed use the extension method
which caches field infos
what's it called
haha yes
now all I have to do is wait for my new switches to come in
then I can desolder the LEDs, pop out the switches, and then replace them
so like this then?
ye
i need to add extensions for static attributes when you don't have an instance
there's also a private method invoke extension but I can't remember the name
it uses monomod's fast delegate thing
might be .InvokeMethod
GetMethodInfo is another extension
also caches
params makes it so all the args you pass after the required and maybe optional? args all go into the array
it's neat
if i were to fight the mantis lords in godhome would that be the mantis gods fight if i have the mod
with the same hp and all of that
not sisters of battle ofc
@copper nacelle ping
nvm
@floral furnace Exist!
If you can
oh you went to bed at a normal time
Good for you!!!
@cunning lagoon yeah
the way it works rn is it just checks if mantis lords exist in wherever you are
which is something i'm planning on changing so that you can have an option in godhome to battle them separate from lords
ur mum ech
i tried waiting a few frames
I bet it checks every frame if they exist too
well anyway
I'm not one who can talk
I stopped giving a shit about writing good or fast code about 5 hours into starting Infinite Grimm
you couldn't wait a few frames for mantis lords on earlier patches otherwise i would have done that

cause the go(s) become active after you "Challenge" them
at this point i should probably change it
i'll probably do it when i swap to godhome
just do the very unhacky and clean solution of waiting exactly 4 frames
in godhome I mean
(best I can tell the boss GOs spawn after 2 frames and their FSMvars are instantiated after 3)
wtf
well they don't spawn right away
or at least they aren't active right away
waitasecond
Start on a monobehavior can be a coroutine
wtf
TIL
Look at BossSceneController
what have i been doing with my life
this um... changes some things with regards to my coroutines

I'd say it changes everything but I'd be lying. it does let me condense some of my redwing code
coroutines lets you do things like
wait a frame
or wait a second/seconds/whatever
what's yield return mean anyway
it basically pauses the function for a given amount of time or until something happens
and then it resumes right after that yield line
IEnumerator Counting()
{
for(int i = 0; i < 1000; i++)
yield return i;
}
for coroutines it lets you give YieldInstructions
well there's that too but in the context of coroutines what 56 said
YieldInstructions tell Unity to wait for some time
https://cdn.discordapp.com/attachments/327461802311155714/486400143881535498/unknown.png this will print Start1, wait 2.5 seconds, and print Start2
so what this means is you can just have waiting for a frame in the start of your components
nothing major but it's convenient
you could've just done
void Start => StartCoroutine(Start());
IEnumerator Start()
{
// stuff
yield break;
}
yield break is the equivalent of return btw
Also there's fixed coroutines that run basically 50 times a second on average on non super laggy systems
they're for physics
so if you need something like physics that you don't want to be slightly messed up by framerates you can use those
Here's an example use for an object that fades from totally visible to half invisible over a certain period of time:
private IEnumerator fadeBallOverTime()
{
Color c = ballSprite.color;
for (float time = 0f; time < lifespan; time += Time.deltaTime)
{
c.a = ( (timeBeforeDeath * 2f) - time) / timeBeforeDeath;
ballSprite.color = c;
yield return null;
}
}
they're also great for waiting for stuff to not be null
while (GameManager.instance == null ||
GameManager.instance.soulOrb_fsm == null ||
GameManager.instance.soulVessel_fsm == null ||
GameCameras.instance.soulOrbFSM == null ||
GameCameras.instance.soulVesselFSM == null ||
GameObject.Find("Health 11") == null)
{
yield return null;
}
fuck ui
nice
fyi yield return null; just waits 1 frame
what if in HK 1.5 all sprites will be serialized with Unity's www
and all fsms too
delet this
@compact sedge im so sorry angle i had classes and my internet keeps fucking dying (also ive merged the changes already, i just saw it now)
yes
nice
nice
@cunning lagoon meme
fair enough
wow an hour
how are you gonna learn cool things at school if you are sleep deprived
A
ok yyou better get As in everything
ok

get π ± in everything
memeters
they are the superior system
i only measure in picometers thanks
Metric is easy just 10
tbh just measure everything in plancks
are we talking, like, two-by-fours or something?
chem quiz
that's a lot of two-by-fours 
Two by fours 
Is there a new update for the randomizer mod yet?
press f1

Thanks, I'm gonna ask there
ptk wheres the blue
my guy blue doenst exist anymore
they remade speedrunner
it's all white now
uhhh WAIIIIIIIIIIIIIIIIIIIIIII
I'll choose a white poke now because mudkip looks bad
tbf im not used to seeing dlk with the blue name cuz it clashes with red pfp
excadrill didnt look good with the blue name either
it never looked good
you ever serene grace

"Cannot pull because there are uncommitted changes. Commit, stash, or undo your changes before retrying. See the Output window for details."
but why
it's more of a puce thanks
commit
wrongo

arrays using 1 as their index is omega lame
digimon big trash
^
doing something like for(int x = 1;)
is already a sin
but pokemon is bigger trash
you know it's trash when my phone corrects digimon to something else and correctly does Pokemon
literally paid by nintendo
digimon big grassroots apparently
Gradow 
Gradow!
Gradow π©
PTKYR = Pokemon Trainer Kill Your SRelf
Gradow π π¦
Gradaddy π¦
GradOwO
they started it
Oh yeah fuck i forgot AA modified a different branch than what i did that i didnt commit 
@floral furnace for(;;)
will that actually compile
yes

Sadly it will
when is the modder reform to all white so aa isn't left out
make everyone green
yes do it for moderators too while youre at it
fuck why didnt i commit first before aa forked
Tbf if we had a 'mods of the modding channel' and a 'modders' role, AA could be green
it's a while true loop btw
echhh
well you can always get a black name by using light mode 
death
im black now bois
well we could always have a mods of the lore channel and lorers
nice
Cursed pic
lore was a mistake tho
yeah and we have moderator and moderator moderators
Ptk gets me
who mods the mods
admin
Someone screen cap mys
yeah but who admins the admins
π
hollow knight lore indeed was a mistake
check mate
common sense
for(;;){
log("fuck bees"); will print it out forever then
}
yes
wow gj 56 when will microsoft remove the while loop this is revolutionary
oh wait while doesnt excute once nvm
yea
so do i now have to roll back from the commit before i can pull
cuz branch1 is the main right, but i modified it but didnt commit, aa however forked from the branch1 did his changes, and now i accepted the pull request
commit now 
good enough for me
oh yeah i just pulled it
poggers
yeah i got the merge conflict
the hunter must be the offspring of thk and herrah

can't say that there or i get banned
hmmmm

you cant spell "hunter" without "hollow knight has no lore ue"
k-uh-ree
cur π©
do i just tick the boxes
haha nevermind take remote saves the die
im not correcting that

@compact sedge also i might remove read only next time since it should be modifiable depending on charms
ok
ttacco don't you have git bash?
yeah, I saw that
I'd never have guessed they were the final boss
they truly are
what if the radiance fired wingsmould instead of orbs π€
ttacco there's no need for a plugin tho, vs handles git pretty well by its own
