#archived-modding-development

1 messages ยท Page 98 of 1

rain cedar
#

Soooooo don't do that

leaden hedge
#

use MonoMod Hooks to add a hook to DamageEnemies.DoDamage(GameObject)

#

override the DamageDealt part of the HitInstance

copper nacelle
#

isn't there a hitinstance mod hook

rain cedar
#

Yeah

leaden hedge
#

OnHitInstanceBeforeHit

#

wow nice

flat forum
#

This got very confusing, because of Hell Mod...

public void OnAttack(AttackDirection dir)
        {

            if (PlayerData.instance.equippedCharm_6)
            {
                NailUpgrades = PlayerData.instance.nailSmithUpgrades

            PlayerData.instance.nailDamage = (5 + 4 * NailUpgrades) + 5 * (PlayerData.instance.maxHealth - PlayerData.instance.health)
            }
        }
        private void OnAfterAttack(AttackDirection dir)
        {
            PlayerData.instance.nailDamage = 5 + 4 * NailUpgrades
        }

if Hell Mod isn't there this should function normally, right?

leaden hedge
#

I literally gave you code that was 99% of the way there

#

probably 100% of the way there

flat forum
#

sorry

leaden hedge
#

and no

#

that won't work

#

nailDamage isn't read often

#

you have to either manually update the damage like I showed you

#

or call an Fsm Event

#
PlayMakerFSM.BroadcastEvent("UPDATE NAIL DAMAGE");
#

has to be called if you want to update nail damage without manually setting it on the component

flat forum
#

mhm

compact sedge
#

Hey can I request to submit another mod to the mods list on the google drive?

leaden hedge
#

also I just realized it shouldn't matter if something tries to update between the hero getting hit

#

because it should use GetInt("nailDamage")

#

i hope ๐Ÿ˜ 

compact sedge
#

I guess I should try being more direct.

I'd like to request to submit another mod to the mods list on google drive.

It's a mod called Grimmchild Upgrades and it's a mod that lets you buff, or otherwise change grimmchild almost any way you see fit. It doesn't impact save files (anymore). It's designed to work with Infinite Grimm so you can have a sense of progression for that mod. But it works perfectly fine without any other mods besides modcommon.

I'm still bugtesting it but I reckon it's tested enough to submit in about 30 minutes.

flat forum
#

can I try it?

#

maybe I'll find something?

compact sedge
#

yes that would be very helpful thank you

flat forum
#

=)

compact sedge
#

there is one bug I want to fix related to notch display but if you find anymore let me know

flat forum
#

Ok

#

Both InfiniteGrimm and GrimmChild need API Modcommon, right?

compact sedge
#

yes

#

this one optionally needs infinite grimm

flat forum
#

what versions

#

it says they failed to run

compact sedge
#

pics?

flat forum
#

API os 1.3.1.5-41

compact sedge
#

ohno

rain cedar
#

Why do you have json in your mods folder?

flat forum
#

I have no idea how it ended up there

compact sedge
#

.Json.dll ๐Ÿค”

flat forum
#

or why I haven't deleted it yet

#

I must have mistakenly moved it with something else

compact sedge
#

send me your modlog btw

#

I wanna see why mine failed to load

flat forum
#

I forgot where the ModLog was...

compact sedge
#

where your save files are

flat forum
#

Ah, yeah

#

Ok

#

gimme a minute

compact sedge
#

is there a hook for the player opening the inventory?

leaden hedge
#

no thats fsm

compact sedge
#

ok

leaden hedge
#

you could check on update if the inventory button is being pressed

rain cedar
#

There's a function CanOpenInventory or something

#

Chances are if that's called it's because the player is trying to open it

#

Monomod hook it

#

And check if it's true

compact sedge
#

well my problem is that fsm is running some code that overrides the amount of notches I have set as accessable.

#

might need to just take that out or change what it calls

leaden hedge
#

quickmap checks that too

compact sedge
#

oh nvm I have a better idea

#

just hook on GetInt("charmSlotsFilled")

flat forum
#

Ok, here's the ModLog

compact sedge
#

you can put it on pastebin or something if you're having trouble uploading it.

flat forum
#

Ok here

#

I was going to just paste the parts about the API, Modcommon and 2 mods

compact sedge
#

System.Reflection.ReflectionTypeLoadException

oof I dunn messed something up I think

#

and this really sucks because idk how reflection really works

rain cedar
#

Can you post your reflection code again?

#

I'll take a look at it

flat forum
#

?

rain cedar
#

Not you

flat forum
#

what are reflections?

#

why do they break?

rain cedar
#

System.Reflection

#

It's a namespace with a bunch of useful things in it for grabbing variables that might not exist or are private

compact sedge
#

hold up 1 sec

#

for infinite grimm

This is in Initialize grimmchildupgrades = (from assembly in AppDomain.CurrentDomain.GetAssemblies() from type in assembly.GetTypes() where type.Namespace == "GrimmchildUpgrades" select type).Any();

rain cedar
#

Oh that's just the code I had for modcommon

compact sedge
#

and the same line in GetVersion

bool gcup = (from assembly in AppDomain.CurrentDomain.GetAssemblies() from type in assembly.GetTypes() where type.Namespace == "GrimmchildUpgrades" select type).Any();

#

yeah

rain cedar
#

Should be fine, I'd think

compact sedge
#

so that's for infinite grimm

#

for the other one I also have in a try catch thing:

if ((int)Type.GetType("infinitegrimm.InfiniteGlobalVars, infinitegrimm").GetField("versionInt").GetValue(null) >= 300)

rain cedar
#

Well if it's in a try/catch it shouldn't break anything

compact sedge
#

ok well it works on my machine so I'm confused

#

can you send me the dlls you are using

rain cedar
#

It loaded for me too

compact sedge
#

every combination of those two mods loads for me so I'm confused

#

oh uh seanpr you may notice when you press i it shows the wrong number of notches available

#

I fixed that but it's probably still broken on yours

rain cedar
#

Wtf you still have inventory on default?

#

I is such a garbage button

compact sedge
#

I use a controller

rain cedar
#

Well it showed 3 notches when I equipped it

#

That seems right

#

Since 2 is normal

compact sedge
#

now exit the bench and press i

#

or whatever button

#

it should only show two

#

unless you somehow hacked my computer and took the latest version off of it

rain cedar
#

Ah yeah I see

compact sedge
#

but if you find any different bugs to that bug let me know

rain cedar
#

Are the upgrades less damage required on hard?

compact sedge
#

no sorry

rain cedar
#

Brutal

compact sedge
#

I don't track if scores were gotten on hardmode or regular

rain cedar
#

What's the damage required for max grimmchild?

#

Well I'm at 6 notches so I guess whatever the number is I hit it

#

I found a pretty abusable bug

#

Although it might not be possible in the unreleased version

#

Since it's to do with the notches

compact sedge
#

ok

#

is it upgrading grimmchild doesn't cause overcharming

rain cedar
#

Nah

compact sedge
#

because if so that's fixed but for somereason the graphics doesn't display properly

rain cedar
#

Open/close inventory on bench to lower notches used

#

So you can get a super overcharm

compact sedge
#

yes that should be fixed

rain cedar
#

Cool

#

Because I'm at 18 notches used

compact sedge
#

also 6 is the max notches it will use by default but you probably aren't at max level

#

levels 4, 5, and 6 all use 6 notches but level 6 is stronger

rain cedar
#

Oh ok

#

What's the damage?

compact sedge
#

since I want grimmchild to get more OP as a reward for doing well in it

#

the max damage is 35 which is so chosen to be exactly enough to one shot primal aspids

#

the max attack speed is 2.5x normal which is around once every 2/3s of a second

rain cedar
#

I meant damage required on grimm

#

To get max

compact sedge
#

oh 15k

#

sorry

rain cedar
#

Oh yeah I only hit 9k-ish

compact sedge
#

that's level 4. level 5 is 10k to 15k

rain cedar
#

Dang

#

Takes a lot to go from 5-6

compact sedge
#

well levels 4 5 and 6 are all very far apart because of what I said earlier about notch cost not going up

rain cedar
#

Yeah makes sense

compact sedge
#

level 4 is designed as the last level that players should be able to reach with some but not a lot of practice

#

and the reason for that is it's the first level that gives you ghost balls

#

it will fire through walls at enemies and the balls themselves go through walls

#

this is mildly buggy in a few rare areas because TC placed enemies out of bounds in stupid places

rain cedar
#

Cool

compact sedge
#

but my code itself works fine

#

oh and that DLL should fix the inventory bug you had

#

I forgot if I mentioned that

rain cedar
#

Yeah you did

compact sedge
#

there is still a graphical bug with it but I can't easily fix it unless ModHooks.Instance.CharmUpdateHook happened earlier than it actually does.

rain cedar
#

Isn't later desirable over earlier?

#

So you can undo changes the game does if you have to

compact sedge
#

well here's the thing. I need it to be later to actually apply the proper overcharm status. I need it to be earlier so the menu gets updated on the proper overcharm status.

rain cedar
#

Gotcha

#

Monomod hooks tbh

compact sedge
#

tbh I haven't looked into monomod yet

rain cedar
#

It's really simple

#

You'd just have something like this

public override void Initialize()
{
    ModHooks.Instance.CharmUpdateHook += After;
    On.HeroController.CharmUpdate += Before;
}

public void Before(Idk args)
{
    //Code
    orig(self);
}

public void After()
{
    //Code
}```
compact sedge
#

I'll look into it for version 0.2.0.

As of now the only problem is you get minor inventory graphical glitches when you overcharm yourself so it's not a huge priority to fix.

rain cedar
#

Yeah no big deal

compact sedge
#

Alright well I'm about to go to sleep so I guess I'll leave the zip here. Please reject it and ping me if you find anything gamebreaking or even mildly large and I'll check out any issues tomorrow. Also anyone else that wants to test it and report bugs I would be super happy. There's definitely a lot to test and a lot that could potentially go wrong but I also know a lot more about C# so hopefully that isn't a problem.

Edit: Obsolete see below

#

like my other mod it requires ModCommon btw

rain cedar
#

Neato

compact sedge
#

oh I did find a very small bug I'd like to fix first (I lied about going to sleep right away) I found it on the 6 flame save and it happens because I forgot to make absolutely everything require killing nkg first

warped sinew
#

Is it possible to make a charm lvl/upgrade system?

#

Notch cost, effect, combos, etc?

#

That would be cool

young walrus
#

it is if explosion pogo, inventory dropping, and the VS pickup change can be reverted.
hollowdab

flat forum
#

How do you level it up?

rain cedar
#

The mod posted right before you asked is actually that

flat forum
#

Oh

compact sedge
#

Hey Graig , that's sorta what I'm trying to do, except it levels up automatically based on how well you do in another mod.

#

oh shoot sorry didn't mean to ping

warped sinew
#

Sounds cool

atomic bane
#

Hello, where can i get the bonfire mod?

exotic venture
#

it's currently busted for current patch

solemn rivet
#

is it?

#

well, I think it is for the beta

#

but it should work for 1.3.1.5 iirc

exotic venture
#

was it updated for that?

solemn rivet
#

I think I did update it, yeah

#

but now I'm not sure anymore

#

Mystery is making me second guess myself

exotic venture
#

if you're not sure of it how can anyone be sure of it NotLikeGrov

solemn rivet
#

I was pretty sure until you said it wasn't

#

just checking it

atomic bane
#

What other interesting mods ate there?

solemn rivet
#

raziel, you can get bonfire and the other mods in the gdrive in the pins

atomic bane
#

Theres not much information anywhere

solemn rivet
#

the readmes

exotic venture
#

the google drive has all the mods with readmes you'd ever need

#

anything else is scattered around the channel

atomic bane
#

Oh ok. Guess i didnt explore enough

solemn rivet
#

just checked, bonfire should work on 1.3.1.5

#

dunno about beta

exotic venture
#

current version is 1.3.2.8 or something like that

#

so i guess some parts are probably busted

solemn rivet
#

oh

#

is it out of beta already?

#

sigh

exotic venture
#

it is out of beta, but public beta is still being updated

solemn rivet
#

I see

#

I haven't been playing much lately

exotic venture
#

1.3.1.5 is current patch

solemn rivet
#

oh

exotic venture
#

1.3.2.8 is beta patch

solemn rivet
#

oh, then that's fine

atomic bane
#

Any idea if the grimm child mod is compatible with other mods?

solemn rivet
#

I can try and see if it works on beta but :effort:

exotic venture
#

probably not worth

#

since it gets updated frequently

solemn rivet
#

should be compatible with all of them, Raziel

#

I mean

#

all API mods

atomic bane
#

Nice info on api mods. Thanks

solemn rivet
#

np!

#

all api mods should be at least partially compatible with eachother

#

but boss rush is curr broken

steep sail
#

๐Ÿค” thinkgrub

#

I use Modding API+EnemyHPBar

inland valley
#

anybody know of an in-game enable/disable version of HK-invulnerability for 1.2.2.1?

steep sail
#

And I see in menu 1.3.1.5 for version

solemn rivet
#

sweet jp - debug mod

#

mapmaker lich - what do you mean?

fringe schooner
#

@copper nacelle you know that hollowtext thing u made

#

it doesnt work for me

exotic venture
#

what do you mean it doesn't work for you

#

have you installed and unpacked the zip

fringe schooner
#

yes i installed it and all

#

but when i do the thing it just gives me a pic that uses 0 kb and has nothing on it

compact sedge
#

does it ask you for a file name to save the picture as

#

you need to save it as a png

fringe schooner
#

oh

#

i tried jpeg

#

ok

compact sedge
#

and also you need to with your text, not have any special characters I think because the exe is broken

#

the python script fixes it but that requires running python

fringe schooner
compact sedge
#

So I have a question about monomod. I have a known public function that I want to run my own code directly after, but before anything else. but which doesn't have an existing hook. How do I add my own hook to this function?

copper nacelle
#

what

#

you want to run your code right after the function

#

just hook it

#

and call orig

rain cedar
#

Runtime detour hooks hook everything

copper nacelle
#

then your code

compact sedge
#

there's no hook in the ModHooks thing

#

and I'm not quite sure how to add my own hook

rain cedar
#

On.namespace.class.function += hookfunc

copper nacelle
#

^

solemn rivet
#

^^

compact sedge
#

will that run right after or right before

copper nacelle
#

either

#

whatever you want

#

you entirely stop the old function from running

rain cedar
#

You get an argument which is a delegate for the old function

#

Choose to call it whenever

copper nacelle
#

and you have to call it

#

orig(args)

compact sedge
#

wait really it just overrides the old function?

rain cedar
#

Yes

copper nacelle
#

yes

compact sedge
#

dank just what I needed time to fix some code in the original game

solemn rivet
#
private void NailSlash_StartSlash(On.NailSlash.orig_StartSlash orig, NailSlash self)
{
    self.GetComponent<tk2dSpriteAnimator>().Sprite.color = Color.black;
    orig(self);
}```
#

example

rain cedar
#

Another

private bool HeroController_CanJump(On.HeroController.orig_CanJump orig, HeroController self)
{
    bool dashing = HeroController.instance.cState.dashing;
    HeroController.instance.cState.dashing = false;
    bool canJump = orig(self);
    HeroController.instance.cState.dashing = dashing;
    return canJump;
}```
#

Essentially removes the dashing check from CanJump

compact sedge
#

oh that's where you put the on x thing

rain cedar
#

Well kinda

#

You need to hook it in initialize too

#
On.HeroController.CanJump += HeroController_CanJump;```
#

I just do that part then tab complete to get the arguments

compact sedge
#

really that's all there is to it

solemn rivet
#

On.NailSlash.StartSlash += NailSlash_StartSlash;

#

yeah

#

you need to reference the dll tho

compact sedge
#

does this apply to any game with monomod?

solemn rivet
#

and add it to the mods folder

#

but that's it

#

well, you have to compile a specific dll

#

which creates the delegate for every method

compact sedge
#

how much work is it anyway making the modding api

solemn rivet
#

56 has done this for HK

compact sedge
#

cuz ur making it sound like a lot less work than I would have thought

solemn rivet
#

it kinda is

#

the modding API's hooks are still useful tho

#

specifically when you need to hook "in the middle" of a method

#

neither before nor after

compact sedge
#

what does that mean

#

like they run async or something?

rain cedar
#

Nah it's synchronous

copper nacelle
#

like

solemn rivet
#

lemme pick an example rq

copper nacelle
#

// part of code

#

ur stuff

#

// rest of code

compact sedge
#

ok

#

so the part in the middle you all chose to make the most sense for mod development

copper nacelle
#

yeah

solemn rivet
#

like, here: cs bool flag6 = this.inputHandler.inputActions.dash.WasPressed && !ModHooks.Instance.OnDashPressed(); if (flag6) { bool flag7 = this.CanDash(); if (flag7) { this.HeroDash(); } else { this.dashQueueSteps = 0; this.dashQueuing = true; } }

compact sedge
#

what namespace is "On" in

solemn rivet
#

this is literally on line 51 of the HeroController.LookForQueueInput() method

#

eh

#

did you add the hooks.dll?

compact sedge
#

ohh wait are people gonna need that to run my program

copper nacelle
#

yes

#

like modcommon

compact sedge
#

that's a lot of deps for a small mod

solemn rivet
#

just ship them with the mod

#

shhh

#

or add them as dependencies on the modlinks.xml

#

and the installers will auto-dl them

copper nacelle
#

the second one

solemn rivet
#

the first one is for mems

#

we were discussing possibly merging the api and the hooks

compact sedge
#

can I statically link hooks or is it not a foss license

solemn rivet
#

but then it was argued that maintenance would be a bitch

copper nacelle
#

what

#

when did the second part happen

rain cedar
#

The issue is it doesn't let you compile against .net 3.5

solemn rivet
#

eh

rain cedar
#

Idk what gradow is talking about

solemn rivet
#

well

compact sedge
#

wait what .net is hooks built for

solemn rivet
#

I can search, but I'm not sure I'm gonna find it

compact sedge
#

I've been doing everything in .net 3.5

rain cedar
#

That's fine

copper nacelle
#

3.5 was working for me with the hooks dll

#

idk

rain cedar
#

You can use 3.5, just not if it's merged with the main assembly

compact sedge
#

I'm gonna statically link it unless anyone here explicitly tells me I can't and just see if that works

solemn rivet
#

someone said something about merging the two, but then someone else mentioned that having one big dll would be a pain to maintain

#

and I think that was that

rain cedar
#

It's like one line in the post compile actions

#

It doesn't make anything harder to maintain

compact sedge
#

I can't find an open source license so sue me I guess (no but really pls don't, please just send a C&D and I'll stop statically linking hooks)

copper nacelle
#

why tho

#

just add it as a dependency

compact sedge
#

ok but like crossroads already looks broken with 2 deps

#

and then I add a third one

solemn rivet
compact sedge
#

really tho y'all should merge it

solemn rivet
#

may 6th

compact sedge
#

may 6th, before I touch a single line of code

copper nacelle
#

๐Ÿ”ซ

exotic venture
#

you dug too deep and died too soon

compact sedge
#

touche

exotic venture
#

enjoy

compact sedge
#

I could just add
fixCharmBug()

to Update()

#

because running getInt and getBool every frame 40 times probably won't hurt perf too much

#

don't screenshot this hack btw

rain cedar
#

Yes

copper nacelle
#

and merging it w/ all the annoying mono dlls

#

but yeah

compact sedge
#

oh then I'm definitely not allowed to statically link it and y'all are probably not allowed to put it in your git repo for the modding api.

#

but you could add it to the things built when building the modding api

copper nacelle
#

that's what i do

compact sedge
#

so instead of combining both DLLs into one. why not just have it build both separately and put both dlls in the zip fiile?

#

then you don't get the problem that you screenshotted of mine

copper nacelle
#

what problem

compact sedge
#

and it effectively becomes one mod

#

for most people

copper nacelle
#

but what

compact sedge
#

merge them into the same zip file instead of into the same dll

copper nacelle
#

it just merges them after making the hooks

compact sedge
#

that's my opinion

hazy sentinel
#

do i smell compact mode

compact sedge
#

not my screenshot

#

but yes I do use compact mode

copper nacelle
#

but you use compact

hollow pier
#

respect 0

compact sedge
#

well at least I'm not verulean.

hollow pier
#

respect -0

compact sedge
#

why is my modhooks 5MB but the one in the drive only 1MB?

#

What else did you do 56?

copper nacelle
#

uhh

#

idk

compact sedge
copper nacelle
#

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

compact sedge
#

what version of HK did you use, what version of monomod

copper nacelle
#

cause mine's better

#

mine also has playmaker and the mono stuff merged

compact sedge
#

ok, well if this is an unreproducable build I'm not linking my mod against it.

solemn rivet
#

kek

copper nacelle
solemn rivet
#

reproduce

compact sedge
#

did you use ilmerge for that?

copper nacelle
#

no

solemn rivet
#

there was some conflict iirc

#

some hooks poof vanished

compact sedge
#

did you build the hooks dll by hand or do you have a script for it?

copper nacelle
#

il-repack

#

just use the one in the drive wtf

compact sedge
#

no because I'm stubborn

#

tomato tomatoe

compact sedge
#

so to be clear you just merged Assembly-CSharp, PlayMaker, and Mono.Security?

#

or is there anything else you merged

#

and did you use the patched or unpatched Assembly-CSharp?

copper nacelle
#

imo just check the pr

#

i merged a bunch of stuff

compact sedge
#

bruh you have a pr

#

dang

#

well here I was trying to recreate it from vague discord answers

compact sedge
#

you should use nuget for the monomod binaries but otherwise looks fine.

copper nacelle
#

monomod was already in that folder

#

i just replaced it w./ new binaries

compact sedge
#

well then whoever put it there should use nuget

copper nacelle
#

wait

#

wtf

compact sedge
#

dank got a 10MB Assembly file

#

I'm gonna try building it using your fork and see if that works better

copper nacelle
#

fork makes an api

#

you have to change it to make hooks

compact sedge
#

you think your fork is ever gonna get accepted

#

I know I kinda rallied against you 3 weeks ago

#

but I'm down to switch sides

copper nacelle
#

idk

#

aaa

#

it's missing a commit

#

which swaps to il-repack

compact sedge
#

I saw that

#

but both are open source so I figured you just wanted to use il-merge

#

even though it's slower

#

and worse

copper nacelle
#

did i just forget to push

#

oh i did

compact sedge
#

here I'll give your PR a thumbs up. hope that's enough support because that's all I can really do

copper nacelle
hollow pier
#

donate $100 for shitmodst 2

copper nacelle
#

make your own shitmodtsโ„ข 2

#

and avoid trademarks

hollow pier
#

schistmodst

copper nacelle
#

yes

#

this works too

#

or you could call it

#

I can't believe it's not shitmodst

hollow pier
#

i cant believe shitmodst is fucking dead

copper nacelle
compact sedge
#

oh geeze your one also built a giant assembly-csharp.dll @copper nacelle

#

9MB

#

probably the only size difference is you used il-repack instead of the crappier one

#

w/e I still wanna see it merged and it makes sense since you merge so much stuff together

#

also it works so I guess my plan now is to build my 0.2 version against the merged DLL and I'll just leave the 0.1.5 version as is with the one minor inventory bug since I still think it's good enough for general use.

copper nacelle
#

wtf

#

my assembly w/ hooks was like

#

4mb

#

3.11

#

1.3.1.5

#

i think that has the playmaker stuff but idk

#

i can remake it real fast

exotic venture
#

oh shit

#

watch out tc will barge in and DMCA the channel

copper nacelle
#

and now it's 9mb

#

wtf

#

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

#

maybe it was the playmaker stuff

compact sedge
#

I told you it was 9MB

copper nacelle
#

i have a hooks that's 6

#

idk

compact sedge
copper nacelle
#

yeah

fair rampart
#

Yep

#

That's how hooks work

#

It's fucking awesome

#

You can also do -=

#

Which removes the hook

copper nacelle
#

yeah

#

put that in ondestroy for monobehaviours

fair rampart
#

^

copper nacelle
#

and in deinit for itoggleablemod

#

otherwise you get 5 onscene hooks when you quit out a bunch

compact sedge
#

I delete it in OnDestroy

#

it should be deleted

fair rampart
#

That should work

#

As long as the += is in Start or Awake

copper nacelle
#

how's rainworld modding btw

fair rampart
#

Good!

#

I may be putting it down soon ๐Ÿ˜…

copper nacelle
#

oof

fair rampart
#

And not finishing all those projects I said I'd finish

#

I don't really think I can dedicate myself to any one community, especially now that partiality is going to start growing more and more

copper nacelle
#

makes sense

fair rampart
#

I'm going to keep finding games I like and want to mod, and leaving other ones

copper nacelle
#

mod hk when

fair rampart
#

Never, haha

#

You guys have got it under control

copper nacelle
fair rampart
#

I don't mod games to make mods for them

#

I mod them to show people it's possible

copper nacelle
#

o

compact sedge
#

but everything's possible

fair rampart
#

@compact sedge Some communities don't think so

copper nacelle
compact sedge
#

ugh I rebuilt modding api using 56's modding api and my controller stopped working in linux

#

I'm confused about this. my controller has never worked with any prebuilt modding api binaries but when I made my own it did work.

#

and now it's not working again

copper nacelle
#

did you swap out the vanilla folder

#

with your own stuff

compact sedge
#

omg ur right I forgot I needed to use the linux dlls in the vanilla folder

copper nacelle
#

big think

compact sedge
#

time to wait for steam to reverify

copper nacelle
#

you could just

#

use your modded assembly

#

and then merge manually

compact sedge
#

yeah I did do that before to check that your PR worked but I want to be able to one click build

#

weird question but

#

why are the dlls slightly different on linux

#

and will modding api ever do anything to address this?

copper nacelle
#

no idea

#

we were building with the linux dlls before i think

#

then we compared and they were the same

#

so we just started using the windows ones w/ diff folder structure

compact sedge
#

my linux dll was like 2KB larger

#

oh wait

#

maybe that was because lifeblood beta

#

maybe that's what fixed it

#

idk

#

ok yeah it's literally not a problem with modapi or if it is it's a problem with modapi that's fixed by just building against the beta branch

fair rampart
#

Hey anybody see kdt

#

(It's an art movement)

compact sedge
#

so how do you run the original function after doing your hool

solemn rivet
#

orig(self)

compact sedge
#

cool thanks

fair rampart
#

What those

supple sigil
#

what do they doo

solemn rivet
#

u wot m8

supple sigil
#

they the cut charms

#

what did you make their effects?

compact sedge
#

wait are those cut charms

supple sigil
#

yes

compact sedge
#

I overrode the charm display function

#

and I forgot to run it

#

why is the middle one normal

supple sigil
copper nacelle
#

lightbringer uses those assets but colored

#

iirc

supple sigil
#

also rip astoroth

compact sedge
#

hollowf my void heart is stuck as a broken asset now

supple sigil
#

bless his soul

compact sedge
#

I need to edit my save to fix I guess

#

no wait it's just orig(self) didn't do anything

copper nacelle
#

did you call it w/ all the args

compact sedge
#

nope nvm

#

im just dumb

copper nacelle
#

๐Ÿ”ซ

#

what did you do

compact sedge
#

I ran orig(self) in the wrong function

copper nacelle
#

advanced

#

thinking

compact sedge
#

I ran it in the calculatecharmnotches function which I'm just disabling

fair rampart
#

What happened to astoroth

copper nacelle
#

@fair rampart uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

compact sedge
#

ughhh I can't for the life of me figure out what class does the thing I need to do and I don't wanna dump the fsm data again

copper nacelle
#

do you not keep the save_fsm folder?

compact sedge
#

i have it

#

also how do you search for variables in dnspy

#

it's only searching for class names

#

and variables where they are defined

#

but not where they are changed

#

or accessed

#

I wanna know whenever a var is accessed

copper nacelle
#

right click the variable -> analyze

#

ctrl-shift-r works as well

compact sedge
#

exactly what I needed

#

to find where a var is used

compact sedge
#

Hey KDT how do I actually use your viewer

#

like how do I import a file

#

if I have a bunch of json files

rain cedar
#

You need to rename the one you want to look at to data.json and add var fsm = to the beginning

compact sedge
#

ok thanks

#

the readme basically says figure it out yourself

compact sedge
#

btw if I'm able to ditch Monomod entirely I'm gonna have a probably bug free mod release tonight

#

"bugfree"

#

jk I need monomod

river tiger
#

Back

#

Any progress with the BM mod Gradow?

rain cedar
#

You mean blackmoth?

compact sedge
#

Alright I'm gonna stop trying to fix the inventory bug because the charms menu FSM is one of the worst in the game.

#

I'm gonna just wait for G&G and hope they make changes to it to fix it so that I can just use GetInt and GetBool overrides

#

Actually I need y'all's opinion

#

What is worse:

If the game crashes and you uninstall the mod right after, your notch cost on one charm will be messed up until you edit your save file (exiting the game normally will not trigger this)

If you overcharm yourself intentionally you will get a graphical bug that requires closing and opening the inventory to fix it. Same with unovercharming.

#

Now that I'm thinking about it I think the first one is "better" but I want some second opinions

rain cedar
#

The game is pretty stable unless some other mod is causing crashes

#

At which point that's not your problem

compact sedge
#

I think alt f4 might also count as game crash not 100% sure

rain cedar
#

Nah that still calls the quit hook

#

Like 90% sure of that

compact sedge
#

oh and the other thing that would cause it is if the person quits the game normally, replaces their save with one of the backup saves, and uninstalls the mod before launching the game.

rain cedar
#

Why would anyone do that?

compact sedge
#

but like why would anyone do that?

#

oh you beat me to it

#

alright so option 1 then you think?

rain cedar
#

Neither are ideal but that one is probably better

compact sedge
#

and that it ignores GetBool and GetInt

#

sorta

rain cedar
#

Game's bad yeah

compact sedge
#

is applicationQuitHook the return to menu one or is that something different

rain cedar
#

No that's when the game closes

#

I assumed you were using it already and the game just didn't call it when it crashed

compact sedge
rain cedar
#

Yeah probably

#

Why white though?

hardy echo
#

Is there like a hollow knight mod database?

rain cedar
#

Yeah they're all at the google drive link in the pins

hardy echo
#

...

rain cedar
#

Nice entitlement

hardy echo
#

Damn... more effort

rain cedar
#

I don't even know what effort there is

compact sedge
#

oh so much effort

#

clicking a pin

rain cedar
#

It's literally a list of mod downloads

hardy echo
#

Umm can i show you the mod databbase im used to?

rain cedar
#

No

compact sedge
#

the only thing that sucks is it's hard to tell at a glance which ones support the right version

rain cedar
#

Yeah that could be better

hardy echo
#

Sorry about the link but

rain cedar
#

That's nice and all but unless somebody wants to design a site like that for this game, pay to host it, and manage it thereafter google drive is what we're using

hardy echo
#

Ok

#

Thanks tho

compact sedge
#

wow that actually works!

#

thanks for the help seanpr

rain cedar
#

I'm doing something similar in randomizer

compact sedge
#

im mildly mad about throwing about 300 lines of junk fsm code away

#

but it was junk code

rain cedar
#

The stored data isn't exactly the data I use

#

I do parsing before/after save

compact sedge
#

Alright. This version fixes the major bug I was having with notch cost. I think it's good enough. Everything I've tested works. It doesn't mess up your save file which is nice. And it doesn't affect people without level 4 grimmchild.

#

It DOES NOT require monomod hooks, or shouldn't require those. Nothing in my code is using them.

#

It does require modcommon and Mod API

#

just like my last mod

hardy echo
#

By the way... how many of these mods require partially?

rain cedar
#

None

#

We don't use that

solemn rivet
#

@river tiger wut

scenic slate
#

Make bugborne mod, k thx bye

solemn rivet
#

Radiance is basically bug-moon presence tho

lucid pond
#

[INFO]:[RandomizerMod] - Putting progression item hasAcidArmour at SlyKey

#

Does it mean that I have Isma's tear at Shopkepper's key?

solemn rivet
#

I guess?

lucid pond
exotic venture
#

those are excellent item descriptions

#

i wonder what else is in it

solemn rivet
#

\n\n

lucid pond
#

I can't find isma's tear anywhere

solemn rivet
#

did you check the shopkeeper's key location?

lucid pond
#

I have get it then i talk to him. but nothing adds in the shop

#

the seed

solemn rivet
#

I mean

#

go to where you would normally find the key

#

Isma's should be there

lucid pond
#

OK I will try again.

exotic venture
#

check with sly again

#

see if after you give shopkeeper's key sly sells it

young walrus
#

omfg why do you have mag skips on

solemn rivet
#

wut

#

oh shit, I just saw that

#

rip

young walrus
#

mag skips includes ridiculous shit that's not really RTA friendly

#

basically TAS only skips

solemn rivet
#

but he's using debug so that's a non-issue

#

just noclip everywhere

young walrus
#

well that ruins the fun

lucid pond
#

to get the dreamnail needs to use mag skips at Unn's lake

#

so I want to find isma's tear

solemn rivet
#

yeah, but that's like the easiest of them all

young walrus
#

^

#

have fun getting to isma's tear location with no super dash

#

or getting the thorns location with only fireball

#

sheesh. that option is a meme.

#

i think it might be in the logic too to get to monomon with only wings, shade cloak, claw, and sharp shadow

#

that one's not terrible. but that's the kind of thing you're dealing with here

lucid pond
solemn rivet
#

rip

#

do you need isma's rn?

flat forum
#

So, some Boss Respawns I've noticed are broken on Debug Mod, including
Broken Vessel
Traitor Lord
(sometimes?) False Knight
Brooding Mawlek
Watcher Knights

lucid pond
#

I just want to know why I can't find Isma's tear

young walrus
#

Did you read the most recent randomization?

#

Or did you read an old one

#

And debug hasn't been updated for lifeblood

solemn rivet
#

well, Isma's sure is somewhere

young walrus
#

Probably at elegy

flat forum
#

Well

solemn rivet
flat forum
#

Traitor Lord and Brooding Mawlker were broken from before that

young walrus
#

Cool. Then they don't work. shrugs

lucid pond
#

can someone play the seed 20180522

young walrus
#

Sean's not going to fix those tbh

flat forum
#

Ok

solemn rivet
#

they are special enemies, makes sense they wouldn't work

young walrus
#

So.... Either you can, or just deal with it I guess

flat forum
#

But most bosses respawn?

#

Brooding Mawlek gives the mask shard

#

this one is understadะฐble

#

but why Traitor Lord?

young walrus
#

Cloth quest

solemn rivet
#

^

#

he finnicky

flat forum
#

Oh

#

yeah

#

Ok

young walrus
#

And watcher knights absolutely respawn. Cuz I've used debug on older patches too practice them. As have many other runners. Unless again.... You're trying to use an old mod on lifeblood

flat forum
#

Yeah, that must be from Lifeblood

young walrus
#

Well they added the new room

#

Not surprised that broke the respawn

solemn rivet
#

I just realized my enemyhpbarsmod might not work for hive knight

young walrus
#

Meme boss anyways. zote

exotic venture
#

memeblood

solemn rivet
#

brb gotta check

lucid pond
#

I finished the seed then I sought everywhere,, but I could't get isma's tear. So I read the modlog.txt. [RandomizerMod] - Putting progression item hasAcidArmour at SlyKey milliS

solemn rivet
#

it's probably at some random charm

#

also, fixed hpbars

solemn rivet
#

Vmi I have some free time. Gonna see if I can find Isma's

#

where did you already check, so I don't waste time checking places where we know it isn't at?

young walrus
#

Just read the modlog

#

I still wonder if they didn't read an older randomization

lucid pond
#

thanks! you can load the seed 20180522,then read the modlog and check. HK 1315,randommid mod 2a7.I'm going to sleep.it's 23:54 in China.

#

:hollowclap:

solemn rivet
#

elderbug gnight!

#

it says the same for me

#

Isma's at Sly Key

#

lemme check there rq

young walrus
#

So the keys are randomized now in v2?

solemn rivet
#

they should

#

but sly's key was at its usual spot

#

and no Isma's either there or in the shop

young walrus
#

So the keys may not have been randomized correctly

solemn rivet
#

also, just to be sure it was rando'ing properly, I picked up fotf and it was wraiths

#

yeah, that's my best guess, Mick

#

lemme see where sly's key is supposed to be

#

maybe we have 2 keys now

young walrus
#

yells out in despair

#

SEAN

solemn rivet
#

well

#

[INFO]:[DebugMod] - Loaded image: SlyKey

#

[INFO]:[RandomizerMod] - Putting progression item hasAcidArmour at SlyKey

#

so, yeah, rip

#

isma's isded

young walrus
#

Lol. Nice

#

Ismas deleted. Too stronk

rain cedar
#

SlyKey means it's in the shop after you get the key

#

Or at least it should mean that

#

If it just means it doesn't exist that's a pretty big bug

solemn rivet
#

It wasn't in the store even after getting the key

#

And the key was where it always is

rain cedar
#

Alright

compact sedge
#

huh so it's possible to be unable to open the gate to the waterways

rain cedar
#

Which gate?

compact sedge
#

the one in CoT

rain cedar
#

Oh to the waterways

#

I read that as after

#

You mean in randomizer or something else?

#

Because if it's randomizer then yeah I know people wasting keys could be an issue but I don't consider it high priority to fix

compact sedge
#

so randomizer requires a specific route then to ensure you can get everywhere

rain cedar
#

It requires you to not use keys on jiji or the banker place sometimes

#

Which are both completely worthless areas

compact sedge
#

I get that they're worthless but it means you can softlock yourself out of 107%

rain cedar
#

The alternative is making fluke/crest require being able to reach all keys

#

Which is lame

young walrus
#

doing 107% in rando?

compact sedge
#

at least have the oblivion message pop up

#

err

#

morrowind

rain cedar
#

I don't know what that is

rain cedar
#

Maybe

#

Also the only difference between the normal sly items and the key ones is this

requiredPlayerDataBool = shopName == "SlyKey" ? "hasSlyKey" : ""```
#

So idk how that would not work

#

Unless Team Cherry's shops just don't work

#

Which is actually not out of the question

compact sedge
#

assuming team cherry's shops work

rain cedar
#

I know that the removal bool works since leg eater works

#

required bool might do nothing though, since for sly they don't use it

#

They use another worse method for his key

#

Alright well fuck it I'm just gonna make the removal bool "!hasSlyKey" and change the bool override to parse !

compact sedge
#

good luck! I'm taking a break from modding tbh.

copper nacelle
#

:ech:

compact sedge
#

you're welcome 56

copper nacelle
#

๐Ÿค”

compact sedge
#

btw I don't think I used a single line from your machine gun grimm thing.

#

even though I forked it

#

hope you're not too upset about it

copper nacelle
#

idc

rain cedar
#

Alright

#

I know why the sly shop doesn't work

#

It's because I'm dumb

#

hasSlyKey is false after you give sly the key

#

Which means it's actually impossible to ever open the shop with it

solemn rivet
#

Wait, so sly key isn't randomized?

rain cedar
#

The key isn't

solemn rivet
#

Oh gotcha

#

I thought keys were rando

rain cedar
#

Nah not yet

#

I'm fixing the \n\n in shops and adding these to language strings too

<entry sheet="Prompts" key="BATH_HOUSE_KEY">This key may be required to enter waterways. Think hard before opening!</entry>```
solemn rivet
#

Nice

compact sedge
#

thanks

rain cedar
#

Alright tear is showing up in the shop

#

Just had to change one letter

#

Wait that's not one letter

#

hasSlyKey -> gaveSlyKey

#

@lucid pond I've uploaded a new randomizer that fixes the issue you had with Sly's shop

#

It will not take effect on old saves, so your previous run will still be locked out of isma's tear

quick shoal
#

I was amazed by this mod and also didn't even know there were mods for this game

#

Anyone could help me a bit with how to get mods into the game? Any help is apreciated, thank you all. omggrub

copper nacelle
#

๐Ÿ“Œ

#

just download an installer

#

check the boxes for the mods you want installed

#

and open the game

quick shoal
#

Where I can get the installer?

copper nacelle
#

๐Ÿ“Œ

quick shoal
#

?

copper nacelle
quick shoal
#

Oooh I'm stupid

opaque flame
#

lel

lucid pond
#

๐Ÿ˜†

compact sedge
#

seeking suggestions for mods

#

y'all want anything (ideally not anything too hard)

rain cedar
#

What happened to taking a break from modding?

compact sedge
#

break's over

rain cedar
#

That was fast

compact sedge
#

nah but I'm not starting anything new until next week but I want to collect suggestions in the meantime

lucid pond
#

@rain cedar Great! Thank you!

young walrus
#

"Mick Knight mod" : all in game sounds replaced by sound files made by Mick's voice

lucid pond
#

@rain cedar when you are going to get the dreamnail. If you fall down,you will not be flashed after you get the dreamnail. Then you have to quit to the menu and load the save. so you have to go to the resting grouds twice.

compact sedge
#

how many samples of your voice are there anyway @young walrus

lucid pond
#

randomizer mod 2.0

rain cedar
#

I don't get what you mean by "you will not be flashed"

lucid pond
#

after you get the dreamnail, you willnot leave the dream

#

๐Ÿ˜‚

compact sedge
#

what about you enter the dream and there's no dream nail

young walrus
#

Well... None right now. But I can record a bunch no problem

compact sedge
#

that'd be a good mod

hollow pier
#

boop impression

rain cedar
#

Ok so if you fall what happens?

#

Is the moth there at the end?

#

Or is it a shiny item there that you just pick up?

young walrus
#

Would take me a few hours tops to record all of em

hollow pier
#

make a cover of every soundtrack

young walrus
#

Lol

#

Omg

#

That.... Would take a bit longer

#

But would be hilarious

lucid pond
#

You can pick up a shiny item, but you will not leave from the dream. Other thing, if you don't fall down in the dream ,you will be transfered to the door of the moth.

rain cedar
#

Is it the regular looking shiny item or is it the special dream nail one?

#

If it's the former I don't know what's wrong, if it's the latter then falling must reload the room instead of just putting you back at the start

#

Which is just awful

#

Ok seems to be the former

lucid pond
#

shiny item.

#

Iโ€˜m sorry I can't express my meaning clearly.

rain cedar
#

That's fine

#

Your english is a lot better than my chinese

lucid pond
#

๐Ÿ˜‚ It's a long time that I haven't chatted (with others) in English.

#

so don't fall down when you go to get the dreamnail. That's OK. mylajoy

rain cedar
#

Nah I'm trying to fix it

lucid pond
#

wonderful! I am looking forward to it

rain cedar
#

Ok I fixed that as well as another issue people had reported with getting dream nail before going to resting grounds

#

Hopefully I didn't break anything else

copper nacelle
rain cedar
#

I guess it's less of a fix than a workaround but eh

rain cedar
#

Ok not good my game got stuck on the black screen going down from watchers

rain cedar
#

Is there a way to stop coroutines without a reference to the IEnumerator used to start it?

#

I need to kill a coroutine running in GameManager

#

Hm, the MonoBehaviour docs say StopCoroutine "Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour."

#

So, in theory, passing the function name would work

#

It also says not to mix the methods, though

#

Like only stop with a string if you start with one

#

I think I can make the coroutine get an NRE, which would stop it

#

Don't think I have a better option

#

Nevermind this isn't gonna work

#

Fixed the soft lock, new version up (again)

lucid pond
#

mylajoy the new randomizer mod2.0 has no problem.omggrub Nice!

pearl sentinel
#

you could probably call StopAllCoroutines on the monobehavior containing the coroutine

#

tho if there's others on the monobehavior it'll stop those coroutines too

rain cedar
#

Stopping all coroutines on GameManager is probably not a good idea

#

But I can try it just to see what breaks later

compact sedge
#

stop all coroutines and just write your own game

pearl sentinel
#

While writing some code for my smart routines type I noticed that the coroutines seem to become nested types inside their object. You might be able to get at them through some reflection shinangans

rain cedar
#

It's really not worth the hassle

#

I just waited for it to stop itself instead and it doesn't cause any noticeable delay

lucid pond
rain cedar
#

Just so you know, the lemm option under quality of life does the same thing as the ten egg mod

#

I don't think you'll get double geo with both of those on or anything but it's still redundant

exotic venture
#

ten egg mod?

#

i need more information about this

#

it sounds fantastic

rain cedar
#

Makes it sell all relics to lemm when you talk to him on the right side

exotic venture
#

ok that's dope

lucid pond
#

game over!

exotic venture
#

gg

lucid pond
#

that's false! eazy level is different fron hard level

#

but hard level and maglar level are same

exotic venture
#

easy levels are indeed different

#

they require much, much less skips

lucid pond
#

I make a mistake๏ผŒI havenโ€˜t find dreamnail๏ผ

rain cedar
#

It's pretty likely that hard/mag will be the same yeah

lucid pond
#

๐Ÿ˜‚ I will play again

rain cedar
#

Since there's almost no difference in requirements for items

exotic venture
#

oh yeah you are missing dreamnail

#

rip

rain cedar
#

Dream nail is actually weighted fairly heavily towards late locations so it makes sense to be the last item

exotic venture
#

it's basically just the thing to finish the game with

#

the rest is all for getting around the place

sharp garnet
#

what about make a glitched mode in v2

#

the glitched logic would be fun

#

oh current patch killed most of the glitches

#

it has to be on the old one for earlier patch

lucid pond
lucid pond
#

I donโ€™t find any question about Randomizer mod2.0 after you update it.

steep sail
#

Can debug mod give access to cut content?

flat forum
#

Don't think so

#

has the Mantis Gods been updated?

compact sedge
#

the question everyone is asking themselves

#

no

#

we're mostly just waiting for death barriers on the sides and a working entrance instead of needing dreamnail... maybe other stuff idk what 56 is trying to do with it now.

torn fulcrum
#

O no, howling wraiths is missing, it isn't even the only missing/glitchy thing I've encountered in randomizer

rain cedar
#

What version are you on?

#

@torn fulcrum

young walrus
#

wasn't it hidden to the right behind some bushes on the ground in older versions?

rain cedar
#

That's why I'm asking, yeah

#

Although why they would be on that old of a version is beyond me

torn fulcrum
#

I have the most recent version of both the game and mod

rain cedar
#

Send your log file, then

#

ModLog.txt in the save folder

torn fulcrum
#

hold on where exactly do I find it?

rain cedar
#

%APPDATA%\..\LocalLow\Team Cherry\Hollow Knight\

#

Or not

#

I guess I'll just assume they did something wrong since everything is fine for me and vmi

torn fulcrum
#

Sorry computer was slow so I did other stuff while it was loading, I got it now

rain cedar
#

You expect me to believe your computer is so slow it takes 30 minutes to open a small text file?

torn fulcrum
#

I was looking for the file and the search took time to load, then I forgot about it for a little bit

rain cedar
#

Have you relaunched the game since the issues?

torn fulcrum
#

yes

rain cedar
#

That overwrites the log file, so I can't really help here

torn fulcrum
#

oh, alright

rain cedar
#

If you send your save file I can test it myself later today

#

Actually just send a screenshot of the main menu, I have a feeling I know what's wrong

compact sedge
#

Hey does blackmoth work on lifeblood?

#

or do I have to downpatch for it

rain cedar
#

I think it does

copper nacelle
#

it does

#

@flat forum I'll probably update it today

flat forum
#

Ok

cyan peak
#

Where would I look for the damage of nails?

#

in the Assembly?

copper nacelle
#

it's 5, 9, 13, 17, 21

#

5 + 4 * nailSmithUpgrades

cyan peak
#

Alrighty

#

which class?

#

Also noob question incoming: Where do I find the nailsmith?

copper nacelle
#

nailSmithUpgrades is in PlayerData

#

CoT

#

left

cyan peak
#

Ah thanks

#

Also where is the save file?

#

found it

#

AAAAND to heck with editing this

fair rampart
#

@cyan peak PLAY THE GAME BEFORE EDITING IT YOU BUTT

#

:L

cyan peak
#

Ah screw off you did the same to Rain World

fair rampart
#

Yeah but that was because I had to show you guys how Partiality worked,

cyan peak
#

sure sure

fair rampart
#

And show you how ez mods where

#

MHM.

copper nacelle
#

what Zandra said

cyan peak
#

fiiiiine

copper nacelle
#

yes

cyan peak
#

but, but

#

I

#

Rain World was the same for me

#

find the game