#archived-modding-development
1 messages · Page 179 of 1
what's the difference codewise tho
so has kuro ever thought about checking pv fsm for hop
still hitless

true
wait this isn't general

nice pfp




what's the glorious combos mod
who reads
sorry i don't listen to strangers
wait no
Then why'd you ask a stranger what the mod does
@stray mirage come back
wtf I added a readme
is this Spanish or Portuguese
shit
nooo
it's brazilian portuguese
56 can you confirm does it have a readme or no
this was made by gradow
oh right yeah u have the one I sent you that you helped a lot with
it just says a combo bar
hello whomst
that is all
hi
bye 
tbh how do you describe a combo bar
what does it do
A bar that instead of servings drinks keeps track of your combos
it tracks how many times you hit stuff in a row quickly without being hit and boosts your damage
does it work outside godhome
baots
so how do you hit stuff in a row
rowing is the action
yes it works outside godhome
the only difference is inside godhome if you do the panths you get a star rating at the end
the default numbers which you can change are like this
0.3x, 0.6x, 0.9x, 1.2x, 3.0x
can you just hit the dummy next to oro to get to combo cap
maybe idk
might not be that useful because of its location
your combo would probably decay before you could do anything with it
how many times do you have to hit without getting hit to get 3.0x
wow
but if you get hit you only go down one combo level
oh
the first 3 combo levels are easy to get. 8 hits per
it makes the game quite a bit harder unless you're already pretty good and then it makes it easier.
and by pretty good I mean better than me
also there's a settings file so you can change the numbers
if you think mine are for dungos
so i can change it so you need 1 hit to go up a combo level?
you can change it so you don't lose your combo when you get hit or from time
and 1 hit per level
if you want
and so max combo level does 50x damage
I'm not stopping you
there's no way to do it uncapped yet and I probably won't add that because that's too memey even for me.
how dare u
you monster

does your damage go down if you have no combo
and why do some enemies in enemy randomizer just transform into something else when they die
but you love jacksfilms
Hey, did godmaster make the Hollow Knight mods not work with the new version?
they've been updated
mods don't work with the beta
👍
however!! they do work on 1424
are you a mys alt
you
sharp shadow?
that yeah
is there no source name for it like spells have?
i.e. "Fireball", "Q Fall Damage"
according to lbringer at least
corny drops approximately 999 sheets of paper
@flat forum are you canon
yeah but are those woven spider silk?
I think lemm eat ten egg says something about that
I'm also not sure how to check if the player is shadow dashing in general
HeroController.instance.cstate
where could I get the values for that, however?
o
ahhhh it's its own thing
I thought it'd be something like a single variable from somewhere else
like
cstate == blah
not cstate.blah
an enum?
let's go with that
of bools
classes without functions, smh
it has functions
thats what u get
I'd also like to make the invuln from the shadow dash persist for a half-second or so after coming out of it, is that doable?
yeah
is this DD but on the dash
vaguely
glorified sharp shadow will keep them invulnerable for a half-second after exiting it
use dashpressedhook not the dashvector one
so that you don't get thrown off by the increased distance and accidentally fuck yourself up by dashing into an enemy that's staggered but still has contact damage heck you pure vessel
why not the vector one
because if you start a corotine from the vector one
it will start one coroutine every 0.02 seconds for 0.5 seconds
wtf
the vector one runs once every 0.02 seconds while you are dashing
so I won't break the entire game by having the shadowdashing var persist for a slight amount
also wtf the extra sharp shadow distance is why I use that charm
that extra distance is WONDERFUL
the extra distance can suck m
m
the extra distance is terrible
didn't you get a wr with it DL?
but thats a very specific situation where it happens to save 5 seconds
yes but he hates life that much
DashPressed seems to override vanilla implementation so how would I get that
also i hated every second of it
Called whenever dash is pressed, return overrides vanilla inputs: true to not dash, false to dash.
no it's a lie of a hook name
dashpressedhook runs when dash is pressed and if you return false the base game handles it and one of the things the base game does is check if it's off cd
you could also just do it in hero update or something
you might also need to check if it's off cd in code
ech hero update hook
or hook on the dash function itself
and what's the time scale that HK runs at? i assume 1f
1x
yee
t
so checking if
Time.deltaTime + 0.5f was above Time.deltaTime every now and then would check if half a second has passed? not familiar with timing code
no
x + 0.5 > x

you use a timer var in like update
add time delta to it
and check if that's above what you want
other places I've done timing code. the standard was to get the current timestamp, add some to it, and then check if the current time was at or above that so that amount of time passed, bear with me
it was basically like
x = time + 5_seconds
(in another function)
if(time >= x)
blah
oh ok
having a hard time grasping time.deltaTime
Time.deltaTime is the time it took to render the last frame
nothing to do w/ timestamps or anything
update is called every frame
so you can check add Time.deltaTime to a variable to check how much time has passed since you made the variable
Time.time is the timestamp
ohh, I think I see
Time.time - lastTime = deltaTime
whats hard to grasps 🤔
deltaTime is self documentating, it literally says what it does in the name
its the change in time

just use a coroutine tho
IEnumerator ree()
{
yield return new WaitForSeconds(5f);
// stuff to do after 5 seconds
}
coroutine should work but just to clear things up
so if I had var
x = 3f
then, every frame, I called
x -= Time.deltaTime
and finally at the bottom had
if(x == 0) blah
then blah should happen after 3 seconds?
x <= 0


but no you shouldn't use a var and add Time.deltaTime to it, you can just store the Time.time and compare that like
float start = Time.time;
if( Time.time - start > duration )
doThing();
why not?
what's wrong with
for (float f = 0f; f < TimeToRun; f += Time.DeltaTime {
// code to run every frame for TimeToRun seconds
yield return null;
}```
and to make sure this code is working I will make the invuln last
longer than the cooldown before you can dash again
that oughta be nice n balanced

ready for that interview whenever tc

what if you just made all the dashes SS length
to be tbh if someone did that it would make the game a lot easier for me
well first of all
shadow machine woke
better than some dashes being long and others being short
it didn't WORK 
2
this solves the wrong problem
this is supposed to be after 5 seconds do x
not for 5 seconds do x
look if you wanna wait X seconds just do yield return new WaitForSeconds(5f)
coroutines dumb
but here you are talking about Time.time - start > duration and IDK why that's any better
what happens if you yield return 0
what do you think WaitForSeconds(5f) does
the same thing but it's higher level and game programmers clearly like their high level code or you'd all be modding c games.
there are a billion ways to check time passing, none of them are factually superior to one another
hey that explains a lot
there's no low level ultra efficient way to do it in c# with unity like there might be in other languages. Whatever way you do it will take about as many cpu cycles which is basically none.
probably would have helped if I equipped the charm before trying to test it
jfc
that vengefly got fucked up
well, it seems to work, at least
technically there is a reason to add deltaTime to stuff
and thats if you want your timer to not always increment
i.e. in hitstop
but tc implement hitstop by changing timeScale which is reflected in Time.time anyway
because it is
nsfw
another one on the list
this looks like a woman's breast
no it doesnt
oh dear
I appear to have made the player invulnerable forever
maybe I should bring that to #hk-discussion they'd love it
finally a way to beat panth 5
nice
tbh haven't beaten p5
I haven't because I suck at the nailmasters and sly
why even do that
i haven't because i was doing markoth
when i can ur the best every duck game arcade
any boss is easy if you spam dd tho
also accurate without spamming dd
you ever voluntarily let yourself get mauled by a vengefly to test a charm
yeah when i tested compass
then WHAT do you test fiftysiox??
siox
💦
double damage with every mask you lose
is there a way to provide no hit detection other than the shadowdash variable?
it seems that the game detects that as actual shadow dashing
5000+ damage at one mask sounds reasonable
did you turn off invin after turning it on tho
ye
show code when
is show code the send nudes of this channel

in the update call:
no stop why are you setting cstate
show cods and boolene
my dude
no that's to check if you're shadow dashing u dungo
so what else would I useeeeeeeeeeeeee
PlayerData.instance.invincible
isInvincible?
and I guess pdata.instance.canShadowDash is what I need to check then
cstate abuse is good wtf are you talking about
what
wtf
are you sure you actually set it back to not shadow dashing tbh
wait what
is this in a while loop or something
it's in hero update
eeeeeeeeeeeee
can you coroutine
i don't get it what's a coro utine
private bool DashPressed()
{
IEnumerator death()
{
while(HeroController.instance.cState.shadowDashing)
yield return null;
HeroController.instance.cState.shadowDashing = true;
yield return new WaitForSeconds(5f);
HeroController.instance.cState.shadowDashing = false;
}
HeroController.instance.StartCoroutine(death());
return false;
}
@fair rampart is this u
is this loss......................
no u
question 56 do you really have to remove the actions everytime you instantiate cuz thats pretty lame
make ur own prefab
h o w
also wouldn't 5f be literally 5 seconds
yes
darn
so this should theoretically do it for half a secnod
{
IEnumerator RazorShadow()
{
while (HeroController.instance.cState.shadowDashing)
yield return null;
HeroController.instance.cState.shadowDashing = true;
yield return new WaitForSeconds(0.5f);
HeroController.instance.cState.shadowDashing = false;
}
HeroController.instance.StartCoroutine(RazorShadow());
return false;
}```
I'm not a markdown wizard
```cs
// code
```
private bool DashPressed()
{
IEnumerator RazorShadow()
{
while (HeroController.instance.cState.shadowDashing)
yield return null;
HeroController.instance.cState.shadowDashing = true;
yield return new WaitForSeconds(0.5f);
HeroController.instance.cState.shadowDashing = false;
}
HeroController.instance.StartCoroutine(RazorShadow());
return false;
}
oh cool
oh 🅱ool
true
@floral furnace add a component every time you instantiate imo
ez
and then do the stuff in the awake of that component
instantiating then setting inactive might work for making your own sort of prefab but idk i've never tried it
ill try that thx
now what I'd REALLY like is if the knight would appear shade-y/black during that time they're invulnerable but that is beyond me rn I think
then just code it smgh my head
copy 56's lightbringer code
accurate
make a giant textbox appear that says YOU ARE INVULNERABLE and then make it disappear when you aren't

dont copy lightbringer, PLAY lightbringer
do you want it like pure black or what
I also dunno if there are existing sprites that look just like the knight but shade
wow it works
then draw some thicc legs on it
((SpriteFlash) typeof(HeroController).GetField("spriteFlash", BindingFields.Instance | BindingFields.NonPublic).GetValue(HeroController.instance)).flash(Color.black, 1.11f, 0f, 1.11f, 0f);```
change color.black to whatever
what exactly would that do, make them black for a bit?
scawwy
color.likenotreallyblackbutprettydamndarkimeanlikenotpitchbutiguesskindaclosesoyeahyouknowwhatimean
change the color alpha if you don't want it to be fully black
change the color beta if you want boss nerfs
yes
also what is binding fields
like
#hk-discussion is this way thank you
but discussion has no lore
binding fields specifies what to get w/ getfield
good
for not completely black you could use like new Color(1f, 1f, 1f, .5f)
says it doesn't exist in this context
import it
alt-enter is good
using System.Reflection;
iirc
also it'd be good to cache that field
I do have reflection already
no it's binding flags
@solemn rivet EnemyHPBars doesn't work in absrad or any of the nailmasters or apparently the dreann warriors it does work on gruz mother though
heck
also cache field or ban
private static readonly FieldInfo SPRITE_FI = typeof(HeroController).GetField("spriteFlash", BindingFields.Instance | BindingFields.NonPublic);
thank
then it's just
((SpriteFlash) SPRITE_FI.GetValue(HeroController.instance)).flash(Color.black, 1.11f, 0f, 1.11f, 0f);
P L A Y L I G H T B R I N G E R
PLAY LIGHTBRINGER!
P L A Y L I G H T B R I N G E R
the black sprite seems to flicker a bunch
I imagine those translates to total time, fadein, solid time, fadeout
¯_(ツ)_/¯
Have you considered "play lightbringer" https://github.com/natis1/shitmothst/blob/master/shitmothst/ads_for_better_mods.cs#L34
I'm gonna DMCA you
no shitmothst is an entirely original idea never done before and totally not inspired by anything.
shitmothst is a good mod, not just a good play lightbringer mod
I mean it does have a move called descending dank.
(which is actually desolate dive but w/e nobody keeps track.)
(also for some reason I actually decided to update it to godmaster)
(why I decided to spend the 5 minutes it took to do that the world will never know)
is this invertknight
like no joke, it works completely fine whenever the knight is doing anything but walking on the ground
jumping? sure
moving in the air? a-ok
walking? nope
nice
what about diving
56 why do i still have to fight the mantis gods in godhome
whenever i have your mod installed
because 56 bad coder who doesn't check scenes
u
and just tries applying code on every scene
because hey you never know, the mantis room might be in white palace 5
mantis lords but its in godhome
56 pls
literally enter the scene and you get attacked already
think of all the cpu cycles you are throwing away
true
i was gonna swap them both to scenes once i fixed them for gm
mantis gods and lost lord
the thing with mantis lords is they don't exist
until you challenge them
or you get it from the battle scene
:ech:
⁵⁶ ᵐᵃᵏᵉ ᵃ ʳᵒᵒᵐ ᵈᵘᵖᵉ ᵐᵒᵈ ᵇᵉᶜᵃᵘˢᵉ ᴵ ᶜᵒᵘˡᵈⁿ'ᵗ ᵍᵉᵗ ᶦᵗ ᵗᵒ ʷᵒʳᵏ ᶜᵃᵘˢᵉ ᶦ'ᵐ ᵈᵘᵐᵇ

GameManager.instance.StartCoroutine(GameManager.instance.LoadSceneAdditive("dupedRoom"));
public void Schutz(AttackDirection ad)
{
fireball = Instantiate(HeroController.instance.spell1Prefab, HeroController.instance.transform.position, Quaternion.identity);
fireballFSM = fireball.LocateMyFSM("Fireball Cast");
fireballFSM.RemoveAction("Cast Left", 1);
fireballFSM.RemoveAction("Cast Right", 1);
fireballFSM.RemoveAction("Cast Left", 2);
fireballFSM.RemoveAction("Cast Right", 5);
}
btw just to be sure if i understood what you meant, the "attach component at instantiated clone" will work here right
cuz what i meant earlier i dont want to have to do this code everytime you do a nail slash cuz inb4 PERFORMANCE issue
ᵃˡˢᵒ ᶦ ᵃᶜᶜᶦᵈᵉⁿᵗᵃˡˡʸ ᵍᵒᵗ ʳᶦᵈ ᵒᶠ ᵐʸ ˢᵃᵛᵉˢᵗᵃᵗᵉ ᵐᵒᵈ ᵃⁿᵈ ᶦ'ᵐ ᵗᵒᵒ ˢᵃᵈ ᵗᵒ ᶠᶦᵍᵘʳᵉ ᵃⁿʸᵗʰᶦⁿᵍ ᵒᵘᵗ ʳᶦᵍʰᵗ ⁿᵒʷ
Ok, I'm finally home
what was the variable called
Gradow!
Gradow!
Gradow!
Gradow!
hi
what variable 56
I think I promised I'd do something but I can't remember what it was
create Lightbringer 2
give me all your money
Oh yeah
fix hpbars
oh yeah, SavePos saves your position
some bosses dont have hp bars
Did you try that dll
Wtf
gruz mother does have hp bar
also pv doesnt
56 before i replace anything with that thats the mini debug right?
ye
ok
kry
it's the one you sent the other one
too much effort imo
u don't wanna lose it again
it's the one you sent the other one
can't lose it if i dont have it
can you send me managed
i need sleep
na lol
s/onebutthesecondoneinthesentence/day
I sent it like 24h ago
Ok
@tranquil glen give managed
23:36
it's 11:11pm btw
i thought br was 1h behind not ahead
its 4:11 imo
wdym ptk
how to send a whole folder?
ok
like I said, ptk
also you sent the whole save state thing in an image
actual brazil
not unexistent pieces of land
actual brazil e lixo
u ever just rar it instead?
wait but
does that have the debug one or the vanilla one
the plto thickens
but what
none are gmt-3
that has debug
??????
idk google says so
u want original?
do you even exist gradow
then what time was brazil 🤔
that one doesn't count
oh god this has it but its a really old version
the only one that doesn't count in my books is GMT-2 tbh
back when it was just a teleport function
not a savestate thing
what!! how??
in this version the variables are just Tele and TeleScene
fkst
false knight stagger time
but does gradow know my time
no time is ptk time tbh
gmt+11043753891211241552174222332611
i love how the AttackDirection enums are upward, downward, normal and normal
seemsgood
next time someone fucking asks me for direction and i have to say left or right ill just fucking say "normal"
ur mum normal
mod your car's gps so it says normal/up/down
yes gradow shes on my right right now

guess i'll never have a github
i was unit binormal
its too bad really
here i'll give you a password
password123
krythom1246784321lownailpresses5/7businessdays
use your username but just spell it backwards ez
having more than one password is a sin 
https://haveibeenpwned.com/ @tranquil glen
that's why it was compromised
stop using repeat passwords and get a password manager
^
what if the manager hacks me
there are even good free ones for windows tbh
D03s_l&1qu1^=C0..]{3x15y
Shilling for KeePass here
dang I have 10 accounts that were compromised under my email lol
yes i really hate when my funny games account is compromised
having more than one password is unnecessary and is just hard to remember
there was a major ubisoft leak a few years ago iirc
what's edmodo
ech password manager
yeah exactly
use lastpass for 30% off with the code krythomsux
use keepassx for free
Keepass good
what about kappassx
what about giveassx
sendcodex
dunno why you guys are so selfish
bruh I wanna keep my ass kthx
Can google chrome be my password manager?
@tranquil glen re-added everything
thats where i look when i forget one
I use keep assx
56 you actual god
I'd recommend not storing them on google chrome
but ya know you do you
wow between my two emails I've been in 15 breaches
google chrome wont get breached 
lmao just type mypasswordis: ************ into the search bar
its too big to fail

Hey their slogan says don't be evil so how could they be evil?
that hurt to read
oh wait did they?
can arrays have ints and bools and strings?
make an array of a struct
all in the same one?
containing those things
make a struct, make array of that struct
56 i think you're getting confused, tuple isn't a word on its own its part of words like quintuple
hey is there a website like isthisaword.com where you can check if a word is a word
and you forgot the ure at the end of structure
I wonder
yeah i know they're actually things i was just joking cause i didn't know what they meant
ye ik
if isthisaword.com isn't somehow already sold buy it and make it point to https://www.merriam-webster.com/
struct is actually in the oxford dictionary
my brain can't handle you telling me to make an array of a struct while i'm still figuring out how arrays work and have never heard of a struct before
C programming language
why do you want an array w/ multiple types
a struct is just a class with no methods 🤔
oh i was gonna copy every variable from playerdata and then paste them into another thing to load again later
implement your own serializer
ah yes, is that the one where he looks for the kid holding the balloon
it'll be better than unities 
you can sorta think of a struct as an array with many different types of fields
that's not technically correct
but meh
or the derulo variety?
ok so what you do is like
i don't know if anyone but me gets kry jason derulo jokes
string saved = JsonUtility.ToJson(new SaveGameData(PlayerData.instance, GameManager.instance.sceneData));
that's how you save it
to put it back you do
SaveGameData saveGameData = JsonUtility.FromJson<SaveGameData>(text);
gm.playerData = PlayerData.instance = saveGameData.playerData;
gm.sceneData = SceneData.instance = saveGameData.sceneData;
gm.inputHandler.RefreshPlayerData();
shhhh
ok

how can this not get every enemy?
tired at half past 10
remove the >= 5000
because I removed that in the dll dlk is using
what happens if I try to add a component to a gameObject which already has that component?
doesn't work
Excuse you pt its not half passed 10
Im so depressed that my vest friedn doesn't even know what timezone im in
wait wut
is this drink ktytom again
No i jist switched to mu phone

ah ok
Also gradow ive never met pt
O shit
yeah i got low nail to 15
Nice

Tbh i didn't know what timezone i was in until yesterday
I thought when i moved i switched timezones
k, gonna try something hacky, just to make sure
But i didn't
angle what did you reference in your class for the text, i cant find TextAnchor enum for some reason and it says its in UnityEngine but ive already referenced it and used it
did you move provinces
So i thought i was in a different timezone than i actually was
UnityEngine.UI
Yeah i did pt
wait where
UnityEngine.TextRenderingModule
im in NB now
n 🅱
Yeah went from ns to nb
sure
if I change my latitude does my timezone change 🤔
yup that referenced worked 56
thx
UnityEngine.UI doesnt have it now apparently
ever since they seperated it into a fuckton more dlls
quality
You ever notice how many islandy things are long with a blorp at the top?
i understand
Like i know NS isnt an island but it has it, UK has it, Japan has it, P sure new Zealand has it
is this the kind of healthbar absrad is supposed to have
why isn't the hpbar just a giant white bar across the middle
it wasn't working before, right?
no
also it stays there on the phase transition thing
if this works, then... idk, lucky me
also, dlk, that won't be an issue because absrad will have a big bar
on the bottom of the screen
makes sense
Yeah i was right new Zealand has it
I labelled it
Its the bulgy bit at the tip
Sometimes its connected
Sometimes its not
But so many islands have a long bit and a blorp
now she just doesnt have a health bar
it works
absrad has >5k hp
you ever notice how islands are surrounded by water on all sides
she doesnt
I know she doesn't
ok
but that's the only thing I changed from when it worked to now
"if enemy has more than 5k hp, don't give it an hp bar k, thx"
actual code right there
See heres japan too
i see what you mean
i understood kry without the labelled charts
i understood him with the labelled charts
Thanks pt
corse is the blorp
so many islands
no health bar
k, one last try. I think I got it
it might be caused by bosses which have phases and each phase is treated as a diff enemy
bool isBoss = hm?.hp >= 200 || deathType == EnemyDeathTypes.LargeInfected;
maybe each phase has less than 200 hp

no healthbar
does it not at least have an hm?
it does cause it shows up in debug
ok
any other bosses that is happening on, DLK?
no, it's not null AA
but it can be NO_EFFECT
ok
ill check on this one
I'll test this myself then
also nkg and elder hu and gorb
thank you for your time
so i assume all the dream warriors
sorry for bothering u
are you hitting them?
yes 
ok
marmu is so stupid
why does he phase through my nail
none of the dream warriors have healthbars
gottem
nice
marmu is that asshole that hits a wall and suddenly ricochets at you at mach speed
Coding your own games is easier than you think, you know, you should take this online unity course
Is the only ad that exists apparently
Moddb?
No, you.
yeeeee
who'd have guessed
debug logs are so useful!
also
56
it's broke because of you
EnemyDeathTypes deathType = (EnemyDeathTypes) ede?.GetType() .GetField("enemyDeathType", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(ede);```
this is somehow still null
I tried making it nullable, doesn't work
I hate to come in and just derail the conversation, but I'm tired and frustrated with the Trial of Fools, I went looking for a mod to help me out and I really couldn't find anything that would do the trick. I've seen people use all charm mods, anyone have a link to that?
are you looking for cheats or just something that makes it easier
Pins
for the latter use something like redwing
just debug and put no damage or something
if you just want to cheat it use debug
You guys are way more helpful than year-old posts on Reddit, thanks for the lifesaver
let me guess "dude its not that hard just get gud"?
what
oh wait i thought you made a reddit post and thats the replies you got
also get > git tbh
new version control named as gud when?
@solemn rivet hhhhhh
Play Lightbringer.
try gitlab
white_large_square
I just made another mod
Light bringing my screen
Lightbringer 2 ARG?


escending