#archived-modding-development

1 messages · Page 213 of 1

floral furnace
#

56 git gud

#

just give yourself 5000 damage on debug

compact sedge
#

if that's the real reason then take my help.

cunning lagoon
#

ideally you'd like to not touch the ground at all and lead the fireballs out of the screen so they despawn

copper nacelle
#

yes but what do i do if i touch the ground

compact sedge
#

well u die cuz the ground is void

copper nacelle
cunning lagoon
#

you just wait until she teleports near you and "reset" it

copper nacelle
#

i c

#

should i ddark in place too

cunning lagoon
#

watch my fury vid i actually mess up the last phase completely

#

so you can kinda see the "backup"

#

uhh sure if it helps

copper nacelle
#

thank

cunning lagoon
#

also you are dashing to dodge the fireballs

#

dont do that

#

just move to the sides

#

and they just go up

copper nacelle
#

but then i fall

cunning lagoon
#

?

copper nacelle
#

and fail the pogo

#

cause i'm not far enough

compact sedge
#

hey ttacco don't make me beg the radiance to let me help you because I will

cunning lagoon
#

this one should help

#

it's timestamped

compact sedge
#

the radiance is on my friends list

flat forum
#

yes

copper nacelle
#

3 hits => 1 side hit => platform => pogo again?

cunning lagoon
#

nah lol don't try to copy it

#

but it shows basically what you want to do

copper nacelle
#

ic

cunning lagoon
#

after a few pogos, you preemptively move to the other side

#

and keep pogoing her

#

so like the side hits are just me accidentally falling down

#

and i just use that to get one extra hit in

copper nacelle
#

o

cunning lagoon
#

yea it's not the actual strat

compact sedge
copper nacelle
#

have u tried

#

giving the error

compact sedge
#

no error just look at this crazy hook I'm adding

copper nacelle
#

oh ok

cunning lagoon
#

🤔

copper nacelle
#

if you think that's crazy

#

you should see what i was trying with tmodloader

#

@compact sedge

#
            foreach (MethodInfo mi in typeof(NPC).GetMethods())
            {
                DynamicMethod patched;
                using (DynamicMethodDefinition dmd = new DynamicMethodDefinition(mi))
                {
                    foreach (Instruction instr in dmd.Definition.Body.Instructions)
                    {
                        if (instr.Operand as int? == 200)
                        {
                            instr.Operand = 2000;
                        }
                    }

                    patched = dmd.Generate();
                }

                // ReSharper disable once ObjectCreationAsStatement
                new MonoMod.RuntimeDetour.Detour(mi, patched);
            }
compact sedge
#

wtf

copper nacelle
#

yes

#

need to do a few optimizations

#

such as not detouring unpatched methods

#

and using native detours

#

but this is still the plan

#

kurosh how

cunning lagoon
#

what part gives you trouble

copper nacelle
#

tri beam curtain

#

i thought my rng was god for once

#

and then death

cunning lagoon
#

yea that's a downside of that

#

if you waited a little bit before ddarking you could've walked a little bit to the side

compact sedge
#

wtf how do I set a tk2dFont to a normal ass font?

#

tk2dFonts use textures, materials, meshes

#

this is fuckn weird

copper nacelle
#

nice meme

#

bitmap font?

compact sedge
#

echhhhhhhhhhhhhhhhh

copper nacelle
#

shut ur up

compact sedge
#

hope the game never uses tk2d fonts

copper nacelle
#

bitmap fonts are great

compact sedge
#

fuck u I spent 2 goddamn hours converting a bunch of pngs to a ttf

#

so I could use it in libreoffice

copper nacelle
#

nice

rain cedar
#

tk2dfont is why I never finished the fan translation thing

#

Good luck with that

copper nacelle
#

aa fucking dies, 2k18

compact sedge
#

ooh boy

leaden hedge
#

buy tk2d

#

make font

#

export it

#

in assetbundle

#

ez

copper nacelle
#

s/buy/pirate

rain cedar
#

I tried that

#

I couldn't get Unity to recognize that there was a font in the bundle

#

Even though I made it in editor

leaden hedge
#

weird

compact sedge
#

does textmeshpro have a free trial

#

??

#

cuz apparently you do have to convert ur font to a bitmap

#

and it has a tool to do that

#

oh it is free

#

can you do that for me 56 pls

copper nacelle
#

ahh

compact sedge
cunning lagoon
#

wtf this is child abuse

#

he's not your slave

leaden hedge
#

weren't we talking about tk2d 🤔

#

not tmp

compact sedge
#

ok

#

can I ask

#

which one does the game use for dialogue boxes

#

???

leaden hedge
#

conversations are tmp

compact sedge
#

ok what about lore tablets?

leaden hedge
#

stuff in the menu and ui is tk2d

compact sedge
#

I only care about lore tablets

leaden hedge
#

i dunno I've not looked at those

rain cedar
#

Whichever font class DialogueBox uses is the shit one

#

Tablet is probably just canvas

compact sedge
#

why is there no on.CanvasUtil?

copper nacelle
#

cause CanvasUtil is in Modding

#

game doesn't use it

compact sedge
#

reee sean

#

u confusing me

copper nacelle
#

it uses canvas without canvas util

#

ez

leaden hedge
#

canvas is a thing built into unity designed to be used with the editor

compact sedge
#

what's a scene with a lore tablet in it?

leaden hedge
#

canvasutil is just something I wrote to get rid of like 80% of your code being redundant when messing with canvas

rain cedar
#

Most of them

#

King's pass

leaden hedge
#

literally the very first area has one

#

like 20 seconds in 🤔

copper nacelle
#

elderbug lore tablet when

cunning lagoon
#

damn look at this guy getting to the first lore tablet in 20 seconds

copper nacelle
#

sub 50 GWfroggyPoggers

cunning lagoon
#

thats not the first tablet

compact sedge
#

ok 56

rain cedar
#

Focus prompt isn't a lore tablet though

copper nacelle
#

whomst

leaden hedge
#

also as for selecting fonts, doesn't language class have a font

cunning lagoon
#

but isnt it still what aa is looking for?

leaden hedge
#

that everything else reads

#

the game uses different fonts for russian, chinese and japanese and they are set in language 🤔

compact sedge
#

yeah but language class uses TMP fonts

#

so if 56 would be so kind and you don't have to but if you could download TMP which is free on the asset store and convert that font to a TMP font and put it in a bundle for me

#

I would be super happy

#

(and then in theory this should be all the code I need to get it to work.)

copper nacelle
#

e

#

nice method name

leaden hedge
#

you can load from binary so you don't need to put a file somewhere

#

also you probably want to actually check what language its being set to

#

so you dont end up with boxes on chinese / russian / japanese

fair rampart
#

what does the redwing assets mod do?

clear turtle
#

Can i custom config mods?
if yes how?

rain cedar
#

Any config that's not obvious in game will be in config files in your save folder

compact sedge
#

Would't it make more sense for mods to be initialized right before the main menu scene loads and not after it?

#

that way hooks added to scene transition would run

willow gale
#

ok so

#

do i need to learn complex high school math to know how to code

#

if not then MY PARENTS FUCKING LIED TO ME AGAIN Y A Y

compact sedge
#

I mean shitmothst is built on calculus

#

you don't need complex math to know how to code but complex math is a tool you can use in your code. It's a tool like dnSpy or the scene dumper

willow gale
#

whats that

solemn rivet
#

yup

willow gale
#

oh

solemn rivet
#

also, wdym AA?

compact sedge
#

shitmothst is a meme mod

#

also uh idk what I mean.

solemn rivet
#

I thought all mods were initialized before the main menu

willow gale
#

i never use complex math anyways i always use simple math to try to find numbers and stuff

#

i cant memorize formulas at all

solemn rivet
#

you don't need complex math for everything

#

but it's certainly useful

#

and might be needed, depending on what you're doing

willow gale
#

cOol amazig

solemn rivet
#

Bonfire has a lot of quite complicated maths, depending on your knowledge

young walrus
#

I'm an engineer, and still don't use complex maths. Mostly just Algebra

floral furnace
#

real shit guts youre not gonna use THAT much math

solemn rivet
#

^

floral furnace
#

at most youll probably do some maths when you want to do some kind of damage formula for whatever reason

solemn rivet
#

well

compact sedge
#

engineers don't use complex maths they use programs that use complex maths in the backend

willow gale
#

also whats calculus

young walrus
#

complex math

compact sedge
#

and on the front end is a crappy java interface

solemn rivet
#

math is also used for calculating motion, lights and stuff ttacco

#

but, yeah

#

mostly damage

young walrus
#

That is true, we let programs do the math for us. lol

floral furnace
#

i mean for his situation

willow gale
#

oh ok

compact sedge
#

or if you're lucky a less crappy c++ interface but for some reason I swear every internal engineering program has an awful java frontend

young walrus
#

Why remember how to do actual PID math when you can have a controller do it

floral furnace
#

if hes gonna start making mods for those then yeah hes gonna to have to do some algebra, but for the simple ones not at all, damage is just one of the more simple/easy stuff thats gonna require the math i mean

solemn rivet
#

calculus is basically studying the behaviour of functions - how they increase/decrease, their slopes and whatnot

floral furnace
#

yeah and theyre horrible too

young walrus
#

sequences, series, volumes, areas, etc etc etc

#

coupled equations

solemn rivet
#

yup

young walrus
#

lots of really complex math

exotic venture
#

1+1=2

solemn rivet
#

I'd rather use complicated than complex

young walrus
#

made up variables

solemn rivet
#

for obvious reasons

compact sedge
#

UnityEngine.SceneManagement.SceneManager.sceneLoaded for the main menu scene runs before the mods are loaded @solemn rivet which means I have to RELOAD the main menu scene to display combomod's combo meters.

floral furnace
#

wow mystery didnt know you were a math major

compact sedge
#

2+2=4-1 thas 3

exotic venture
#

qwik mafs

solemn rivet
#

wait what does the main menu have to do with the combo gauges?

willow gale
#

mys is a mathematician

floral furnace
#

mysthematician

compact sedge
#

the main menu displays your best scores in the pantheons

#

and to get that display I have to reload the main menu scene

#

or

solemn rivet
#

right

compact sedge
#

do what I did which is explicitly tell it to load

#

but only the first time

solemn rivet
#

so... Can't you do something similar to sean's rando2 approach?

compact sedge
#

and not for that mod but for the next meme mod I'm making I wanna replace the font before the main menu is even loaded.

solemn rivet
#

right

exotic venture
#

make your own modding api with pre menu loads and asset support right out of the box

young walrus
#

The bestest kind of maths

solemn rivet
#

that's a basic motion equation, right?

young walrus
#

no. this is PID control

solemn rivet
#

oh

#

¯_(ツ)_/¯

willow gale
#

oh no

solemn rivet
#

looks like one of those basic equations of the form f+f'+f''=k

willow gale
#

o h n o

#

that looks like hell

young walrus
#

I mean, it kinda is, gradow

solemn rivet
#

yeah

young walrus
#

the e(t) functions are what make it interesting

solemn rivet
#

what does e(t) measure?

young walrus
#

error

solemn rivet
#

oh

#

interesting

young walrus
#

between setpoint and actual value

#

and how it changes

solemn rivet
#

very nice

willow gale
#

ok no that looks like chicken scratch to me

young walrus
#

math is just learning another language

solemn rivet
#

that actually resembles a Taylor canonical form

#

very interesting

exotic venture
#

higher beings these words are for you alone

floral furnace
#

yes guts youre gonna have to compute for the pressure on runtime whenever you change a charm notch cost /s

willow gale
#

yeah except i like geometry not physics

solemn rivet
#

guts, you prolly won't ever have to deal with equations like that tbh

floral furnace
#

literal basic algebra really

solemn rivet
#

yeah

floral furnace
#

you dont have to be math master 420 or something to be able to mod this game

young walrus
#

that kind of equation doesn't happen until you're 4 years deep in engineering school

solemn rivet
#

basic polynomial, trigonometric and exponential functions

young walrus
#

and have been through 4 years of calculus

solemn rivet
#

oh yeah, that kind of equation doesn't even have any meaning beyond being a mess of random symbols if you don't have at least some background in calculus and introductory physics

floral furnace
#

the basic math youre gonna do isnt gonna be that hard provided you have a solid foundation really, i kinda struggled at basic algrebra years ago and its the "you pass who cares if you actually understood it" mentality that pulls you down

compact sedge
#

I mean ttacco is only a xX_MathMaster69_Xx

#

not yet a 420

floral furnace
#

need to keep training on my way to be mathmaster1337

solemn rivet
#

also, might I ask what a PID is, Mick?

compact sedge
#

tbh nobody here knows math as well as Gradow anyway.

solemn rivet
#

I know of PIDs in algebra, but prolly totally unrelated stuff

floral furnace
#

~~same and i failed integral calc zote ~~

solemn rivet
#

no, AA, many people prolly do

#

I know a lot about algebra

#

but that's it

compact sedge
#

don't you have a PhD in math?

#

or something crazy

solemn rivet
#

I have a bachelor's and a master's in math, and am currently doing my PhD in abstract algebra

compact sedge
#

I mean it doesn't take a masters in statistics to tell me there's a pretty high chance you're the only active person in this whole server with a masters in math

floral furnace
#

wait shit like set theories at the most basic form right? for abstract i mean

solemn rivet
#

so if Mick or anyone else says basically anything about differential equations and such, I have no idea if they're right or wrong, so I assume they're right

#

TTacco set theory isn't really algebra, but, sure, that kind of abstraction

#

kinda like, instead of studying real/complex valued vector spaces, I study abstract vector spaces over an abstract field K

floral furnace
#

well thats what we kinda covered in our abstract algeb course, for the early part, then stuff like cross product and stuff that followed

#

yeah vectors spaces

compact sedge
#

you can use differential equasitions to differentiate people which can be used as a weapon alternative to swords for splitting them into pieces but most calculators have safety switches to stop this so that's why I always buy offbrand ones from china which don't.

floral furnace
#

actually the vector and spanning sets where the hardest from what i remember at least

solemn rivet
#

I mostly study "vector spaces" over things that aren't fields (for instance, over the integers) - these things are called "modules". The interesting thing is, multiplication of scalars doesn't have to be commutative (it generaly isn't) and there doesn't need to be multiplicative inverses to each scalar (there usually isn't)

young walrus
#

PID is Proportional Integral Derivative control

solemn rivet
#

oh right

floral furnace
#

(some of these words are familiar from my class but altogether i dont understand them notlikequirrel )

solemn rivet
#

I was thinking of Principal Ideals Domain

#

it's fine ttacco

young walrus
#

P and I are ways of looking in the past for how to adjust for the future

#

D control looks into the future to predict changes

compact sedge
#

I was thinking of Process IDentifier

young walrus
#

D control is actually shit

#

and rarely used

#

so most real life controllers use a combo of PI control

solemn rivet
#

no, that makes sense mick

young walrus
#

The math for D control is the most complicated too

#

so nobody likes it

#

lol

#

So I bet you've done a lot of linear algebra gradow?

#

Loved that course

#

Decoupling equations was the shit

solemn rivet
#

yeah, but mostly abstract linear algebra

#

never really used it for real world problems

young walrus
#

eigenvalues and eigenvectors

#

oh boy

solemn rivet
young walrus
#

and matrix determinants

#

did so many of those

compact sedge
#

I know what some of these words mean individually

floral furnace
#

eigenvalues, now thats a word i havent seen in a year

solemn rivet
#

and I hope I never see that word ever again

young walrus
#

eigenvalues

floral furnace
#

that was our finals for our abstract algeb iirc, make a programming to calculate n x n dimension of an eigenvalue... we could only make it up to 2 dimensions max

#

or uhh something like that i cant remember

solemn rivet
#

calculating eigenvalues/vectors and determinants programmatically is shit

young walrus
#

^

floral furnace
#

it really is

#

them lambdas still haunt me

young walrus
#

University taught me how amazingly complex math can get, how useful it is, and how amazingly useful having programs to do that shit for you is

solemn rivet
young walrus
#

lambdas. that was what I was trying to remember the term for

compact sedge
#

can't u just do:
import linearalgebra
whatever one line function does it all for you

solemn rivet
#

boi I remember taking an undergrad course on numeric linear algebra

#

the course was basically learning how to implement algorithms to calculate those stuffs

#

it was... a nightmare

young walrus
#

We used MatLab a ton in undergrad for really complex shit. We had to program our own solutions, even though "" was there to do everything for you

#

the backslash

#

dunno why that didn't show up

compact sedge
#

ok I have a modding question

#

If I make an assetbundle with unity 2018.2.7f1 will it work with the version of unity that the base game is using

young walrus
#

how dare you

compact sedge
#

or do I need the specific version of unity the game is using

solemn rivet
#

possibly, AA

#

KDT will know for sure

#

maybe kerr too

young walrus
#

5

rain cedar
#

Aug 31

#

Pretty realistic to expect him to help

solemn rivet
#

yeah

#

but

#

hope

floral furnace
#

dont worry hes just teaching the dog how to mod thats all

compact sedge
#

I gave up waiting for 56 to help me

#

because he's failing on absrad

#

did he ever beat her?

solemn rivet
#

no

compact sedge
#

f

#

ok nvm I managed to get good internet for the unity engine download

#

and it's almost done

floral furnace
#

hey we may never know, in vengeance 56 tries to wipe out the entire moth population on wherever he's living right now

compact sedge
#

apparently uni wifi can range from 2mbps in my dorm room to 100mbps right outside it

solemn rivet
rain cedar
#

Hey man I would've been happy to have that last year

#

2 > 0

#

Fucking garbage internet went down like 3 times a day

copper nacelle
#

@compact sedge é

#

I'm in school

#

I've been in school for the past 4 hours

compact sedge
#

understandable

copper nacelle
#

on the bright side

#

the only class left for the week is AP CS

#

which is free

#

there's also ice cream because Latin club

solemn rivet
#

it's free real estate

tranquil glen
willow gale
#

coding on paper

#

nice

tranquil glen
#

Im in a class

#

Cant bring out a laptop

solemn rivet
#

use the bottom one

#

oh shit, Jim Sterling did a review of Underhero

copper nacelle
#

wtf

#

my cs teacher said not to ever use break in a loop

hollow pier
#

did he also say to never attend his class

copper nacelle
flat forum
#

Comp. Science teacher last year said that >9 and >=10 are not the same when we were working with integers

tranquil glen
#

Nice

copper nacelle
tranquil glen
#

It'll just add a negative number if it needs to subtract

#

I just realized that second one doesn't even need the if

#

I think the shit internet sent those in the wrong order but whatever

compact sedge
#

well they're not the same in the sense that your brain perceives them differently and I would consider >= 10 preferable for human understanding.

tranquil glen
#

But thwy are the same though

#

Mathematically

#

For integers

compact sedge
#

yes they are the same mathematically

#

and the computer interprets them the same way

copper nacelle
#

(x >= 10) = (x > 9) | x elem Z

compact sedge
#

and it's dumb to not call them the same

copper nacelle
#

why can I hold e for é but not for the element of symbol

#

re

hollow pier
#

no when you hold ee that's how manageede happens

copper nacelle
#

u

buoyant obsidian
#

what's wrong with breaking loops

#

I bet he actually puts things besides true in his while loop params

solemn rivet
#

use \in

#

like latex

#

also, did he say to never use any breaks ever in any loop ever? Including for loops?

flat forum
#

Hey 56

#

@copper nacelle

copper nacelle
#

@solemn rivet yes

#

except for switches

flat forum
#

I'm going to sleep

#

at 10pm

copper nacelle
#

no stop why

flat forum
#

just to flex on you

copper nacelle
#

i slept at like 3:30am yesterday/today

flat forum
#

dat bad

copper nacelle
#

didn't even study the extra time i stayed awake

flat forum
#

u need more sleep

copper nacelle
#

less sleep

flat forum
#

BAD 56!

#

Well

#

I will sleep now

copper nacelle
flat forum
#

Good Night everyone

solemn rivet
#

you should be more like papers 56

copper nacelle
#

eeee

#

ironically

#

even tho he said not to break in any loops

#

the shell code he gave us had a break in one of the functions

compact sedge
#

papers went to sleep at 10:05pm. what a god

copper nacelle
#

.

slow fable
#

hey anyone want to teach me how to mod

copper nacelle
#

i mean

#

feel free to ask questions

#

there's also API docs in pins

#

you'll want dnSpy and VS

#

non ugly installer on Mac hollowwoke

solemn rivet
copper nacelle
#

oh yeah

#

@compact sedge

#

Linux support existing

solemn rivet
#

when's that a thing 56

copper nacelle
#

idk

solemn rivet
#

today? hollowwoke

copper nacelle
#

announced this year

#

Q1 2019

solemn rivet
#

n337

compact sedge
#

Fuck yeah no more needing to catch up with them

#

also inb4 MS builds a new thing to replace .net with all the former employees who made .net and this new thing only works on windows.

solemn rivet
#

98real776me

copper nacelle
#

tbh would've expected them to end on 5.0

solemn rivet
#

56 you missed me beating mothqueen on underhero last night

summer badge
#

hey, how might i change the soul cost for magic

copper nacelle
#

fsm

solemn rivet
#

focusCost

#

oh right

#

magic

#

oopsie

summer badge
#

i'm trying to create a thing so that if you reach max soul and use your nail, it'll start this sort of second attack mode where it drains your soul like a timer but spells are free

solemn rivet
#

yeah, fsm

#

and, fair warning

#

it's gonna break

#

horribly

copper nacelle
#

?

solemn rivet
#

because fsm's are a pain to mess with

copper nacelle
#

lost kin's FSM was pretty alright

#

mantis lord fsm is weird

solemn rivet
#

mechanics fsms are bullshit

#

because they're all interlinked

copper nacelle
#

understandable

solemn rivet
#

changing the cost of a spell will certainly have unforeseen consequences

copper nacelle
#

if you set the wait on a mantis lord FSM state to 0

#

it kills the sync

solemn rivet
#

nice

copper nacelle
#

which is its own FSM

#

which sends actions

#

and shouldn't break

solemn rivet
#

wtf

copper nacelle
solemn rivet
#

so much jank

#

u ever make a fsm just to send events

#

because you hate life so much

copper nacelle
#

I've considered it

solemn rivet
copper nacelle
#

I was super close to making an FSM to receive broadcasts

#

tbh

summer badge
#

i dont really know what an fsm is

copper nacelle
#

Finite state machine

#

it's a component with an array of states

#

each state has an array of actions

solemn rivet
#

pic or didn't happen

copper nacelle
#

each action can do anything

#

it was when I was making bindings

summer badge
#

how do i use it?

copper nacelle
#

spell control is on the hero controller

solemn rivet
#

first you need to find the fsm name, so you can get it from the Knight object

#

oh, easier

#

is it a field, like superDash?

copper nacelle
#

yeah

solemn rivet
#

nice

copper nacelle
#

@compact sedge what do you think of an FSM add method

solemn rivet
#

?

copper nacelle
#

e.g

#

_control.AddMethod(1, () => {})

#

it'd be an action param so you could pass in class methods

#

which is convenient

#

way better than CallMethod

solemn rivet
#

but there is an FSMUtil for adding actions to a state, isn't there?

#

would it not be the same?

copper nacelle
#

less annoying

solemn rivet
#

hmm

copper nacelle
#

also you wouldn't need a monobehaviour

#

call method requires one

solemn rivet
#

tbh there should be a function to export an fsm to a class with ienumerators as states

#

and a function to add states to an existing fsm

copper nacelle
#

export the FSM as JSON and edit it by hand

#

stay woke

summer badge
#

only thing in herocontroller talking about soul is SoulGain():void

solemn rivet
#

kerr started working on that before the Doggo Incident of 2018

#

PA: look for a field called spellControl

summer badge
#

spellControl:PlayMakerFSM

solemn rivet
#

back to fsms, kerr only got as far as making a template StateMachineComponent that mimics fsms

#

but didn't actually make it import from an existing fsm

#

so he had to import it manually

#

as he did with hornet1

#

also, where are you looking at those, PA?

summer badge
#

i use dotPeek to search through hk

solemn rivet
#

use dnspy my dude

summer badge
#

HeroController.instance.spellControl.Fsm. some shit that i need to find

#

sound about right?

solemn rivet
#

just HeroController.instance.spellControl

#

that's your fsm

copper nacelle
#

dotPeek is dnspy but worse hollowface

summer badge
#

dotPeek works fine

#

isn't it HeroController.instance.spellControl. something

copper nacelle
#

so does reading IL but no one likes reading IL

summer badge
#

cause otherwise it gets flagged

copper nacelle
#

match the state name you want to change

#

to be tbh

summer badge
#

state name

#

okkkk

solemn rivet
#

like 56 said

#

fsms are lists of states with actions and transitions

copper nacelle
#

and variables

solemn rivet
#

you need to find the state that sets the spell cost

#

and variables*

#

or actually

#

there's a way to get all fsmvariables of a certain fsm

#

you can check those and see if you can find the cost there

copper nacelle
#

inb4 they set it again in the fsm

solemn rivet
#

they do

copper nacelle
#

TC™

#

wow nice

solemn rivet
#

all fsms have float/int/bool checks

#

literally every frame

#

because they're shit

copper nacelle
#

what in fuck

solemn rivet
#

superdash's "Dashing" state has an FloatTestToBool action that compares your x speed with what it should be (30)

copper nacelle
#

isn't that just if you have everyFrame enabled

#

why

solemn rivet
#

and sends a "HIT WALL" event

#

yeah, there's a everyFrame bool that's enabled

copper nacelle
#

have they heard of colliders

solemn rivet
#

¯_(ツ)_/¯

copper nacelle
#

the checks don't reset the vars tho

#

but like some fsms have variables which they overwrite every 10 seconds

#

like mantis lords

solemn rivet
#

oh, but it usually sets the var before the check

hollow pier
#

bools start at float

solemn rivet
copper nacelle
#

why

#

oh

#

ic

solemn rivet
#

the order of actions is SetVelocity2d -> GetVelocity2d -> FloatTestToBool

hollow pier
#

ur mum gat

copper nacelle
#

then

solemn rivet
#

that's why I had so much trouble modding superdash

#

I tried for a very long time to just override these actions

#

but it's honestly way simpler to create my own "fsm" in code and run it

#

waaaaay simpler

copper nacelle
solemn rivet
copper nacelle
#

I tried to add a cheese fix for lost kin entirely in FSM

#

fuck IntCompare

solemn rivet
#

who'd guess superdash was such an awful fsm

copper nacelle
#

getting values from methods is actually death

#

comparing them is death

#

I ended up adding a call method

#

and doing the checks in a method

solemn rivet
#

honestly, I can't fathom how they managed to make such a simple action as superdashing as complicated as they did

#

listen for button press -> check canSuperDash -> start superdash charge -> start superdash -> stop superdash -> listen for button press

#

you literally only need those

copper nacelle
#

on old bosses they don't have waits for some stuff

solemn rivet
#

they have a completely different set of states and actions depending on the super dash direction

copper nacelle
#

so they just play long animations to wait

solemn rivet
#

wait wut

#

serious?

copper nacelle
#

yes iirc

solemn rivet
#

good code ™

summer badge
#

i cant find anything under spellControl that accounts for the soul cost

solemn rivet
#

how are you looking for it?

copper nacelle
#

it's an FSM

#

you won't find shit in dotPeek

summer badge
#

o

#

where will i find shit

copper nacelle
#

FSM viewer

summer badge
#

im guessing i need to download some garbage for it

solemn rivet
#

or extracting during runtime

#

using your own mod to do it

copper nacelle
#

^

#

you can do that if you don't want to download the viewer

#

also "garbage"

summer badge
#

i'll download the viewer

solemn rivet
#

it's the shitty old way of doing it, before God Nes' Fsm Viewer

#

just look for posts from nes with files in them

#

from: nes has:file

copper nacelle
#

no don't

solemn rivet
#

y

copper nacelle
#

he didn't merge the FSM string patch

solemn rivet
#

wdym

#

he fixed that?

#

or rather, you did

#

and he didn't merge it

copper nacelle
#

yes

#

also made FSM owner defaults less bad

#

@summer badge e

summer badge
#

ik

#

am i supposed to open the .dll file with it

#

wut

solemn rivet
#

nice

#

open the resource.assets with it

#

and find your fsm in the list

compact sedge
#

I currently use some kdt code to add FSM methods, heavilly line number optimized using linq so it's only like 1-2 lines but it would be nice to see it in FsmUtil @copper nacelle

copper nacelle
#

whatmst

#

the AddAction new CallMethod?

compact sedge
#

in hollow point

copper nacelle
#

but is it the .AddAction(0, new CallMethod?

summer badge
#

where'st'd've'ly is resource.assets

copper nacelle
#

hollow knight data

summer badge
#

looking there

copper nacelle
#

look harder

compact sedge
#

FsmState fbState = fireballFSM.GetState("Cast Right");
fbState.Actions = fbState.Actions.Where(action => !(action is SendEventByName)).ToArray();

copper nacelle
#

what

compact sedge
#

oh wait that's remove actions

#

add action is

copper nacelle
#

that's not a method call

compact sedge
#

uh

copper nacelle
#

also I think I added AddMethod

#

but don't quote me on that

compact sedge
#

FsmState fbState = fireballFSM.GetState("Cast Right");
fbState.Actions = fbState.Actions.ToList().Add(action).ToArray();

#

that's add

copper nacelle
#

but that's not a method call

#

what

compact sedge
#

I never said I used a method call

copper nacelle
#

ē

compact sedge
copper nacelle
#

no I meant like adding methods

#

like Call Method

#

but less shit

#

is what I wanted to add

compact sedge
#

ohhhhhhhhhhhhhhhhhhhh

#

ok sure

summer badge
#

k im in the fsm selector

#

gotta find the right one

copper nacelle
#

I was asking for feedback

compact sedge
#

add it to modcommon

copper nacelle
#

hhhhhhhhhhhh

#

what do you think of the syntax

#

_control.AddMethod(ind, () => { stuff })

#

ofc since it uses actions you could use instance and static methods

compact sedge
#

what if I want to add the method to the end but I don't know the length of it

copper nacelle
#

ind = control.GetState("hhhauah"). Actions.Length

#

idk

compact sedge
#

ok

#

understandable

copper nacelle
#

I could just add an add to end thing

#

but h

#

might as well

compact sedge
#

anyway uh could AddMethod take a method instead of a... whatever the fuck => is

copper nacelle
#

yes

#

that's what I said u dungo

compact sedge
#

and would it have to be a void method

#

with no args

#

I mean

copper nacelle
#

I could make it inherit from delegate

#

I guess

#

no args would have to be a thing

#

but if you want to call it with args just do

#

_control.AddMethod(ind, () => { Hero controller.instance.AddMP(5); });

#

sorry for the shit formatting mobile is death

summer badge
#

i found mp cost in the fsm viewer but i dont know how to call it in visual studio

compact sedge
#

no I mean could I pass it FsmVars

solemn rivet
#

now you know the name of the var, you can acces it

copper nacelle
#

oh like

#

vars in the fsm

#

agony

solemn rivet
#

first, you need to access the spellControl fsm in visual studio

#

probably do something like

copper nacelle
#

I mean you could access those in the lambda like normal

compact sedge
#

like the CallMethod function lets you pass an array of FsmVars as an argument

copper nacelle
#

you can pass FsmInts and stuff with that?

#

TIL

#

or do you just mean random method args

compact sedge
#

no it has to be FsmVars

#

not FsmInts

solemn rivet
#
private Fsm spellControl = HeroController.instance.spellControl;```
compact sedge
#
                    outputCallMethod = new CallMethod
                    {
                        behaviour = GameManager.instance.gameObject.GetComponent<combos>(),
                        methodName = "pauseCombosForTime",
                        parameters = new FsmVar[1] {new FsmVar(timeToRestartCD)},
                        everyFrame = false
                    };
solemn rivet
#

then you can do something like spellControl.FsmInt("name of the spell cost var").Value = 69;

#

to set it to 69

#

I forget the exact syntax

#

but that's basically it

copper nacelle
#

_control.AddMethod(ind, () => GameManager.instance.gameObject.GetComponent<combos>(timeToRestartCD));

#

?

compact sedge
#

fuckidk

#

this => syntax doesn't make sense to me and I don't wanna learn it

copper nacelle
#

it's just a method

#

with no name

summer badge
#

cannot implicitly convert type PlayMakerFSM to HutongGames.PlayMaker.FSM

copper nacelle
#

you could go make a separate method every time if you'd like

solemn rivet
#

() => {stuff} is a method that does {stuff}

copper nacelle
#

@compact sedge

compact sedge
#

OK

copper nacelle
#

look at how I pass the callback here

#

for no =>

solemn rivet
#

PA: Change Fsm to PlayMakerFSM

copper nacelle
#

reminder that mobile is garbage

solemn rivet
#

inb4 you accidentally pin something

copper nacelle
#

pls

summer badge
#

spellControl is underlined and the thing says a namespace cannot directly contain members such as fields or methods

solemn rivet
#

show

#

wait

#

create a class first

copper nacelle
#
void DoLoad()
{
 // Stuff
}
if (jsonWrite > datWrite && jsonWrite.Year != 1999)

LoadJson(jsonPath, DoLoad);

else

LoadDat(gm, saveSlot, DoLoad);

#

@compact sedge you can pass methods as an argument like this too

#

for no arrow syntax

#

T

#

pose

solemn rivet
#

hey 56 and AA: would you be interested in working on an fsm to class converter?

copper nacelle
solemn rivet
#

this would be the next breakthrough in modding hk ngl

copper nacelle
#

wouldn't that be near impossible without just outputting text

summer badge
copper nacelle
#

or having it be just as shitty as fsms

solemn rivet
#

it might be just as shitty

copper nacelle
#

cause you can't add methods to a class at runtime

solemn rivet
#

but way more accessible

copper nacelle
#

unless you do some weird shit like

#

lambdas as values to a dict

summer badge
#

what do

solemn rivet
#

so the idea is to create a method FsmToClass(PlayMaker fsm, string file) that takes an fsm and a filename as input, and do basically what PrintSceneHierarchyTree(string) does - it takes that fsm input and spits out file.cs which is a class with states represented as IEnumerators and jumps between them as transitions

copper nacelle
#

waits as yield returns hollowwoke

solemn rivet
#

yup

#

and so on

summer badge
#

i mean what should i do

#

so my code doesn't implode like it currently is

solemn rivet
#

the harders part, honestly, would be to convert each FsmAction to actual code

copper nacelle
#

also I think I might've asked this but can you yield return a coroutine from a coroutine to wait for it to finish execution

solemn rivet
#

but that could be added later

#

I think so, 56

copper nacelle
#

neat

#

mfw 1% battery

solemn rivet
#

PA: move the spellControl inside the class

#

yfw ded

daring snow
#

I was doing a randomizer on 1.4.2.4 w/ claw at cdash. I tried to do shade skip a few times in a row and my shade kept diving and killing itself before I could pogo (it was the only spell I had). Can we possibly disable the shade casting dive to prevent this?

copper nacelle
#

yes

solemn rivet
#

omae wa mou shindeiru

summer badge
#

oh that fixed it

solemn rivet
#

no

copper nacelle
#

you modify the FSM and swap the transition to do something else

summer badge
#

oof

#

thanx

solemn rivet
#

np

hollow pier
#

stay that's why practice is illegal

daring snow
#

Can you do it @copper nacelle tdogRat

hollow pier
#

yeah he can do it today

#

shouldn't take more than 5 minutes

daring snow
#

lmao

copper nacelle
#

i can

fair rampart
#

anybody know if the tracker for rando is working now?

solemn rivet
#

don't think so

copper nacelle
#

wtf

hollow pier
#

is this the best code

copper nacelle
#

and done

#

or not

#

wtf

river eagle
#

dab
so about the container. How would compiling the files fix anything, when we've proven that even after moving all of the already compiled files out of the folder, it still doesn't work

copper nacelle
#

because you're replacing the executables dungo

river eagle
#

so it still loads the old ones

#

even though they aren't present

copper nacelle
#

that's not how it works

river eagle
#

probably not

#

afterall I have no idea what I'm talking about

copper nacelle
compact sedge
#

ok unity editor still sucks

#

but at least I don't have to pay for TMP

#

so that's a plus

#
DllNotFoundException: TMPro_Plugin
TMPro.EditorUtilities.TMPro_FontAssetCreatorWindow.DrawControls () (at /home/eli/.config/unity3d/cache/packages/packages.unity.com/com.unity.textmeshpro@1.2.4/Scripts/Editor/TMPro_FontAssetCreatorWindow.cs:704)
TMPro.EditorUtilities.TMPro_FontAssetCreatorWindow.OnGUI () (at /home/eli/.config/unity3d/cache/packages/packages.unity.com/com.unity.textmeshpro@1.2.4/Scripts/Editor/TMPro_FontAssetCreatorWindow.cs:266)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /home/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:295)
UnityEditor.HostView.Invoke (System.String methodName) (at /home/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:288)
UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at /home/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:255)
#

how do I

#

wtf

#

am I doing wrong

#

and the menu for it pops up

summer badge
#

i have "private PlayMakerFSM spellControl = HeroController.instance.spellControl;" in the MagicTouch class but i dont know what to do next to be able to edit soul cost

compact sedge
#

I just can't generate any text meshes

summer badge
#

i found the fsm variable in FSMViewer

compact sedge
#

@leaden hedge I'm just gonna ping you so when you get off work/wake up you can explain this to me because I really have no idea what I'm doing with the unity editor

fair rampart
#

attn everyone, this channel is now cute bugs ONLY

hollow pier
#

so why is that here

fair rampart
summer badge
#

that's great but i really need help with my mod cause ive never used FSM before

fair rampart
#

i'm kinda useless when it comes to fsms so no help there

#

BUT

#

do you have the fsm viewer?

exotic venture
#

rewrite it

compact sedge
#

that second photo is blessed

summer badge
#

i do have fsm viewer

#

i used it

exotic venture
#

angle all photos are blessed

frigid gale
#

much better channel imo

compact sedge
#

all moth photos are blessed

frigid gale
#

Yes.

summer badge
#

i found the thing im looking for on it but idk how to utilize it

copper nacelle
#

moths are cursed

#

.

frigid gale
#

How dare you 56

compact sedge
#

hey 56 how do you feel about being the only non-moth modder

copper nacelle
#

what

#

753

#

kdt

#

sean

#

??

#

wyza

#

kerr

#

kcgh0st

compact sedge
#

they not in the server at all so they can't be or not be moths

frigid gale
#

Genius

compact sedge
#

but of the people there all of them are moths except u

solemn rivet
#

wait

compact sedge
#

all... um... 4 of us

copper nacelle
solemn rivet
#

AA is not in tomorrow's race

exotic venture
#

wow lame

#

even though i picked such a good seed for it

frigid gale
#

lel

compact sedge
#

is it teams or individual. I will join and get a time of like 8 hours

#

if u want

copper nacelle
#

individual

hollow pier
solemn rivet
#

I'm still waiting for Xeph to add me to the list

compact sedge
#

how mad would you be if I actually joined and actually got a time that long

copper nacelle
#

@past wadi

solemn rivet
#

also, there's no way I'll beat anyone, AA, so there's that

exotic venture
#

@past wadi see comment above

copper nacelle
#

wow mystery

#

double ping

solemn rivet
#

nah, don't need that ping

copper nacelle
#

smh my head

solemn rivet
#

I've already reacted

exotic venture
#

double ping now he will definitely notice

hazy sentinel
#

@ Mods can we get a delete on the ping above

solemn rivet
#

just waiting

hollow pier
#

he

copper nacelle
#

he

solemn rivet
#

he

compact sedge
#

he

hazy sentinel
#

haha

#

hoohoo

#

xdd

exotic venture
#

communism died out faster than you killed the glorious comrade

hazy sentinel
#

really because china's still communist

summer badge
#

i found the thing on FSM viewer for MP cost but idk how to edit it in visual studio

hazy sentinel
hollow pier
#

china is fake

exotic venture
#

doesn't exist

hollow pier
#

you know the chinese invented china

compact sedge
#

really tho should I join because it seems like the worst idea ever gradow

#

ngl

copper nacelle
#

ofc

frigid gale
#

amazing

compact sedge
#

woah what's with all the people in general

hollow pier
hazy sentinel
#

yeah 7.4 billion is a bit high dont you think

copper nacelle
#

something about pizza

#

my ears are dead

compact sedge
#

?rank racer

autumn shardBOT
#

@compact sedge, you joined Racer.

solemn rivet
hazy sentinel
#

?rank Racer

autumn shardBOT
#

@hazy sentinel, you joined Racer.

solemn rivet
#

?rank RaCeR

autumn shardBOT
#

@solemn rivet, you joined Racer.

copper nacelle
#

?rank rAcEr

autumn shardBOT
#

@copper nacelle, you joined Racer.

hazy sentinel
#

wow look channels i'll never use and pings i'll never read

compact sedge
#

hey @exotic venture you weren't supposed to let racers type messages in #races-announcements I don't think

hazy sentinel
#

thanks dyno

exotic venture
#

?rank RaceR

autumn shardBOT
#

@exotic venture, you joined Racer.

hazy sentinel
#

angle literally galaxy brain

exotic venture
#

they are allowed to type there but abuse will get punished

autumn shardBOT
#

@summer badge, you joined Racer.

hollow pier
#

hey guys you can't post in #resources because it's for archival purposes

copper nacelle
#

now you have to race in the rando race @summer badge smh

summer badge
#

oops

#

lol

solemn rivet
#

either that or pay us infinite money

exotic venture
#

bad

compact sedge
#

Alright I'll race with y'all but if I'm not the worst time ever then I quit

hazy sentinel
#

smh people getting racer rank just for the cool color

solemn rivet
#

green is the colorest of cools

hollow pier
#

@ mods can we get a reform on the racer role above

summer badge
#

boom

solemn rivet
#

and the coolest of colors

summer badge
#

no proof it happened

compact sedge
#

wait gradow ur not even doing it

#

wtf

copper nacelle
solemn rivet
#

I am

compact sedge
#

I feel bamboozled

copper nacelle
#

but gradow is

summer badge
#

oof

hazy sentinel
#

Gradow!

solemn rivet
#

check reactions

summer badge
#

how do i unenlist

copper nacelle
#

?rank rAcEr

solemn rivet
#

Xeph simply didn't add me yet to the list

hollow pier
#

probably pm her

summer badge
#

?rank RaCeR

autumn shardBOT
#

@summer badge, you left Racer.

summer badge
#

lol

copper nacelle
#

what if i disabled all hard falls

compact sedge
#

ok so what I gotta do to setup?

hollow pier
#

rando qol

hazy sentinel
#

?race pacific islander

hollow pier
#

srl account

solemn rivet
#

join srl

exotic venture
#

and it also has no info

copper nacelle
#

i still haven't made an srl account

hollow pier
#

shouldn't take more

copper nacelle
#

u

compact sedge
#

install QoL and rando, will anyone notice if I build my own modding api because the windows built one breaks with controllers on linux for some reason?

exotic venture
#

yes

solemn rivet
#

yes

copper nacelle
#

yes

hollow pier
#

that's called cheating sorry big dq

exotic venture
#

playertracker also gets used

compact sedge
#

can I also sneak in a thing in the modding api to make the game run 10% faster? /s

solemn rivet
#

do I need to use pdt?

hollow pier
#

no

copper nacelle
#

no

solemn rivet
#

if I'm streaming

#

ok

hollow pier
#

it's just some remembering meme

hazy sentinel
#

do i need to use kdt?

copper nacelle
#

why does elegy to hallownest exist

compact sedge
#

I can stream at 5 fps because that's what I get recording lul

solemn rivet
#

use him

hollow pier
#

only really useful for like grubs i guess

exotic venture
#

that's hot

copper nacelle
#

it ignores the other cutscene shit

#

actually pain

#

i'll just destroy it

hazy sentinel
#

just fasttext it lol

#

also tbh changing livesplit to not be actual trash

hollow pier
#

oh so doing nothing to it

solemn rivet
#

fo'real tho

#

what do I need to do, aside from having an srl acc?

copper nacelle
#

exist

solemn rivet
hazy sentinel
solemn rivet
#

do I need to use livesplit or smth?

compact sedge
#

wait u have to fight kingsmoulds in whitpalace outside of PoP?

#

wt

#

f

hazy sentinel
#

angle game knowledge

solemn rivet
#

I suddenly wanna play rando bingo with AA

hollow pier
#

aa never did wp just went straight to pop

compact sedge
#

if the seed forces me to visit WP I'm screwed btw

summer badge
#

HeroController.instance.spellControl.FsmVariables.IntVariables.SetValue(22, 0);

compact sedge
#

like idk how it could do that

exotic venture
#

AA do you even play video games

summer badge
#

does this look right

river eagle
#

how long do these randomizer runs usually get?

hollow pier
#

1h

compact sedge
#

sorry hal

hollow pier
#

2h i guess