#archived-modding-development

1 messages ยท Page 163 of 1

karmic wyvern
#

Ah, thanks

copper nacelle
#

i think

#

that is

karmic wyvern
#

Ah, yep

copper nacelle
#

fsm

#

so probably hiveblood

karmic wyvern
#

I'd still like to find a way to get infinite health with the binding on

copper nacelle
#

invincibility: true

#

maybe

#

it might turn it off itself

#

but worth a shot

compact sedge
#

put health = 11 in the take damage function

tranquil glen
#

guys if i put x = y am i setting x to equal y but then if i do y = x i'm setting y to equal x or is that not how it works?

compact sedge
#

x = y sets x to whatever y was

copper nacelle
#

yes

tranquil glen
#

nice

copper nacelle
#

so if you do
y = 15;
x = 10;
x = y;
y = x;

#

then x = y = 15

compact sedge
#

what it doesn't do, that I thought at first when I was starting out coding is do an algebra problem.

copper nacelle
#

not a pointer

compact sedge
#

I seriously thought for a few minutes that x = x + 1 would break logic

copper nacelle
#

nice

tranquil glen
#

lol

copper nacelle
#

but if you do

#

x = y = 15

#

and then x++;

#

y won't be mutated

tranquil glen
#

ok cool

copper nacelle
#

if you have x = y = new Object();

#

and x.homosexual = true;

#

y.homosexual will be mutated

#

but x = new asfasfd(); won't make y a new asdfasdf

solemn rivet
#

What

#

Why

copper nacelle
#

good example

solemn rivet
#

Why is y gay

compact sedge
#

tbh what I don't like about c# is it's not clear what is and isn't a pointer.

#

I mean the answer is all non-primatives are pointers

#

but it feels weird. I like my c++ where nothing's a pointer unless I tell it it's a pointer

karmic wyvern
#

Okay what

#

So I set invincibility to true

#

And apparently it doesn't work

But the invincibility bug works fine....?

copper nacelle
#

what invin bug?

karmic wyvern
#

At a certain point in the dream gate warp animation, the game makes you invincible to all damage and hazards

#

And stops you from picking up geo

copper nacelle
#

yes

karmic wyvern
#

If you interrupt the animation correctly, you can retain invincibility until you exit a dream or dream warp

#

And apparently there's something called MUMCAT?

copper nacelle
#

yeah ik about dgate storage

tranquil glen
#

The type or namespace name 'rb2d' could not be found, what do

copper nacelle
#

mumcat is bardoon

#

iirc

#

wait no that's bigCat

#

krythom show code

solemn rivet
#

those are known names

tranquil glen
#

ok i feel like code is horribly wrong tho

#

just a sec

solemn rivet
#

TC has bad naming policies

karmic wyvern
#

Anyway, dreamgate storage works fine for the Pantheons, but straight up setting yourself to be invincible does nothing?

solemn rivet
#

mumcat is bardoon

#

hegemol is herrah

tranquil glen
#

my best attempt

solemn rivet
#

it probably does something, but the invincibility state is changed quite frequently

copper nacelle
#

^

#

also stop getting rb2d.position.y

fair rampart
#

you can mod hollow knight?

#

wtf

copper nacelle
#

yes

solemn rivet
#

e.g. when you leave the bench

copper nacelle
#

no

#

sorry

#

no mods here

#

begone

fair rampart
#

the source code is available?

copper nacelle
#

no

hollow pier
#

no

solemn rivet
#

no

cunning lagoon
#

no

fair rampart
#

how do you mod it then?

tranquil glen
#

no

copper nacelle
#

decompiled

karmic wyvern
#

Wait, Gradow

hollow pier
#

you dont

fair rampart
#

why is it claled modding?

hollow pier
#

this is for moderators

#

different modding

solemn rivet
#

we're this channel's mods

copper nacelle
#

@tranquil glen gameObject.GetComponent<RigidBody2D>.position.x

#

h

karmic wyvern
#

Are you sure? Because there are only 2 ways to end invincibility from dreamgate storage

#

Or is that a different kind?

solemn rivet
#

it's the same

copper nacelle
#

no it's the same thing iirc

solemn rivet
#

but that's storage

fair rampart
#

where can I find the source code of the game to mod it myself?

solemn rivet
#

storage makes the game think you're in a state when you're not, basically

#

so it's as if the game thinks you're in the bench while you're not

karmic wyvern
#

Ye

solemn rivet
#

but doing things that would make you leave the bench (eg jumping etc.) break that storage

fair rampart
#

anyone?

copper nacelle
#

you can't

#

dnSpy it to decompile

#

tbh

solemn rivet
#

it's not publicly available watermelon

karmic wyvern
#

Just seems odd that you can keep invuln until you properly go through the animation (or exit a dream) but you lose it if you alter the code

solemn rivet
#

makes sense tbh

#

think of it like this

karmic wyvern
#

Okay, found a way around the binding

solemn rivet
#

everything you do, every frame, the game runs multiple checks to see, amongst other things, if you should or not be invincible

karmic wyvern
#

Ah, and storage just keeps reading that as true

solemn rivet
#

yup

karmic wyvern
#

But altering the code just sets it for 1 instance

solemn rivet
#

exactly

karmic wyvern
#

Setting "isInvincible" and "invinciTest" to true along with capping out all my health related things let me get past the binding

#

I'm not invincible

#

But I now take lifeblood damage instead of regular

#

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

tranquil glen
#

GameObject.GetComponent<T>() is a method which is not valid in the given context

solemn rivet
#

you set the code to invincible - the game checks "he's invincible" but then it checks "should he be?" and if the answer is "no", then it takes that from you

karmic wyvern
#

All right

fair rampart
#

can someone tell me how to mod hollow knight?>

solemn rivet
#

listen to 56

fair rampart
#

where can I find the tools and documentation

solemn rivet
#

pins

#

no documentation

#

yet

#

kdt and AA were working on some doc

tranquil glen
#

use dnspy to open it

solemn rivet
#

yeah

copper nacelle
#

@tranquil glen stop capitalizing gameObject

solemn rivet
#

you can 1) use dnspy to decompile and alter the game's code directly or 2) write your own libraries to be loaded with the api

fair rampart
#

what are pins?

tranquil glen
#

wait should it be "gameobject"

solemn rivet
#

๐Ÿ“ this is a pin

tranquil glen
#

i thought gameObject was the player

solemn rivet
#

๐Ÿ“Œ

copper nacelle
#

no u did

#

GameObject

#

from the sounds of the error

tranquil glen
#

nah i didn't tho

copper nacelle
#

or you're doing it in a static method

tranquil glen
#

thats possible

#

since i dont know what that is

copper nacelle
#

public/private/internal static hhhhhhh

solemn rivet
#

big think

tranquil glen
#

I just put it in sean's ModCheats thing

solemn rivet
#

.GetComponent<type>()

#

forgot the ()

#

gameObject.GetComponent<RigidBody2D>().position.x

tranquil glen
#

oh i put them after the position x whoops

copper nacelle
#

?

tranquil glen
#

did gameObject.GetComponent<Rigidbody2D>.position.y() instead of gameObject.GetComponent<Rigidbody2D>().position.y

copper nacelle
#

o

compact sedge
copper nacelle
#

why

#

chaining?

compact sedge
#

they're unused by modcommon

copper nacelle
#

i mean i could see *= x or something for a transform

compact sedge
#

Also they were using vector component index (so v[0] = value instead of v.x)which is obsolete in the version of unity that HK is using which is the only reason I even found them in the first place.

copper nacelle
#

nice

#

i could see multiply position or subtract position or something but those seem like

#

utterly useless

#

idk

tranquil glen
#

Woo!

#

teleport function added

#

only works within a room though

copper nacelle
#

nice

tranquil glen
#

are the rooms "scenes"

copper nacelle
#

yes

tranquil glen
#

and are they just numbers?

copper nacelle
#

what

#

scenes have indices ig

#

but you usually use the scene name

tranquil glen
#

how do i get that?

copper nacelle
#

GameManager.instance.sceneName

#

actually GameManager.instance.GetSceneNameString(); is better

#

which removes preload/boss stuff

compact sedge
#

hey 56 can you send the hook patch to modding api or should I do it?

copper nacelle
#

whoops

#

yes

#

wait

#

wtf

compact sedge
#

more like did I fuck up the formatting in that file by mistake

copper nacelle
#

yes

#

maybe

tranquil glen
#

GameManager does not contain a definition for GetBaseSceneName

copper nacelle
#

what

#

why are you calling that

#

just GameManager.instance.GetSceneNameString();

compact sedge
#

nope, sean's and my post build events thing just have shittons of whitespace for some reason. well if you wanna fix that too be my guest.

copper nacelle
#

i just rider auto format

#

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

compact sedge
#

to be tbh thank you for formatting that file finally

copper nacelle
#

thing is

#

it kinda fucks up vs if you actually format it iirc

#

weirdly

compact sedge
#

uhhh

#

huh

#

weird

copper nacelle
#

and of course

tranquil glen
#

k cool now it works through different rooms as well

copper nacelle
#

nice

compact sedge
#

not enough folders called avenginganglewrong for how many times I'm wrong

#

you should make 2 or 3 million more

tranquil glen
#

wait no the loadzones are gone

#

after i left the room and teleported back in i can't leave

copper nacelle
#

@compact sedge did you eat monomod or did my commit

compact sedge
#

uhh I was hungry, ok

#

no my github repo definitely has monomod

copper nacelle
#

understandable have a nice day

#

oh it has a specific version

#

echREE

#

gonna go compile a new monomod

compact sedge
#

thank

copper nacelle
#

krythom did your char die

tranquil glen
#

should i not be using GameManager.instance.LoadScene?

copper nacelle
#

no

#

BeginSceneTransition

tranquil glen
#

ah

#

what do i need to put before that

copper nacelle
#

GameManager.instance.BeginSceneTransiton(new somethingsomething

#

why is github's light code scheme actually good

tranquil glen
#

but the thing is GameManager does not contain a definition for BeginSceneTransition

copper nacelle
#

hhhhhhhhhhhhhhh

#

show

tranquil glen
copper nacelle
#

why

tranquil glen
#

why what

copper nacelle
#

give dll

tranquil glen
copper nacelle
#

agony

#

ChangeToScene?

#

GameManager.instance.ChangeToScene(target, entryGate, pause);

tranquil glen
#

what do i put in pause

#

also entrygate

copper nacelle
#

pause can just be 0f

#

or something

#

wait

#

fuck

#

ahhhhhhh

#

gdi

#

thank you krythom

tranquil glen
#

np

copper nacelle
#

do like 4f or something

#

entryGate is a per scene thing

tranquil glen
#

fuck

copper nacelle
#

dreamGate might work

#

idk

#

wait no

#

no dgate on this patch

tranquil glen
#

i don't have dreamGate

#

whys aren't the entrygates just numbers ree

copper nacelle
#

if you had world navigation this would be easy

#

but h

tranquil glen
#

is there a pattern to the naming of entrygates?

copper nacelle
#

top1/left1/right1/bot1

tranquil glen
#

what would happen if i tried to do left1 on a scene that didn't have it?

copper nacelle
#

dunno

#

probably something bad

tranquil glen
#

what does LoadScene even do anyway?

copper nacelle
#

load the scene

tranquil glen
#

but why no loadzones

near nest
#

There any boss health bar mod or somesuch?

copper nacelle
#

yes but it won't work for godmaster

#

idk krythom

near nest
#

Oh well

copper nacelle
#

probably need the hero controller leaving scene thing

#

for loadzones to trigger

compact sedge
#

my bet is if the entrygate isn't found it probably puts you at 0,0 or something

copper nacelle
#

or dies

compact sedge
#

yeah or that

copper nacelle
#

ik i've done it but i don't remember what happened

compact sedge
#

but like you can call scene switches manually

copper nacelle
#

yeah

compact sedge
#

and those don't have any entry gate or maybe they have as a gate whatever the last one you entered was

copper nacelle
#

@tranquil glen just set the entryGateName to ""

#

see what happens

#

that or you can patch lifeblood's world navigation in

#

which is god btw

#

wait did they fix gm world nav

#

they didn't

#

ree

compact sedge
copper nacelle
#

lemme try building with this api and if it works i'll submit the pr

tranquil glen
#

sick i got it working

#

thanks

copper nacelle
#

yw

#

none of my solutions are loading

#

please send help

compact sedge
#

uhhhh

copper nacelle
#

finna connect to resharper host forever

#

i don't even have the new stuff refed

#

it's just

compact sedge
#

file

#

invalidate caches and reset

copper nacelle
#

thank

compact sedge
#

and if that doesn't work I'm out of ideas

copper nacelle
#

worked

#

all my refs died

#

but it worked

#

this is what i was talking about btw

#

except there's one where it fixes all

compact sedge
#

yeah I found that

copper nacelle
#

really love the new reffing 5 unity dlls

compact sedge
#

more like 50 unity dlls

copper nacelle
#

worked

#

with the new assembly

#

no .NET errors or anything

#

hooks doing .net 4 is fixed

#

by the mscorbuild ref ig

#

wait no

#

this has the old one reffed

#

haha no

tranquil glen
#

oh how would i center the camera on the knight

copper nacelle
#

FollowCamera

#

somewhere

#

why is everything async callback hell now

#

annoying

compact sedge
#

idk but I think I got all the async stuff working because nobody had any problems loading save files with the modding api I built back when the gog version was the only version of GM ยฏ_(ใƒ„)_/ยฏ

#

mostly by stealing that code you gave me

copper nacelle
#

yeah but unencrypted saves hhhhh

compact sedge
#

oh fuck u right

copper nacelle
#

not a large change tho

compact sedge
#

wait why did it rewrite the code from: Platform.Current.ReadSaveSlot(saveSlot, bytes => { data = bytes; });

#

do you have c# 7 disabled?

copper nacelle
#

no that's the decompiled code

#

my code isn't bad

compact sedge
#

you decompiled the modding api?

copper nacelle
#

yeah

compact sedge
copper nacelle
#

does the original do it differently to be tbh

compact sedge
#

idk how the original does it I just recognize the code I wrote 3 hours ago.

#

even if it looks slightly different

copper nacelle
#

but also why doesn't your code fail

compact sedge
#

wut why would it?

copper nacelle
#

callbacks are async

#

so if the save loading took 5 years

#

you'd try and read an empty bytes array

compact sedge
#

ohshit maybe it does fail and I didn't notice

copper nacelle
#

this is why async is nice

#

no callback hell

#

you can just await the function

#

and not get race conditions

compact sedge
#

I had no idea how do I do that?

copper nacelle
#

have the callback return idk

#

my loaddat function is going to be dead

#

ech

#

anyways just going to write my code wrong for a sec

#

yeah it builds

#

submitting pr

compact sedge
#

ok so I can't await a void so I'm not actually srue what to do

copper nacelle
#

can't await at all tbh

#

no async w/ .net 3.5 i think

compact sedge
#

if there's no async then callbacks are not async

copper nacelle
#

no async language features

#

to be tbh

compact sedge
#

huh

copper nacelle
#

can still write asynchronous code

#

that's how js was before

#

c a l l b a c k s

compact sedge
#

so if I load a save off a floppy disk it should fail?

copper nacelle
#

i think so

#

unless loadstring waits

#

for whatever reason

compact sedge
#

so can you see how the base game does it

copper nacelle
#

ye

#

does everything inside the callback

compact sedge
#

since the code in that thing is "flat out copied from the game's decompiled source" according to the comment

copper nacelle
#

that's why you can get nested callbacks

#

which is ech

#
    Platform.Current.ReadSaveSlot(saveSlot, delegate(byte[] fileBytes)
        {
            bool obj;
            try
            {
                bool flag = this.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected;
                string json;
                if (flag)
                {
                    BinaryFormatter binaryFormatter = new BinaryFormatter();
                    MemoryStream serializationStream = new MemoryStream(fileBytes);
                    string encryptedString = (string)binaryFormatter.Deserialize(serializationStream);
                    json = Encryption.Decrypt(encryptedString);
                }
                else
                {
                    json = Encoding.UTF8.GetString(fileBytes);
                }
                SaveGameData saveGameData = JsonUtility.FromJson<SaveGameData>(json);
                PlayerData instance = saveGameData.playerData;
                SceneData instance2 = saveGameData.sceneData;
                PlayerData.instance = instance;
                this.playerData = instance;
                SceneData.instance = instance2;
                this.sceneData = instance2;
                this.profileID = saveSlot;
                this.inputHandler.RefreshPlayerData();
                obj = true;
            }
            catch (Exception ex)
            {
                Debug.LogFormat("Error loading save file for slot {0}: {1}", new object[]
                {
                    saveSlot,
                    ex
                });
                obj = false;
            }
            if (callback != null)
            {
                callback(obj);
            }
        });
#

i guess loaddat will have to have a callback

#

eeeeeech

compact sedge
#

so what do I do add a busy loop?

copper nacelle
#

u don't

#

that's disgusting do not

#

here's my rewritten loaddat

compact sedge
#

cool if you wanna send that too I'd greatly appreciate it

copper nacelle
#
        private static void LoadDat(GameManager gm, int saveSlot, Action<string> callback)
        {
            if (gm.gameConfig.useSaveEncryption && !Platform.Current.IsFileSystemProtected)
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter();
                Platform.Current.ReadSaveSlot(saveSlot, bytes =>
                {
                    MemoryStream serializationStream = new MemoryStream(bytes);
                    callback(Encryption.Decrypt((string) binaryFormatter.Deserialize(serializationStream)));
                });
            }
            
            Platform.Current.ReadSaveSlot(saveSlot, bytes =>
            {
                callback(Encoding.UTF8.GetString(bytes));
            });
        }
#

this just gets a string tho

#

still rewriting the load a bit

#

ok so i'm going to probably make a local function

#

i think

compact sedge
#

Petition to rename modding api from

Seanpr, Firzen, & Wyza - Modding API

to

Seanpr, Firzen, 56, & Wyza - Modding API

copper nacelle
#

fuck how do i rewrite this to not be ugly

compact sedge
#

tbh if you listed everyone that even did the tiniest amount of work on the modding api it would probably be everyone whose ever made a HK mod at this point.

buoyant obsidian
#

why not just 753 and friends - Modding API

copper nacelle
hollow pier
#

everyone knows 753 runs the modding scene

buoyant obsidian
#

my name has the most numbers out of any of the modders, it should be obvious

copper nacelle
#

wrong

buoyant obsidian
#

oh shit

hollow pier
#

damn theyre even sigfigs

#

56 isnt playing

copper nacelle
#

ok so my options are either

#

rewrite my json loading

#

or write bad code

compact sedge
#

rewrite their code

#

the modding api used to be a rewrite of their code

copper nacelle
#

but i don't want to use excessive amounts of monomod hooks when i can just not

compact sedge
#

to be tbh I just want it to work

copper nacelle
#

oh i've got it

#

yeet

#

i make a local func called w/in the callback

#

ez

#

async without await

#

is agony

hollow pier
#

use vsync with vwait

copper nacelle
#

vsync is illegal

hollow pier
#

but is it vllegal

copper nacelle
#

yes

#

this is literally just File.ReadAllBytes on desktop

#

eeeeeeeeeech

#

rewriting code to be consistent

#

is illegal

compact sedge
#

tbh this is what it would look like if I wrote it.

while ( data.length != lastLength) {
    lastLength = data.length;
    Math.Solve( Matrix.randomMatrix(100, 100), Vector.randomVector(100) );
}```
copper nacelle
#

eeeeeeeech

compact sedge
#

this is why I'm letting you write the code

copper nacelle
#

for the api just copy paste theirs

#

tho

#

and add the hook calls

compact sedge
#

ok will do

copper nacelle
#

also nearly finished unencrypted saves again

jade cedar
#

there any new mods yet?

copper nacelle
#

no

jade cedar
#

aaaaaaw

#

rip

hollow pier
#

first new mod will be woke mod stay tuned

jade cedar
#

hype

#

also why the numberS?

hollow pier
#

why the capitalizatioN

copper nacelle
#

@compact sedge whomst

compact sedge
#

mason what do the numbers mean

jade cedar
#

idK

#

but touchE

copper nacelle
#

does any of this look bad

#

pushed it

#

@compact sedge wtf

#

your loadgame thing is like

#

wrong params

#

i don't think it'll ever even get called

#

that's why it didn't break

#

probably

hollow pier
#

brak

copper nacelle
#

ur mum brak

hollow pier
#

oof

copper nacelle
#

think i fixed it

warped sinew
#

Hitless panths doesn't do anything. There were plans for it but they got scrapped.

copper nacelle
#

@solemn rivet

warped sinew
#

I guess some code for it is left over

copper nacelle
#

why is getsavestatsforslot bad too

#

re

#

does anyone have a vanilla lb assembly

#

nvm found one

#

death

compact sedge
#

sorry 56 was ordering a pizza. I'll figure out save stuff in an hour or so

hollow pier
#

what kinda pizza

copper nacelle
#

@compact sedge wait no don't

#

I already did half

#

was just gonna pr it

compact sedge
#

ok

#

I was eating pizza that I ordered. but if you're gonna do it I would love that because I'm a lazy asshole that just wants to start working on his arcade mod

copper nacelle
#

everything is dead

#

fml

#

there are more callback things

#

do you ever want to die

copper nacelle
#

not even dead

#

smh

compact sedge
#

right when you sent that message

leaden hedge
#

i wish i either had pizza or was dead

copper nacelle
#

what was broken for more saves

leaden hedge
#

pretty much 99% of the time tbh

copper nacelle
#

same

leaden hedge
#

it didn't work

copper nacelle
#

thanks

leaden hedge
#

np

#

iirc tc put some extra stuff in save checks, so if it thought it was out of bounds it just failed

copper nacelle
#

i monomod hooked that

#

still didn't work

#

agony

leaden hedge
#

debug

#

me too lazy

copper nacelle
#

ok

leaden hedge
#

private

#

it says

copper nacelle
#

but it's in GameManager

#

hhhhhhhhhhh

#

oh namespaces and assemblies

#

i'm dumb

#

they removed getsavefilename

#

which wasn't being used in lb anyway

#

apparently

rain cedar
#

What did that even do?

#

Save files aren't named

leaden hedge
#

reading it wrong

#

GetSaveFilename

#

not GetSavefileName

rain cedar
#

Ok

#
$"user{profileNum}.dat"
#

I did it

leaden hedge
#

it was a dumb function anyway it just returned that

#

but in a switch

rain cedar
#

I love switches

copper nacelle
#

salt and sanctuary dev irl

leaden hedge
#

I am guilty of stacked switches hollowface

#

I am the true s&s dev

rain cedar
#

The true crime is java

copper nacelle
rain cedar
#

I don't like it

copper nacelle
#

rip

leaden hedge
#

java has passable gui stuff built in

rain cedar
#

We can individually make stuff public if it's super useful

#

But idk it just seems bad to make everything public

#

I don't know if he ever fixed the MonoModPublic attribute but if not it's super easy to make your own

copper nacelle
#

alright

bronze temple
#

@rain cedar I've attempted to fix it, and it worked for me.

compact sedge
#

do you have a bot that pings you every time someone says the word MonoMod?

bronze temple
#

Making everything public is risky, but it's an option I had to add for someone else in the past

#

@compact sedge I wish ๐Ÿ˜…

#

Unfortunately selfbots are banned on Discord

compact sedge
#

if I say MonoMod 3 times in front of a mirror I suspect you will appear

copper nacelle
#

discord injections i mean what

#

they use GetSaveSlotPath now

#

nice nick

bronze temple
#

@ MonoMod should be possible now

copper nacelle
#

it tab completes

#

should i fix the save slot thing to actually use the hook

bronze temple
#

Anything else I missed that you need fixed / added in MonoMod, while I'm here?

copper nacelle
#

might've fixed moresaves

#

my hk just said it crashed but continued loading GWchadMEGATHINK

copper nacelle
#

what the fuck

#

patching this class breaks a dll which isn't even c#

#

thanks hk

#

moresaves now half works i think

#

nope nvm

#

patching any platform breaks UnityPlayer.dll

#

good dll

#

@ wilbo#2948 why does unityplayer.dll suck

#

runtime detouring it might actually be easier

#

disgusting

#

my file manager has outputfinal from HollowKnight.Modding pinned

solemn rivet
#

'mild'

copper nacelle
#

even tho i pinned the other one

#

idk why

#

also gradow shut

#

i love deleting a file with code that i wanted but wasn't able to use cause i was copy pasting the wrong dll

#

really makes me want to die

compact sedge
#

so uh what's the difference between doing MonoMod Assembly-CSharp and doing the hookgen?

#

and does the former still let me do hooks and if so how?

rotund atlas
#

Technical question: how long is an ingame 'tick,' I want to work out how long it takes to kill Grimm with defenders crest and I'd like a dps value

copper nacelle
#

update is more than once every frame, right?

#

or is it every frame

compact sedge
#

uh the g ame runs at variable framerate and some stuff is updated in variable way but all the physics and stuff is 1/50th of a second... mostly

copper nacelle
#

defenders crest is my favorite physics item

compact sedge
#

anyway I'm asking because your pr for ModCommon used HookGen but your one for the API doesn't.

copper nacelle
#

but it does

#

hhhhhhhhhh

#

objectively wrong

compact sedge
#

oh

rotund atlas
#

If it were 50* per second it would be 100dps

compact sedge
#

I see

#

windows only

copper nacelle
#

effort

compact sedge
#

I'll fix it

#

and you can fix the saving thing

copper nacelle
#

can you fix moresaves' existence thanks

#

i've already fixed saving

compact sedge
#

send saving fix pr?

copper nacelle
#

eecch

#

more saves tho

#

lemme try and fix it for like 10 more min

#

wow nice uimanager doesn't exist so neither do the hooks

#

wonderful

compact sedge
#

huh the new hooks assembly is barely too big to upload to discord

copper nacelle
#

9.3 mb or something

#

iirc

#

why is the more saves on github like

#

entirely wrong

compact sedge
#

it compresses to 2.2MB as a zip without any special settings

copper nacelle
#

does it tho

compact sedge
#

so uh is Update for monobehaviors run every frame or in a fixed update?

#

important question I guess and probably one I should know the answer to

copper nacelle
#

Update is called every frame, if the MonoBehaviour is enabled.

compact sedge
#

thx

copper nacelle
#

moresaves might not be working now cause it has old refs

#

wonderful

#

wtf

#

it didn't monomodreplace

rain cedar
#

Now taking bets on how long until 0x0ade shows up

copper nacelle
#

just gonna rebuild and hope it goes away

#

5 hours and 15 minutes

compact sedge
#

tbh they must be asleep or they would have said something

copper nacelle
#

rebuilding and hoping it went away did not work

compact sedge
#

oh my god rider has spellcheck now

copper nacelle
#

yes i turned it off in <10 seconds

compact sedge
#

to be tbh you have no idea how much I needed spellcheck in my life

#

I did turn it off for comments because they aren't being compiled into the binary so nobody will see them unless they read my source code and nobody reads my source code for fear of eye cancer

copper nacelle
#

excuse me

#

am i actually doing something wrong

rain cedar
#

Check that it's the same Action class

#

There's a Unity one and a C# one

copper nacelle
#

god why

#

they're the same

#

both system

rain cedar
#

Do you have a MonoModPatch attribute on the class?

raven kayak
#

did this end up being fake

solemn rivet
#

dunno

#

did anyone check the sprites?

rain cedar
#

Looks like the thing from the journal entry for interacting with the you statue

raven kayak
#

i was asking in discussion and someone was saying there is no other place in the code so its fake

solemn rivet
#

I mean

#

if it is not fake

copper nacelle
#

no I donโ€™t have a monomod patch attribute on the class

solemn rivet
#

there would be either an item prompt, some dialogue or an image showing what you got (such as when you pick up an upgrade)

thorn comet
#

The cutscene you may get at chance when dream nailing Godseeker?

copper nacelle
#

but the other methods replaced

#

w/out the attribute

solemn rivet
#

we know there's no item prompt or dialogue by checking the language files

#

we only need to check if there's any new pick up animations

raven kayak
#

So its just a chance @thorn comet

rain cedar
#

Just load every scene

#

Takes like 15m

#

Easy to check

thorn comet
#

Yeah it happens by chance when dream nailing godseeker
Who sent you that pic?

copper nacelle
#

Iโ€™ve got a scene list

#

to be tbh

raven kayak
#

it was in discussion before i went to bed

#

didnt get a chance to see what it really was

rain cedar
#

Wait simo there's just a random chance when trying to enter godhome you'll just be sent some garbage place and lose time?

#

Or do you mean something else?

#

Because that's fucking stupid

solemn rivet
#

maybe other godseeker?

#

like the ones in the panths

compact sedge
#

lol if you could do this inside godhome could you use it to escape godhome in that one new gamemode?

solemn rivet
thorn comet
#

Yeah a random chance when entering Godhome

solemn rivet
#

omg

copper nacelle
#

wow nice

tranquil glen
#

Thats dumb af

solemn rivet
#

that's awful

raven kayak
#

do you need any charms or beat any panths?

tranquil glen
#

Whats the chance?

solemn rivet
#

maybe you need to have gotten to the void statue first?

raven kayak
#

or could it happen the first time

thorn comet
#

Hm cant remember off the top of my head

hollow pier
#

menderbug chance

warped sinew
#

I think its always possible

solemn rivet
#

smh

#

graig why

#

also, thanks for the reply about the no-hits panths

#

that was bothering me

raven kayak
#

i saw someone say you may need Dream Wielder equipped

warped sinew
#

I think TC decided it was too much. I would have put it in though lol

solemn rivet
#

well

#

considering we have to deal with oblobbles

raven kayak
#

oh so no hit panths were a thing at one point?

warped sinew
#

Early on

raven kayak
#

were there any big bonuses for it or it didnt get that far?

warped sinew
#

Is my understanding of the situation anyway

#

It was just gonna give the golden thing the all bindings does now, I think?

solemn rivet
#

so, who'll beat panth5 all binds first - graig, DLK or someone else?

#

place ur bets

hollow pier
#

monstah will do it

warped sinew
#

I got to sly once, that's my best run on panth5.

solemn rivet
#

oh yeah, there's monstah

hollow pier
#

kuro hates himself more

#

but monstah has dedication

warped sinew
#

It takes so long tho haha

solemn rivet
#

y don't u do it ptk

hollow pier
#

i havent even done p5 normal

solemn rivet
#

persona 5

thorn comet
#

I was hearing that someone else had already done it, but I dunno...

hollow pier
#

also havent done persona 5

solemn rivet
#

scrub

warped sinew
#

Yeah I have heard it's been done already

solemn rivet
#

well

warped sinew
#

But when I ask for proof... There is none

solemn rivet
#

I had heard of esipode doing it

#

but he admitted to cheating

hollow pier
#

but it takes 8 days at least so that isnt possible

solemn rivet
#

which I also did

thorn comet
#

First one to do it with a video, that'll be hype

young walrus
#

It was someone in discussion just saying stuff as far as I've heard

solemn rivet
#

so if cheating counts, me and veru did it two days ago

thorn comet
warped sinew
#

Well I did it a month ago then with cheats

#

Gotta test it

solemn rivet
warped sinew
#

Make sure the gold works

thorn comet
#

hollowf gradow and veru

solemn rivet
#

rip

warped sinew
#

Tc had a cheat where everything dies in one hit

hollow pier
#

wow are tc casuals

solemn rivet
#

tbh my biggest disappoint with this is how underused Land of Storms is

young walrus
#

Still in the code?

solemn rivet
#

such an interesting area

warped sinew
#

It like sets their HP to zero when you hit with anything

solemn rivet
#

mick there's a cheat function in the code iirc

warped sinew
#

It might still be in the code. Wouldn't surprise me heh

young walrus
#

Yeah. So we could maybe activate it with glitches ya?

hollow pier
#

๐Ÿ

rain cedar
#

There was a cheat mode in lifeblood

#

Probably the same

#

No way you're activating it

solemn rivet
#

uhh not likely mick

young walrus
#

I mean yeah. Not likely.

thorn comet
#

Imagine that though haha

young walrus
#

But hey, it's in there

solemn rivet
#

unless you did some SMW arbitrary code execution shenanigans

rain cedar
#

If this counts as a glitch

#

Then yes

solemn rivet
#

where that text comes from, sean?

#

console commands?

rain cedar
#

Environment.GetCommandLineArgs()

#

So yes

#

Kinda

solemn rivet
#

yeah

rain cedar
#

Command line arguments

warped sinew
#

There is some cool cheats too, but debug mod does a lot of them too

solemn rivet
#

no way you're getting that by glitching

rain cedar
#

The only other case for enabling cheats is Debug.IsDebugBuild

solemn rivet
#

you can possibly achieve some glitched state with similar effects, but...

rain cedar
#

So hope they release a debug build I guess

solemn rivet
#

like, you can maybe glitch the hitInstance of the nail to always do absurd amounts of damage, or something

#

so it bypasses the 13 limit

#

like when veru accidentally set his geo to max int

tranquil glen
#

Wait what

solemn rivet
#

and proceeded to break bonfire with it

tranquil glen
#

Howd he do that

solemn rivet
#

don't remember

#

I think he was trying to get oob or something

tranquil glen
#

Ia there a vid of it?

solemn rivet
#

oh

#

I remember now

#

it won't happen in vanilla tho

tranquil glen
#

Rip

solemn rivet
#

iirc what actually happened was that he got like 999 levels on each stat on bonfire

#

and refunded those

#

so he had infinite geo

young walrus
#

Lol

solemn rivet
#

I think there was a video of that

#

found it

#

it was a room dupe Kry

raven kayak
#

found a strange audio bug to do with the volume settings

copper nacelle
#

some stuff ignores volume settings

raven kayak
#

im just getting some loud noises when I break grass if my volumes are all set to 5, if they are all on 8 for example it doesnt happen

hollow pier
#

same with grass

young walrus
#

In game sliders don't work

rain cedar
#

But he said grass

young walrus
#

For some things

hollow pier
#

oh

rain cedar
#

Wtf you mean "same with grass"?

hollow pier
#

i read glass

#

i cant read

young walrus
#

Lol

compact sedge
#

ok ModHooks.Instance.AfterSavegameLoadHook doesn't work on GM I don't think

rain cedar
#

fix

compact sedge
#

idk how

rain cedar
#

Good

raven kayak
#

ok so the sliders just arent working properly? and keeping sound too high?

rain cedar
#

Put them all at 10 and use your system volume slider

raven kayak
#

ok, just never noticed it before the dlc and had never changed my volume so thought it may have been new

young walrus
#

Nah. Been an issue since release

compact sedge
#

happy to report the new game hook still works

fair rampart
#

Oh, the bonefire mod. Does it work on the new update?

solemn rivet
#

no

hollow pier
#

๐Ÿ…ฑonefire

compact sedge
#

welp this means ALL my mods are broken on GM because of this one hook being broken

solemn rivet
#

๐Ÿ…ฑ 1โƒฃ ๐Ÿ”ฅ

copper nacelle
#

@compact sedge i fixed it tho

#

just haven't pred

#

meme

compact sedge
#

sigh

#

oh wait they made an emote for this, let me join the 21st centry

#

๐Ÿ˜ฉ

copper nacelle
#

@floral furnace

mint bloom
#

guys does anyone know how to make a mod for the godmaster update?

copper nacelle
#

yes

#

no

#

all us modders don't know how to mod

#

sorry

compact sedge
#

I mean does anyone is a vague question, maybe someone at TC does

copper nacelle
#

also all the mods that worked before gm won't work anymore

#

or at least like 90%

#

cause unityengine

compact sedge
#

debugmod sorta works and blackmoth also sorta works

#

but only sorta for both

copper nacelle
#

debug mod works w/ recompiling

hollow pier
#

does api exist

copper nacelle
#

half-exists

#

still broken

#

afaik

hollow pier
#

make it exist twice as much thanks

copper nacelle
#

ok

compact sedge
#

also I guess I'm gonna keep the api on my github now cuz why not

solemn rivet
#

enemyhpbars works tbh

fair rampart
#

damn, i never actually tried bonefire, i thought that this was a ood time to do...

solemn rivet
#

I tested it on gog-early

copper nacelle
#

w/out recompiling?

#

cause moresaves died cause it couldn't ref monobehaviour i think

compact sedge
#

๐Ÿ’€๐Ÿ”ฅ

solemn rivet
#

uh

#

well, qol and enemyhpbars were working on the early gog build so idk

copper nacelle
#

strange

#

well moresaves is fucked anyways

#

they changed a bunch of stuff w/ saves

#

might've fixed it tho

#

ok i have no idea why this isn't actually hooking

#

fantastic

rain cedar
#

Do it better

copper nacelle
rain cedar
#

๐Ÿ˜‰

copper nacelle
#

oh i'm dumb

#

nice

rain cedar
#

nice

copper nacelle
#

didn't ever put a monomodpatch on the new class file

rain cedar
#

But I said that and you said it wasn't the problem

copper nacelle
#

no this is a different class

compact sedge
#

woah it actually shows that now

copper nacelle
#

that's a more saves problem tho

#

i think

compact sedge
#

Also while you're doing all the api fixes can you change the api version to 45 or more? Or heck change it to 56 for memes.

#

actually don't do that because it can only be 56 once.

#

so make it 56 for a really good version

copper nacelle
rain cedar
#

Change it back to 2

solemn rivet
#

make it stay forever on 56

#

56.1

copper nacelle
#

yeah moresaves works now i think

solemn rivet
#

56.2

rain cedar
#

56.56

copper nacelle
#

ok so the moresaves ui is fucked

#

but it's still functional

#

i'd call that a success

compact sedge
#

that's an improvement over the opposite I'd say

copper nacelle
#

@leaden hedge the api fixes it now

#

.

#

also moresaves' ui died

#

cause they changed save slot showing

#

is this u

#

*save name hook

compact sedge
#

awesome thanks

copper nacelle
#

why does the ui manager like

#

never exist

#

api still breaks radiant fights

#

:ech:

#

i think it just instakills you in a radiant fight'

#

lemme fix it

#

get 10000 hp

#

easy radiant

compact sedge
#

tbh infinite grimm onehit code:

        private static int oneHitKill(ref int hazardtype, int i)
        {
            return 999;
        }
copper nacelle
#

HeroController.instance.Die();
return 0; better cmm

compact sedge
#

therefore radiant NKG is 10 times stronger than infinite grimm one hit mode.

copper nacelle
#

now you can carefree melody infinite grimm

#

smh

#

wait you can carefree melody radiants

#

why

#

carefree melody radiant nkg

compact sedge
#

you can't carefree melody infinite grimm dungo because you can't do infinite grimm if you have carefree melody.

#

unless you're a dirty cheater

copper nacelle
#

save edit

compact sedge
#

if you're gonna cheat then there's literally nothing I can do to stop you from breaking infinite grimm.

#

you could save edit your health to be 1200000

copper nacelle
#

make infinite grimm an option in the pantheon when

compact sedge
#

nope

copper nacelle
#

why

compact sedge
#

banishment people don't deserve it.

copper nacelle
#

ur ruining my never moving out of godhome plan

compact sedge
#

but also like IG hardmode has death walls and they added those to the vanilla game by making the sides places you can fall off.

#

for the NKG fight

copper nacelle
#

just make it load the original scene in the menu option

#

ez

#

also wrong

#

the falling off is better than walls

#

if you get cornered you can just

#

jump off and djump and then shade dash back in

compact sedge
#

oh true

#

but also yeah that's how I'd do it is load the original scene so I don't need to rewrite my amazingly awful anti-lag code.

copper nacelle
#

but is the gm scene naturally less laggy

#

stay woke

#

i'm gonna add lost lord and mantis gods to the pantheon cause it's so convenient

#

it's wonderful

compact sedge
#

I'll add it eventually I guess but combo mod is my number one priority.

copper nacelle
#

*pantheon 5

#

hhhhhhhhhh

compact sedge
#

pantheon 5 is my number 3 priority

#

after redwing

#

CP2

copper nacelle
#

can u don't

compact sedge
#

I won't use CP2 to beat panth 5

copper nacelle
#

now do pantheon 5 before combo mod

#

don't you want to die to absolute rad

compact sedge
#

I want to give panth 5 an ending it deserves, not the one it needs.

#

I mean what

copper nacelle
#

:cornywokest:

compact sedge
#

also uh IDK how the flowers work

#

but I wanna make it so you can give the radiance a flower

#

the normal radiance

#

not absolute

copper nacelle
#

cease

compact sedge
#

so I'm making 3 endings, two of which are pretty similar (just like my first 3 endings). Fixing the really weird dash invulnerability storage that greymoth has that triggers about once every 8 hours and I have no idea why. adding particle systems to every fire attack and making the napalm particle system look better. And reading through every bit of GM lore.

#

oh and testing to see if my redwing binding code actually works

#

in theory it makes you very weak with all the bindings

#

well compared to normal

copper nacelle
#

when tf did hero controller get nice events

compact sedge
#

not lifeblood

#

but seems like good ideas for hooks since you're the new modding api maintainer who refuses to let me do any of the work.

copper nacelle
#

ur too slow

compact sedge
#

more like I can't code for shit

copper nacelle
#

i copy pasted this from the decompiled code

compact sedge
#

What OnTakenDamage is from the API not the vanilla game

copper nacelle
#

there's a new vanilla game one

#

it's what the boss rushes use

#

apparently

compact sedge
#

holy shit there is

copper nacelle
#

yes that's literally what i took the picture of

compact sedge
#

is HK getting its own modding api built into vanilla?

copper nacelle
#

and asked when tf it got added

#

there's one for all bindings no hit too

#

also i'm surprised this is in code

#

nice for once

compact sedge
#

I don't blame them for removing that. I remember talking with dl about balancing IG to compensate for stutters and other things and I came to the conclusion that when it comes to endurance gauntlets, making individual hits less punishing but harder to avoid was generally better design.

copper nacelle
#

this is why qol was being weird

#

i bet

#

reeeeeeee

#

they're actually using events

#

and have some actual code

#

this is nice

compact sedge
#

ok well I'm going to sleep. Send more PRs I guess and if you find any bugs with the api that you're too lazy to fix let me know and I'll try to look into them.

copper nacelle
#

wait no stop

#

wait like

#

under 300 seconds

compact sedge
#

ok I'll take a shower and if no PRs when I get back then I'll accept them tomorrow.

#

I take slow showers

#

so take your time to make it look nice

copper nacelle
#

ok

#

just need to fix this weird event thing

#

and i'm done w/ take damage

#

oh it's cause it's in a different class

compact sedge
#

done

#

thank

#

please let me know if you find any bugs you don't feel like fixing.

copper nacelle
#

ok

#

now i can leave my api on all the time

#

life is good again