#archived-modding-development

1 messages ยท Page 67 of 1

pearl sentinel
#

Oh and if it still softlocks you can noclip out and restart it or w/e

rustic stag
#

Does anybody know how to create your own hook?
Having some trouble here.

copper nacelle
#

add one, create a pull request

#

iirc there's some event thing

#

that you add

rustic stag
#

Yeah Gradow showed me what to do. Also, I don't use Github much. But I think I know what you mean.

rustic stag
#

On second thought, no idea what to do. I just want to get the hook I made added to the API. Do I need someone to give me permissions to the repository?

exotic venture
#

nah you make a fork and you merge changes

rain cedar
pearl sentinel
#

i love source control

solemn rivet
#

^

rustic stag
#

Okay, so if I did everything right, I just wait for my commit to be merged?

pearl sentinel
#

So watching graig's vod of the randomizer stream, he hit this weird bug that causes your jump to stall out. I thought it was caused by something in my mod, but apparently it's an issue with the base game that is fixed in the remaster happygrub

rain cedar
#

Yeah every speedrunner knows the frustration of that

#

It's when other shit touches the ceiling

#

Or the walls

#

Or anything, really

#

And sometimes just when the game feels like it

hollow pier
#

pretty much every glitch is when the game feels like it

rustic stag
#

I just tried out my health hook, and it works! It's first thing I've ever made that didn't cause 15 errors when I compile the first time!

solemn rivet
#

gj!

copper nacelle
#

lmao

#

nice

solemn rivet
#

so, this new hook gets called whenever you heal?

pearl sentinel
#

OH

#

i figured out why the first crawler of the game is never randomized

#

it has a totally unique name

#

from all other crawlers

copper nacelle
#

wtf

#

why tho

pearl sentinel
#

idk

#

"Crawler Fixed"

#

well, now it'll be randoed

solemn rivet
#

"Crawler Broken" is its name now

pearl sentinel
#

gonna try adding the blue health bugs into the logic somehow

#

maybe i could make them drop from certian enemies

solemn rivet
#

imagine you hit the first blue cocoon, and then, boom!

#

ZOTE

pearl sentinel
#

what a disappointment

exotic venture
#

ah shit i didn't order this

#

get that rivalry achievement out of my face

pearl sentinel
#

actually i was thinking of randomizing the geo chunks a bit (big maybe here)

#

so some could be blue health

exotic venture
#

that would be cool actually

buoyant wasp
#

@rustic stag - Just reviewed your pull request. Won't be accepting it as is, see the comments ๐Ÿ˜ƒ

pearl sentinel
#

for posterity: fuck playmaker FSMs

#

that is all

copper nacelle
#

^

charred parrot
#

hey guys

#

where do they initialize RECOIL_DURATION?

young walrus
#

in an FSM somewhere probably

pearl sentinel
#

probably the recoil fsm

#

oh @young walrus graig said that he heard one of the playtesters tried to do float on the new version of the game and couldn't

#

(see his vod from last night if curious)

#

just an fyi

young walrus
#

not surprised

#

rip all things fun

pearl sentinel
#

just means you'll need to find new bugs teamcherry

young walrus
#

or a new game

pearl sentinel
thorn comet
#

or just downpatch?

leaden hedge
#

its alright at this rate cp3 will never come out anyway :^)

thorn comet
pearl sentinel
#

what happens when everything goes wrong:

leaden hedge
#

looks correct to me

young walrus
#

in a perfect world, the igt works first patch, and we never have fsms so they don't go away from them and completely change the speed game a year in,

copper nacelle
#

that's modlog

pearl sentinel
#

Ty!

copper nacelle
#

tfw output log is 162 mb

#

yw

pearl sentinel
#

Don't need output log

#

Well, mostly

#

If it's that big tho nvm prob

obtuse sequoia
#

what's an FSM and why do you all hate them so much?

#

I googled it but there's lots of them

#

like fecal sludge management

#

so idk which one to read up on

hollow pier
#

thats the one

solemn rivet
#

you got it

#

fsms are finite state machines

#

basically flowcharts that tell the game what to do

#

and it sucks big time

slate owl
#

The problem is that its hard to mod something using FSM.

solemn rivet
#

they are... Somewhat inaccessible

pearl sentinel
#

i mean, a normal FSM probably wouldn't be too bad

#

the problem is that PlaymakerFSM is something that is stored in data and meant to be edited/modified in unity/in a tool

#

so from the modding side where we just have code, that makes it a nightmare to mess with

buoyant wasp
#

using FSMs the way that Playmaker does is like using a rusty spoon as a toothpick

fair rampart
shadow stump
#

genuinely terrifying

glossy pelican
#

nah

#

Primal Aspid!

fair rampart
#

Combine the abilities of lance sentry along with soul twister, crystal hunter, mantis petra and primal aspid into one enemy and make that the only enemy

glossy pelican
fair rampart
#

Yeah, like that

vagrant leaf
#

kerr said he might add the option to control which enemies can be rando'd in enemy randomizer

#

so you can choose all the worst enemies

#

or have only crawlids and vengeflies

fair rampart
#

Please yes

#

Make it only traitor lords, gruz mothers and brooding mawleks

pearl sentinel
#

Might? I will definitely do that. The only reason I haven't yet is that I'm trying to add more enemies into the rando rotation. Hopefully crystal guardian will be working by the end of the weekend (fingers crossed)

amber vigil
#

does anybody have a link to Gradows mod that actually workds

#

works*

#

as in the mod installer

#

the one that is pinned

rain cedar
#

Use kerr's

#

I think it's better

amber vigil
#

Is that Crossroads?

rain cedar
#

Yes

amber vigil
#

It isnt working for me

rain cedar
#

What's your system and game version?

#

Also define not working

amber vigil
#

Win10 1.2.2.1

rain cedar
#

Steam?

amber vigil
#

I click apply, it doesnt install the mods I have checked

#

steam

rain cedar
#

So no changes in your game?

#

Are you installing the API as well?

amber vigil
#

Yes.

rain cedar
#

Check if there is a file called ModLog.txt by your save files

amber vigil
#

I check the boxes on Modding Api and Boss Rush then click apply. Then it says "Installing files for Modding API and never changes

rain cedar
#

Is your internet connection just extremely slow? Could be taking a while to download

#

It is quite small, though

amber vigil
#

100MBps

#

Down

#

it isnt that

rain cedar
#

Alright that's no issue

amber vigil
#

what is the location for my saves?

rain cedar
#

Press win+r to open run and put in
%appdata%\..\LocalLow\Team Cherry\Hollow Knight\

amber vigil
#

I do not have the ModLog file

rain cedar
#

Yeah, figured since the installer is the problem here

#

I'm not sure if that has any debug output

#

I've never actually used either installer

#

I'd recommend just trying a manual installation

amber vigil
#

Do you mind walking me through real quick then?

#

or referring me to a video?

rain cedar
#

Sure, there's a video in the pins

amber vigil
#

watching now

#

Ok I got the mod to work

#

I beat the first two bosses in it

#

why do I not have dash after beating Hornet>?

rain cedar
#

It's random rewards

amber vigil
#

oh geez

#

hard to do some of these guys without dash haha

#

you wanna tell me how to do soul tyrant without dash? lmao

rain cedar
#

Just get better

#

Or lucky

fair rampart
#

guys

#

when i install the boss rush mod it says there is a new version and i can't toggle the mod at all

#

i need help

#

pls

#

its also the same with debug

rain cedar
#

Version checking can't be trusted to be accurate right now

#

The github certificate in it is out of date and I don't know how to generate a new one

#

Wyza set that up

pearl sentinel
#

So far the only case I'm aware of that has the mod installer failing is when someone tries to run it from a windows Temp path or from inside the extraction window of a zip or similar program. According to my friend who worked at MS, there's some special rules with what actions you're allowed to perform from Temp. I have an issue in to add something that tells at the user about this on the next version...

solemn rivet
#

Mine should fail... Idk when

buoyant wasp
#

so, it's not a certificate issue, cause the certs are still valid and match

#

gotta be something else

#

question is, what

#

i'll try and figure it out

#

(btw, i just used openssl s_client -connect api.github.com:443 to get the cert for it. nice and simple, the cert itself should be valid till 2020. I'll add the command to the comments in the API though so that we don't forget ๐Ÿ˜‰

buoyant wasp
#

also, @rain cedar - I saw that you said the post-build was failing for you, but you still got the dlls. If you can send me the log output from the build, i'll see if i can figure out what it is.

noble trout
#

im playing with enemy randomizer why cant i turn off v sync or turn on full screen

#

doesnt work with arrow keys either

hollow pier
#

no its above particle effects

leaden hedge
#

because the hack I used to extend the menus

#

breaks the fullscreen button

noble trout
#

i cant off v sync

#

my screen tears like hell

#

what can i do

hollow pier
#

just play with vsync easy

leaden hedge
#

turn off vsync without mods installed ๐Ÿค”

#

and then reload your game ๐Ÿค”

hollow pier
#

why isnt vsync already off

#

๐Ÿค”

noble trout
#

its on u dungo

#

that is why its tearing

hollow pier
#

go to city of tears

solemn rivet
#

Umm isn't vsync supposed to fix tearing, and not cause it?

copper nacelle
#

yes

#

that's literally its job

noble trout
#

hmmm

pearl sentinel
#

Remove my mod, toggle vsync. It is a bug and I will look into it

hollow pier
#

fuzzy fake news

noble trout
#

so enemy randomizer just makes the game run like shit

#

got it โœ…

hollow pier
#

its because the enemies need to rando

#

almost like its the enemy rando mod

pearl sentinel
#

I mean, I just got the mod last update to a mostly stable place. Optimizations and bug fixes will be coming but I appreciate the bug reports so I know what to fix

buoyant wasp
#

so, i know why the version checking broke

#

Gtihub disabled TLS1.0/1.1. i hope the version of mono that HK uses supports TLS1.2...

#

and, that's a big fat nope

#

not only does it not support it

#

the most recent version of unity 2018.2, still doesn't work with 1.2 right

copper nacelle
#

wtf

buoyant wasp
#

That one will be fixed in 2018.2, code for this is on the way to our main development line but sadly won't make it to 2018.1

#

like

#

wth

fair rampart
#

how do i close the menu on debug mod?

#

keybind or smth

copper nacelle
#

f2

buoyant wasp
#

TLS 1.2 has been around for literally 10 years

fair rampart
#

it only closes it partially ๐Ÿ˜ฆ

buoyant wasp
#

F1?

fair rampart
#

wow cant believe i didnt figure that out.. lmao

#

thanks

buoyant wasp
#

sigh well, i guess for now, i'm gonna have to disable version checking ๐Ÿ˜ฆ

#

i'm sure there is some other option like bundling an SSL library with the modding API, but I really don't want to deal with that across linux, mac and windows right now

#

K, i've pushed a new version of the api up and uploaded it to the drive. The GithubVersionHelper now always returns version 0.0 regardless of what name you pass it. This effectively disables version checking for the foreseeable future. Not much we can do about it for now.

copper nacelle
#

o o f

austere gust
#

which mod allows me to create a spawn point i can respawn to/tele to? i know the game isnt meant to be played this way but im not having fun running back to soul master lol

young walrus
#

Debug mod. And the run back to soul master only has 1 soul twister in the path if you take all shortcuts

austere gust
#

i see mightve missed some then

young walrus
#

Broken wall to the right of cornifer bench room

#

Like, right next to him

solemn rivet
#

Literally right next to him

young walrus
#

Ya. Then take the elevator on the left of the next room, then the shortcut above the 3 soul twisters in the 2nd room after that

fair rampart
#

hmm been trying to figure out debug mode for like 30 min or so, you can only set a spawn point in your current "map", if you tp to the spawn from a different area it bugs out

#

its intended?

young walrus
#

spawn point is hazard respawn

#

which only works per room

#

if you want to set teleports, put down a dream gate

#

you can have infinite of those down and chose which to TP to

fair rampart
#

ohh ofc im retarded

young walrus
#

just select which one you want to go to on the top right

fair rampart
#

ye got it now ty alot

young walrus
#

๐Ÿ˜‰

obtuse sequoia
#

is the infinite dream gates a debug mod thing?

young walrus
#

yes

fair rampart
#

I'm curious about this enemy randomiser
and these other mods
I don't want to mess up my 106% save, and I doubt there's any way to only get these mods to affect one save file
also I'd like to know a bit more before jumping into these mods

vagrant leaf
#

just don't go on your 106% save when the mod is installed

#

just having it installed won't fuck up your save

fair rampart
#

hmm okay

#

@fair rampart
You can back up your saves if you're paranoid

#

what's the 110% mod?

vagrant leaf
#

i get mods all the time and my 106% is still vanilla

#

adds some more %

#

like all geo clusters

fair rampart
#

oh

#

for the OCD people?

vagrant leaf
#

probably

fair rampart
#

I've seen bonfire

#

you can grind till you can oneshot every boss

vagrant leaf
#

yeah

#

it's pretty neat

#

i kinda think enemies should drop more geo so you can balance normal geo usage and levelling

#

instead of just grinding

fair rampart
#

what do these do, if you don't mind me asking
Blackmoth (Gradow)
Charm Notch Mod (Seanpr)
Dreamshied Co-Op (753)
Empress Muzznik (753)
Lightbringer (753)
Player Data Tracker (KDT)
ScaleMod (753)

vagrant leaf
#

oh wait

#

oh

#

blackmoth turns your main attack into your dash

#

basically makes nail do one damage

#

and shadow dash available from the start

#

and it does damage

fair rampart
#

oh

#

yikes

vagrant leaf
#

and nail charms affect dash

#

uhh

#

charm notch mod gives you salubra's charm as soon as you get them

hollow pier
#

dshield co-op is pretty wacky it just allows one player to control dshield and one controls knight

#

its local only

vagrant leaf
#

yeah

fair rampart
#

whoa

vagrant leaf
#

empress muzznik buffs gruz

#

a lot

hollow pier
#

you can apparently pick up the knight too with dshield idk

fair rampart
#

like super mario galaxy and that star thing

vagrant leaf
#

lightbringer makes your attacks ranged

hollow pier
#

adds a lot of other content too

#

play lightbringer

#

new charms and stuff

#

pretty cool

vagrant leaf
#

yeah it's great

fair rampart
#

what are the "new bosses" in lightbringer?

hollow pier
#

empress muzznik

vagrant leaf
#

muzznik is in it

#

not sure what player data tracker is tbh

hollow pier
#

i think it tracks player data

vagrant leaf
#

scalemod lets you control the knight's size

fair rampart
#

whoa

#

that sounds fun for dickin' around

vagrant leaf
#

yup

fair rampart
#

does your damage change?

#

for making yourself tiny?

vagrant leaf
#

yes

#

damage scales with size

#

iirc

fair rampart
#

gruz mother has never been so scary

solemn rivet
#

Bonfire does make enemies drop more geo and have more HP tho

#

Also, blackmoth adds other dash functionalities

vagrant leaf
#

ik i just remembered about the luck stat

#

and forgot about 8-way dash and all that

solemn rivet
#

Ye

vagrant leaf
#

i should do a full bonfire playthrough

#

maybe after gng

solemn rivet
#

Spoilers: it's boring

vagrant leaf
#

oh do you get like really op

#

halfway through the game

solemn rivet
#

I'm the mod creator and I'm willing to admit that

#

Yup

vagrant leaf
#

yeah that makes sense

solemn rivet
#

I tried to make the stats as slow scaling as possible

#

But it's so broken

fair rampart
#

Nightmare God Grimm (KDT)
FSM (kcghost)
?

vagrant leaf
#

maybe i'll just do hell mod with it

#

that would probably fix it

hollow pier
#

is it possible to scale per boss

solemn rivet
#

Try a Str/Dex build with some Luck and Res points... It's gg

hollow pier
#

it might be really bad early game banana

#

but easy lategame

vagrant leaf
#

nightmare god grimm is a mod that basicaly makes nkg actually unfair and stupidly hard

hollow pier
#

ngg makes him faster and the spikes attack always happens

solemn rivet
#

No, makes NKG actually a challenge

hollow pier
#

no ones ever done it

fair rampart
#

I found ngk hard enough

vagrant leaf
#

yeah literally no one has beat ngg

solemn rivet
#

Not in single segment at least

fair rampart
#

and the attacks overlapping would just make it... unfair

#

rather than fair but hard

hollow pier
#

there are two nkgs at the final phase

#

and they attack relentlessy

vagrant leaf
#

you should do original radiance

solemn rivet
#

But no one has beaten flukemilf nail0 single segment as well, so...

vagrant leaf
#

graig said they had to nerf it to what it is now

#

constant overlapping

#

and a random amount of homing balls

hollow pier
#

mick did collector nail0 only

#

its almost as bad

solemn rivet
#

also, I don't think NGG is unfair

#

I think it's theoretically possible to beat it no-hit

hollow pier
#

i mean its basically the nkg fight but you can stand in one spot

#

how would you do the last phase no hit

#

just ddark spam and get lucky by hitting both health pools

solemn rivet
#

I still think flukemilf n0 is the ultimate boss

fair rampart
#

fluke...milf?

solemn rivet
#

yup

copper nacelle
ornate rivet
#

how dare you block zote, our god

pearl sentinel
#

woo, fixed the slash spider enemy (devout)

#

now they will viciously hack at you once again

#

i made a component that tracks the current states of an enemy's FSMs and keeps track of what state it's in and when it transitions and what event triggers the transition. Used that to figure out that the slash spider was getting stuck in a "waiting" state. Added functionality to send a "WAKE" event for the slash spider (devout) when it gets in the stuck state and poof, be's back to being deadly.

#

now to use this to fix a bunch of other enemies...

solemn rivet
#

That tool sounds neat (devout)

pearl sentinel
#

It's super handy

#

I should've done this a long time ago

#

Having a component that runs on an enemy makes it much easier to do things

solemn rivet
#

still waiting on GnG, but depending on how much is changed on the FSM scene, I might need to do something similar to make multidirectional superdash work

pearl sentinel
#

yeah, i was just thinking "this is gonna be handy and probably useless real soon"

copper nacelle
#

sad but true

solemn rivet
#

not sad! We're (probably) gonna be finally free from FSMs!

buoyant wasp
#

seriously, i pray that it becomes completely useless, because that means our lives are gonna be alot easier

leaden hedge
#

enemy controllers are staying fsm

buoyant wasp
#

not really a surprise there, but it'd be nice if alot of the other stuff wasn't ๐Ÿ˜ƒ

rustic stag
#

Damn. So modifying enemies to any significant extent will still be a pain in the butt?

pearl sentinel
#

So good news for enemy randomizer: I got crystal guardian working

vagrant leaf
#

nice

pearl sentinel
#

He's really deadly in a tight space

#

If there's more than one the beams are weird because by default they reference the same beam prefab, so I need to fix that

#

Then you can fight a room full of them

vagrant leaf
#

do CG and CG2 rando separately?

pearl sentinel
#

I haven't tried to add cg2 into the rotation at all since it'll feel about the same

#

But yes it would

vagrant leaf
#

ok

#

nice

pearl sentinel
#

I'm hoping eventually that I can shuffle all the minibosses around, so you could fight crystal guardian in place of brooding mawlek, for example

vagrant leaf
#

oh that would be cool

pearl sentinel
#

Then maybe I can make a super brooding mawlek for part 2 if it does a swap like that

vagrant leaf
#

when rando choice gets added i might do a playthrough with only bosses and minibosses

pearl sentinel
#

Yeah, should be possible

#

Will be more fun the more of then I can fix/add in

oblique fjord
#

does anyone know the button to hide ui in debug mod?

vagrant leaf
#

f1

oblique fjord
#

the health bar

vagrant leaf
#

what health bar

#

enemy health bars?

#

there should be a toggle if you look in the binds

#

if not you can just manually disable it

oblique fjord
#

how? im new sorry

young walrus
#

you talking the MC's hp?

#

just click through the menu

#

there's like 10 pages of binds

oblique fjord
#

were can i find those?

young walrus
#

the main box

#

in the middle

#

click the pages button

#

should say like 1/10

#

or something

oblique fjord
#

oh thanks

#

found it. its delete

fair rampart
#

what's the best mod?

#

randomiser?

young walrus
#

depends on you

fair rampart
#

I kind of just want to dick around

pearl sentinel
#

Randomizer + EnemyRandomizer is probably what you want then, or debug mod

#

Or all of the above

fair rampart
#

what's the difference between randomiser and enemy randomiser?

pearl sentinel
#

Items / Enemies

fair rampart
#

so like charms?

vagrant leaf
#

charms and abilities are rando'd

#

in normal rando

#

any charm can be any charm or any ability

#

and any ability can be any ability or any charm

fair rampart
#

but what is you don#t get shade cloak

#

you need that

young walrus
#

what do you need shade cloak for?

fair rampart
#

oh sorry I mean mothwing cloak

vagrant leaf
#

then you use dj

#

there are precautions taken to avoid softlocks in rando

#

on hard rando you'll have to do some difficult skips

#

but usually you aren't just blocked off from progression

young walrus
#

^^

#

definitely recommend playing on easy

#

otherwise you're going to have a bad time

#

hard is intended for speedrunner use

#

or the very strong-willed

vagrant leaf
#

hard isn't that difficult imo

#

especially if you're lucky

#

the most i had to do is a couple shade skips and a fireball skip

pearl sentinel
#

The worst hard seed I had put double jump behind hornet 2

vagrant leaf
#

ez

#

pogo on shade

pearl sentinel
#

And the tear T shade cloak

#

At*

#

I ended up doing like 80% completion trying to find everything

#

It was my first randomizer tho, so I didn't know how to do the skip to get to hornet 2

young walrus
#

the best skip is going through the spike gauntlet in crystal peaks

pearl sentinel
#

See that one I could do bc it's just spikes

young walrus
#

do it with no dash

#

ooh, and then getting to crystal heart with no claw is fun too

pearl sentinel
#

Can you?

young walrus
#

yup

pearl sentinel
#

O.o

#

With double jump I assume?

young walrus
pearl sentinel
#

Oh ok, I was thinking you meant without wings

young walrus
#

nah. you can't even get here without wings

#

(if no claw)

pearl sentinel
#

I gotcha

young walrus
#

even if somehow you got to the top of the CP climb, there's that tall wall in the way

#

need wings to get over that

copper nacelle
pearl grove
#

nice try

sturdy jetty
#

Do the mods work on both Steam and GOG copies?

#

Do the mods work on Microsoft Windows, Mac OS X, Linux?

vagrant leaf
#

which mods

#

api mods should work on windows mac and linux

#

non-api mods i dunno

#

not sure what works on GOG

sturdy jetty
#

Will mods ever be on the Steam workshop?

#

Why do some people put Steam mods on the Steam workshop and some people just link them on Discord?

#

Is there a difference between the 2 practices?

vagrant leaf
#

there will most likely never be a steam workshop

#

for hk

sturdy jetty
#

I see. What factors need to happen for a certain game (not just Hollow Knight specifically) for a Steam workshop to exist?

vagrant leaf
#

i have no idea

#

if the devs feel like it probably

slate owl
#

I dont understand how you can make a bingo generator that doesnt consider how long a goal takes. XD

solemn rivet
#

devs have to actually add Steam Workshop support

copper nacelle
#

the bingo code is wtf

frail copper
#

@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf @vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf @vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf
@vagrant leaf

vagrant leaf
young walrus
#

@slate owl so make your own

frail copper
#

i cant delete

#

xd

young walrus
#

Or actually offer feedback

slate owl
#

@young walrus Is there a reason why the code obfuscated? (Aka intentionnally made illisible.)

young walrus
#

The list?

#

I made the list, I didn't make the first part. That was added by the dude who made the site so it fits in his system

slate owl
#

The list is great.

#

But it needs a logic to make it balanced.

young walrus
#

The list is intended to be balanced in and of itself.

slate owl
#

Like it's done on the OoT bingo for example. Which was also obfuscated by the site even though bingosync didnt even write the code for it XD

young walrus
#

Which is why there's a lot that isn't included

slate owl
#

The easiest way to balance things out is to add a difficulty to each goal.

#

And you try to balance the sum of the difficulty for each row/col.

#

To generate a short bingo, you make the difficulty sum lower than normal.

young walrus
#

We're not generating different lengths tho.

pearl sentinel
#

i don't think the bingo stuff had a programmer work on it?

#

(might be remembering wrong)

young walrus
#

All it does is pick 25 from the list. That's it.

#

And I'm by no means a programmer

#

But I wanted that shit done

#

So I did it

#

With a lot of help

#

On the actual coding

rain cedar
#

I could implement the system rainingchain is suggesting if you supply goal difficulties

#

See how it works out

slate owl
#

Oot Bingo already has the code for it actually, that considers difficulty.

pearl sentinel
#

I hear ya mickely ๐Ÿ‘

slate owl
#

But the code isnt the nicest to say the least...

young walrus
#

So just fucking fix it

pearl sentinel
#

dude just wanted to play some bingo, so he made himself a bingo

copper nacelle
#

why is the hk one obfuscated

#

but not the OoT one

pearl sentinel
#

it's not

copper nacelle
slate owl
#

I took the source code from the guy that coded the OoT bingo.

#

The guy that made bingosync just took his OoT code and obfuscated it.

pearl sentinel
#

@copper nacelle yeah that's just how it was programmed

copper nacelle
#

wtf

pearl sentinel
#

hm, looks like that was just the code that was used as a starting base then (shrug)

copper nacelle
#

what's the point of open sourcing if you're going to obfuscate your code

slate owl
#

Exactly XD

pearl sentinel
#

interesting thing: i disassembled like 20+ steam games the other day to poke around in their source

#

and only axiom verge had used an obfuscator

rain cedar
#

You looked at the salt and sanctuary source?

pearl sentinel
#

i got it, haven't looked in it much yet

rain cedar
#

Might as well be obfuscated for all the sense it makes

copper nacelle
#

lol

pearl sentinel
#

but i was going to

rain cedar
#

Fuckers love magic numbers and switches

pearl sentinel
#

man, i can believe it

rain cedar
#

Motherfucking switches

#

Everywhere

#

And the player is the same class as monsters

pearl sentinel
#

i've seen switch statements like you wouldn't believe

#

which reminds me, have you seen the article "how to get fired using switch statements"

slate owl
#

Player and monster sharing same class is normal.

rain cedar
#

I haven't

pearl sentinel
#

great read

rain cedar
#

It's not the same base class

#

It just IS the same

slate owl
#

Oh...

pearl sentinel
#

reminds me of the old monolythic architecture where the EVERYTHING was a base class

#

i remember seeing a lot of old games that were like that

#

base class bloated with every property, so doors had health and damage etc

rain cedar
#

Sounds awful

pearl sentinel
#

it was dark days

slate owl
#

I did a bit of coding for OoT.

#

In MIPS.

#

Kinda impressive what ppl could do 3D with assembly.

rain cedar
#

Yeah I couldn't do that

#

Definitely not

pearl sentinel
#

from the reddit thread on that article last year, someone posted this

    switch (!0) {
        case (createAccountForm = forms.filter(createAccountForm), !!createAccountForm.length):
            createAccountFormFn(createAccountForm);
            processQueryString(createAccountForm);
            break;
        case (addNewProperty = forms.filter(addNewProperty), !!addNewProperty.length):
            addNewPropertyFn(addNewProperty);
            processQueryString(addNewProperty);
            break;
        case (!!templates.length && templates.is(contactUsFormTemplate)):
            contactUsFn(forms);
            break;
        case (!!templates.length && templates.is(loginFormTemplate)):
            loginFn(forms);
            break;

        case (!!templates.length && templates.is(forgotPassTemplate)):
            forgotPassFn(forms);
            break;

        case (!!templates.length && templates.is(GetSecurityQuestionTemplate)):
            resetPasswordFn(forms);
            break;
    };
copper nacelle
#

what the fuck

pearl sentinel
rain cedar
#

Oh no

pearl sentinel
#

i learned about some atrocities reading that

#

but i feel better knowing they exist now

#

in case i run into them

rain cedar
#

I think my favorite part of that is it's switching on a constant

pearl sentinel
#

like

#
#include <stdio.h>

int main() {
    int i = 0;
    switch (i) {
        i += 100;
        i += 5 + ({ case 0: 7; 5; });
    }
    printf("%i\n", i);
}
#

it's just scary

copper nacelle
#

why

rain cedar
#

What is that even meant to do?

pearl sentinel
#

apparently, it prints 10

copper nacelle
#

wtf

slate owl
#

About the bingo.

#

I think the first task would be to add approximative difficulty to each goal.

pearl sentinel
#

probably, someone just needs to do it

slate owl
#

I feel the bingo and the randomizer are closely connected.

#

Randomizer is NMG only though.

#

So probably doesnt work well actually...

pearl sentinel
#

a bunch of glitches will be gone/changed really soon anyway

slate owl
#

Because ideally, for each goal, we have the dependencies.

#

Then for a row, we have the list of dependencies.

#

And we can estimate how long each dependencies take.

pearl sentinel
#

doesn't sound complicated, my small amount of time is going into my enemy randomizer right now though

slate owl
#

Is the bingo meant to be played NMG mostly or any%?

young walrus
#

NMG

#

The specific problem you're worried about isn't really an issue because we only really do double line bingo, lockouts, drafts, or blackouts, which normalizes the overall difficulty far more than single line does.

charred parrot
#

Question.

#

For every scene, is there an instance of the Knight, or does one Knight move from scene to scene?

pearl sentinel
#

one

#

example line from the code:


    public static HeroController instance { get; }

fair rampart
#

@pearl sentinel
Do you just use dnSpy to do the disassembling?

pearl sentinel
#

i did

#

probably could have used any number of tools

#

so i was just reading through this PlamakerFSM's states and found this

#
\----PFSM StateName: Blow Chunks
#

i found that way too funny... i should go to bed

copper nacelle
#

lol

pearl sentinel
#

especially since its actions are to fling objects

#

ohh it's the corpse state machine

#

i was confused because it also had stuff like


[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                    \----PFSM StateName: Corpse Gone Goop
#

success!

#

after fixing crystal guardian, also fixed these little guys

copper nacelle
#

nice

pearl sentinel
#

tomorrow i fix mages and electric mages

#

man enemy randomizer is gonna be a lot harder

copper nacelle
#

is hk still invisible

#

invisible thk is amazing

pearl sentinel
#

probably

#

you're the only one who's gotten there

#

else i feel i'd have more reports about that

copper nacelle
#

cool

rain cedar
#

Enemy randomizer doesn't really incentivize actually beating the game

#

It's more fun to just go around everywhere looking at the crazy shit

#

I mean why would I go fight bosses that are the same as without the mod?

copper nacelle
#

for invisible thk

pearl sentinel
#

well, once all the enemies are working, i intend to spice up the bosses

rain cedar
#

Collector random spawns would be really cool

pearl sentinel
#

that "should" happen right now

#

(untested)

rain cedar
#

Ah ok haven't tried in a while

copper nacelle
#

do lost kin spawns work now

pearl sentinel
#

untested

#

they should though

vagrant leaf
#

choose rando enemies when

pearl sentinel
#

i just don't have time to test

#

once all the rando enemies work

#

the toggle list is next after "make everything work"

copper nacelle
#

lol

solemn rivet
#

I've just seen lobosjr posting his DS2 SOTFS enemy randomizer run, now I'm even more excited for HK enemy rando

pearl sentinel
#

it's comin' along

solemn rivet
#

so, can someone explain to me why we don't have cheat tables for HK like we do in some other games? How is HK different from those games?

hollow pier
#

cheating is bad

solemn rivet
#

I don't mean tables for cheating, but some games use CE to actually implement mods

buoyant obsidian
#

I started making a cheat table but stopped because it was too hard compared to dnSpy

fair rampart
#

Mmmh... What is FSM mod?

copper nacelle
#

fsm dumper mod?

#

dumps FSMs

#

(finite state machines)

#

useful for modding so you know what to change

solemn rivet
#

I'm planning on making a few videos showcasing the mods we have, showing some features, some gameplay etc.

#

will be useful for all those people asking "what ze mods do"

copper nacelle
#

inb4 remaster kills everything

solemn rivet
#

not for long, I hope

copper nacelle
#

yeah

ornate rivet
#

inb4 remaster doesnt change anything

solemn rivet
#

it most surely will

open owl
#

can someone help me with crossroads

ornate rivet
#

with what mod?

open owl
#

enemy randomizer

ornate rivet
#

what's your problem?

open owl
#

the enemys are normal

exotic venture
#

have you enabled the mod

open owl
#

yeah

exotic venture
#

it's disabled by default

#

have you pressed the big "Turn on Enemy Randomizer" button?

#

in the top right corner?

open owl
#

i clicked randomizer

#

is it two dif things

exotic venture
#

yeah

#

one on the mods menu

#

one on the start menu

open owl
#

wait it appeared after i exited the menu

#

thanks

exotic venture
#

ayy no prob

copper nacelle
fair rampart
#

Is there a specific mod that allows you to put all the charms you want?

young walrus
#

debug mod

fair rampart
#

I have no idea of โ€‹โ€‹modding

#

thanks

#

good, I think I broke the game

vagrant leaf
#

what happened

fair rampart
#

I dont know

#

I think something with: Assembly-CSharp.dll

young walrus
#

did you watch the video on installing?

#

or use the crossroads installer?

fair rampart
#

I followed the instructions of "READ ME"

#

but probably I did something wrong

#

lets go to reinstall

young walrus
#

watch the video in pins

#

or use the crossroads installer

#

also in pins

solemn rivet
#

use installers

#

should have no issues

young walrus
#

just make sure to actually extract the installer before using

#

it won't work in the temp folder

fair rampart
#

one question: if I have my user.dat.bak files saved.
I'm sure my games are safe??

young walrus
#

the installer has an option to backup saves

#

and the .dat.bak is not what you want

#

they're usually terrible backups

#

copy the user.dat files somewhere you want to keep them safe

fair rampart
#

thanks!!!

#

I'm trying to fix this

solemn rivet
#

also, if you don't load a save while using a mod, nothing will happen to that save

#

not telling you not to backup

#

but at the same time, you don't need to worry too much

fair rampart
#

ok

fair rampart
#

my potato laptop is awesome

#

not really

solemn rivet
#

I run HK on my potaters laptop

#

60fps hype

maiden moss
#

Would be cool if the nail upgrades could be added to the randomizer pool (sequentially for each item picked up). Also so some trolly seeds could have progression at Nailsmith ๐Ÿ˜„

daring snow
#

Nail upgrades pose a problem on hard seeds due to a lot of the trickier skips relying on multiple pogos off enemies

#

It could potentially halt progression

maiden moss
#

I guess they would be added to the logic of the seed if required for those hard skips

young walrus
#

That would almost be too OP. Cuz youd have to put non progression items behind the actual nail upgrades potentially too

daring snow
#

The only truly useful time to get a nail upgrade would be when you have the win condition movement abilities

#

So at that point it would be pointless

maiden moss
#

True True, then maybe add Maps to dilute the item pool then too? Lots of Conifer places to check

young walrus
#

that would add too much value to shops again

#

cuz you wouldnt even have to talk to him

#

just go to the shop and buy them

maiden moss
#

ah yea... It's too bad shops are so OP in this particular randomizer

burnt laurel
#

i just tried out the resize mod, and when i rested at a bench i fell through the floor

#

whenever i rest at a bench, it forces me to maximum size and i fall through the ground

fair rampart
#

omg, after 999h, I finally reintall the game. Why am I so bad doing this things?

#

these*

solemn rivet
#

what's wrong deibe?

#

let us help you troubleshoot this

#

also, Graig, is this your final form?

fair rampart
#

Its ok now :)

#

I think I will try mod in other time

pearl sentinel
#

he's not SSJ Graig yet

#

def not final form

burnt laurel
#

is there a fix for the problem i stated earlier about the resize mod?

solemn rivet
#

I... don't think so

young walrus
#

don't play the mod

pearl sentinel
#

how much health does the highest health boss have?

#

anyone know ish off the top of their head?

fair rampart
#

How do you look at the menus for the debug mod? i closed then and don't know how to open them back up

void tree
#

press f1

fair rampart
#

just turns sound off

young walrus
#

radiance has 3k

pearl sentinel
#

awesome, ty!

young walrus
#

though 1300 is when you're smacking her shit

pearl sentinel
#

so if i set something's hp to 10k that might be a bit high

fair rampart
#

Hoolp me

young walrus
#

restart the game

#

but it's F1

#

like the first 5 function buttons hide different menus

#

F1 does all of them

solemn rivet
#

those are the default bindings

fair rampart
#

I did

solemn rivet
#

you did...?

#

restart the game?

#

are you sure debug is installed?

fair rampart
#

It is, i restarted once

rain cedar
#

Whenever I get around to working on mods again I'm gonna remove that hide menu button

#

Because apparently it's not clear enough that "hide menu" hides the menu

#

With that gone, it'll be impossible for anyone to close the menu without knowing the key to reopen it

#

Unless they just button mash or some shit

#

Also your problem is you're on a laptop

#

@fair rampart

#

Press fn+f1

young walrus
#

lol

#

not actually pressing F1

rain cedar
#

Basically, yeah

narrow night
#

?help

rain cedar
#

Same

narrow night
#

will it going to be mods that add lots new charms to the game ? :c

rain cedar
#

Really depends on how much someone wants that to be a thing

#

More effort than it's worth in my opinion

narrow night
#

oh

rain cedar
#

What you were meant to take away from that was "He's not going to do it but I can because I really want it to be a thing"

#

But I think what you got was "He's not going to do it so it's never happening"

copper nacelle
#

what fsm is the mantis lord boss stuff

#

i can't find any mantis lord fsms grimm

rain cedar
#

It's probably just called something like boss control

copper nacelle
#

I just didn't dump them apparently

#

thanks for the help

solemn rivet
#

The more I think of it, the expression "dumping FSMs" makes more and more sense

copper nacelle
#

lol

fair rampart
copper nacelle
#

you don't understand what

young walrus
#

"i don't understand almost nothing"

#

so you understand everything?

#

what resolution is your game at?

fair rampart
#

Mmmmh... Sorry, im spanish so its normal

young walrus
#

"all charms" "kingsoul: 4" "grimmchild: 2" "Heart Fix" "Greed Fix" "Strength Fix" "overcharm"

#

numbers are levels

#

fix are for fragile charms

fair rampart
#

Aaaa. Ok ok

young walrus
#

kingsoul 1 = 1 fragment, 2 = the other fragment, 3 = kingsoul, 4 = voidheart

fair rampart
#

Thanks guys!

solemn rivet
#

try playing fullscreen if that helps

#

iirc you're playing on a laptop, right?

fair rampart
#

Actually im playing on it

#

Yes laptop

#

hahahaha

hazy sentinel
#

iirc you're playing celeste, right?

copper nacelle
fair rampart
#

Yes, I am

#

Mmmh... Is it possible to put all the charms at the same time with debug mod?

solemn rivet
#

never tried it...

#

dunno tbh, maybe?

#

if not, that's not hard to do yourself using the save editor

fair rampart
#

save editor?

solemn rivet
#

it's in pins

fair rampart
#

Its easy to use, but how can I save the changes?

copper nacelle
#

save button?

#

in the menu iirc

fair rampart
#

there are Backup, set save location, add folder and new savefile

copper nacelle
#

you have to open a file first?

fair rampart
#

?

copper nacelle
fair rampart
copper nacelle
#

hit file

#

(top left)

fair rampart
#

omg, reaaly? Im stupid

#

hahaha, thank u so much

copper nacelle
#

yw

fair rampart
ornate rivet
#

but you dont even need mods for this

#

just use good old cheat engine

#

thats how I beat the game

pearl sentinel
#

Reduced extra geo on enemies by about half.
Fixed mage knights from ambushing you at room entrance.
Added crystal guardian and laser beam miner.
Fixed slash spider (devout).
Optimized the randomization a bit.
Added toggle for custom enemies and added first custom enemy. (it's a surprise).
Added baulder and centipede hatcher. (Their spawns might be randomized)
Moved laser crawlers from under the ground, now they will rotate around in the air and at least be a threat.
Moved tiny spiders into the wall crawler category for randomization.
NOTE: This is a candidate build, it needs a bit of testing before I put it on the drive.
Added debug key to print the scene to modlogs for when testers/players encounter weird stuff (Press T)

#

ok... i think that's all

vagrant leaf
#

custom enemy

#

re

#

what enemy

#

surprises are not tolerated here

pearl sentinel
#

it may or may not be related to the primal aspid

vagrant leaf
#

FUCK

pearl sentinel
#

also it might be a boss

vagrant leaf
#

F U C K

pearl sentinel
#

that's all i'll say for now

pearl sentinel
#

first iteration of this custom enemy

#

we'll see how this goes

#

Actually I wanna make that one day if possible

#

This one is only slightly modified

ornate rivet
#

wait you added custom enemies to randomizer?

solemn rivet
#

singular

pearl sentinel
#

One right now, but creating it forced me to start the logic for custom enemies

#

Also the foundation for randomizing parts of enemies

solemn rivet
#

parts

copper nacelle
#

how do you get an fsm from only its name

solemn rivet
#

what do you mean by "parts"?

rain cedar
#

You type the name into your search bar in explorer

#

After dumping all the fsms

pearl sentinel
#

FSMUtility.LocateFSM (gameobject,"name")

#

I think

solemn rivet
#

PlayMakerFSM fsm = FSMUtility.LocateFSM(gameobject,"fsmName");

copper nacelle
#

but what if I don't have a gameobject

#

i think it's playmakerfsm.fsmlist.find

#

which takes some weird predicate thing

pearl sentinel
#

Uh, the fsms are attached to a game object

solemn rivet
#

you need the game object

#

you could iterate over objects in the scene until one has the desired fsm

#

that's what most mods do (at least mine)

rain cedar
#

Use linq to find the gameobject with the right name

#

Linq is cool

solemn rivet
#

Linq is powerful

pearl sentinel
#

Linq is cool

solemn rivet
#

I'm sadly not used to it yet

pearl sentinel
#

Pls don't abuse linq

#

But it is cool

solemn rivet
#

I can use it to do some easy stuff, but nothing too complex

pearl sentinel
#

Oh, I made the first part of room randomizer today

solemn rivet
#

you mean, the logic for it, I assume?

#

not the actual implementation

rain cedar
#

Probably the implementation

pearl sentinel
#

I made a script that turns a scene into a grid of open space/filled colliders

rain cedar
#

Nobody wants to do the logic

#

It's shit

solemn rivet
#

huh

pearl sentinel
#

And exports that to a png

#

A collision map

#

Then added A* pathfinding to connect entrances using the grid

solemn rivet
#

that's an interesting approach

pearl sentinel
#

Idea being to import the collision maps and modify the A* to find paths

#

Using a few rules for skills etc

rain cedar
#

That sounds like it would be hard to get right

#

How about you do something easy instead? Like:
Run a player through the room 100000 times with random inputs and every combination of skills

#

Would probably be done by 2025

pearl sentinel
#

The only thing I have to do is write the different cost functions for the A*

#

Won't be perfect, but it'll probably be able to map the majority of rooms

solemn rivet
#

^

#

should help mapping "straightforward" rooms

rain cedar
#

You would need to add a fuck load of special conditions to get it to map everything right

pearl sentinel
#

Probably

rain cedar
#

Even if you get it to where like 70% of the mapping is right it's just as much work to find the 30% that's wrong as it would be to just map everything

pearl sentinel
#

Maybe, but much more fun to play with pathfinding than manual mapping

solemn rivet
#

how would we even know the mapping is right tho?

rain cedar
#

Yeah can't argue with that

solemn rivet
#

we still have to manually check

copper nacelle
#

guess and check

rain cedar
#

Yes exactly

#

That's why it's just as much work

pearl sentinel
#

The maps print the paths and collision maps to pngs

#

You can see it visually for all paths and maps

solemn rivet
#

unless

rain cedar
#

I could see that being a lot less work, then

#

Looking over images you can tell for the most part if something is right

solemn rivet
#

you could make the game actually test for you

#

like if it finds a path, he actually spawns a knight and tries to do that path with it

rain cedar
#

That sounds hard

pearl sentinel
#

Maybe? Idk about having the cpu play it

young walrus
#

The only nice part about doing all rooms manually is that it's exhaustive for all possible scenarios, including skips

pearl sentinel
#

But that would be neat

solemn rivet
#

but it's kinda in the way kerr and mick were going with the record inputs thingy

pearl sentinel
#

Yeah, the A* won't get skips

rain cedar
#

Probably easier to just do stuff like steal the knight's jump arc from the game

#

And dash distance

#

Just use stuff like that in the pathfinding

pearl sentinel
#

That's kinda what I was thinking, something like that

rain cedar
#

It doesn't sound like you're getting stuff like breakable objects but you could also try to include those as jump modifiers

solemn rivet
#

it wouldn't account for pogoing off of enemies tho

rain cedar
#

Yeah fair point

#

Too many special cases to think of

solemn rivet
#

yup

rain cedar
#

Just get the easy stuff

pearl sentinel
#

Yeah, I'm just going for basic paths, like, I don't think it would be possible for it to map path of pain

solemn rivet
#

at the very least, having a collision map with (some) paths drawn would be very neat

pearl sentinel
#

But all the normal areas should be possible

rain cedar
#

I wonder what the minimum for some of those path of pain rooms is

#

It would be fun to get one right at the start if there's a way through any of them dashless

pearl sentinel
#

Now that would be mean

solemn rivet
#

I think I can remember a screen where you could possibly do it with claw and wings

#

oh, no, there's a small gap you need to dash through at the end

#

nvm

copper nacelle
#

so if I wanted to add a shockwave to stuff

#

would I just have to load a scene with an enemy that has a shockwave?

rain cedar
#

The spell fsm is always there, try stealing the ddark side things

#

That's shockwavey

#

Probably pulls from some prefab idk

solemn rivet
#

do you mean the visual effect or the actual impact?

pearl sentinel
#

Some things are trickier I've found

#

Like crystal guardian's laser beam

copper nacelle
#

like the actual impact

solemn rivet
#

if it's only the visual effect, should be easy

copper nacelle
#

trying to add it to the mantis slam thingy

solemn rivet
#

and which shockwave do you want to borrow from?

copper nacelle
#

any tbh

solemn rivet
#

you can try using the shadowRingsPrefab

#

that's what I'd used for crit in earlier versions of bonfire

#

it's the shockwave for when you're hit by a move that deals 2 damage

pearl sentinel
#

Oh thanks for the prefab reminder, I need to look through those again

solemn rivet
#

oh yeah

#

a prefab list would surely be handy

pearl sentinel
#

I did it when I started enemy randomizer looking for enemies and was sad to find none

#

I wonder if there's one for the boss Roar

#

I was trying to steal crystal guardian's earlier

solemn rivet
#

no success, I assume?

pearl sentinel
#

The particle effect or animation is embedded in the Beam Miner state machine

#

It'll take more fsms sleuthing to pull it out

copper nacelle
#

i just dropped 50 feet through an acid pool

solemn rivet
#

acid does that to you

pearl sentinel
#

Doing what?

copper nacelle
#

jumping into it

solemn rivet
#

did you accidentally remove the floor beneath it?

copper nacelle
#

i don't think so

rain cedar
#

Some acid/water doesn't have ground under it

pearl sentinel
#

Updated enemy randomizer link on google drive and github

copper nacelle
#

does it have that dump fsm thing now

pearl sentinel
#

oh, i mean, i have something, it's not great tho

#

what do you want specifically to do?

#

i can paste the debug stuff for you

copper nacelle
#

list the fsms of an enemy

pearl sentinel
#

yeah, it can do that

#

you'll want stuff from 2 files

#

and most of these

#

then call that Print with a true for print components

copper nacelle
#

ok

#

thanks

pearl sentinel
#

example output will look something like this

#
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintTransform(Component c, String componentHeader) ::::                                         \--Transform Position: (36.4, 14.6, 0.0)
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintTransform(Component c, String componentHeader) ::::                                         \--Transform Rotation: (0.0, 0.0, 0.0)
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintTransform(Component c, String componentHeader) ::::                                         \--Transform LocalScale: (1.0, 1.0, 1.0)
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintComponentType(Component c, String componentHeader) ::::                                         \--Component: MeshFilter
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintComponentType(Component c, String componentHeader) ::::                                          

#

er

#

wrong part

#
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintComponentType(Component c, String componentHeader) ::::                                         \--Component: PlayMakerFSM
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \--PFSM Name: FSM
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \--PFSM FsmDescription: 
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \--PFSM StateNames
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \----PFSM StateName: Initiate
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \----PFSM ---- Transitions for state: Transition on FINISHED to state Reset Rotation?
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \----PFSM ---- Actions for state: Actions on Initiate ::: GetOwner
[INFO]:[EnemyRandomizer] - ComponentExtensions.PrintPlayMakerFSM(Component c, String componentHeader) ::::                                         \----PFSM ---- Actions for state: Actions on Initiate ::: AudioPlayerOneShotSingle
#

use

public static HutongGames.PlayMaker.FsmState GetFSMState( this GameObject gameObject, string stateName, string fsmName = "" )

to easily get and edit a state

or

public static T GetFSMActionOnState<T>( this GameObject gameObject, string actionName, string stateName, string fsmName = "" ) where T : HutongGames.PlayMaker.FsmStateAction

to get/edit an action (or the plural version if there's multiple)

copper nacelle
#

alright

#

found the fsm happygrub

pearl sentinel
#

example of editing an action to change how far primal aspid flies from you:

            HutongGames.PlayMaker.Actions.DistanceFly df = newEnemy.GetFSMActionOnState<HutongGames.PlayMaker.Actions.DistanceFly>("Distance Fly","spitter");
df.distance.Value *= 1.5f;
#

i've had very little time to clean anything up, so sorry for the mess

#

i did make a coponent to print the states of something at runtime, including when it transitions and what events cause it to transition

#

if you snag the DebugOnWake class from

https://github.com/Kerr1291/EnemyRandomizer/blob/master/EnemyRandomizerDll/EnemyRandomizer/EnemyRandomizerLoader.cs

and use the function in that file

public DebugOnWake AddDebugOnWake( GameObject enemy, string fsmName = "", List<string> wakeEvents = null, Vector2? customColliderSize = null )

and set


public bool monitorFSMStates = false;

to true, it will print all the live state info on an object

copper nacelle
#

woah

pearl sentinel
#

it's still a work in progress, but it's how i've fixed most of the broken fsms so far

#

since you can see where the fsm gets stuck

lusty barn
#

Btw Iโ€™m in full support of an orbiting vessel mod

solemn rivet
#

how would that work?

copper nacelle
#

tfw the on-screen modlog is cut off

pearl sentinel
#

I switched to running tail -f | grep whatever on the modlogs

copper nacelle
#

wait no it isn't

#

or is it

#

it was cut off but now it's not i think

#

setting a message to appear every frame was a mistake

vagrant leaf
#

that's a folly

#

not a mistake

#

smh

copper nacelle
young walrus
#

smh my head

vagrant leaf
#

shaking my head my head

pearl sentinel
#

I just copy from the zote mistake channel, blame zote

#

He should sanitize his mistakes zote

copper nacelle
#

lol

buoyant wasp
#

the problem with tail

#

at least if you use WSL is that tail locks modlog