#archived-modding-development

1 messages · Page 528 of 1

patent zealot
jolly oriole
#

wtf is that pfp tbh

rough pulsar
#

It's a hedgehog

light zodiac
#

Damn that was so hard to notice

fickle sparrow
#

...

#

hunt what the fuck

#

wHy

rough pulsar
#

WORK

#

PLEASE

primal latch
#

Seems like your headers are wrong

rough pulsar
primal latch
#

I don’t know headers

rough pulsar
#

n

#

OH FUCK I'M STUPID NOOOOOO

#

i shouldn't include the host header

patent zealot
rough pulsar
floral blade
floral blade
#

how ? doesnt a game need to be approved ? 😮

rough pulsar
#

The library for discord rpc is there

#

No

#

It doesn't need to be approved

floral blade
rough pulsar
#

You only need to approve it for "Ask to Join" button

floral blade
#

because it says this 😮 The SDK that this documentation references, Discord-RPC, has been deprecated in favor of our new Discord GameSDK.

rough pulsar
#

That has nothing to do with approvation but

#

Yes

#

The "Discord-RPC" sdk is deprecated

#

I'm using the GameSDK sdk

floral blade
#

gotcha

rough pulsar
floral blade
rough pulsar
#

Yes

floral blade
#

nice

cedar hemlock
#

when 1.5

rough pulsar
cedar hemlock
#

sorry if you already talked about 1.5, but i'm not reading all of that

rough pulsar
#

i mean

#

it exists

#

but

#

i'm waiting for 1.5 modding api official release

#

during the wait i'm trying to improve 1.4.3.2 rpc mod

cedar hemlock
#

then i can't have RPC when i'm testing 1.5 mods

#

sad

rough pulsar
#

i'm gonna include regions and commented code so you can uncomment the 1.5 code and comment the 1.4 code

#

actually

#

the mod works in 1.5 as well

cedar hemlock
#

references aren't going to fix themselfs

rough pulsar
#

just that the auto install code doesn't

#

m

#

idek

#

maybe i'm gonna try to do 1.5 branch in my repo at one point

ornate rivet
#

Anyone know why this doesn't properly stop the knight?

HeroController.instance.GetComponent<Rigidbody2D>().velocity = Vector2.zero;
HeroController.instance.RelinquishControl();

For some reason the player shifts slowly to the left.

copper nacelle
#

acceleration?

ornate rivet
#

there's acceleration?

copper nacelle
#

rb2d has it idk if they use it

jolly oriole
#

i've never seen any acceleration anywhere

#

though i haven't look through the entire game tbh

charred topaz
rough pulsar
#

i finally implemented auto install in my 1.4.3.2 version of discord rpc mod
(the mod needs dependencies that wouldn't fit in Mods folder)
i had to use embedded sources so that's not so pog...

#

the mod is 22 mb

jolly oriole
#

22 MB is nothing

#

even though ToT is half the size

rough pulsar
#

i.updated my mod

#

long awaited update

vocal spire
#

I have an IMenuMod with public List<IMenuMod.MenuEntry> GetMenuData(IMenuMod.MenuEntry? toggleButtonEntry) => new List<IMenuMod.MenuEntry>(){ new IMenuMod.MenuEntry("test", new string[] { "On", "Off", "On 2?", "1, 5, or 7"}, "description or something", i => _globalSettings.testSetting = i, () => _globalSettings.testSetting)}; public bool ToggleButtonInsideMenu => false; but there is no mods menu showing up, does anyone know how to fix it?

floral blade
#

no menu at all or your mods settings dont show up ?

vocal spire
#

no menu at all

#

nvm I think I found the problem

floral blade
#

probably wanna check player.log & modlog then ?

#

if mods menu broke

vocal spire
#

my globalsettings was null

floral blade
#

hmm that should've given an NRE no ?

fickle sparrow
vocal spire
#

I didn’t know what part had given the null reference exception:( I’m tired

floral blade
#

i suspect the answer is yes, but here goes : suppose you have an embedded resource of 200mb , does that mean that your mod will take 200mb+ of ram once loaded?

vocal spire
#

is fsmview avolonia supposed to crash when opening false knight's fsm

primal latch
floral blade
#

so is there any reason why to not have something be an embedded resource ?

primal latch
#

Ease of replacement? You can more easily replace it without rebuilding the whole mod

#

On the other hand, people can less easily steal your assets

vocal spire
#

just open up dnspy

#

well they have a point, requiring dnspy is tougher than outright storing them as separate files

floral blade
#

well i meant to ask for the default skin folder of ck, so i want the assets to be exposed anyway

light zodiac
#

Online asset ripper do exist

floral blade
#

but it's easier to bundle them with the dll and be like spit them out if they don't exist

light zodiac
#

Can't you real time rip the sprites from game

floral blade
#

can i ? if a skin is applied by another mod then i'm sol 😦

merry lotus
floral blade
#

does go dump dump the correct sprites when a skin is applied ? 😮 that's news

#

must look at their code

vocal spire
#

they don't dump the correct sprites last I used it

copper nacelle
#

it's pretty easy to do

jolly oriole
#

godump literally just rips the current texture of the go

rough pulsar
#

i'll just fix it in the next version

light zodiac
rough pulsar
light zodiac
#

Which is gonna work for hollow knight version 1.5?

rough pulsar
rough pulsar
#

can any of you give me 1.5 modding api

cedar hemlock
#

yes

rough pulsar
#

awesome

cedar hemlock
#

lemme find it

jolly oriole
#

its pinned

cedar hemlock
#

oh

rough pulsar
#

thank you you are awesome sfgrenade

cedar hemlock
rough pulsar
#

i'm still planning to steal pale court

jolly oriole
#

have fun trying to maintain that legacy code

cedar hemlock
#

shouldn't the pin with "modding-api source" be updated?

jolly oriole
#

probably

#

you can ping if you really want

cedar hemlock
#

nah

rough pulsar
#

i can ping sfg???
you won't block me right feelspkman

cedar hemlock
#

that are a lot of thinking emotes

jolly oriole
#

like 3

jolly oriole
rough pulsar
#

do 1.5 mods use .net framework 4.7.2?

cedar hemlock
#

yup

rough pulsar
#

hold on

light zodiac
#

No

rough pulsar
light zodiac
#

Re-add it?

rough pulsar
#

cri.nge.

#

oh wait

#

github desktop fucked up a little bit

rough pulsar
cedar hemlock
#

nice

#

@light zodiac your gist, update it

light zodiac
#

No

#

It's really outdated

cedar hemlock
#

a

light zodiac
#

And I'm lazy

cedar hemlock
#

sad

#

time to pin it in resources

light zodiac
#

I would like to see you try

rough pulsar
#

what resources

#

what

light zodiac
#

Ruttie thinks he is admin

cedar hemlock
#

not here you dumb dumb

#

this doesn't even have resources anymore zote

light zodiac
#

It does

cedar hemlock
#

we just can't see it

#

theres none for me

rough pulsar
#

i checked every channel

#

well

#

i mean there is the mods drive

cedar hemlock
rough pulsar
#

k

vocal spire
#

Wha

cedar hemlock
#

just ignore it

jolly oriole
#
NullReferenceException: Object reference not set to an instance of an object
  at InputHandler.CutsceneInput () [0x00007] in <ec95cbe21af7448ea086a0245ca33b78>:0 
  at InputHandler.Update () [0x0004d] in <ec95cbe21af7448ea086a0245ca33b78>:0 

i can't get out of a pantheon

fickle sparrow
#

have you considered not NREing

#

oh

#

are you on an old version

#

because im pretty sure that was a crash on 72

jolly oriole
#

yea, apparently i never isntalled one of the prebuilt mapis

floral blade
#

is there a good way to serialise and deserialise objects in 1.4.3.2 ?
like i will probably have a slightly nested structure so the unity JSON thingy does not work, do i just serialise to XML ?

jolly oriole
#

newtonsoft json

#

it's bundled in the 1432 mapi

floral blade
#

oh it's also in 1.5 mapi, sounds good

#

ty

blazing coral
#

is the new modinstaller ready?

vocal spire
light zodiac
#

Are you sure about that?

jolly oriole
#

mi2.5 is in the works afaik

primal latch
#

^

jolly oriole
#

i mean, i have an abandoned mi3 repo, afaik 56 is working to update mi2 to mi2.5 (with the new modlinks), there is redfrogs PR for mi1.5

worn eagle
#

does anyone know what the royal waterways music is called in the game?

#

nvm it's just S31 Waterways

jolly oriole
#

i could've told you in like 4 1/2 hours, but seems to be resolved

vocal spire
jolly oriole
#

so you are/were working on mi1.25 and 1.5 or how would i label those thinking_guy_tm

#

mi1.5.1 and mi1.5.2

light zodiac
#

Or you could just use the mi version number

#

8.8.0

jolly oriole
#

then you have mi8.8.0, miwhateverredfrogmakesit, mi1.0 and mi1.0

jolly oriole
#

because i've worked with qt before and never worked with the c# gui variants before, and qt is used in c++

primal latch
#

Ok

floral blade
#

at this point someone gotta write a MI in node.jsfeelspkman

jolly oriole
#

qt has an option to make a gui in QML, which is basically glorified javascript, so pretty close already

primal latch
vestal plover
#

Does anyone know what the deal is with the scene "Fungus2_15"? This is the scene that supposedly hosts the mantis lords bossfight, but all the FSMs and logic for said bossfight actually reside in a scene called "Fungus2_15_boss".

jolly oriole
#

same thing with deepnest_east_hornet and other boss arenas

vestal plover
#

But are the game objects and their associated FSMs simply accessible in the scene without the "_boss" suffix?

steady comet
#

Yes

primal latch
nimble lake
#

use debug

#

i mean, not that you should

#

but you could

rough pulsar
floral blade
#

just steal it from jngo's multiplayer feelspkman

rough pulsar
#

noooo i want an actual complete documentation wai

jolly oriole
#

i like the il and mOMEGALULdcOMEGALULmmOMEGALULn sections

floral blade
ornate rivet
#

wait why is there even a modcommon section, I'm pretty sure that's from before

primal latch
#

Imagine still using modcommon

ornate rivet
#

it has lots of good debugging tools

copper nacelle
#

nope

jolly oriole
#

the only actual good one is the debug colliders

#

but debugmod has those as well

ornate rivet
#

print tree hierarchy is good too

jolly oriole
#

hkwe2 + assetsview?

copper nacelle
#

I should just make a reflection based on

#

should be like 1/100th the size

jolly oriole
#

but is it faster unity_think

copper nacelle
#

nope

#

better though

#

fast enough tbqh

jolly oriole
#

not fast shroompause

#

i need my 5 digit fps

copper nacelle
#

uh huh

#

I think yuri straight up might already have one

jolly oriole
#

i mean, i just don't want to change that much code tbh

#

ig it'll probably be somewhat similar to the on things?

nimble lake
vestal plover
#

Does anyone have a built version of FSMViewAvalonia that supports tabs?

rough pulsar
#
private void MethodA() { /* code here */ }
private static void MethodB()
{
    MethodA(); // Bad, you shouldn't do this
}

@quick orchid does this help

copper nacelle
#

calling an instance method from a static method with no instance

#

really makes you think

rough pulsar
#

It wouldn't make sense in any way quirrelmonocle

merry lotus
#

You can to a single tick around each for inline code blocks
`like this` -> like this

copper nacelle
#

you need a new line for the cs highlighting

vestal plover
#

Aren't those the wrong characters also, shouldn't it be a backtick: ` instead of the acute accent: ´ ?

jolly oriole
#

yes

floral blade
cedar hemlock
#

not sure tho

jolly oriole
#

i have no recollection of that, so that can't be it

cedar hemlock
#

yet theres evidence you typed it

jolly oriole
#

no

cedar hemlock
#

dwarf hacked your account and typed it?

jolly oriole
#

apparently

floral blade
#

it has been edited now

#

to erase the crimes

cedar hemlock
#

its illegal to remove evidence

rough pulsar
#

dwarfwoof's account was previously hacked??? ? 😭

floral blade
rough pulsar
gaunt echo
#

anyone know how to change the apperence of the watcher knights to the washer knights

#

i would like to know because its funny

young walrus
#

you install the washer knights mod

fallen rapids
#

Does anyone know where I can get ahold of a modder?

#

I have a project for some things I wanna have made into a mod but I have no modding experience (or a computer)

#

Ping me if you have an answer

ornate rivet
#

hello I am a modder

#

@fallen rapids

fallen rapids
#

Hmm

#

Oh

#

Good

#

Well I'm warning you

#

This project isn't exactly easy (well I don't know)

#

How easy is it to modify a charm

ornate rivet
#

varies but not too bad usually

fallen rapids
#

Because that's all this mod is

#

I'm making all the bad charms

#

And reworking them

#

Into actually having decent uses

ornate rivet
#

very unique

fallen rapids
#

The hardest rework will probably be heavy blow

#

Because it's a entire rework

#

And the charm will keep none of it's old effects

fallen rapids
#

Is that sarcasm

ornate rivet
#

maybe

fallen rapids
#

Either way I've gone through other people and asked for oppions on what charms should be modified and how they should be

ornate rivet
#

this is definitely a mod that can be made and in fact has been made multiple times before in various ways although I'm pretty sure most of them are now outdated
You can learn modding through here https://radiance.host/apidocs/ and looking/using those old charm revamp mods should be of great help

fallen rapids
#

I don't have a computer

#

I can't phycicaly mod myself

#

Which is why I'm looking for a modder

ornate rivet
#

I see, well good luck

fallen rapids
#

Alright thanks for the help on clarifying how hard this job is

ornate rivet
#

np

young walrus
#

are you paying for this to be made? and if so, what's your budget

rough pulsar
#

1 cent

fallen rapids
#

Honestly it depends on how hard this is to actually do

rough pulsar
merry lotus
#

I know you just put all this effort into this, but wouldn't this make more sense to be made using MI2 as a base, especially since Mac Pathing is something that confuses a lot of players.

rough pulsar
#

bhhhhhhhhhhhhhhhh

#

idk

#

i could

#

um

#

yeah that's easy

#

i already had troubles navigating thru modinstaller source code

#

i think i can do it tomorrow. not sure

#

i also planned to add TWP skins, but... they are not in zip formats

merry lotus
#

I didn't mean that as a big criticism or anything btw. A skin installer is absolutely amazing! Is it going to use a system similar to Modlinks? And/or where does it pull skins from?

rough pulsar
#

idk what am i gonna do, i'm not sure if i even need permissions

rough pulsar
#

and

#

it pulls skins from

languid goblet
#

is it possible to integrate this into the modinstaller?
just have a separate tab for skins if you have customknight installed

merry lotus
#

@floral blade might have some ideas, btw.
They have been working on ideas for a "central skin directory" / list, to help with esnsuring HKMP skins are using the same ID.

rough pulsar
rough pulsar
languid goblet
#

how does the ui affect it?

rough pulsar
#

i'm just gonna show this

#

actually

#

hey

#

i might be able to do this

#

hm

#

not exactly sure how i would integrate skin installer to modinstaller

#

the interesting thing about this is
it has both mod and skin support

#

WAIT WHAT THE FUCK

#

THAT'S WHY IT'S NOT WORKING

vocal spire
#

Google drive download links don’t work if the file is too large for the virus check

copper nacelle
#

yeah it's great

#

and by great I mean fuck google drive

rough pulsar
#

great

#

what am i gonna do. use 7zip to zip and unzip files?

vocal spire
#

Upload to GitHub instead?

rough pulsar
#

idk how

vocal spire
#

Or any other file storing website

rough pulsar
#

um
uh

#

idk

#

i think i can use

#

dropbox

copper nacelle
#

catbox.moe is pretty good fwiw

rough pulsar
#

woah

#

cool

ornate rivet
#

pretty good fwiw

copper nacelle
#

extremely interesting

#

I mean it's free and it gives real links

ornate rivet
#

what do real links mean

#

and I was just joking I'm sure it's great

copper nacelle
#

direct file links

#

none of the shit gdrive does

#

or some other file hosts

rough pulsar
#

i was trying to download blood knight from my skin installer i made and it was 0.4 mb i was surprised
then it just threw an exception zote

#

so uh

#

thanks google

#

wait a fucking sec

#

wait

#

wait

#

isn't custom knight 40 mb or somehting

#

how does it not crash then

copper nacelle
#

it is on github

rough pulsar
#

oh shit

#

you're right

floral blade
# rough pulsar bog

This is such a good idea tbh

Just a couple of thoughts I had, could you use MI2 as base so that it'll work on Macs as well? And if possible add a preview image? A lot of people want to preview a skin before downloading.grubomg

merry lotus
floral blade
#

I was planning on bringing back Icon.png in game soon anyway once I had a way of doing it without much of a performance penalty

#

I mean if the icon.pngs were outside the zip you'd only download icon.png for all skins and download the entire skin only when requested by the user

jolly oriole
#

Github releases shroompog

nimble lake
jolly jungle
#

Is ToT's project public?

light zodiac
#

Like the source code?

ornate rivet
#

idk if it actually works in 1.5

jolly jungle
#

thanks

#

it looks like 1.5 I guess hornetsip

copper nacelle
#

Update to 1.5

jolly jungle
#

Why can't I find the scenes and all those?

#

Everything is .cs files

copper nacelle
#

the resources are gitignored

primal latch
#

But why?

copper nacelle
#

because using git to track binary files is a poor choice

jolly jungle
#

Oh

#

So how do I access them?

rough pulsar
#

If there is no icon.png I don't know how would i get the preview

#

I think i can just copy a portion of Knight.png into the preview tab

jolly jungle
#

Maybe copy the bottom right edge if you can?

#

the knight should be a specific size after all

#

(at least, until CK+ releases hornetsip)

rough pulsar
jolly jungle
#

Yep

rough pulsar
#

Awesome

jolly jungle
#

As of now and the forseeable future

rough pulsar
#

Customknight also appears blurry af for me, i think that's why

#

Only sometimes tho

jolly jungle
#

wdym blurry?

#

I got a blurryknight skin for you if you want hornetsip

rough pulsar
#

Nah

jolly jungle
#

It's really nice hornetsip

jolly oriole
jolly jungle
#

ah, alright

#

thanks

#

I don't need it just yet anyways I guess

rough pulsar
#

That blurry skin is enough to mess with my brain for a long time

jolly jungle
#

wait till you see the other sheets

rough pulsar
#

Please

#

No

jolly jungle
#

Aight

jolly oriole
jolly jungle
#

I wanna look at scene stuff

jolly oriole
#

ah

jolly jungle
#

A more important question is

#

Why do the slashes of the Heavy Fools not hit me?

#

Even after I disabled my mod it still doesn't work

jolly oriole
#

debug invincibility?

jolly jungle
#

No debug

#

And all other things damage me

#

only the slashes dont

#

both the normal slash, and the leap-and-slash slash

#

Wait they all started hitting me slowly zote

#

now it consistently hits

#

Or maybe it's just a range thing?

#

I dont even know anymore

#

All I know is it doesn't work all the time like it should

#

Even normally

jolly oriole
#

install debug, let the colliders show

jolly jungle
#

but I have no idea how to fix that

#

yeah, good idea

#

I'll enable it I guess

#

also does anyone know why they dont appear in the enemy list in debug?

#

Heavy fools

#

They're never there

radiant basin
jolly jungle
#

They don't appear in the enemy list, and the collision hitbox doesn't appear for them

#

Debug seems to not be aware of them

rough pulsar
#

Press scan??????

#

@jolly jungle

jolly jungle
#

Tried

#

Didn't seem to change anything

rough pulsar
#

Yeah sorry. I have no idea.

jolly jungle
light zodiac
#

In visuals tab there's a show hitbox feature

#

Use that

#

I think red lines is the one that has the damage player thing

light zodiac
jolly jungle
#

I know about that

#

They never appear

jolly jungle
#

Any idea how the last two work?

#

How does it even reach them?

#

Shouldn't it exit once the Wait ends?

#

How do I entirely unbind something

#

in debug

light zodiac
#

Click on white circle (that binds).
Press esc

#

Or you could remove that key from your keyboard

jolly jungle
#

oh I thought it'll bing esc

#

bind

light zodiac
#

It won't

jolly jungle
jolly oriole
#

you can also go into debugs globalsettings and remove the line(s) with the bind (and its key if its split)

light zodiac
#

Download newest version

light zodiac
jolly jungle
#

Find what

light zodiac
#

In visuals tab there's a show hitbox feature

jolly jungle
#

Lemme just get the newest version

#

Welp, installer not opening

#

Damnit

jolly jungle
#

Oh, thanks

#

Is the one in the drive updated?

light zodiac
#

nope

jolly jungle
#

Woo, thanks

#

For some reason, the two slashes don't show a hitbox

#

while the charge attack does show another one

#

Wait I saw it

#

I saw a slash hitbox

#

after like thirty slashes, a hitbox appeared for one of them

#

And two more

#

So far, three out of like fifty, with three being in the last ten

#

and thats only normal slash

#

no hitbox for jump-slash yet

jolly oriole
#

idk what's wrong with your game

jolly jungle
#

Welp this is disappointing

light zodiac
#

Did those slashes that showed hurt the player?

jolly jungle
#

only the hitboxed ones

light zodiac
#

Giving a random chance to not get hit is a feature not a bug

jolly jungle
#

It's a feature I wanna make sure never happens

primal latch
#

@jolly jungle my guess is that debug mod only shows non-trigger colliders?

jolly jungle
#

wdym?

#

It shows all kinds of stuff

#

it shows me basically every collider in game

#

see it even shows colliders for the trigger boxes for interactions

cedar hemlock
#

just get the hitboxes mod?

jolly jungle
#

what's the difference

cedar hemlock
#

idk

jolly jungle
#

And there's no problem with this

cedar hemlock
jolly jungle
#

When it doesn't show a slash hitbox, there isn't one

deep wave
#

hitboxes mod shows fewer hitboxes than new debug

jolly jungle
#

doesn't hit me

#

After another 20 slaps, only two had a hitbox, but one of them went over my head and too much forward, so it missed me by being too long-ranged

#

ok half of those with a hitbox miss me due to poor placement rootcry

#

they seem to hit more consistently now I guess?

#

The jumpslap never seems to show a hitbox though

jolly oriole
#

Are you sure your game is ok?

jolly jungle
#

I think so

rough pulsar
#

dude

#

at least

#

um

jolly jungle
#

Any way I can know it's not ok?

rough pulsar
#

i don't know

#

verify game files and reinstall modding api

jolly jungle
#

This is the only thing I can think of

rough pulsar
#

that's all i got.....

jolly jungle
#

Eh it's not that important

#

I'll just have to assume the attack does damage everyone else

#

Which means it all works as I want it to

light zodiac
#

Send it here and I'll test

jolly jungle
#

I'll dm it to you

jolly oriole
rough pulsar
#

Looks pretty bog though

light zodiac
#

MI the third iteration

rough pulsar
jolly oriole
rough pulsar
#

Please don't tell me i have to make 3 skin installers notlikequirrel

#

Actualyl

#

Talking about that

#

I'm gonna do skin installer 2 today but idk when

jolly oriole
#

you do need to have a windows, linux and mac version, maybe even 2 for both linux and windows

rough pulsar
#

MI2 is based on .NET right

#

Not .NET Framework

jolly jungle
#

Hey are the Knight's fsms in one of the sharedassets 1-5 by any chance?

cedar hemlock
primal latch
#

Nevermind. Found it.

cedar hemlock
#

nice

#

i tried it in vs but i just broke everything, so i'm never gonna touch it again lol

primal latch
#

For if someone pushes to the repo and the build fails: catbox.moe is down

rough pulsar
#

uhm

#

how do i check if a specific mod exists

#

and get info about it

cedar hemlock
light zodiac
#

is there a way to change the shades spawn point?

jolly oriole
#

yes

light zodiac
#

how?

jolly oriole
#

good question

#

Hero Death -> Hero Death Anim -> Set Shade -> basically all of it

light zodiac
#

this is in FSM or code?

jolly oriole
#

it's an fsm

vestal plover
#

Any ideas on why my FSMViewAvalonia crashes when I try to open the "FalseyControl" FSM from "Crossroads_10_boss"?

light zodiac
rough pulsar
light zodiac
#

ModHooks.loadedmods?

#

what info do you want? version number?

rough pulsar
#

just that if the mod exists, that's all

#

just so i can display if the player is fighting corrupted kin, any rad, etc etc in discord game status

floral blade
#

^ probably best to create an api that other mods can use than hardcode all cases yourself

jolly jungle
#

I can't find the Knight fsms wai

#

I have a feeling they're somewhere in sharedassets 1-5

#

but those appear blank when I try to avalonia them

#

lemme see if the other viewer can see them

#

Wait lmao

#

I just realised

#

There's a button specifically for that

#

I can't find where DNail gives soul hornetsip

#

Anyone knows the fsm of it?

#

it doesn't seem to be on the dnail's fsm - that's just a general control for activating it

#

the actual effects of it on enemies/npcs/etc. would be someplace else

#

But I don't know where

jolly oriole
#

Hitbox -> Send Event -> Send Event

jolly jungle
#

mmmmm what

jolly oriole
#

Hitbox gameobject, Send Event Fsm, Send Event state

jolly jungle
#

This thing?

jolly oriole
#

yes

jolly jungle
#

Where does it send it to?

jolly oriole
#

to the thing it collides with

jolly jungle
#

Hm

jolly oriole
#

whatever that is

jolly jungle
#

So how would I make a specific thing react in a different way

#

In this case, give an irregular amount of soul

#

how do I detect when that thing had their hitbox receive this event?

jolly oriole
#

on enemies, the hitbox get's detected by the EnemyDreamnailReaction class, so hook some of it's methods?

jolly jungle
#

Hm, thanks

#

Welp, I hope this is gonna work

#

Thanks hornetsip

rough pulsar
#

how can a mod interact with another

#

n

cedar hemlock
#

add it as a dependency

#

but thats just pain

jolly jungle
#

Wouldn't that make it, well, depend on it?

rough pulsar
#

so

#

wait

#

hmmmmm

jolly jungle
#

I think kaan wants a mod to be able to recognise the presence of another mod

cedar hemlock
jolly jungle
#

and do stuff accordingly

jolly oriole
#

the way i'd do it is to either

  • have a plain dependency of it or
  • abuse playerdata
    but there also is that thing that either yuri or 56 put here some time ago
rough pulsar
jolly jungle
#

I remember redfrog doing something of this sort on Fyremoth

rough pulsar
#

so wait

#

let me make up a situation

jolly jungle
#

A unique interaction with Hollow Point

#

So you can ask them I think

rough pulsar
#

i have an event in my mod (like how modhooks work), let's say there are other mods that subscribe to that event. if i fire the event from my mod (from my own code as well), will other mods be able to see that event being fired and react to it?

jolly oriole
#

yes

rough pulsar
#

neato

jolly oriole
#

otherwise the modding api itself wouldn't work

jolly jungle
#

Hm

rough pulsar
#

that's awesome popseeker

#

actually i already have an api as well

jolly jungle
#

So can we accidentally/forcefully trigger other mods' stuff without it meant to happen?

rough pulsar
#

hold on

jolly oriole
rough pulsar
#

i'm planning to add support for icons as well

jolly jungle
#

Nice

#

Icons for what?

rough pulsar
#

like,

#

you know how there is a small image next to the very big image

#

that

floral blade
#

pog tamer

#

sorry i just looked at your nick and thought that, entirely irrelevant to the conversation

rough pulsar
#

it's alright

#

about icons

#

uh i can't just support plain custom icons, like, binary data
due to how discord handles rpc assets

jolly jungle
#

I have no idea what you mean

rough pulsar
#

this

jolly jungle
#

Ohhhh

#

Niceeee

#

so what'll control the icon?

floral blade
rough pulsar
#

actually most of them are just area icons

floral blade
#

like an icon for resting at a bench / pogoing / cdashing etc

#

a few random meme emotes

rough pulsar
#

ok sure

jolly jungle
#

Add noot

floral blade
#

then the mod can choose to show this not super specific context image with their mods location info text thingy

fair rampart
#

what .NET version should i use for modding?

floral blade
#

1432 or 1.5 ?

rough pulsar
#

if for 1.4.3.2, then use .NET Framework 3.5
if for 1.5, then use .NET Framework 4.7.2

#

it's most likely you're using the 1.4.3.2 assembly-csharp so go with .net framework 3.5

jolly jungle
#

Just remember that once we have a final 1.5 version, you might want to update the mod to match

rough pulsar
#

ik

fair rampart
#

thank you!

rough pulsar
#

i also have a seperate 1.5 release for my mod

fair rampart
#

do i need a GetVersion method?

#

is it a must have is what im asking

vocal tendon
#

Hi all! I started playing around with Unity and C# in the beginning of this year. A few days ago, I downloaded dnSpy and made a few changes to HK. I would love to make this a mod that other people could download and use, but I have no idea where to begin. Not a developer, just a curious guy. What should I do?

rough pulsar
vocal tendon
topaz mortar
latent plinth
#

How do I join someones game in the multiplayer mod?

primal latch
#

@rough pulsar I don’t know if you still want to reference other mods without depending on it but: ```cs private static readonly Dictionary<string, CacheType> Cache = new Dictionary<string, CacheType>();

    public const BindingFlags allFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic;

    private const string TypeExceptionMsg = "Could not find the requested type in any of the target assemblies.";
    private const string MemberExceptionMsg = "Could not find the requested member in the target type";

    public const string AssemblyNameGun = "HollowPoint";
    public const string AssemblyNameSkins = "CustomKnight";
    public const string AssemblyNameSkinsPlus = "CK2";
    public const string AssemblyNameRandom = "RandomizerMod3.0";
    public const string AssemblyNameRandomOld = "RandomizerMod2.0";
    public const string AssemblyNameMain = "Assembly-CSharp";
    public const string AssemblyNameFyre = "Fyremoth";

    public static bool GunMod => Assemblies[AssemblyNameGun] != null;
    public static bool SkinsMod => Assemblies[AssemblyNameSkins] != null;
    public static bool SkinsPlusMod => Assemblies[AssemblyNameSkinsPlus] != null;
    public static bool RandomMod => Assemblies[AssemblyNameRandom] != null;
    public static bool RandomOldMod => Assemblies[AssemblyNameRandomOld] != null;

    private static readonly Dictionary<string, Assembly> Assemblies = new Dictionary<string, Assembly>()
    {{AssemblyNameGun,null},{AssemblyNameSkins,null},{AssemblyNameSkinsPlus,null},{AssemblyNameRandom,null},{AssemblyNameRandomOld,null},{AssemblyNameMain,null},{AssemblyNameFyre,null}};```
#

And then I guess frog uses this line to load a certain class? CacheType WeaponSwapAndStatHandlerClassCacheType = GetCacheType("HollowPoint.WeaponSwapAndStatHandler", AssemblyNameGun);

keen thistle
#

hey so i was wanting to create my own mod for the first time, and i tried looks at https://hk-modding.github.io/api/ and can't make sense of it, is there guild to starting to mod hollow knight?

primal latch
keen thistle
#

tx

primal latch
#

Why is the article about charms (shop) so complicated? It can be way simpler if you use another hook.

#

This is all the code Fyremoth uses. I know it’s not the same, but it doesn’t use refelections```cs

    public static void InvItemDisplay_Awake(On.InvItemDisplay.orig_Awake orig, InvItemDisplay self)
    {
        switch (self.playerDataBool)
        {
            case "hasCyclone":
                self.activeSprite = Assets.iconsAtlas.GetSprite("cyclone_slash");
                break;
            case "hasDashSlash":
                self.activeSprite = Assets.iconsAtlas.GetSprite("dash_slash");
                break;
            case "hasUpwardSlash":
                self.activeSprite = Assets.iconsAtlas.GetSprite("great_slash");
                break;
        }
        orig(self);
    }```
small carbon
#

Could i please have a code example of preloading an enemy and spawning it with a hook? I've spent a little while trying to get it to work but it has defeated me.

primal latch
#

Just preload an enemy and instantiate it when you want to spawn it

small carbon
#

it doesn't show up.

#

idk why

primal latch
#

did you spawn it in the correct location?

small carbon
#

im basing the location off of another enemy.

primal latch
#

Kinda. I stripped out the namespace and class definition here.

cedar hemlock
#

stripped out almost anything cus otherwise you're leaking stuff

primal latch
#

^

jolly jungle
#

That's to change the Slashe icons to the new red-orange sprites right?

primal latch
#

oh. Wrong code. Meant to send the code that replaces charm sprites in shops

jolly jungle
#

is it the same idea though?

primal latch
#

@jolly jungle kinda

#
       public static void OnShopMenuPatchStock(On.ShopMenuStock.orig_SpawnStock orig, ShopMenuStock self)
        {
            for (int i = 0; i < self.stock.Length; i++)
            {
                GameObject obj = self.stock[i];
                if (obj.name.Contains("Shop Item Ch"))
                {
                    string name = obj.name.Remove(0, 13);
                    //Modding.Logger.Log(name);
                    if(name == "SprintMaster")
                    {
                        self.stock = self.stock.Where(val => val.name.Remove(0, 13) != "SprintMaster").ToArray();
                    }
                    else if(Dictionaries.ShopCharmSprites.ContainsKey(name))
                    {
                        self.stock[i].transform.Find("Item Sprite").gameObject.GetComponent<SpriteRenderer>().sprite = Assets.charmsAtlas.GetSprite(Dictionaries.ShopCharmSprites[name]);
                    }
                }
            }
            orig(self);
        }```
#

This contains some code that is not applicable but it’s beter then the way the docs do it. The redundant code is for something else

jolly jungle
#
if(name == "SprintMaster")
{
    self.stock = self.stock.Where(val => val.name.Remove(0, 13) != "SprintMaster").ToArray();
}```
#

lmao

primal latch
#

Yeah

jolly jungle
#

is this what removes it from stock?

primal latch
#

Also, csharp public static void OnCharmDisplayStart(On.CharmDisplay.orig_Start orig, CharmDisplay self) { self.whiteCharm = Assets.charmsAtlas.GetSprite("Charm_36_Full"); self.blackCharm = Assets.charmsAtlas.GetSprite("Charm_36_Black"); orig(self); } without this their sprites don’t change in the inventory

primal latch
primal latch
#

??

jolly jungle
#

Cuz voidheart has that extra problem that customknight doesnt change it in the equipped list

#

I assume you're changing it there too?

primal latch
#

That is this piece of code

#

I think

#

I know for a fact we change it

jolly jungle
#

Nice

jolly jungle
#

not now

primal latch
jolly jungle
#

later = soon™️-type later

jolly jungle
primal latch
#

I wish I could help.

#

I don’t yet fully understand reflections

shrewd kestrel
#

hello

#

i need Debug mod

#

where i can find it

cedar hemlock
jolly jungle
#

I don't know how they work though

jolly jungle
#

Ah, cool

#

There you have it, Bishop

rough pulsar
#

i think i'll just reference other mods with dependency in a try-catch so it doesn't need those mods to be installed

cedar hemlock
#

ck2 mastersmirk

cedar hemlock
#

if you add it as a reference it just fails to load

rough pulsar
#

huh?

#

i think it's still worth a try

#

i did something similar with the discord library

cedar hemlock
#

i already tried, but you can ye

#

when i added debug as a reference

#

and put all the code for interaction in a try catch

#

it just failed to load before init was even called

rough pulsar
#

you didn't use using Debug; or something at the start, right?

cedar hemlock
#

nope

rough pulsar
#

mmmm

#

damn

cedar hemlock
#

i mean, you can try cus now i'm just scared i did something wrong and am giving wrong info lol

floral blade
#

you can't reference the type in the same function as the check that determines if the optional dependency is available

ornate rivet
floral blade
#

for example you could check if the dll of a mod is available in files in method a and call method b conditionally that references a type from that dll <= this would work

#

but if u did both in the same method it would break

ornate rivet
#

Silksong is being saved!

nimble lake
#

“in progress”

#

aka
“soon”

ornate rivet
#

well the project looks pretty active currently

#

hopefully me learning about it won't curse it

rough pulsar
#

yeah don't jinx it

ornate rivet
#

apparently they're releasing cross-platform console support next
switch mods when

fair rampart
#

anyone knows how do i change the values of attack speed, movement speed, dash cooldown etc?

ornate rivet
#

HeroController.instance

jolly oriole
ornate rivet
#

asset ripper

jolly oriole
#

you'd still need to somehow get the mapi into consoles then

ornate rivet
#

true

fair rampart
#

where is the mod log?

nimble lake
#

then F11 ingame

fair rampart
#

Error: System.NullReferenceException: Object reference not set to an instance of an object

#

I applied reference to the files

cedar hemlock
#

go to saves

#

?saves

finite forumBOT
#

Saves


Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)

Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\```
** **
Mac File Paths:
```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/
Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/```
** **
Linux File Paths:
```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/
Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
cedar hemlock
#

and find modlog.txt

fair rampart
#

ye

#

thats the error inside the modlog

#
[ERROR]:[API] -   at HKTestMod.Class1.Initialize () [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at Modding.Mod.Initialize (System.Collections.Generic.Dictionary`2 preloadedObjects) [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at Modding.ModLoader.LoadMod (IMod mod, Boolean updateModText, Boolean changeSettings, System.Collections.Generic.Dictionary`2 preloadedObjects) [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at Modding.ModLoader+<LoadMods>d__9.MoveNext () [0x00000] in <filename unknown>:0 ```
cedar hemlock
#

do a modhook in initialize

#

and put your code in the thing that gets hooked

#

not directly in init

jolly jungle
#

how do I access something inside one of these?

fair rampart
#

ModHooks.Instance.SetPlayerBoolHook += TestingHook

so when i have a function named

public void TestingHook(){

}

it will run every time a boolean is changed?

jolly jungle
#

I think so, yes

#

I don't know the list of what triggers it, but probably all player-related things

fair rampart
#

AttackDirection should exist, idk what happened here

jolly jungle
#

was OnAttack autogenerated

eternal crown
#

Question

Which class(es) describe knight getting fireball spell?

jolly jungle
#

Wdym

jolly jungle
cedar hemlock
jolly jungle
#

I dunno what version it is though

eternal crown
#

Where in source code can i find methods, events etc that run when the knight gets spell from snail shaman

jolly jungle
#

cuz 1.5 doesnt have/need a modcommon

fair rampart
jolly jungle
#

I dunno maybe 1.4 doesnt need it either

cedar hemlock
jolly jungle
#

Wait do you need modcommon for hooking

#

that doesnt make sense

#

hm

cedar hemlock
#

no?

#

i've never refed modcommon lol

jolly jungle
#

huh

#

really

#

remind me what kinds of things youve done

cedar hemlock
#

updated Howwowknyight (?)

#

idk if that counts

jolly jungle
#

Sure

#

I just meant like, what did you do that didn't require it

#

cuz I need it all the time wai

cedar hemlock
#

change sprites, player data, text

#

about it

jolly jungle
cedar hemlock
#

where did you get them

fair rampart
#

I've managed to get it to work, but ingame it does not change anything.

jolly jungle
#

get what

#

the sharedassests?

cedar hemlock
#

yes

jolly jungle
#

It's in hollow_knight_Data

#

Scroll down enough

#

Starts at around a third of the way down

cedar hemlock
jolly jungle
#

So far I've been just looking at fsms of things that are in them with avalonia

#

but I wanna do stuff directly to those in there

cedar hemlock
#

utiny ripper maybe?

jolly jungle
#

hm

#

I want through code though

cedar hemlock
#

¯_(ツ)_/¯

cedar hemlock
fair rampart
#

alright, the attack logs, the values do change to zero, but nothing changes ingame
the cooldown is still like in vanilla

cedar hemlock
#

try to log the values again on for example save, and see if they actually got changed

fair rampart
#

alright

#

I've got it to work, the issue was that 0 is not an acceptable value

cedar hemlock
#

ah yes would have been my next suggestion lol

fair rampart
#

I tried 1

#

it attacked 1 time every second

#

but no, when its 0.1f it still doesn't work
only worked when it was a full number

cedar hemlock
#

weird

fair rampart
#

yep from what i see, the game has a minimum cooldown of attack, that cannot be set below it

#

what a dissapointment, to learn how to code hollow knight mods just for this, and this doesn't work

cedar hemlock
#

theres always a workaround

fair rampart
#

might be

cedar hemlock
#

not that i can even hope to find it lol

jolly oriole
#

what do you wanna do?

fair rampart
#

0.41 is the minimum attack speed can have, if i set it below it will not change the speed, modders, do you know any way to work around that?

jolly oriole
#

turnaround cancels animation if it isn't done when turning around after attack-duration is done afaik

#

i know TASes do that to truly get QS at max DPS

fair rampart
#

is it possible to have 2 attack animations at once?

jolly jungle
#

Of course, I have no idea where to start

#

But I hope someone else might

jolly jungle
copper nacelle
#

change the attack duration

jolly oriole
copper nacelle
#

0.1 duration and 0.05 cooldown is what an older mod used

fair rampart
#

thanks

jolly jungle
#

cool, thanks shroompog

jolly oriole
#

ah yea, maybe you didn't know that attack duration and attack cooldown were seperate things

jolly jungle
#

Oh btw @eternal crown what you're looking for is probably in some fsm

eternal crown
#

How can i freeze character movement on entering new scene? Like, after teleporting to godhome but also lying on the ground. Simply putting IgnoreInput() or something doesn't work and knight performs speedrunner's sleepy walk

jolly jungle
#

check the interaction with the shaman

#

for the fireball thing from earlier

cedar hemlock
jolly jungle
#

looks like it

fair rampart
#

what does attack recovery time stand for

#

?

jolly jungle
#

wdym

jolly oriole
#

in which context

fair rampart
#

I've observed that enemies have a cooldown of how much time you can hit them

#

per second you can hit 3 or 4 times

#

I wanna override that to allow a lot of attacks

jolly jungle
#

Uh is there a reason the scene Fungus1_04_Boss contains hornet? Is Fungus1 Greenpath?

cedar hemlock
#

ye

#

i believe

jolly jungle
#

There's also fungus 2 and 3

#

is 3 fog canyon?

#

based on this

cedar hemlock
#

queens garden

jolly jungle
#

Ah

cedar hemlock
#

so there are 2 of the same, beware

jolly jungle
#

Yeah I know

#

There's a lot of those for bosses

#

If there's something in both scenes it doesn't matter where I take it from

fair rampart
#

Im tying to make the player be able to do 20 attacks per second, but the enemies have a cooldown themselfes, you can only hit enemies 3-4 times a second, while i can attack 20 times per second, the enemies still only take 3-4 attacks everysecond instead of 20.

jolly jungle
#

so reduce the enemies' iframes

fair rampart
#

how do i do that?
is there a EnemyController?

jolly jungle
#

Probably?

#

I personally never messed with this

#

But a lot others have, so I guess we can just wait for one of them to come along

cedar hemlock
#

i believe the docs have something to say

jolly jungle
#

Or you can search in this chat, I'm sure someone sent something about it

fair rampart
#

Im looking athttps://radiance.host/apidocs

jolly jungle
#

and, yes, the docs are always a good place to check

jolly oriole
fair rampart
#

how can i change that value?

jolly oriole
#

it's a value i think on the healthmanager

#

not sure though

fair rampart
#

imma check

jolly jungle
jolly oriole
fair rampart
#

thanks, im now workin on it

fair rampart
#

what reference am i missing, i referenced everything in the get started page

cedar hemlock
#

does vs reccomend something?

#

(the lightbulb)

copper nacelle
#

unityengine physics 2d

#

and core

jolly jungle
#

Anyone knows what happened to the Traitor God github?

#

github gave me a 404 when I tried going into any of the project's pages

fair rampart
#

i missed 2 references

#

its working now

#

UnityEngine.CoreMoudle

#

UE.Physics2DMoudle

jolly jungle
#

nice hollowknice

jolly jungle
#

Ah, well

#

Guess I'll have to

jolly oriole
#

but decomp sucks with some things

jolly jungle
#

I'm looking at GG_Mantis_Lords rn

#

There are two objects called Cave Spikes Invis

#

And a lot of objects called gg_mantis_spikes

#

The "mantis spikes" all seem to be bundled up, with close x and y values, and a couple of different (also close) z values that seem to repeat themselves

#

the "cave spikes" have a damaging component, but like their name states, appear to be invisible

#

Is it safe to assume the "cave spikes" are the hitbox (here and on the other side) and the "mantis spikes" are the tons of spike sprites?

light zodiac
#

You could find the gameobject and move them and see what is moved

fair rampart
#

Is there a class for enemies?

#

like

Enemy en = ...;

light zodiac
#

What do you want to do?

jolly jungle
#

I use healthmanager to recognise enemies

fair rampart
#

Im trying to find if A Collider2D is an enemy

jolly jungle
#

what for though

#

You might have other ways to detect whatever you want

#

for example, as I was shown yesterday, if you want to know when an enemy was dreamnailed, you can hook EnemyDreamnailReaction.RecieveDreamImpact

#

So if you're doing this cuz youre checking if an enemy was attacked or something, there's probably some hook for it

fair rampart
#

enemies have a cooldown of how many hits you can do per second

#

Im trying to change the cooldown

#

what i tried to achieve using OnSlashHit
is to detect if the Collider2D is instance of an enemy, so thats why i asked is there an enemy class

rough pulsar
#

this tutorial should work right

cedar hemlock
#

yes

rough pulsar
#

awesome

jolly jungle
#

babyhornet <( Hm yes, the ceiling is working correctly)

cedar hemlock
#

yes

rough pulsar
#

btw can i just rip assets from the game with anything other than utiny ripper? it lags my computer to the extreme

ornate rivet
#

asset studio

fair rampart
#

what does the funcion setdamageoverride stand for in HealthManager

ornate rivet
#

utiny is for getting a unity project not just ripping an asset

rough pulsar
#

oh yeah yeah

#

right

#

i was just looking at apidocs tutorial for modifying scenes and making new ones as well

#

now i'm gonna kill my pc with utiny ripper doing its own shit vesselsip

#

aka wait

ornate rivet
rough pulsar
#

if i stop talking at any point it's probably because my pc starts to lag

rough pulsar
ornate rivet
#

ah I see

rough pulsar
primal latch
#

@rough pulsar it takes time, but it will give you an explorable project. Also, it doesn’t work for 1.5 but the scene seems unchanged as far as I can tell.

fair rampart
#

how do i give a player a double jump mid air?

cedar hemlock
#

look at decomaster code

#

lemme see if i can find it

fair rampart
#

thanks!

light zodiac
#

The game uses doubleJumped or something like that

#

Maybe you should use those

fair rampart
#

I found the solution

cedar hemlock
#

nice

fair rampart
#


private bool True(On.HeroController.orig_CanDoubleJump orig, HeroController self)
        {
            return true;
        }


#
On.HeroController.CanDash += True;


private bool True(On.HeroController.orig_CanDash orig, HeroController self)
        {
            return true;
        }```
light zodiac
#

or you could make doubleJumped = false

fair rampart
#

the question is,

#

is there a hook when a double jump happenes?

primal latch
#

You can hook into a variable in the playerdata class getting set.

rough pulsar
#

dude ive been doing this for one hour

worn eagle
#

I'm this

rough pulsar
#

there is no progress since UnityEngine.VideoModule

#

@primal latch

#

utiny ripper is literally stuck

fair rampart
#

how do i detect if a player has double jumped or not?

jolly oriole
rough pulsar
#

so

#

what do i do now,

light zodiac
primal latch
#

@rough pulsar are you using 1.4?

rough pulsar
#

yea

primal latch
#

Also, it took me like a day

rough pulsar
#

oh

#

so

#

should i be on 1.4?

primal latch
#

@rough pulsar If you want I can send it to you tomorrow

primal latch
rough pulsar
#

cool

#

i would appreciate it

primal latch
primal latch
rough pulsar
#

mine is pentium i think

#

uh

#

2.93 ghz

#

what about urs

primal latch
#

2.5ghz? I think. 4gb ram

#

Intel HD 520

rough pulsar
#

mine should finish faster then

primal latch
#

@rough pulsar 1.5 isn’t supported since utinyripper doesn’t support unity 2020

rough pulsar
#

ok, im on 1.4, thanks for the heads up

light zodiac
#

What assets are you trying to get?

rough pulsar
#

actually im just trying to modify scenes

#

like, e.g. adding gateways to my new scenes

primal latch
#

You don’t need to rip the game for that.

primal latch
rough pulsar
#

it still would help if i am going to use assets and gameobjects from the game files?