#archived-modding-development

1 messages Β· Page 460 of 1

rain cedar
#

Oh I see what you're saying

#

I misread the initial thing

#

Does the ModLoader throw anything to output_log?

#

There's a ton of safety checks already so I'm curious how this could break

#

Ah, if the GetPreloadNames method throws this would break

unborn flicker
#

That is almost certainly what happened

rain cedar
#

How is that throwing? You should only be returning a list

unborn flicker
#

I tried to make it dynamic with settings/data from initialization, so it wouldn't load every bench if the user had changed a global setting

rain cedar
#

Still an API issue either way

unborn flicker
#

So definitely a mistake on my part, but that should only affect my mod ideally

solar jacinth
#

does hk have its own gravity or do they use rb gravity ,

copper nacelle
#

rb iirc

solar jacinth
#

oh

#

so do they stop the gravity to increase after some time?

#

if so ho can i do that

leaden hedge
#

set the vel to a value

#

whenever its over one

solar jacinth
#

oh ok thanks

fair rampart
#

@floral furnace the gun cant damage bosses

ornate rivet
#

it worked for me

#

at least in godhome

fair rampart
#

doesnt work on the hollow knight boss at least

solar jacinth
#

oh shit is the gun mod out

fair rampart
#

not out

#

the creator sent a file of it somewhere here

#

here lol
it's ultra buggy tho

#

@solar jacinth

solar jacinth
#

oh thanks

#

holy shit

#

this is so good

fair rampart
#

yeah the gun rarely works against PV

#

maybe it uses flukenest maggotprime

solar jacinth
#

wtf

floral furnace
#

@fair rampart yeah this mod is unfinished

#

the main reason i uploaded it in the first place is because i wanted to test out if it still had problems working with other users + performance

#

but yeah im aware about PV not being hit, im gonna check the colliders for that no idea why that happens

#

still not "releasing it completely" until i overhaul all the charms and it actually functions without you know... breaking

but yeah id appreciate if you tell me all the bugs youve encountered

fair rampart
#

not really much

#

the gun works with all other enemies

#

not bosses tho
i think it does work with ||the radiance|| for some reason

solar jacinth
#

@floral furnace my laptop is shit and it works really good at me

#

so no performance issues

floral furnace
#

thanks

solar jacinth
#

even if i abuse quick cast maggotprime

#

nice mod hollowknice

heavy pelican
#

how do you make a mod for your self

#

teach me the ways

rain cedar
#

Have you done C# programming before?

#

Any .net language, actually

heavy pelican
#

not sure

rain cedar
#

Not the response I expected

#

Probably means no

#

In which case you need either Visual Studio, Rider, or some other .net compiler

#

Personal preference

heavy pelican
#

can you send me link with no chronium

rain cedar
#

No what?

heavy pelican
#

chronium is a malware

rain cedar
#

Assuming you mean chromium

#

No, chromium is not malware

#

It's a web browser

#

It's what google chrome uses

#

As well as several others, notably opera

#

If you use Visual Studio, I highly recommend also using the ReSharper extension

heavy pelican
#

actually you know what i have an idea

#

and you mod the fight

rain cedar
#

Your smart idea is for me to make your mod for you?

heavy pelican
#

or someone

rain cedar
#

Fuck off

heavy pelican
#

i am doing some of the work aka sprite sheet

#

so we have a deal?

rain cedar
#

Bruh

heavy pelican
#

look I do want to make my own kirb game with unity but i haven't figured it out yet

ornate rivet
#

ok so first of all, why would you replace pv's sprites, that's not how it works

heavy pelican
#

i can draw over each sprite

fair rampart
rain cedar
#

Good luck with your mod

ornate rivet
#

If you just want to retexture pv, I can do that once you have all the sprites replaced

rain cedar
#

Wow you're a lot nicer than you should be

#

This guy didn't ask, he just came in here and fucking assumed I would do it for him

#

That's so incredibly rude

ornate rivet
#

fair
but I mean, it should take very little time right?

rain cedar
#

Not really the point

#

You're encouraging this behaviour

ornate rivet
#

I still feel betrayed by that one guy who asked me to replace abs rad sprites with their sans retexture
they never responded when I pmed the mod to them

#

very sad

fair rampart
#

tragic

heavy pelican
#

don't worry i'll do my best

ornate rivet
#

make sure you maintain the size

hazy sentinel
heavy pelican
#

I will pay any of you in *#@$% spingles

ornate rivet
#

hmm
is this supposed to be an insult

heavy pelican
#

no

odd dome
heavy pelican
#

if photoshop had a fill in tool

heavy pelican
#

found the paint bucket

unborn flicker
#

This topic seems better suited for the art channels.

dark wigeon
#

Who knew components could be so annoying

#

I think I got component id'ing working in the editor now

#

So you can edit any component and add any new component you want

fair rampart
#

when I clone the Tiso boss go w debug, hitting the clone produces a flash and the associated hit noise, but not when I hit the original go

#

intredasting

floral furnace
#

maybe the original lacks the components?

fair rampart
#

idk, does the debug duplicate add any extra components to the cloned enemy?

copper nacelle
#

No

#

Afaik

#

It might be that it's calling all the Awakes again

#

And Start

rain cedar
#

Debug duplicate literally just calls Instantiate on it

solar jacinth
#

@dark wigeon so i can literally mod hk as its a unity project?

dark wigeon
#

@solar jacinth the assets aren't converted to pngs or anything like that, but yes you can open any of the scenes

solar jacinth
#

i can edit components too?

dark wigeon
#

yes, that's what I added today

solar jacinth
#

thats cool

#

where can i get that

dark wigeon
#

previously it was only hardcoded transforms

#

it's added, but I want to add the mod support before I push

#

it's not too useful if you can edit but can't load into the mod

solar jacinth
#

how can i test it

#

then

dark wigeon
#

uh

#

do you want me to push what I have

solar jacinth
#

oh idk

#

when do you think you will finish this

dark wigeon
#

some time

#

I will push my changes so you can see what I've worked onb

fickle bolt
dark wigeon
#

Turn the light thing off on the top left of the scene window, makes it a lot easier to see

solar jacinth
#

thanks , will try now since i cam back from school now

fickle bolt
#

new ver dosent support actually using the scenes ingame tho as far as i can see so i tried your old one and whenver i enter a new room everything except gui goes black forever blobsadlife o well

dark wigeon
#

Yes that's a bug

fickle bolt
#

Oh it seemed to work in your vid tho

dark wigeon
#

I'm knocking out all component editing at once so I don't have to come back and change how the code worked when I wanted to add that... It just takes a little longer to implement

#

As for the video, it works sometimes and other times it doesn't, but I remember it being pretty hard to fix because of lack of information

fickle bolt
#

oh ok and yea all this stuff seems to be basically uncharted territory so lack of information makes sense

dark wigeon
#

Lack of information from the bundle, not like knowledge information

#

But yes that too is another thing

#

Really all that's left is to just run the differ on the components now that I can id them, then create the diff file (same format as for hkwe1) and it should just work

fickle bolt
#

awesome I can't wait

leaden kestrel
#

Oooh what's this?
The World Editing Mod came out?

flat forum
#

it's been out-ish for a bit now, I think?

dark wigeon
#

technically it came out on new years this year

#

I didn't know about these cool tricks I'm using now until a few months ago

heavy pelican
#

Can you show me where the β€œworld editing mod” is?

dark wigeon
#

scroll up, there's a link

#

just download it, extract, and open the folder with unity

dry fractal
#

Hey Gys

rain cedar
#

Hey

cold olive
#

Sup

blissful burrow
#

Hey

copper nacelle
#

Hey

ornate rivet
#

Hello fellow speedrunners

#

you're a snail 56

#

bet I can type 🐌 faster than you

#

🐌

#

there I win

copper nacelle
#

Ok buddy

#

I bet I can find the space before the pale lurker state breaking your mod before you do

safe hamlet
#

gottem

ornate rivet
#

Hey you can't blame me for trusting Wilbo more than I should.

#

Speaking of that,
isn't it kind of weird how if 56 hadn't found that space pale champion would have never been made

#

a pretty incredible thought

fair rampart
#

yeah it's practically 56's mod now

ornate rivet
#

pretty much

#

I wish Fennel had running animation

#

so she could walk into people like hornet

fair rampart
#

so my method of having a go that can be damaged is to clone the original go, set the clone exactly at the same spot as the original go, then destroying the original go maggotprime

ornate rivet
#

maybe it's because the original go isn't active or has some components that are not active

#

instantiating automatically activates some stuff iirc

fair rampart
ornate rivet
#

wait that actually fixed it jngo?

fair rampart
#

well I also mixed in the flash shader that you showed me to make Tiso flash when hit

ornate rivet
#

okie

fickle bolt
dark wigeon
#

ignore this

#

worldloader only worked with the original hkwe editor, and it only worked for certain things, I don't remember what caused it not to work

fickle bolt
#

yea but i spent a long time with no success until i realized i needed to copy cldb.dat out of the unity project

dark wigeon
#

did I not include cldb.dat .-.

#

big oof moment

fickle bolt
#

o well it worked in the end :D

dark wigeon
#

that's good though

fickle bolt
#

so the old world edit can only reposition existing objects right? the point of the new one is to add new stuff?

dark wigeon
#

some things will make it black screen/endless load screen regardless of cldb.dat or not

fickle bolt
#

o :(

dark wigeon
#

it can move existing objects and add completely new objects

#

the transforms were hardcoded from editor fields

#

pretty bad method but way easier to implement

fickle bolt
#

ah

dark wigeon
flat forum
#

hey, Nes

#

was the problem I was having in worldedit or in Worldloader?

#

(and has it been fixed)

#

something about copying elements from in a room

dark wigeon
#

I'm working on it, it should be done soon bag

#

It's an editor bug

flat forum
#

mhm

#

make sure to ping me when a stable working version with the fix has been released

dark wigeon
#

But I just realized I will have to change to mod a bit to get it to work with the new changes

flat forum
#

so I get to do what I've always dreamed of doing

dark wigeon
#

Yes I'll notify you all when I have something to show, I'll probably put it on my youtube channel

flat forum
#

okay!

#

thanks a lot

#

and keep up the great work

dark wigeon
#

Most of the work I was doing earlier was stuff to get all components working which is why it's been taking a while

flat forum
#

I don't quite understand programming stuff, but I'm sure you're trying hard and it's just slow zote

dark wigeon
#

A lot of thonking and not a lot of programming surprisingly

#

There's so many ways to do it, so I think of a bunch of options and try to find the best one

flat forum
#

mhm

fickle bolt
#

in hkworldedit2, why do you ignore monobehaviors?

//not already visited and not a gameobject or monobehaviour
if (references.ContainsKey(aid) || ext.info.curFileType == 0x01 || ext.info.curFileType == 0x72)
    continue;

it crashed unity when i tried to enable them but i dont know why

solar jacinth
#

oh damn that tiso mod is epic

ornate rivet
#

and the fsm viewer doesn't either?

#

maybe that's what's setting PV's position to be within the arena range?

#

@fickle bolt
You can't asset bundle code

#

that's why it ignores monobehaviors

fickle bolt
#

oh

#

but the scene file includes them

#

otherwise they wouldnt need to be ignored it seems ?

ornate rivet
#

what scene file?

fickle bolt
#

all the level files in hollowknight_data

ornate rivet
#

those are not asset bundles

fickle bolt
#

then they don't need to ignore monobeheviors πŸ‘€

ornate rivet
#

what, ok this is clearly beyond me, just wait for nes to answer

solar jacinth
#

nes seerpray

fickle bolt
#

yea nes probably has a good reason to skip them

dark wigeon
#

Well no it is possible to add monobehaviours, I just haven't done it yet

#

It's just a little more complicated than the other components

#

It also takes a bit of time converting the dll classes to typetree, although I guess I could preload them

#

Also what about PlayMakerFSMFixedUpdate?

solar jacinth
#

hype

ornate rivet
#

It doesn't print out what the fsm does like it does with PlayMakerFSM components

dark wigeon
#

Still not following

fair rampart
#

does anyone know how long enemy iframes are?

floral furnace
#

you mean their iframes right, not YOUR iframes if you get hit?

fair rampart
#

yeah

floral furnace
#

if you mean the limit of how fast you can damage them, HM.Hit() actually handles that

#

unless you want the ACTUAL value tho?

fair rampart
#

yes I want to know how long to make them flash for when hit

floral furnace
#

did SpriteFlash not work for you?

fair rampart
#

nope

#

I'm using a custom shader instead

floral furnace
#

oh so basically youre doing it your way

#

im looking at the spriteFlash component, seems like it has a timeUp and timeDown attributes that they manually set up depending on which method is being called

spriteFlashQuick seems to be literally at
this.timeUp = 0.001f;
this.stayTime = 0.05f;
this.timeDown = 0.001f;

fair rampart
#

ok, so hopefully .052f

floral furnace
#

sorry i cant tell much, imo just experiment at least

#

or until someone actually competent gives you the actual values

fair rampart
dark wigeon
#

That's not -Vector3.left

fair rampart
#

how could one check if a go is on the ground during a midair attack?

solar jacinth
#

go?

copper nacelle
#

raycaat down

#

you could also have a const you compare to the transform y pos

#

that seems hacky though

fair rampart
#

yeah that's what I tried to do and it's inconsistent

#

@solar jacinth GameObject

solar jacinth
#

oh

#

makes sense

copper nacelle
#

FeelsRaycastMan

ornate rivet
#

the game uses ray casting for the knight

safe hamlet
#

ur a ray casting

solar jacinth
#

imagine raycasts

#

when theres

#

edge triggers

shy cloak
#

Anybody know off the tops of their heads if HK is x86 or x86_64 ?

dark wigeon
#

Probably 64 bit, why

shy cloak
#

external library compatibility

dark wigeon
#

Native external libraries?

shy cloak
#

no something I'd put in the mods folder if I ever do what I want to do

dark wigeon
#

If it's not native, it probably doesn't matter what architecture? (well, at least 64->32)

shy cloak
dark wigeon
#

Yeah I was going to suggest that except I remembered I ran 64bit .net mods just fine but I guess it doesn't matter

shy cloak
#

Thanks for your help πŸ™‚

ornate rivet
#

I disabled all of PV's fsm components and it still teleports to the arena range. This is very garmond

foreach (PlayMakerFSM i in pv.GetComponentsInChildren<PlayMakerFSM>(true))
{
     i.enabled = false;
}
fickle bolt
#

saleh i tried to add a new scene based on your code but when I try to load it everything just goes black.. however the debug mod shows that my scene has actually loaded.. do you know why this might be?

ornate rivet
#

the BeginSceneTransition part of my code is wrong, I was trying to figure out how to get scenetransitions working properly but I forgot about it and stopped

#

I think

#

use SceneManager.LoadScene(scenePath[0]); or something like this

#

@fickle bolt

fickle bolt
#

ah ok i'll give that a try thanks

#

why do you loop through all the gameobjects and assign the Sprites/Default shader btw?

ornate rivet
#

textures won't appear otherwise

#

they will be pink

#

it's a bug with asset bundles

fickle bolt
#

oh alright

ornate rivet
#

I should probably say that in the assetbundle guide thinkgrub

fickle bolt
#

well ok then... the camera dosent follow him and he cant jump because apparently airborne despite standing on a box but better than black screen

ornate rivet
#

airborne because you need to set the blocks layer to terrain

#

I think that's 8

fickle bolt
#

whoops

ornate rivet
#

camera is a thing that needs figuring out

safe hamlet
#

spoohw

ornate rivet
#

I haven't worked with it yet

safe hamlet
#

i know how to do the camera

fickle bolt
#

oh im just dumb it turns out once the guy gets the the center it starts following him

safe hamlet
#

you just need to make the camera follow the knight using some epic code

fickle bolt
#

epic code yes

safe hamlet
#

i personally like to use html

fickle bolt
safe hamlet
#

i have over 16 years of programming experience with html

ornate rivet
#

thank you sid very cool

safe hamlet
#

so don’t even question me

#

i know you were about to

ornate rivet
#

insert sean mad at sugar copy pasta

safe hamlet
#

can you shut up

#

i am tired of this shit

ornate rivet
#

no raphy

safe hamlet
#

you offer nothing useful

ornate rivet
#

just do he block gameobject.layer = 8

#

in hk code

fickle bolt
#

oh the other type of layer i c

safe hamlet
#

there is also an enum for it, no?

ornate rivet
#

yea

safe hamlet
#

unless hk big dumb dumb

ornate rivet
#

very sure there is

#

but here's this anyways

safe hamlet
#

i wanna learn how to mod hk, is it difficult?

dark wigeon
#

Yes 004, very difficult

copper nacelle
#

you have to do something besides layer 8 iirc

#

i remember this

#

it's a tag

dark wigeon
#

Also do you guys just want the asset for tagmanager

safe hamlet
#

thank you ness very very cool

dark wigeon
#

That way you just copy a file instead of manually copying from a screenshot

fickle bolt
copper nacelle
safe hamlet
#

wdym nes

copper nacelle
#

dive onto it

ornate rivet
#

big doubt 56

#

pretty sure the dive works in my test scene

safe hamlet
#

you can’t argue with hk modding enthusiast 😀

ornate rivet
#

99% sure I do it in the yt video too

safe hamlet
#

i actually have no idea why i am shitposting here

ornate rivet
#

because it's funny

copper nacelle
#

i'm like 99% sure i set layer 8 and it was fucked

dark wigeon
safe hamlet
#

o

copper nacelle
#

ah i set the tag and not layer 8 and it half worked

ornate rivet
#

buddy I posted that a minute ago

safe hamlet
#

yes

#

that is your screenshot

#

56 make celeste mods

ornate rivet
#

it's actually nes's originally

dark wigeon
#

Yes I did that so you guys know what I'm talking about

safe hamlet
#

nes got it from me

#

why do you not give me credit nes soulpensive

dark wigeon
#

I got it from the buildsettings what are you talking about

#

Imagine actually typing that out by hand lols

safe hamlet
#

i would just ocr it epic gamer style

#

o yea do you guys know that vsauce finally uploaded a video after ten thousand years

#

and it’s not even good

dark wigeon
safe hamlet
#

that’s crazy

#

have you been working on the editor lately?

#

or is it done?

#

idek since i am not up to fate with hl modding stuff

fickle bolt
dark wigeon
#

Hkwe2 doesn't have them set up

#

Hkwe is no longer in development for obvious reasons

safe hamlet
#

because modding is dying?

dark wigeon
#

Because there's hkwe2 CrabPls

#

Hkwe2 layers aren't set up because I'm lazy and they don't matter as much as getting saving working

fickle bolt
#

yea fair enough

dark wigeon
#

I'll add it tomorrow probably

#

Meanwhile you can steal the tagmanager from hkwe1's repo (see above link)

fickle bolt
#

it dosent actually apply the layers tho it seems

dark wigeon
#

It should

#

It may be because unity doesn't see any and it just doesn't try

#

But it definitely has layer/tag support

fickle bolt
#

hm cuz the screenshot above is of hkedit#1 and the ground collider has no tag

dark wigeon
#

Idk then hkwe1 should have tag/layer support

#

It used to work at least

fickle bolt
#

rip it has the list of tags if you click the dropdown at least

dark wigeon
#

Well are you sure you didn't click on a child that actually has the right layer or something?

#

Maybe confirm its wrong in assetsview?

fickle bolt
#

oh so the ui and particles have a layer but not the terrain

dark wigeon
#

Oh wait chunks don't have terrain

fickle bolt
#

mayb it applies terrain tag in code

dark wigeon
#

Those are literally only to add black squares

#

The sprites behind it have collision iirc

fickle bolt
#

oh really lol

dark wigeon
#

Either that or it's some tk2d collision thing but I think it's the former

#

Oh actually

fickle bolt
#

the chunks have box collider

#

nvm

dark wigeon
#

Now that I think about it, the chunks are custom created, I may not have set their layer

fickle bolt
#

the level i picked just didnt have any terrain thonk_dye

#

i opened tutorial level and it has plenty

dark wigeon
#

Yeah it doesn't set the layers for terrain only

fickle bolt
dark wigeon
#

So it could have terrain layer idk

#

All I'm sayin is, when hkwe2 is done, you shouldn't need to use hkwe1

fickle bolt
#

yea of course

#

do u plan to add monobehevior support cuz that will be good day if/when you do btw

dark wigeon
#

It's technically in

fickle bolt
#

πŸ‘€πŸ‘€ how

dark wigeon
#

Without dll, saving is broken

#

With fake dll it would work, I haven't generated that dll yet

#

I'll be back in 30 min or so

fickle bolt
#

πŸ‘

#

and now the chunks are in terrain layer so hooray i guess

dark wigeon
#

Tutorial01?

fickle bolt
#

yea the same level only had the platforms marked as terrain in version 1

#

also lol i cant load the hollow knight dll into then unity project because the name (assembly-csharp) conflicts with unity's library code

dark wigeon
#

You have to generate an empty dll

#

I have code for it somewhere on my laptop I think

fickle bolt
#

oh why ?

dark wigeon
#

why what

fickle bolt
#

empty dll

dark wigeon
#

it's just fields, no code

#

so for whatever reason, the way assembly-csharp is built won't load in unity, so I just generate a dll with only the valid, serializable type fields

fickle bolt
#

or i can turn that back into a dll that dosent have issues iwth unity

dark wigeon
#

decompiled code almost always needs some tweaking before it compiles and just having only fields usually works better

fickle bolt
#

yea probably

dark wigeon
#

what are you using to decomp?

fickle bolt
#

dotpeak

dark wigeon
#

I have dotpeak, I think there were definitely some decomp issues with it

#

dnspy is worse in some places though

#

ilspy is a little better than dnspy in some places but worse in others

#

I just don't try to decompile the code, as there's no reason to have it in the first place

fickle bolt
#

i just couldnt figure out an easier way to rename it lol

copper nacelle
#

i liked dnspy more than dotpeek

#

because of like

#

that

#

actually sane coroutine decompilation FeelsOkayMan

dark wigeon
#

yeah coroutines are way better

#

I remember before dnspy was really a thing, coroutines were just "well, guess I gotta look at the il"

#

also remember before dnspy, just use reflexil to edit all the il by hand

safe hamlet
#

i thought they both used ilspy GWmythicalThonkCool

#

nvm

#

dnspy has its own thing

fickle bolt
#

i got all the hk code to load in unity by renaming the dll with mono.ceil πŸ˜ƒ

#
var input = "../../Assembly-CSharp.dll";
var output = "../../HKCode.dll";
var name = "HKCode";

AssemblyDefinition assemblyDefinition = Mono.Cecil.AssemblyDefinition.ReadAssembly(input);

assemblyDefinition.Name.Name = name;
assemblyDefinition.MainModule.Name = name;

assemblyDefinition.Write(output);
#

just do this

safe hamlet
#

bruuuh

fickle bolt
dark wigeon
#

dnspy I think uses the same decompiler but they changed a bunch of things

#

think of like cryengine and lumberyard

#

also if that works lol

#

did you drag the script or did it just work

copper nacelle
dark wigeon
#

yes it uses same decompiler

#

but dnlib instead of cecil for other stuff

#

but I've compared the output from dnspy and ilspy and a lot of things look different

copper nacelle
#

yeah

#

like dnspy doesn't support local methods without looking at the compiler generated class but ilspy handles them fine

safe hamlet
#

ah

dark wigeon
#

what if I streamed myself coding again

safe hamlet
#

imagine streaming coding tho

dark wigeon
#

"today, I'm going to change this number from 4 to 5"

copper nacelle
#

I'd probably watch until I go to sleep

safe hamlet
#

"today, i'm going to just write letters and number and stuff happens"

#

i am trying to work on my mod

#

it's so boring

#

i don't get how people do it

dark wigeon
#

go watch a movie then come back

safe hamlet
#

buddy

#

that's what i have been doing for months

copper nacelle
#

The trick is giving up

fair rampart
#

that's what I did

#

tiso boss mod is dead haha

copper nacelle
#

me irl

safe hamlet
#

o yea

#

jngo

#

can you give me your oboloboble mod

fair rampart
safe hamlet
#

bruh it wasn't on github before

fair rampart
#

it is now

copper nacelle
#

why are all of your comments block comments

fair rampart
#

cause I'm fucking retarded

fickle bolt
#

i love how unity crashes every time i try to enable monobehaviours in worldedit blobsadlife

safe hamlet
#

relatable

#

ur a monobehavior

fickle bolt
#

how did u know

safe hamlet
#

because you are a behavior that is mono

fickle bolt
#

good observe

dark wigeon
#

you know monobehaviours are bad, but have you seen particlesystems

#

particlesystems are great

fickle bolt
#

particle systems work

#

yea

dark wigeon
#

they change every minor version of unity

#

every single one

#

you have to manually rip it from the type tree to get it to work right

fickle bolt
#

sadness

#

but hk never change unity version

dark wigeon
#

cldb.dat is almost never the exact minor version you want though

#

so the monobehaviour thing didn't work

#

you could load the dll, but trying to remove the filter crashes?

fickle bolt
#

filter?

#

oh

#

yea

#

when i remove ur filter it crasho

#

dll loads fine and i can manually put scripts on stuff tho

fair rampart
dark wigeon
#

its a bit complicated but the code is there to do it

#

if you can load the dll, all you have to do is change the assembly name and it should figure it out

fickle bolt
#

ok looks spooky but i will give it a try

dark wigeon
#

monoclass is really slow though, so don't be surprised if it takes 20 seconds to generate a fixed typetree

#

its about half a second for each type, but there can be tons of types

#

also you have to worry about mono indexes as well

fickle bolt
dark wigeon
#

yeah, I don't think I've ever run it in play mode before

fickle bolt
#

yea i just thought id see what happened but is the acid usually that fast cuz it looks sped up

dark wigeon
#

idk, could be a script set to slow it down or something?

#

haven't looked into it but did notice it was sped up

#

as you probably know, you can change the speed in the material/shader settings

fickle bolt
#

if i tweak the distortion and speed for the lake it looks much more normal so maybe it imported wrong or it needs a script

dark wigeon
#

create a mod or something to check the material's speed value and then you'll know if it gets set dynamically or if its something weird in the editor

fickle bolt
#

hm might try that after i have a go at importing scripts

dark wigeon
#

and now we have diffing, although I'm not sure why a lot of these values are different

#

I could just hand these values over to the mod, or I could ...

#

speak of the devil, they're all particlesystems

#

so maybe the conversion didn't work lol

fickle bolt
#

nice lol

dark wigeon
#

have you seen a particle system expanded

fickle bolt
#

nop but i can imagine it would be pretty bad given how many properties they have

#
// in ReferenceCrawler#FixAssets
if (inf.curFileType == 0x72) { // monobehavior
  AssetTypeValueField m_Script = field.Get("m_Script");
  var className = m_Script.get("m_ClassName").GetValue();
  if (className == null ) {
    Debug.Log("this happens");
  }
}

sadness tho

dark wigeon
fickle bolt
#

jeez what the heck

dark wigeon
#

I have no idea what is being detected as different in the two particlesystems, there's way too many things it could be

fickle bolt
#

yea lol

dark wigeon
#

as for the code, get shouldn't be lower case lol, you can also call GetDummy() to check if a field is null, even if it has no value

fickle bolt
#

oh its not lowercase i just typed it wrong into discord

dark wigeon
#

also to follow a pptr use am.GetExt

#

if you haven't figured it out already, pptr is just an asset pointer

#

so use GetExt to get the instance of the class at that pointer

fickle bolt
#

o h ok cuz the audioclips and texture2d's didnt use getext so i assumed i shouldnt either

dark wigeon
#

In referencecrawler?

fickle bolt
#

yea

dark wigeon
#

lol 56 I'll stream tomorrow

safe hamlet
#

are you gonna stream the assetbundle thing again GWmythsBlobGlare

#

i hope not, that thing is boring

dark wigeon
#

nah speedcoding

fickle bolt
#

s p e e d co d i n g

#

today i will be coding at 2x speed yes

safe hamlet
#

haha yes

dark wigeon
#

anyway the reason why those don't have getextasset is because there's already a list of references

#

which surprise, comes from getextasset

solar jacinth
#

I wish i could code at 3x speed

dark wigeon
#

I wish i could code at ∞x speed

fickle bolt
#

ohno now with gettexasset unity is crashing again

dark wigeon
#

I mean the trick is to keep writing different code until unity stops crashing

fickle bolt
#

amazing

#

it dosent give me any useful crash log which sucke

dark wigeon
#

most of the time it would sound like I'm joking, but I'm serious this time

#

there's kind of an editor crash log, but most of the time the error isn't helpful

#

it's only helped me out once

fickle bolt
#

yea its just like

Read from location a0306d60 caused an access violation.

Context:
RDI:    0x587bcb60  RSI: 0x000025ad  RAX:   0x5ff02d20
RBX:    0x76ce7fa0  RCX: 0x40404040  RDX:   0x76d138e0
RIP:    0x40ab5ba4  RBP: 0x534afa89  SegCs: 0x00000033```
dark wigeon
#

yeah that one

#

yeah I can't really figure out the problem with only register values

#

nor with memory dump

#

I think you could probably do something with the pdbs, I'm just not smart enough for that

fickle bolt
#

mhnm neither am i blobsadlife

dark wigeon
#

blob club? blobsmiley

fickle bolt
dark wigeon
unborn tusk
fickle bolt
#

even with getext every monobehavior has null classname :(

AssetTypeValueField m_Script = field.Get("m_Script");
AssetTypeValueField scriptBaseField = am.GetExtAsset(inst, m_Script).instance.GetBaseField();
var className = scriptBaseField.Get("m_ClassName");
if (className.GetValue() == null) {
  Debug.LogWarning("blob sad life");
}
dark wigeon
#

so normally when you try to get an ext asset, it reads the data from the cldb.dat file

#

instead, you want to read from the cldb.dat and the assembly-csharp.dll

#

you'll need to get it using am.GetMonoBaseFieldCached(inst, inf, "path-to-managed-folder-here")

#

blame unity for all the complexity

#

wait a second

#

I'm dumb

#

well the above is for monobehaviours

#

monoscripts should work fine

fickle bolt
#

but the behaviour is the component and the script is the file, right ? so isnt the thing im trying to get a behavior

dark wigeon
#

in theory, your code would work

#

where are you putting it at

fickle bolt
#

in fixassets for assets with id 0x72

#

it never gets past getting the classname because its always null

dark wigeon
#

but scriptBaseField isn't null?

fickle bolt
#

nope

dark wigeon
#

that's pretty wack

#

let me try πŸ™‚

#

what other changes did you make besides that one

#

and removing ext.info.curFileType == 0x72

fickle bolt
#

thats all ive done apart from renaming the dll

dark wigeon
#

ok but I don't think I have to worry about the dll part as I'll block the scene from loading

fickle bolt
#

yea the problem happens way before loading the scene anyway

dark wigeon
#

probably reading from the wrong file is my guess

fickle bolt
#

ooh

dark wigeon
#

I got it to work with a bad hack

fickle bolt
#

orly

dark wigeon
#

I'm watching tv right now but if you want to try

fickle bolt
#

sure what did you do

dark wigeon
#

add this

if (typeName == "PPtr<MonoScript>")
    continue;

under
if (typeName.StartsWith("PPtr<") && typeName.EndsWith(">") && child.childrenCount == 2)

#

around 135

#

like I said, pretty bad, but works for now

fickle bolt
#

lol yea not the best but if it works at all then its an improvement lol

dark wigeon
#

normally you'd just reverse the pptr but I tried that and it didn't work

fickle bolt
#

isnt that just skipping every monoscript tho

dark wigeon
#

I probably did something dumb

#

it's skipping the replacement of every monoscript so that you can read it from the correct pointer

fickle bolt
#

o h ok

dark wigeon
#

essentially, it lets you read from the perspective of levelxxx in hollow_knight_Data rather than from the newly created scene asset in memory, "editorscene"

#

I'll add monobs later but for now I need to get the rest done

fickle bolt
#

sadnewsbolb

AssetTypeInstance scriptBaseInst = am.GetExtAsset(inst, field.Get("m_Script")).instance;

is null now if i use ur fix

#

mayb i am just bad because you said it worked for u

dark wigeon
#
else if (inf.curFileType == 0x72)
            {
                AssetTypeValueField m_Script = field.Get("m_Script");
                //convert scene pptrs to game ones
                AssetTypeValueField scriptBaseField = am.GetExtAsset(inst, m_Script).instance.GetBaseField();
                UnityEngine.Debug.Log("child count: " + scriptBaseField.pChildren.Length);
                foreach (AssetTypeValueField v in scriptBaseField.pChildren)
                {
                    UnityEngine.Debug.Log("child: " + v.templateField.type + " " + v.templateField.name);
                }
                var className = scriptBaseField.Get("m_ClassName");
                if (className.GetValue() == null)
                {
                    throw new Exception("blob sad life");
                }
            }

is my code and it doesn't print blob sad life

#

I tried the reverse thing but it didnt work so ignore the comment

fickle bolt
#

i like how you kept my great error message lol

#

that looks the same as what im doing but ill try

#

when i use your exact code i get null reference at

AssetTypeValueField scriptBaseField = am.GetExtAsset(inst, m_Script).instance.GetBaseField();
``` because instance is null ![blobsadlife](https://cdn.discordapp.com/emojis/454158903509516298.webp?size=128 "blobsadlife")
dark wigeon
#

hmm weird

#

thats what im using

fickle bolt
#

you use AssetID.FromPPtr onj line 147 which dosent even exist for me what

dark wigeon
#

o wow

#

just put this in the AssetID class

        public static AssetID FromPPtr(AssetsFileInstance inst, int fileId, long pathId)
        {
            string fileName;
            if (fileId == 0)
                fileName = inst.path;
            else
                fileName = inst.dependencies[fileId - 1].path;
            return new AssetID(fileName, pathId);
        }
fickle bolt
#

hooray

MonoScript [ Class: PlayMakerCollisionStay2D,  Namespace: , Assembly: PlayMaker.dll ]
MonoScript [ Class: DamageHero,  Namespace: , Assembly: Assembly-CSharp.dll ]
... many more
#

alas this happens for every monobehaviour when you try to open the scene

Assertion failed: Assertion failed on expression: 'i != m_Object.end()'
0x00000001412F77B6 (Unity) StackWalker::GetCurrentCallstack
0x00000001412F832F (Unity) StackWalker::ShowCallstack
0x00000001411B5970 (Unity) GetStacktrace
0x00000001406DC583 (Unity) DebugStringToFile
0x00000001406DCD61 (Unity) DebugStringToFile
0x0000000140AB5B95 (Unity) SerializedFile::GetType
0x0000000140AA29D9 (Unity) PersistentManager::GetAllFileIDsAndTypesFromPath
0x0000000140800B09 (Unity) GetFileIDsForLoadingScene
0x000000014080167E (Unity) LoadSceneOperation::Perform
0x0000000140801E83 (Unity) PreloadManager::ProcessSingleOperation
0x0000000140801FDB (Unity) PreloadManager::Run
0x000000014080236E (Unity) PreloadManager::Run
0x00000001408B9328 (Unity) Thread::RunThreadWrapper
0x00007FFE36F87BD4 (KERNEL32) BaseThreadInitThunk
0x00007FFE37BCCEE1 (ntdll) RtlUserThreadStart
dark wigeon
#

I'm not really surprised

fickle bolt
#

lol

fickle bolt
#

omg progress at last πŸ‘€ πŸ‘€ i can see where each script is supposed to go

solar jacinth
ornate rivet
#

I tried destroying all of PV's children and it still teleports back to the arena range

#

very confused rn

flat forum
#

what

#

how does that make sense

dark wigeon
#

Well if the computer says so then it's right

ornate rivet
#
foreach (Transform child in gameObject.transform)
{
    Destroy(child.gameObject);
}
foreach (PlayMakerFSM i in gameObject.GetComponentsInChildren<PlayMakerFSM>(true))
{
    i.enabled = false;
}
foreach (PlayMakerFixedUpdate i in gameObject.GetComponentsInChildren<PlayMakerFixedUpdate>(true))
{
    i.enabled = false;
}
foreach (PlayMakerUnity2DProxy i in gameObject.GetComponentsInChildren<PlayMakerUnity2DProxy>(true))
{
    i.enabled = false;
}
#

I have a button that teleports pv to the knight

#

the moment it gets teleported, it goes back to (61, 124.6)

#

I beg for help

fair rampart
#

lmao

dark wigeon
#

Intercept the transform set for that gameobject name, print the trace, ez

ornate rivet
#

Not sure how I would intercept a transform getting set

#

is there a hook for it?

dark wigeon
#

Monomod can do that

#

Just hook the property's get method

#

Check the name of it's gameobject so it doesn't spam the console

#

It was supposed to be a joke but I guess it is a valid way of solving the problem to see who sets the transform

ornate rivet
#

hmm ok I'll try it. It's not like I have many other options

copper nacelle
#

watch it get inlined

ornate rivet
#

Is this not how the hook is done?

    .... awake method
    IDetour hookTestMethodA = new Hook(
            typeof(Transform).GetMethod("GetPositionX", BindingFlags.Instance | BindingFlags.Public),
            typeof(PVFixer).GetMethod("Hook_GetPositionX", BindingFlags.Instance | BindingFlags.Public)
        );
}
public float Hook_GetPositionX(Transform self)
{
    Log("name " + self.name);
    return self.position.x;
}
#

it breaks the mod

#

pls tell me the bigbrain mistake I'm making

dark wigeon
#

It's set_localPosition not "GetPositionX" but it's in the localPosition property

solar jacinth
#

@ornate rivet

ornate rivet
#

this?

private void Awake()
{
    _control = gameObject.LocateMyFSM("Control");
    IDetour hookTestMethodA = new Hook(
            typeof(Transform).GetMethod("set_localPosition", BindingFlags.Instance | BindingFlags.Public),
            typeof(PVFixer).GetMethod("set_localPosition_hook", BindingFlags.Instance | BindingFlags.Public)
        );
}
public void set_localPosition_hook(Transform self, Vector3 to)
{
    Log("name " + self.name);
    self.localPosition = to;
}
copper nacelle
#

This ain't it

#

You're treating it like a detour but it's a hook you're using

#

Specifying bindingflags for something that's public is useless

#

but the params are the actual broken part here

#

The difference between a hook and a detour is a hook is what you get with on, you can call orig and have to take that as a param

#

A detour is overwriting what the original method does

dark wigeon
#

Also you need to get the method of the localPosition property, not the transform itself. Look in dnspy if you're confused

copper nacelle
#

Also you call the method you're detouring in your detour

solar jacinth
#

@ornate rivet

copper nacelle
#

why do you always ping Saleh

#

just wait

dark wigeon
#

@copper nacelle

copper nacelle
ornate rivet
#

so what you're saying is that I should get INTERNAL_set_localPosition(ref Vector3 value)

dark wigeon
#

I don't think you can because its a pinvoke

#

but all the property does is call INTERNAL_set_localPosition

copper nacelle
#

you should use hook

#

and actually use it properly

#

Hook takes the original method as an arg

#

So you'd have ```cs
public void LocalPosition (Func<Transform, Vector3> orig, Transform self, Vector3 to)
{
}

#

Also another note is that the hook constructor won't take an instance method without you specifying the instance

#

So

dark wigeon
#

according to stack overflow, your original method is typeof(Transform).GetProperty("localPosition").PropertyType.GetMethod("set_localPosition", BindingFlags.Instance | BindingFlags.Public)

ornate rivet
#

so when you want the get/set method of a property you find it with get/set_propertyName?

copper nacelle
#
private void Awake()
{
    _control = gameObject.LocateMyFSM("Control");
    new Hook
    (
    typeof(Transform).GetProperty(nameof(Transform.localPosition).GetSetMethod(false),     typeof(PVFixer).GetMethod(nameof(LocalPosition),
    this
        );
}
ornate rivet
#

oh

copper nacelle
#

Sorry for the formatting I'm on mobile

#

And then like nes said you want to print the stack trace only if the go is HK prime

dark wigeon
#

yeah I didn't know about getsetmethod

#

you can't use nameof in c# 4 tho

copper nacelle
#

but we aren't using c# 4

#

monomod FeelsOkayMan

dark wigeon
#

I like to keep everything in .net 3.5 for compat

#

does hk even use 4?

copper nacelle
#

Idk

#

Oh .NET 4?

#

Or C# 4

#

Cause it uses 3.5 .net wise

dark wigeon
#

c# 4 is 3.5 .net I guess

rain cedar
#

You can use all the newer C# features in whatever .net version

copper nacelle
#

^

dark wigeon
rain cedar
#

Upgrading the language version is fine

dark wigeon
#

if I set it to .net 4, it allows it, and back to .net 3.5 and it has this error again

copper nacelle
#

Just set the language version

rain cedar
#

I use C# 7 + .net 3.5 all the time

copper nacelle
#

Yeah

dark wigeon
#

ok

ornate rivet
#

how come the orig function only wants transform for its parameter and not the vector as well?

copper nacelle
#

what

dark wigeon
#

I think the issue is the csproj's are generated by the editor, so it would just overwrite it later?

#

shouldn't be an issue for mods though

copper nacelle
#

set your csproj to be readonly 😀

dark wigeon
#

lol good 1

ornate rivet
#

I don't understand, isn't the <Transform, Vector3> telling it that it takes 2 arguments?

copper nacelle
#

Oh whoops

#

Should be Action

dark wigeon
#

func has return values

ornate rivet
#

ok

copper nacelle
#

The func would take a vec3 and return a transform

ornate rivet
#

the opposite

dark wigeon
#

yes 56 wrong

copper nacelle
#

fuck

#

Is it not the first param as ret

rain cedar
#

last

copper nacelle
#

Unfortunate

dark wigeon
#

unfortunate

ornate rivet
#

Anyways, thanks guys, I think I understand this stuff now

ornate rivet
#

sigh

#

it doesn't get anything related to hk prime (it gets the player's running dust particles being set and stuff)

obtuse stag
#

quick question for mods: is VS needed?

shy cloak
#

No, although I would argue VS is probably the easiest way to develop .net libraries

buoyant obsidian
#

There's also Rider

#

and there's also a thousand less sane options

obtuse stag
#

I ask that because I use a text editor to make mods on another game

#

so I just wanted to know if it was possible here too

#

I'm a bit allergic to VS

shy cloak
#

Sure, you're going to have to find a way to compile your code into the DLL, and pairing that fact with VS' intellisense stuff......

buoyant obsidian
#

you could find a way to make your text editor compile C# but the right choice is suffering through VS

obtuse stag
#

ugh

#

all that fancy stuff messes with my brain

#

I'll try to get a deeper look tomorrow then...

#

All for the sake of making a fun mod anyone can use

rain cedar
#

Notepad and manual msbuild is the big brain IDE

dark wigeon
#

use butterflies to code c#

#

on a different modding server, there was one person who said they weren't allowed to install anything made by microsoft ...

obtuse stag
#

oops

#

but yeah, I'll probably try to handle VS

copper nacelle
#

what do you normally use

obtuse stag
#

notepad

dark wigeon
#

Notepad++ or msnotepad?

obtuse stag
#

++

#

I'm really not smart with code, so I'm more eased with text stuff only

shy cloak
#

Learning a more comprehensive IDE is most likely preferable when it comes to .net

#

Yeah there's a lot to learn, but you'll thank yourself later imo

copper nacelle
#

if you're using vs i'd get resharper

#

if you can

obtuse stag
#

I'm not sure I get what you mean

shy cloak
#

It helps keep your code nice and neat

#

among other features

obtuse stag
#

I installed visual studio 2019, is this suitable?

shy cloak
#

Yep that's what I use

#

Honestly, I'd use VS for a week by itself and then look into Resharper

#

There's enough to learn with just VS, and getting confused between what's VS and what's Resharper might make it that much tougher

#

But definitely do check out Resharper at some point

#

That's my two cents tho, I'm no real authority

obtuse stag
#

i'll dl it in advance

ornate rivet
#

resharper slowed down vs for me to the point where every letter I typed took 5 seconds to display

dark wigeon
#

Download more cpu

ornate rivet
#

My laptop more than passes all the requirements

rain cedar
#

ReSharper does that yeah

#

Only for the first 10 seconds or so, though

ornate rivet
#

hmm

fair rampart
#

weird, my desktop with a gtx 1080 and 32 GB ram isnt having any slowdown problems

rain cedar
#

If the lag is too annoying but you want the code analysis stuff, you can switch to Rider

#

Lag is why 56 switched

shy cloak
solar jacinth
#

who is this guy

copper nacelle
#

who

solar jacinth
#

the cartoon character

floral furnace
#

its from Hilda

solar jacinth
#

ah a netflix show

obtuse stag
#

not really, lol

#

that's old

solar jacinth
#

it is a netflix show

ornate rivet
#

I still don't like it

floral furnace
#

you using fsm states for this

ornate rivet
#

no

#

lol why would I

floral furnace
#

Β―_(ツ)_/Β―

#

dunno the Team Cherryβ„’ way

ornate rivet
#

If I had PlayMaker I would try to at least, just to see if it's easier

floral furnace
#

oh yeah that shits paid i forgot

fair rampart
#

just spend a week implementing your own in code

flat forum
#

her 3 part attack works like Sly's

floral furnace
#

that sounds like agony to be frankly honest

flat forum
#

like, going behind her makes her change direction

ornate rivet
#

Rn I have a class that has each attack in a method
In another class, I run through different strategies/checks in a "main" method that gets called every time a list of attacks gets finished.
So if it wants to do a combo, the main method adds moves.backflip(), moves.attack(), and moves.airattack() then loops through and plays them out. Then it restarts the process.

#

idk if that's the best way to do it though

floral furnace
#

just rand(1,2) all of them

ornate rivet
#

I do rand occasionally, like when choosing between lightning and jumpSlam

dark wigeon
floral furnace
#

how many attacks does she has

ornate rivet
#

moves or attacks?

solar jacinth
#

say both

floral furnace
#

and i say that just in time i say that theres literally a giveaway, nice

#

yeah both

#

no wait attacks

ornate rivet
#

AirAttack
Regular Slash
Lightning
Air Slam

floral furnace
#

you do player transforms check i presume?

ornate rivet
#

yea

floral furnace
#

real hitbox hours

obtuse stag
#

that boss seems very frustrating to fight

floral furnace
#

it just needs adjustments honestly

ornate rivet
#

the hit box is fine though thinkgrub

floral furnace
#

does she actually has a backward hit in momodora

ornate rivet
#

probably not

#

in the videos it didn't seem like she did

floral furnace
#

unfortunatis

ornate rivet
#

major change it needs currently imo is better delay between attacks

floral furnace
#

maybe a bit "facing" state?

fair rampart
#

I see you also weren't able to get a good fade upon returning to the HoG

ornate rivet
#

yea, weird...

#

All I do is set the scene's fsm to go back

#
var endCtrl = GameObject.Find("Boss Scene Controller").LocateMyFSM("Dream Return");
endCtrl.SendEvent("DREAM RETURN");
floral furnace
#

send it on an earlier state before dream return, /shrug

ornate rivet
#

it might be because of the eternal ordeal tbh

#

ttacco wdym by "maybe a bit "facing" state"

floral furnace
#

like an inbetween "face the player with a very small delay" first before executing any of her attacks

ornate rivet
#

I'll try that

#

wish she had turning animation

floral furnace
#

oh, she doesnt?

ornate rivet
#

no

floral furnace
#

oh

solar jacinth
#

ask mino to make one lol

#

oh wait they are no longer here

#

unfortunate

ornate rivet
#

they are here

#

dungo

floral furnace
#

toxic

solar jacinth
#

i know but in the word of active

floral furnace
#

theyre here, just not "here" here

solar jacinth
#

this

ornate rivet
#

ah yes, totally makes sense

obtuse stag
#

shroompog I managed to compile and load the example mod

ornate rivet
#

noice

#

did the example mod get fixed or is it still broken?

obtuse stag
#

I still have troubles with VS, but having managed something basic, makes me happy

#

step by step

#

no idea

#

example mod 3 is supposed to have settings, but I'm not sure where you see them in game

ornate rivet
#

that's not what it means

obtuse stag
#

oh

ornate rivet
#

or maybe it is, I dont remember tbh

obtuse stag
#

that's the commentary, so I dunno

#

//How many hits in between crits? Defaults to 4 if never set before.

#

seems like a config to me

unborn flicker
#

none of them work anyways

obtuse stag
#

rip

ornate rivet
#

yea you right, it gets them from a global settings file

#

someone should update the example mods garmond

obtuse stag
#

ok, so, from this point, what's the best way to go? Should I read the existing mods and see how some things are done?
Though that might be confusing

ornate rivet
#

Do you understand how to use hooks?

obtuse stag
#

A bit, I 've made some basic mods in C# for another game

#

SO I mostly need to know the correct ones

#

though I mean basic, so I don't have big knowledge either

ornate rivet
#

If you know how to do the stuff in the docs, the best thing would be to look at other people's mods

obtuse stag
#

mhm

#

stuff like UI and such?

ornate rivet
#

sure

#

you can pick the mod to look at based on what you might want to do later

obtuse stag
#

mmmh

#

I found the randomizer 3 git for info

#

that should have some interesting stuff

#

this is going to be a real path of pain, but I hope it'll be worth it

#

no, it will!

rain cedar
#

The example mods have the structure right, they just don't do what they're supposed to beyond that

#

So copying them is fine, just don't try to change nail damage that way

obtuse stag
#

Yeah, the mod isn't supposed to touch many things

#

it'll mostly be a lock out of the hollow knight boss room, and an UI

#

bit like another black egg door to unlock

rain cedar
#

Sounds simple enough

#

What's the second condition for getting in?

obtuse stag
#

well, that's where the meat of the mod will be

#

It'll be a fancier integrated bingo board

#

for funnier randomized runs

#

but it'll work with normal saves as well

rain cedar
#

I see

#

You planning integration with bingosync?

obtuse stag
#

I want to have it work as a sort of quest list

#

mh?

#

I don't know it

rain cedar
#

It's what we use for bingo right now

#

It's not a mod or anything, just a website

obtuse stag
#

ah

#

Well, it'll be similar in spirit

#

but I want to make categories fancier

rain cedar
obtuse stag
#

with a set of each difficulty objectives, and some challenge ones that can be failed

#

the challenges are particular because it can't be done in a normal bingo

rain cedar
#

There were some challenge objectives but they ended up not being very fun

#

Stuff like no stags, no benches

obtuse stag
#

they'll be tougher objectives, and if you fail them, they'll get replaced by a normal objective

#

Yeah, I'll have them be smaller challenges

#

like, beat a boss without dying

#

or obtain an item before the other

#

I don't having specifics written down yet

#

that'll come when I manage to get an UI working

#

hopefully it'll be able to spice up runs, without actually changing the game directly

rain cedar
#

Probably gonna be hard to get a ui design that isn't intrusive

obtuse stag
#

yeah

#

I was thinking of having it be on prompt

rain cedar
#

What do you mean by that?

obtuse stag
#

a hotkey to show and hide it

rain cedar
#

Gotcha

obtuse stag
#

so you'd be looking at them like a map

#

not shown all the time

rain cedar
#

You could also look into something like the item tracker

obtuse stag
#

though I could add some fancier stuff afterwards that shows when you complete an objective

rain cedar
#

Don't have to worry so much about ui space if it's a separate window

obtuse stag
#

mmh

#

which mod is it?

#

or, if you have the link, it's even better

rain cedar
#

It's not even really a mod

#

There's a playerdata tracker mod that notifies of pd changes over a web socket

#

And someone made an item tracker website based off of that

obtuse stag
#

mmh

rain cedar
obtuse stag
#

nice, thanks

#

bookmarking all that info down

#

Obviously, considering my current skill, I know it's a long way from here, but I will do my best to make it a reality

heavy pelican
#

what good mods do you guys have

fair rampart
#

what's orig_TakeDamage in On.HealthManager.TakeDamage?

safe hamlet
#

the orginal method

#

since On overrides the default behavior, you would need to call orig if you want to preserve the original behavior too

fair rampart
#

how is it done so both grimms die at the same time in NGG?

copper nacelle
#

Both are set to 3.2k

#

And then when the sum goes below 5.6k they die

fair rampart
#

is there an event sent or something to trigger the death?

copper nacelle
#

no

#

Just uses SetState

#

And hp is checked every frame

#

Might want to ask Sid what he does

#

For double vessel

#

@safe hamlet x5fiftPrime

fair rampart
#

@safe hamlet maggotprime

safe hamlet
#

ah

#

let me enlighten you

#

that essentially override the default method

#

then i just custom handle the ending in update

#

where i just call BossEndScene from the bossscenecontroller

#

if the two hps are below a certain value

fair rampart
#

let's see how I can adapt this to sisters of battle

#

can you show your Update?

safe hamlet
fair rampart
floral furnace
#

chad

fickle bolt
#

a soul for a soul

solar jacinth
#

pink :(

fickle bolt
#

correct

solar jacinth
#

is this deepnest

#

or custom made area

#

oh wait this is kings pass

fickle bolt
#

yeh

#

we should make a game

#

guessing areas from pink version

#

5 geo to winner

solar jacinth
fickle bolt
#

what is the preload table for in a scene?

#

also what the heck, I generate scene with 4kb file size and then when Unity does its asset refresh it decides to convert the scene to YAML and make it take up 16kb and also not work

solar jacinth
#

wtf

fickle bolt
#

omG the stupid yaml converter was causing my pink textures

solar jacinth
#

glad you found the problem

fickle bolt
#

yea its a hooray

solar jacinth
#

delete it GWcorbinHolyFuck

fickle bolt
#

i mean yea that works for now but the button should be there lol

solar jacinth
#

ah yes

#

couldnt find any answers in online too

fickle bolt
#

i couldnt find anyone with this issue

#

i shall look h a rd er i suppose

fickle bolt
#

it seems like one of the hollow knight scripts replaces inspector with that lol..

#

aand gdi dont u love it when u think it all good then new error greet u

[Error Edit] Recursive Serialization is not supported. You can't dereference a PPtr while loading. (Constructors of C# classes may not load objects either. See stacktrace.)-
solar jacinth
#

yeah

dark wigeon
#

Preloadtable is basically a list of monoscripts unity needs to load before it starts or the engine crashes

#

It's pretty dumb

fickle bolt
#

oh ok

#

i got this to work btw :D

dark wigeon
#

As for yml thing, that is weird that was enabled

#

Nice

fickle bolt
#

although idk how to get a knight