#archived-modding-development

1 messages ยท Page 100 of 1

copper nacelle
#

lmao

compact sedge
#

the floor probably shouldn't make mushroom clouds either if it's supposed to be pure black

#

anyway speaking of black floor time to make my addon/PR now

#

also you can pogo off your own skull

copper nacelle
#

nice

rain cedar
#

Nice

copper nacelle
#

haha yes

#

i found the dream world thing

#

wow it's loading forever with even faster mantis lord sounds

#

y e s

#

it worked

#

@compact sedge rebuild imo

compact sedge
#

did you change any code

copper nacelle
#

yes

compact sedge
#

because right now I'm working on building your rainbow floor

copper nacelle
#

like

#

a tiny bit

#

oh wait forgot something

compact sedge
#

eh I'm making you do the merge at this rate

copper nacelle
#

shouldn't conflict

compact sedge
#

im only editing mantis.cs

#

oh and I guess MantisGods.cs

#

oh and I added a new file

#

but other than that

copper nacelle
#

imo try pulling

compact sedge
#

lemmy write my code first then I'll merge

copper nacelle
#

are you trying to increase the chance of a merge conflict

#

also this removes the annoying shade music

compact sedge
#

look there's almost certainly gonna be a conflict but ain't nothing I can't resolve

rain cedar
#

Resolve the conflicts by overwriting 56's changes

compact sedge
#

ok need to reboot because uh something filled my entire /tmp folder

#

so now I am out of ram

copper nacelle
#

just delete it from /tmp

#

๐Ÿค”

compact sedge
#

can't deletd everything still says it's using 8GB

copper nacelle
#

f

compact sedge
#

idk it was some program making a file full of:

type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type
type unknown not a basic type```
copper nacelle
#

weird

compact sedge
#

probably steam

#

because steam at 100% cpu doin nothin

#

and when stuff breaks it's always steam

#

woo got my colors backwards

#

apparently you need to set the material texture color not the material color

#

woo my patchset is done. that was really easy

#

also lets you set the floor color to anything you want

#

in addition to rainbow

copper nacelle
compact sedge
#

just did the merge

#

gonna test before PR

#

turns out I was working with a very old version indeed

#

ok sent pr

#

and uh even on the merged version I still don't see my ghostie

#

but oh well

#

I use a VERY COMPLEX and SECRET formula for rainbow goodness ๐Ÿณ๏ธโ€๐ŸŒˆ

#

oh wait I found a bug

#

don't accept yet

copper nacelle
#

was about 10s from accepting

supple sigil
#

oh wait i found a bug

compact sedge
#

ok now u good

copper nacelle
#

also shade'll leave the area once you've died in another area

#

and then after that dying in the arena shouldn't spawn a shade

compact sedge
#

yeah pr is perfect can confirm no more bugs

#

anyway now the real question how do you even get hits in it's so fast

copper nacelle
#

pogo

compact sedge
#

also one more thing I fought mantis lords and then travelled to the left of the black egg and this is what I see

copper nacelle
#

a h h

compact sedge
#

died to thk

copper nacelle
#

wow it's rainbow

compact sedge
#

ima just redownload your save and hope that fixes things

supple sigil
#

this doesnt look normal

compact sedge
#

there was THK in that image but he went offscreen to the left

copper nacelle
#

reee bug reproducible

supple sigil
#

why's the fog red

#

like Fof red

copper nacelle
#

maybe rainbow floor

#

idk

compact sedge
#

I made the rainbow floor in spite of these bugs

#

lol

#

well you did fix the shade bug but

copper nacelle
#

w h y

compact sedge
#

it spawns in every scene reee

#

after you die

copper nacelle
#

what's the versioninfo thing

compact sedge
#

settings version

#

every time you add a new setting you can bump it up and it will reset the global settings file

#

got the idea from modcommon

copper nacelle
#

o

#

why in a separate class tho

compact sedge
#

it's for the settings not for the mod as a whole

#

oh you mean separate class for settings? because it's cleaner

#

maybe it's because I'm really bad at the game but it's easy to find bugs when all you have to do to find them is die

copper nacelle
#

lol

copper nacelle
pearl sentinel
#

Oh hey, you noticed my settings version trick

#

Glad someone found that useful

compact sedge
#

Part of compiling every mod I use means reading code from other mods. And y'all have some great ideas tbh.

solemn rivet
#

except for me

#

my code is basically one of those hack n slash games

copper nacelle
#

does anyone know why this makes other objects in fungus2_15_boss not destroy on load

compact sedge
#

I didn't even find your code until round about 4 days ago gradow.

copper nacelle
#

nice delet

compact sedge
#

Tempted to undelete but trying to do research before I ask a potentially dumb question

rain cedar
#

What's the worst that could happen if you ask a dumb question?

#

We all mock you and you get banned from the server?

#

Not so bad

compact sedge
#

well apparently not much because I haven't been banned yet

copper nacelle
#

apparently getting thee root objects isn't making thee arena appear everywhere

#

it's the destroying everything

compact sedge
#

nv is ModCommon but loaded through the EnemyRandomizer dll I think

#

which is the answer to the question I deleted

pearl sentinel
#

Oh, nv is a carryover from my non-hollow knight common that I used to create mod common

#

nv namespace should have gone away for mod common stuff

#

But it's possible I missed stuff

compact sedge
#

ok I can send a patch to gradow

solemn rivet
#

Nv? Maybe I didn't push the current blackmoth to git...

compact sedge
#

oh you already fixed it

#

well shoot

solemn rivet
#

I was using the nv together with kerr like a month ago in an effort to try and recreate the super dash fsm in code

compact sedge
#

also shh don't look at the 1 line PR

solemn rivet
#

My bad tho, for forgetting to push my changes

compact sedge
#

how much else did you change

solemn rivet
#

Ehhh

#

Dunno

#

I'm on mobile rn

#

Not much, I think?

compact sedge
#

well I was gonna build it and play it to see what it's about after 56 recommended it to me but I'll wait I guess

copper nacelle
#

reeeee

#

use the drive

compact sedge
#

literally never

solemn rivet
#

Drive is up to date

#

Looking at the code, I can see some changes, but nothing game charging I think

#

Like, I removed backwards compatibility

copper nacelle
#

why do i exist

solemn rivet
#

Because lifeblood is released now (that commit was from before lifeblood)

pearl sentinel
copper nacelle
compact sedge
#

did longnail and mark of pride both increase range by 1.2 instead of 1.2 and 1.3?

copper nacelle
#

there was a fucking gameobject

#

called "BossLoader"

#

not destroying it fixed the problem

#

reeeeeeeeeeeee

pearl sentinel
#

Success

compact sedge
#

gj

solemn rivet
#

Gotta go now

compact sedge
#

ok ping me when u update it

solemn rivet
#

I'll push it first thing tomorrow morning

copper nacelle
compact sedge
#

ok

copper nacelle
#

i've gotta go in like 5 minutes

solemn rivet
copper nacelle
#

cause i've been procrastinating my homeework

solemn rivet
#

We all elderbug in here

copper nacelle
#

@compact sedge new release, gtg elderbug

compact sedge
#

ok one slight critique:

GlobalEnums.MapZone.WHITE_PALACE;

is a dream zone but deaths are for real on steel soul

copper nacelle
#

that's cause if i set it to dream_zone or whatever

#

it just keeps you at a white screen forever after you "die"

compact sedge
#

ohhh

#

huh

#

well it doesn't matter because nobody's playing your mod on steel soul, right?

copper nacelle
#

probably

rain cedar
#

There needs to be a proper dream return set

copper nacelle
#

o

compact sedge
#

sean stop 56 has homework

copper nacelle
#

setting that mostly worked

#

couldn't use spells and couldn't take damage

#

also @compact sedge 256f makes you not have to cast

#

now for hw for real

compact sedge
#

but then you're dividing a float by a float which is less accurate than dividing a double by a double and then casting to float

copper nacelle
#

it's a rainbow floor

compact sedge
#

wait are vars supposed to be fully capitalized and not camelcase

copper nacelle
#

yes

#

vs even complains

#

for most of them

pearl sentinel
#

Name is for properties

#

aName is fields

copper nacelle
#

o

#

til

copper nacelle
compact sedge
#

I guess this is where not knowing C# conventions bites me

#

in c++ even camel case function names is correct

rain cedar
#

Fuck conventions

compact sedge
#

or at least not wrong

#

fuck conventions set by microsoft and not ISO

rain cedar
#

FunctionName
variableName
CONST_NAME

#

Change my mind

compact sedge
#

not a bad way to do it

#

actually

#

there's a better thing for functions

#

underscore_but_all_lowercase

copper nacelle
#

i do pascal case for everything that's not param names and random variables i make in a function

#

and the consts thing

pearl sentinel
#

Typically we use it the way I described bc of stuff like this:
private float foo;
public float Foo { get { return foo; } }

compact sedge
#

so function_name()
variableName
CONST_NAME

rain cedar
#

But you could do the same thing with

public float foo { get; private set; }
pearl sentinel
#

The only thing I have tried and sometimes preferred was kFoo for const

compact sedge
#

uhh doesn't c# have readonly

#

what's wrong with that

pearl sentinel
#

Well yes, I'm just describing the case where you have a private backing field of the same type as a public property

compact sedge
#

or const for that matter

#

public const float foo

rain cedar
#

readonly and private are different

compact sedge
#

but what about const

pearl sentinel
#

But these days I also prefer the all caps const

rain cedar
#

This isn't something that's meant to never be changed

#

Only to never be changed outside of its class

compact sedge
#

is this bad code:

private var myVar;

var get_myVar() {
    return myVar;
}```
#

bad variable name aside

rain cedar
#

That's what properties are for

#

So yes

pearl sentinel
#

Harder to read when you have a file full of junk

compact sedge
#

what about
protected var myVar;

#

anything wrong with that

pearl sentinel
#

{
}

rain cedar
#

Protected is fine

#

Has its uses

pearl sentinel
#

If you're writing an api don't make things private imo

compact sedge
#

^

#

but uh I think the standard for c++ is add an underscore before the private var so

pearl sentinel
#

Idk about standard, but after about 5 different ways that's how I settled on doing it

#

Er, for member vars

compact sedge
#
public var myVar {
    get 
    {
        return _myVar
    }
    set
    {
        _myVar = value
    }
}```
pearl sentinel
#

Looks my early c# code when I first transitioned from c++

#

One problem you have with unity tho is what do you label a private serialized field (functions like a public field in the inspector)

#

Basically, special markings for all these become dumb to manage

#

Better to just drop them and use intellisense

compact sedge
#

why make anything serialized

pearl sentinel
#

#unitythings

compact sedge
#

your crossroads modloader broke on linux until I removed all the random serialized tags from one of your function and then everything worked

#

I didn't change anything about those variables just removed the tag

#

ยฏ_(ใƒ„)_/ยฏ

pearl sentinel
#

[SerializedField] ?

pearl sentinel
#

Well if you removed that it would horribly break if those defaults weren't correct

#

Because that tag means the data was set in the unity inspector

#

Not in the code

compact sedge
#

ohhh

#

well then

#

That explains why that fixed stuff I guess?

pearl sentinel
#

The defaults may still be provided to ease development

compact sedge
#

ยฏ_(ใƒ„)_/ยฏ

pearl sentinel
#

But the attribute says the value is saved in the scene

compact sedge
#

then maybe I should have taken the smart approach and changed the scene values

#

but tbh I'm still amazed you wrote a mod installer in unity

pearl sentinel
#

(Shrug)

compact sedge
#

and, just to level with you, I don't like when variables are set in Unity

#

HK has made me hate that

#

because everything in that game is set in unity

#

and it makes it annoying to modify

pearl sentinel
#

Well, there's good and bad ways to do things

#

I understand the bad taste that comes from what you're talking about. We run into it a lot with people's first projects in unity at work

compact sedge
#

you do game dev for a living?

pearl sentinel
#

There's also a lot of people that go over board with the "cool new thing" of the month

#

Yeah, tho not what you might expect

#

I do slot machine games

compact sedge
#

Konami?

#

/s

pearl sentinel
#

Nah, much bigger

compact sedge
#

working in gamedev sounds like my personal hell

#

so uh good for you I guess

#

but I could never fit into that environment

leaden hedge
#

konami doesn't even do slot machines they do pachinko

pearl sentinel
#

Well, one nice thing about what we do. It's way more stable than normal game dev

compact sedge
#

ehh they're basically slots but if you win you get balls to drop

pearl sentinel
#

And I get to do basically everything that normal game dev does. Shaders, physics, networking, etc

compact sedge
#

normal gamedev from what I heard is like 70 hour work weeks 30 unpayed and you get fired after the DLC is done

#

(lul 70 hour days)

pearl sentinel
#

Depends on the company. My sister works on a team at MS and my best friend works at bungie. We all get crunch times buy don't have that hire and fire revolving doors

#

Just need to find a good place

compact sedge
#

idk I'm still in college but I want a job where the primary thing I'm doing is completely unrelated to coding

#

even though I love doing it

pearl sentinel
#

You were into math right?

compact sedge
#

the only code I write that isn't crap is when it's math

pearl sentinel
#

I double majored in math and cs. Took the actuarial track in my math dept bc I was dumb

#

We hire mathematicians to design math models for various gambling games and scenarios as well as do some coding to test and verify models

#

So there's a lot you can do with a math focus

compact sedge
#

no I'm not getting a degree in math

#

probably biology

pearl sentinel
#

Oh cool ๐Ÿ‘Œ

compact sedge
#

if I can do "boring" lab tech work at some company, where code comes in handy but is not the main focus I'll be happy.

pearl sentinel
#

Yep, plenty of that out there

#

Had a friend here that worked in a spices lab developing new spices for various companies

compact sedge
#

not exactly the most ambitious of plans but oh well it seems fun to me.

pearl sentinel
#

Made for neat dinner hangouts when he'd bring in his new experimental samples to season things with

mighty rose
#

hey yall I found a bug with the randomizer 1.3.1.5

#

grimm gave me the mothwing cloak, and upon banishing him (not finishing the ritual) the mothwing cloak along with the shade cloak disappeared from my inventory

#

also, the dream gate upgrade to the dream nail randomly disappeared, even though I have 1500+ essence

#

edit to the last statement: the dream gate still works/shows up in my inventory in the room that I created a dream gate in, but nowhere else

#

oh wait no that is weird

#

i got the dash ability after getting the carefree melody

#

but the dream gate is still buggy and i have no idea why

mighty rose
#

OH WAIT ITS AN ITEM ALSO

#

i feel dumb nevermind

lucid pond
vernal imp
#

Sooo, has anyone played with bonfire mod? Is it just me, or the hud never dissapears when close to bench , even when in inventory ?

solemn rivet
#

yeah, that's something I haven't quite worked out after lifeblood

#

the way the game checks for inventory has changed

flat forum
#

Has Mantis Gods been updated?

#

Also, as a side thing

#

an idea: make it so that they (re)spawn the moment you enter the room

this way you can refight them all you want

flat forum
#

How do I level the Child Up?

compact sedge
#

if you have infinite grimm you have to fight him

#

you can turn it off by editing the config file

#

and just telling it to not use infinite grimm

#

and then it will be at max power

flat forum
#

mhm

#

I wanna do it the Infinite Way

#

Infinity Grimm

#

OH MY

#

That wasn't an intentional Infinity War reference

compact sedge
#

ok well it's just based on the amount of damage you do to him

flat forum
#

for max level I do... 15k?

compact sedge
#

yes

flat forum
#

=T

#

Will take while

#

how good is it in the INKG fight?

compact sedge
#

really good once it gets a few upgrades

flat forum
#

I'll see that for my shelf

compact sedge
#

btw did you update IG so it doesn't say version too old

flat forum
#

updating it now

#

should be done

#

not saying Grimm is too old

compact sedge
#

ok

#

anyway I'd bring it in after your second time and on but it does cost a lot of notches so it's definitely a sacrifice

#

depending on if you use nail or spells

flat forum
#

It costs 3 notches now...?

compact sedge
#

that's level 1

#

it costs a lot more at higher levels

flat forum
#

5?

#

6?!

compact sedge
#

6

#

but grimmchild can't stagger but every time his ball hits does reduce the number of nail/spell hits you need to stagger by 1 and he can hit a lot especially during pillars and balloon.

#

which is what makes him pretty decent in the fight

flat forum
#

What's the code for Stalwart Shell?

solemn rivet
#

so, I was looking through the inventory code to try and fix bonfire

#

and, yikes, it might be worse than fotf

flat forum
#

Stalwart Shell?

#

or Bonfire?

young walrus
#

inventory

flat forum
#

Oh
Why wold it be?
Isn't it just a simple Inventory?

solemn rivet
#

oh god

#

it has an fsm for EACH POSSIBLE INVENTORY ITEM

#

like, every item, upgrade, spell

flat forum
#

oh

#

Why?

solemn rivet
#

because

#

TC

young walrus
#

inventories and menus are pretty complex. even if TC didn't make it in a dumb way, there's a lot of things to account for

#

especially when you have a ton of possible collectibles

solemn rivet
#

well, yeah

#

but

#

and FSM for each item?

young walrus
#

yeah, that's just dumb

#

i was just addressing the "Isn't it just a simple Inventory?"

solemn rivet
#

oh, right, gotcha

#

yeah, there's no simple way to handle inventories, I assume

young walrus
#

HK's inventory is fairly extensive when it comes to inventories

#

granted.... a lot of things are bools on if you have something or not

#

compared to adjustable inventories where you can move things around

solemn rivet
flat forum
#

So

#

because they use it

#

you can easily change from wall to floor, get a hit and hide

#

And repeat

#

Only way this "strategy" will fail

#

is if the 2 decide to go
Boomerang - Drop/Dash

#

And they tend to use different attacks often

#

so you can basically go no hit for the 1st half

#

and then almost no hit for the 2nd

copper nacelle
flat forum
#

myes

#

So, what can be done

fair rampart
#

Hey have any of you seen somebody whose name has three letters, starts with a K, and ends with a T?
It's an art movement

copper nacelle
flat forum
#

._.)

#

No

#

don't know anyone

#

maybe it's KAT?

#

KIT?

copper nacelle
#

I could just make it so they drop on top of you if you go on the wall

flat forum
#

KUT

fair rampart
#

No vowel

flat forum
#

K๐Ÿ…ฑT

copper nacelle
#

yes

flat forum
#

Ok

#

make him drop when you're on the wall

solemn rivet
#

KdungoT

flat forum
#

KhollowdabT

copper nacelle
#

KcornywokeT

steep sail
#

๐Ÿ‡ฐ ๐Ÿ‡ซ ๐Ÿ‡จ

#

)

flat forum
#

KthinkgrubcornycornywokeT

fair rampart
#

Now ya got it!

flat forum
#

KFC it is then

compact sedge
#

just got back thanks gradow!

#

gonna play it over the weekend

compact sedge
#

wow a lot changed. you added monomod, made it all one file

copper nacelle
#

nice commit name

compact sedge
#

it only gives you shadow dash length when you actually have shadowdash and not when you just have the charm on. looks like you rewrote superdash, added a thing for FotF, added custom descriptions for things. Quite a bit of stuff.

copper nacelle
#

idk what happened

#

i was dashing away from false knight

#

i think i hit the wall

#

and then i started floating

solemn rivet
#

superdash is still experimental

#

I'm still trying to make a better version of it

copper nacelle
#

re i floated again

solemn rivet
#

stop floating m8

copper nacelle
#

that was a vanilla issue, right?

flat forum
#

Bonfire Mod did....?

#

Uuuuh?

#

I forgot

#

sorry

solemn rivet
#

levels

flat forum
#

Oh, yeah

#

there were a few vids on it

solemn rivet
#

I think the getting stuck after dash was a vanilla issue

#

I could try to fix it, but I have no idea what causes it tbh

#

I'd have to rewrite TC's code from scratch

#

which is feasible, sure, but

#

:effort:

compact sedge
#

"I'd have to rewrite TC's code from scratch"

ugh I hate this because it's semi-relatable.

#

I don't blame you for not

copper nacelle
#

wtf

#

i couldn't damage the moss knight

solemn rivet
#

shield?

copper nacelle
#

nope

#

my dash stopped doing damage

#

thought it was the shield but then i went back and couldn't kill my shade

solemn rivet
#

yeah

#

vanilla bug

#

that I could try to fix but yadda yadda yadda

copper nacelle
#

ree

solemn rivet
#

tbh

#

most of sharp shadow is actually FSM

copper nacelle
#

oof

solemn rivet
#

the code is actually just for the visuals

compact sedge
#

ugh really? that's awful

solemn rivet
#

yeah

#

so, for instance

copper nacelle
#

Team Cherry's good codeโ„ข

solemn rivet
#

there's no easy way to make default dash behave like shadow dash - that is, dashing through enemies

compact sedge
#

It's weird because I hate TC's code but every good indie game I love made on a tiny budget is almost entirely built in FSM.

solemn rivet
#

I'd have to change the FSM (and at the time blackmoth first came about, we just didn't do that at all)

compact sedge
#

so I guess I hate their code but it's a nessisary evil

#

necessary

solemn rivet
#

so what I do instead in blackmoth is just remove "hasShadowDash" from the "CanShadowDash()" method

compact sedge
solemn rivet
#

yup, it's REAL useful

#

just use hooks tho

compact sedge
#

right now I just have an update thing where it tries to get the fsm until it's set to awake.

solemn rivet
#

or have 56 kbt's PR accepted

copper nacelle
#

^

compact sedge
#

that'd be cool too but this seems like a hook worth having in the actual modding API even if 56's isn't accepted.

solemn rivet
#

yeah

copper nacelle
#

wouldn't that require changing playmaker's dll tho

solemn rivet
#

I should prolly add a null check before that var

#

oh, yeah

#

that's why it's not there, I guess

compact sedge
#

wait why would it be null I thought the point of that was that it only triggers when it's not null

solemn rivet
#

I mean

#
if(sharpShadowControl == null)
{
    //
}
orig(self);```
compact sedge
#

like right now the alternative is:

in update:

if (go != null) {
//code
}
solemn rivet
#

otherwise I'm running that check every time an FSM is awaken

#

which is ok

compact sedge
#

yeah makes sense I get what you're saying

solemn rivet
#

I mean, it's only a one-line IF statement

#

but still

#

well, I guess it's the same anyway

copper nacelle
#

jump is now useless

solemn rivet
#

I'll be comparing against null

copper nacelle
#

why jump

#

when you can fly

#

with dash

compact sedge
#

I'm conflicted on using monomod in my next projects

solemn rivet
#

fly?

compact sedge
#

quick slash right?

#

lets you fly

#

or having superdash with NKG killed

copper nacelle
#

i meant just go higher than jump

solemn rivet
#

you got dashmaster/quickdash/blackmoth's elegy?

copper nacelle
#

just cloak

#

oh wait it's exactly the same height

#

more fun tho

compact sedge
#

what is blackmoth's elegy?

#

is it a charm or upgrade

solemn rivet
#

charm

compact sedge
#

replacing what?

solemn rivet
#

it's grubberfly's elegy renamed

copper nacelle
#

wow you can double jump with dash

compact sedge
#

oh

solemn rivet
#

to be consistent with the theme

#

yeah, 56

#

people complain about it being broken

copper nacelle
#

wtf

solemn rivet
#

and I'm like "m8, you start with dash"

copper nacelle
#

^

#

also it's fun

#

af

compact sedge
#

ofc it's broken

#

but that don't matter

solemn rivet
#

oh boi

#

wait til you get elegy

compact sedge
#

weird question but: bonfire + blackmoth?

solemn rivet
#

I'm also working on it to make it behave better

#

sadly, no, AA

#

they behave entirely differently

compact sedge
#

missed opportunity

solemn rivet
#

I mean, I can prolly make them compatible

#

actually, maybe I already did?

#

last time I touched those was when lifeblood came out

compact sedge
#

gotta make a modding ecosystem

#

so every mod you make is compatible with and enhances every other mod

#

/s

solemn rivet
#

yeah, they are compatible

#

huh

#

I'm actually more thorough than I give myself credit

compact sedge
#

ok so step one done

solemn rivet
#

also, how do I set load order for mods?

#

for it to work, bonfire has to load after blackmoth

compact sedge
copper nacelle
#

set load priority thingy

#

override it

compact sedge
#

step 2 is making it have exclusive features that activate when you have both mods installed.

solemn rivet
#

that'd be great tbh

copper nacelle
#

ree

#

shop descriptions changed when

#

/s

rain cedar
#

@mighty rose Grimm isn't even randomized in the 1.3.1.5 one so you installed the wrong randomizer

copper nacelle
#

why shade skip when you can just dash up

mighty rose
#

I have the most recent one, i thought it was 1.3.5.1

rain cedar
#

1.3.1.5 is the most recent yeah

copper nacelle
#

i am actually sonic

#

longdash is great

rain cedar
#

What does it say for randomizer in the top left of your main menu?

solemn rivet
#

glad you're enjoying it 56

compact sedge
#

which charm number is mark of pride?

#

does anyone know off the top of their heads

copper nacelle
solemn rivet
#

quickest pastebin in the west

compact sedge
#

13

#

ty

copper nacelle
#

yw

#

have it bookmarked

mighty rose
#

I'm not at my computer right now, will ping later

compact sedge
#

oh geeze MOP is 50% boost I thought it was only 30%

#

I need to use it lol

#

MOP + longnail + sharp shadow

#

theory says 3.2x dash length

#

practice says idk need to try it

solemn rivet
#
if (PlayerData.instance.equippedCharm_18)
{
    num *= 1.2f;
}
if (PlayerData.instance.equippedCharm_13)
{
    num *= 1.5f;
}```
#

shhh I don't use GetBool

copper nacelle
#

wait

#

yes

#

i need this

compact sedge
#

I'm not concerned with you not using GetBool there but it would be helpful to me if you used getint or whatever vartype it is for:

HeroController.instance.DASH_SPEED_SHARP

#

if that's possible

solemn rivet
#

does HeroController have a GetInt?

compact sedge
#

it has GetInt idk about GetFloat

#

wiat

#

idk

#

maybe

#

not

#

sorry

copper nacelle
#

no getint

#

and no getfloat

compact sedge
#

nvm

solemn rivet
#

yeah

#

only playerdata has those

compact sedge
#

oh well that's ok

solemn rivet
#

because, iirc, most HC fields don't actually see that much use aside from being referenced

compact sedge
#

I know it looks like a constant/readonly variable because it's all caps but I wonder if it actually is.

solemn rivet
#

it is

compact sedge
#

not that I don't trust TC or anything

#

but

solemn rivet
#

heh

austere torrent
#

@copper nacelle how is it possible for me to add notches to myself using your program?

#

I didn't get a notch from the coliseum

copper nacelle
#

I'm not kdt

#

this nick is a meme

austere torrent
#

Shoot you right

#

So where he at?

copper nacelle
#

iirc you can tho

austere torrent
#

Maybe I'm doing something wrong

#

or I have an old version

#

is there a newer version?

#

of HKSM

hazy sentinel
#

@austere torrent what version of HK are you playing

austere torrent
#

Uh

#

newest

#

yes

solemn rivet
#

all the numbers

austere torrent
#

What

#

1.2.2.1

copper nacelle
#

nice "newest version"

austere torrent
#

Is there an updated one?

#

Cause I bought it from gog

solemn rivet
#

wut

copper nacelle
#

1.3.1.5

solemn rivet
#

1.3.1.5

austere torrent
#

oh ok

solemn rivet
copper nacelle
#

^

austere torrent
#

ya ty

solemn rivet
#

KDT updated it to work with modded savefiles and lifeblood

austere torrent
#

I dunno why

#

but every time I save the file

#

it just resets it back to 10 notches

copper nacelle
#

did you press the save button

austere torrent
#

Of course x

#

xd

solemn rivet
#

how many notches do you want?

austere torrent
#

11

#

not 10

rain cedar
#

But 11 is possible in game

austere torrent
#

I know

rain cedar
#

Just go get them all

austere torrent
#

I can't

#

because I bought this game from gog

#

Like

rain cedar
#

Oh right my bad I forgot that means you can't do everything

austere torrent
#

I never got the notch from the coliseum

rain cedar
#

That bug existed for barely any time

#

Over a year ago

austere torrent
#

I know

#

Ye ik

rain cedar
#

You're still on that save?

austere torrent
#

nononono

#

I'm ahead of that

#

by a ton

solemn rivet
#

so, it should be fixed now

austere torrent
#

But I've passed the coliseum before patch

#

no like

#

I already beat it

#

before

#

a long long long long time ago

rain cedar
#

Soooo you are still on that save, then

solemn rivet
#

so you are still on that save, gotcha

compact sedge
#

edit your save file

austere torrent
#

Yeah that save file

#

not game ber

#

ver

rain cedar
#

Lesson #1: Users will lie

#

Constantly

austere torrent
#

Pardon?

compact sedge
#

users don't know what they're talking about

#

give them a break

solemn rivet
#

ok

compact sedge
#

it's only lying if it's intentional

solemn rivet
#

can you tell us what you're doing with HKSM?

#

because it should be simple to add/remove notches using it

compact sedge
#

or be me and edit it manually in a text editor

#

don't be me

austere torrent
#

Listen to me

#

so

#

when I add notches

#

it resets back to 10 after I save

#

can someone ss with me and see

compact sedge
#

just set the did CoF variable to false

#

and redo it

#

not the CoF one

#

but the one for the second trial

hazy sentinel
#

first

compact sedge
#

first

#

sry

#

colosseumBronzeCompleted

#

took me all of 2 minutes to find

#

because it has a weird name

#

set that to false and redo it

austere torrent
#

Oh

#

I should do that, huh?

compact sedge
#

sure

austere torrent
#

I don't see an option to do so tho

compact sedge
#

sorry idk as I said I edit it manually in a text file

austere torrent
#

O

compact sedge
#

I don't know what advice to give you

austere torrent
#

I can't do that

compact sedge
#

I know you can't

copper nacelle
#

drag file onto exe

compact sedge
#

kinda sketchy exe

copper nacelle
#

edit .json

#

drag .json onto exe

#

ur a sketchy exe

hazy sentinel
#

drag system32 onto exe

compact sedge
rain cedar
#

Literally anything to do with this channel is running other people's code on your computer with little safeties

compact sedge
#

literally just a rando thing I found in my Documents folder

#

forgot what it did

rain cedar
#

Nothing is more sketchy than anything else

hazy sentinel
copper nacelle
#

nice ama block

solemn rivet
#

also

#

what are these supposed to be

#

"slyNotch1":false,"slyNotch2":false

hazy sentinel
#

the charm notches you buy from sly

#

duh

compact sedge
#

oh crap I don't have wine so I can't even figure out what that error exe does.

copper nacelle
#

you have a VM

#

large think

solemn rivet
copper nacelle
#

joke

compact sedge
#

don't wanna start it

hazy sentinel
#

that's a you problem

copper nacelle
#

clone the vm and start it in a copy

compact sedge
#

lol

#

it's an itch game

#

cost me a buck or $1.50 for mit source code

#

so I paid 3 bucks and made a mod

#

not a very good game btw

copper nacelle
#

then why'd you buy it twice

compact sedge
#

itch lets you pay whatever

#

and the extra goes 100% to the developer

#

idk why I gave em 3 bucks guess I was feeling generous

hollow pier
#

give $3 to 753 so he can make 3/100ths of shitmodst 2

compact sedge
#

I commission stuff I can't do on my own.

#

but making shitmodst is something I'm overqualified for

rain cedar
#

So a full shitmodst 2 is only $100?

#

That's a steal

copper nacelle
#

partially funded already too iirc

compact sedge
#

it's worth about 6 cents imo

#

probably belongs on kongregate imo

#

do people use that site these days or is it all newgrounds?

rain cedar
#

Kongregate has basically nothing but idle games these days

#

Idk about newgrounds

compact sedge
#

Kongregate has the BEST idle game of all time though

#

anti-idle the game

#

never seen anything made that was 1/10th as good since then

#

and keep in mind anti-idle the game has no microtransactions and other BS

hazy sentinel
#

life is the best idle game

hollow pier
#

life is a pretty bad game

hazy sentinel
#

only if you're bad at it

compact sedge
#

alright I'ma post that error source code in #297468195026239489 because it's too memey for this channel and not at all hollow knight related. Also I don't even have the original SRC, just the mod I made that adds new choices and makes it actually possible to win.

hollow pier
#

18y long tutorial is pretty poorly designed tbh

exotic venture
#

can i use cheats to get 100%

hazy sentinel
#

no but you can use cheats to get any%

exotic venture
#

or turn down the difficulty just to experience the lore

compact sedge
#

no but you can use cheats for 106%

hazy sentinel
#

you can use cheats for 2000%

exotic venture
#

also are mods a thing

hazy sentinel
#

idk NATO and the UN

copper nacelle
#

no

hazy sentinel
#

though the latter is kinda lazy

copper nacelle
#

this channel is a myth

exotic venture
#

and is there an infinite money glitch

#

or do i have to use storage

copper nacelle
#

c e a s e

rain cedar
#

There's an infinite money glitch but it's not easily reproducible

#

Just sometimes when starting you'll already have max money

hazy sentinel
#

some enemies you kill drop more money than others of the same type but that might've been patched

compact sedge
#

is this in base game

copper nacelle
#

yes

compact sedge
#

Like can I just restart until I have infinite money

#

what determines it

copper nacelle
#

wait idk about that

#

I was taking about the enemy money stuff

compact sedge
#

oh nvm sorry was asking about Seanpr

copper nacelle
#

o

rain cedar
#

Memes

compact sedge
#

if this is vanilla then it seems like a pro speedrunning strat

#

find the time that produces the right random numbers needed to cause it

#

set clock to play game at that time

#

(or use a dank wrapper program to spoof the clock time, idk if that counts as TAS tho)

rain cedar
#

I feel like you think I was talking about HK

compact sedge
#

oh I got played

#

you just signified all over me and now I feel dirty

solemn rivet
#

We need a deepfried cornywoke

copper nacelle
#

cornywoker and wokest in this server when

compact sedge
#

I just watched a video about LD_PRELOAD and I'm pretty c++ is an easier language to mod. Theres a thing called dlsym and you can use it just like monomod for hooks except it's built in and you don't need to patch any DLLs to do it.

#

ofc unity c# has one advantage that all the original function names are intacted and not stripped

copper nacelle
#

ld preload is replacing a dll with another right?

#

not a dll

#

library

compact sedge
#

LD_PRELOAD loads any arbitrary code before anything else

copper nacelle
#

wtf

#

neat

compact sedge
#

and if you write your own functions with the same name those will be called instead of the game functions

#

then you use dlsym to call the original game functions

#

so like if the game has a function called calculateNotchesUsed()

you write your own function called

calculateNotchesUsed() {
    // code here
    dlsym(RTLD_NEXT, "calculateNotchesUsed");
}```
#

I think that's how you do it not 100% sure

#

but like basically you can use it to call any ingame function I think

#

and then you compile it as a shared object and do

LD_PRELOAD=mymod.so game

#

and thus disabling or enabling mods is as easy as setting an environment variable

#

but with this I'm now convinced literally every game is moddable if you're persistant enough.

#

I really wanna try using these newfound tools to remove DRM from games but I don't buy very many games with DRM and it's almost always steam DRM which I don't really want to remove.

copper nacelle
#

why

#

steam drm is still drm

deep sleet
#

Can we say drm some more?

hollow pier
#

drm some more

compact sedge
#

because I'm thinking more like DRM that stops you from using the game with custom stuff like anticheat or vmprotect.

#

yes using a custom library to stop custom library detection DRM

compact sedge
#

ok holy crap blackmoth is fun. broken? absolutely. but fun af

#

also it's REALLY good on a steam controller because I can bind RT to turbo pressing the dash button and dash like I have dashmaster but I'm also on cocaine.

#

some people call the turbo button cheating

#

they're right but idc

compact sedge
#

actually idk if intentional or not but I'm completely unable to hit these enemies with dash

#

...or anything I guess that's my punishment for turbo buttoning

rain cedar
#

That's a vanilla bug

#

If you sharp shadow into anything that makes the tink effect

#

Like chests

#

Just breaks completely

compact sedge
#

omg seriously

#

game pls

#

new to lifeblood

#

or was it in all versions?

rain cedar
#

Always been a thing

compact sedge
#

anyway seriously killing false knight by holding RT and tapping left and right is actually stupid but incredibly fun. you can even stop him from doing his death animation.

rain cedar
#

Even just fury is enough to stop him from ever dying

#

But yeah blackmoth is fun

compact sedge
#

I feel like slugcat with a machinegun

fair rampart
#

Why

compact sedge
#

literally hold turbo dash button and tap movement buttons and I'm immortal when on the ground and once I get infinite air dash I'll be immortal there too

#

it's stupid and broken but incredibly fun

flat forum
#

I have returned to annoy you (sorry)

compact sedge
#

anyway I'm gonna look into fixing TC's BS bug because it basically makes shield enemies really annoying @rain cedar

#

but first

fair rampart
#

What does that mean
You're speaking gibberish

compact sedge
#

ima do whatever @flat forum wants from me

flat forum
#

=')

#

So

compact sedge
#

ok you know what turbo buttons do, right @fair rampart ?

flat forum
#

someone said that PlayerData.instance.nailDamage isn't checked often enough

fair rampart
#

Like crystal dash

flat forum
#

so that even if you modifying it won't have much result

compact sedge
#

ok

flat forum
#

So, I went to the Example Mod and wanted to ask about this

#

(gonna paste the whole thing here)

#
 public void OnAttack(AttackDirection dir)
        {
            LogDebug("Attacking");
            if (_hitCounter >= 4)
            {
                LogDebug("Critical hit!");

                _tempNailDamage = PlayerData.instance.nailDamage; //Store the current nail damage.

                LogDebug("Set _tempNailDamage to " + _tempNailDamage);

                PlayerData.instance.nailDamage *= 2; //Double the nail damage

                _hitCounter = 0;// reset our hit counter

                return;
            }
            _hitCounter++; //Increase the hit counter
        }
#

The Way I'm understanding things

#

is that it check every time you begin an attack

#

Won't that also check for the PlayerData.instance.nailDamage?

#

So that, every time you attack it checks and you can modify it

compact sedge
#

it's gonna take the current nail damage, and store it in a variable. then it's gonna double the nail damage

#

the reason it keeps the current nail damage

#

is because it has to set it back

#

or it would constantly double

#

forever

#

so it would go from 5 to 10 to 20

#

etc

flat forum
#

Yeah, this part I understood when making the other thing

#

but it checks for nailDamage every time you attack

#

so

compact sedge
#

yes

#

so you set it right before the attack, which is what the OnAttack hook does

#

and then you set it back right after

flat forum
#

will it work if I replace the if with something else (checking for a charm)

compact sedge
#

you're looking for a charm every time they attack?

#

sure

flat forum
#

And final little bits

#

A *= 3
is the same as
A = A * 3

compact sedge
#

yes

flat forum
#

so, A += something will work in a similar way

and thus

PlayerData.instance.nailDamage += 3*(PlayerData.instance.maxHealth - PlayerData.instance.health) will make nailDamage based on health lost

compact sedge
#

yes but that might not be what you want

flat forum
#

won't it simply give you 3 bonus damage for every lost mask?

#

(I have the part about resetting the damage down there)

compact sedge
#

yes but that might not be what you want and let me explain

#

because consider this. if they have 5 max health and only 1 current health and a level 1 nail, their damage would go from

5 normal -> 17

which is over 3x

but if they have 9 max health and 1 current helath and a pure nail their damage would go from

21 normal -> 45

which is only around 2x

flat forum
#

Mhm...

#

Well

#

Balancing for later

compact sedge
#

just food for thought, the code is correct

flat forum
#

I want to make sure it works first

#

Now, the final question I had was
using .......
using .......
using .......

things at the start of the Mods

rain cedar
#

I would do something like

PlayerData.instance.nailDamage *= 1 + ((PlayerData.instance.maxHealth - PlayerData.instance.health) / PlayerData.instance.maxHealth)
compact sedge
#

yes depending on the kind of scaling you want

flat forum
#

that looks like a cool idea

rain cedar
#

Maybe play around with that a bit instead of using it exactly if you like it

#

Probably a bit too weak

flat forum
#

Yeah

#

I'll play around a bit

compact sedge
#

PlayerData.instance.nailDamage *= 1 + [X] ((PlayerData.instance.maxHealth - PlayerData.instance.health) / PlayerData.instance.maxHealth)

where [X] is some number such that [X] + 1 is the maximum multiplier of damage you want the nail doing when at low health.

#

so you could put 1 + 3 ((PlayerData.instance.maxHealth - PlayerData.instance.health) / PlayerData.instance.maxHealth) and the nail will do just under 4x damage at 1 health

flat forum
#

I'll play around and decide on a balanced build

#

and the

using System.Reflection;
using GlobalEnums;
using Modding;

at the start?

compact sedge
#

wdym

#

it's how you use various functions like PlayerData.instance

#

it wouldn't know what playerdata you were talking about without using Modding;

#

for example

flat forum
#

mhm

#

it looked important, but I hadn't checked what it was

#

._.

rain cedar
#

That's not right

#

PlayerData isn't in the modding namespace

#

It isn't in any namespace

#

TC just dumps most of their classes directly in

compact sedge
#

well modding is used for the top of the thing

#

where it says

Class extends Mod

#

Class : Mod

rain cedar
#

Yeah

#

You could alternatively put Modding.Mod

#

using is just saying you want the compiler to check that namespace for unknown types

compact sedge
#

^

#

it lets you be less verbose

#

anyway I'ma go fix a TC bug

#

what could go wrong

rain cedar
#

Good luck

compact sedge
#

I don't wanna say that bug makes it unplayable because it doesn't but it certainly makes it less playable.

rain cedar
#

Definitely

compact sedge
#

wtf even when it does work it segfaults every time I dash

#

and it's seemingly not the mod

rain cedar
#

Ah right

#

That's something I forgot to fix

#

That hook is broken

compact sedge
#

which one

rain cedar
#

OnDashPressed

#

It works but it also spams errors

compact sedge
#

there's no ondashpressed hook used in blackmoth dunq

rain cedar
#

That screenshot you posted has 6 errors from OnDashPressed

compact sedge
#

oh ModHooks.Instance.DashPressedHook ?

rain cedar
#

Yes

#

The hook is void but the function that calls it tries to get a bool from it

compact sedge
#

every bit of code there runs before the segfault tho

rain cedar
#

Yeah

compact sedge
#

so the hook does nothing?

rain cedar
#

No it runs, it just also throws an error

#

It's likely that multiple mods hooking it would have only one work

#

But it's pretty niche

compact sedge
#

pls fix also merge monomod hooks into API also give me a million dollars while you're at it

rain cedar
#

Eh

#

Maybe

compact sedge
#

but in all seriousness if it's true that "multiple mods hooking it would have only one work" I really would like a fix asap.

rain cedar
#

Yeah I guess that is pretty significant if you're planning to use the hook in a mod

compact sedge
#

or I'll have to postpone my, well let's just call it a meme mod because I still haven't announced it yet

rain cedar
#

It's like a one line fix

#

I can just do it right now

compact sedge
#

thank

#

apparently casting a spell also causes a segfault in blackmoth

rain cedar
#

Don't think that's my problem

compact sedge
#

nope

#

@solemn rivet

When I cast a spell in blackmoth the game reports this:

[ERROR]:[API] - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at BlackmothMod.Blackmoth.SetDamages (HutongGames.PlayMaker.Fsm hitter, HitInstance hit) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0 
  at Modding.ModHooks.OnHitInstanceBeforeHit (HutongGames.PlayMaker.Fsm owner, HitInstance hit) [0x00000] in <filename unknown>:0 

once for every frame the spell is on screen.

rain cedar
#

Nice

#

Try that

#

If the dash hook still works properly I'll push it/put it on the drive

#

Completely untested but it's a very small change so probably fine

compact sedge
#

what line did you change

rain cedar
compact sedge
#

thanks

rain cedar
#

Somewhat related: Looking at API code on github is actually horrible

#

Someone (I think Wyza) has their VS set to use tabs instead of spaces for some reason

#

Should do a replace of all tabs with 4 spaces some time

compact sedge
#

idc I don't read whitespace I read code

rain cedar
#

Proper whitespace makes it much easier to read code

#

Github tab size is not 4 spaces

#

So everything is wack

compact sedge
#

if it'd make it easier for you to read then do it

#

cool no segfault

rain cedar
#

I guess I should

#

I just don't want to mess up the github statistics

#

Since it would add like 600ish lines -/+

compact sedge
#

those don't matter

rain cedar
#

You're right

leaden hedge
#

you know whenever someone has an issue with hksm

#

99.99% of the time they aren't clicking file > save

#

they are clicking some button on the actual hksm window and not the editor

compact sedge
#

I swear to god today I found three bugs none of which were my fault

#

but I know what you mean

#

I know it sounds like I'm crazy but Blackmoth really does segfault when you cast spells, Modding API really did segfault after DashPressedHook, and the game (presumably) really is in the wrong state when you try to shadowdash after tinking something

#

No I'm not the first person to find any of these bugs but goddamn it if I'm not gonna get two of them fixed

leaden hedge
#

how do you even segfault csharp

#

isn't that impossible outside of unsafe

compact sedge
#

they're not real segfaults ofc because of the way c# is designed but they're caused by the same thing

#

undefined behavior from attempting do stuff that's undefined

copper nacelle
#

imo exception

compact sedge
#

exception is just what you call segfaults caught by libraries

leaden hedge
#

why can't I access restricted memory imo

#

just let me do it

compact sedge
#

tfw reflection breaks logic

rain cedar
#

That's not actually restricted memory, though

compact sedge
#

no or it'd actually crash

#

but something like this in a library

if ( vector.size < i ) {
    throw OutOfBoundsException;
}

ultimately is just preventing undefined memory access even if it's not undefined memory access itself.

#

And I guess the whole idea of protected memory is just the kernel protecting your computer from entering an undefined state

#

so ultimately all errors are undefined behavior errors I guess.

#

I guess that's a little reductive, I'ma start using the correct terminology instead of all the words I use coming from c