#archived-modding-development

1 messages ยท Page 89 of 1

rain cedar
#

If that counts

exotic venture
#

doesn't count imo

rain cedar
#

Dang

fair rampart
#

What states you lads in? SA here.

glass umbra
#

WA

#

in Perth the "Isolated City"

fair rampart
#

Meh, could be worse, could be Adelaide the "Unemployed/Forgotten City"

glass umbra
#

#insert thinking meme#

thorn comet
#

NSW

rain cedar
#

It took me a few seconds to get you meant "New South Wales" and not "No Star World"

glass umbra
#

:)

rain cedar
#

That shit is stopping the coroutine I'm running for the item popup which stops it from sending the FSM event to give back hero control

rain cedar
flat forum
#

Consumed the Gathering Swarm

steel valve
#

CONSUME

#

Knight: imma buy this charm. Sly: k. Narrator: CONSUMED THE HEAVY BLOW

wide crown
#

william pellen? wut

solemn rivet
#

Nice sean! Did you get all sprites during runtime, or are you loading them externally?

solemn rivet
#

okay, I'm gonna start looking into making a canvas textbox

leaden hedge
#

thats not my problem hollowface

solemn rivet
#

no, it's not, I'm looking into the documentation you made for canvasutil

leaden hedge
#

no i mean the line 615 thing

#

cg.gameObject.SetActive(false);

solemn rivet
#

oh right

oblique shuttle
#

hey guys, sorry i didnt mention anything but i got bonfire to work. Thanks for the help. Where do I level up my knight?

floral furnace
#

uhh, bench correct?

oblique shuttle
#

I will check

#

thanks

delicate ether
#

it will pop up when you walk near a bench

zealous wren
#

Is there any mod that allows me to refight nightmare grimm?

exotic venture
#

there's savefiles for nkg going around, so you could just reuse those

zealous wren
#

Do you know where can I find one of those?

exotic venture
#

you could get the other three flames pretty easily

#

then keep a copy of that at hand

#

it also allows you to fight regular grimm right off the bat

delicate ether
#

cant you respawn bosses with debug mod?

zealous wren
#

Can you? If that's an option if would be faster but I guess I can use the save, the flames are easy to get

exotic venture
#

not nkg methinks but i could be wrong

zealous wren
#

It's just that I loved the boss and wanted to fight it more

delicate ether
#

There is options for it, but ive never used them

young walrus
#

you can respawn NKG, yes

zealous wren
#

Oh ok ty for the info

solemn rivet
#

the tent is invis tho iirc

copper nacelle
#

^

young walrus
#

it is

#

the load zone will be there

#

just gotta find it

leaden hedge
#

just put a dreamgate in there

delicate ether
#

when you load the randomizer when youve beaten the game

#

when it does the heart beat on the title screen

#

the sound of the heartbeat is effected by the audio effects in the scenes that are loaded lol

#

like if a scene loads with reverb, the heart beat gets reverb

#

thought that was funy

delicate ether
exotic venture
#

seems legit

delicate ether
#

and its on room mode so this is stuck this way

#

i dont know of a way to beat this without cheating

compact sedge
#

do you have wall jump

exotic venture
#

no lol

compact sedge
#

oh right

#

I forgot what part of the game this was

exotic venture
#

also if you hit the front one don't they all explode

compact sedge
#

if you hit the middle one they will all explode but you might only take 2 hearts

#

then wait for the guy to shoot the babies

#

idk if the babies are randomized thouhg

exotic venture
#

the babies are the guys that explode

compact sedge
#

lol

#

gl with that

#

then

fresh furnace
#

lmao

delicate ether
#

yeah no babies, jsut explody guys

#

had to cheat

compact sedge
#

what if you run the explody guys into the big baddy

delicate ether
#

they dont turn around

compact sedge
#

can you explode them right near him

#

so they hurt him?

delicate ether
#

he will duck and become invulnerable

compact sedge
#

oh right

pearl sentinel
#

You can change it to chaos mode during gameplay if you run into that. Or turn both chaos and room off for normal mode

#

Either option will change what it's spitting

compact sedge
#

chaos mode is the way randomizers should be played

#

:)

delicate ether
#

oh i cant change it on the fly or mid playtrhough? didnt know tha

#

chaos doe is too easy

pearl sentinel
#

Yep

delicate ether
#

chaos mode is ez mode lol

#

dont like a room? reset until its easy stuff

compact sedge
#

reset is cheating

#

only reset on death

pearl sentinel
#

Both off = types shuffled

compact sedge
#

or if you get knocked out of a room

pearl sentinel
#

Room = types per room shuffled

delicate ether
#

i like room, with room, if a traitor lord spawns in a small hallway you have to use a lot, oh well, deal with it

pearl sentinel
#

Both off that could happen too

delicate ether
#

how does that happen with both room and chaos off?

#

doesnt the mod jsut do nothing at that point?

pearl sentinel
#

Both off = normal mode. Types ate randomized only. Aka, if a buzzer is brooding mawlik, all buzzers are brooding mawlik

#

Room = all buzzers in one room are something else, and buzzers in another room are a different something else

leaden hedge
#

is there api for current version, drive seems outdated

pearl sentinel
#

1.3.1.5 is not current?

exotic venture
#

it is but not for beta

#

beta is 1.3.2.1

leaden hedge
#

i ran it and was in 1.3.2.7

exotic venture
#

oh

#

then 7 it is

leaden hedge
#

i must still be in beta lol

pearl sentinel
#

I have like no time rn, so I haven't been doing anything with the api

#

So no eta builds from me

exotic venture
#

you are still in beta

pearl sentinel
#

Beta*

exotic venture
#

might be best to switch to live

#

because there 1.3.1.5 works

leaden hedge
exotic venture
#

sprite dump

#

let me guess

#

it dumps sprites

leaden hedge
#

correct

exotic venture
#

next question, where does it dump them

leaden hedge
#

%appdata%/../LocalLow\Team Cherry\Hollow Knight\sprites

exotic venture
#

aight

solemn rivet
#

So, I'm working on a simple berserk (a la Nier automata a2) mod. Currently you lose hp if you do not hit stuff for 10 seconds and you deal 1.75x damage. Any ideas?

buoyant obsidian
#

add like 5% movement speed

solemn rivet
#

That's evil tho

#

Good idea

#

Any improvements on the fsm front, 56?

copper nacelle
#

There's a fluke monobehaviour

#

it uses damagesenemies instead of an fsm now for spikes

#

There's a consts file now

#

oh yeah

#

this might be nice for enemy hp bars

#

there's a health manager on death event

solemn rivet
#

It might fix a few lingering issues with hpbars lingering after some enemies

rain cedar
#

Neat

#

Also Gradow I'm embedding a ton of stuff, not finding things at runtime

solemn rivet
#

Oh, ok

#

Thanks!

rain cedar
#

The only thing I need to grab at runtime is the shiny item object

#

For sticking in chests, if applicable

delicate ether
#

are you guys just replacing instances of items with other items? not actually adding new instances of items

#

like can you add a shiny to any spot you want, or does it have to be already there and you just change whats there

#

thats how the darksouls randomizer works, i dont think they can add new shinies

rain cedar
#

I can add new ones, yeah

#

But I wasn't planning to, other than putting them in chests that normally have geo

delicate ether
#

with another stack behind them

#

and the dude just keeps spewing them out

#

uploading video this is kinda funny

pearl sentinel
#

Amazing

supple sigil
#

many a soul

pearl sentinel
#

Best geo farming spot

delicate ether
#

one hit completely filled my soul meter

#

i died though when i got hit

#

when i came back, he spawned normal rollies, though he did spawn them in bunches

supple sigil
#

shouldve made it primal aspids

delicate ether
#

playing in room mode chaos off

#

cant wait to see the room with two on each side

rain cedar
#

I want an elder baldur that spits more elder baldurs

supple sigil
#

not before the collector that spawns collectors

delicate ether
#

that mid bench in the tall shaft in greenpath spawns 4 soul tyrants in one room, fun times

supple sigil
#

wut

#

its an trap

delicate ether
#

also using the enemy randomizer menu in game breaks the esc menu

#

i can no longer use the esc menu

#

so if i want to close the game i have to alt f4

#

correction, it fixed itself when i sat at a bench

rain cedar
#

That's not an enemy randomizer bug

#

Team Cherry broke shiny items

#

Sometimes when you grab them it doesn't give you back your pause menu

delicate ether
#

it wasnt from grabbing an item

#

it happened when i tried to close the enemy randomizer menu

#

i hit escape and the game continued but the menu was still over my screen

#

when i hit escape again (to get the mouse) i clicked back on the ER menu and then it went to the normal esc menu

#

the options menu*

#

when i hit esc again, it went back to the ganme, but the options menu was overlaid on my screen

#

and i couldnt get back in to the menu until i sat at a bench

rain cedar
#

Oh, ok

solemn rivet
#

that's a modding issue, not specific to enemy rando

rain cedar
#

Debug has the same issue

solemn rivet
#

you have to manually quit

#

like, click "back"

#

if you esc out of mod menu, it stays on top

delicate ether
#

ah

#

i'll reember that

rain cedar
#

I have to modify 5 FSMs to get the dream nail plaque thing working properly

solemn rivet
#

still barebones

rain cedar
#

So as someone who has barely played nier automata

#

What does that do?

solemn rivet
#

health drains at the rate of 1 per 10 seconds, but timer is reset when you hit enemies

#

in nier you can heal by hitting enemies

#

thought that might be op, since you already get soul

rain cedar
#

Interesting

solemn rivet
#

all damage dealt by the knight is scaled by 1.75x

delicate ether
#

berserk, random, enemy rando, darkmod, glass soul, steel soul 100% speedrun go!

solemn rivet
#

also subject to change

#

but the thing I really need an input on is

#

do I make it always on or toggable (via charm or button combo)?

delicate ether
#

i was going to say make certain charms give extra bonuses

#

fury of the fallen comes to mind

rain cedar
#

Always on you'd be half dead just walking past dirtmouth at the start

solemn rivet
#

my initial idea was to replace fotf with that

#

since you get that at the start and all

delicate ether
#

you could also make it fotf

#

but have an "overberserk" ability of some sort

#

so if you have full health and you hit enemies, you get soe bonus

#

like damage up

#

but so long as you have this bonus maybe your health falls faster

rain cedar
#

I think it would be cool to repurpose the hiveblood hp icons to show the draining of the hp

delicate ether
#

and the bonus goes away when you get hit

solemn rivet
#

oh, that would be sick, sean

#

I'll look onto that

delicate ether
#

sorry if thats way more than what you asked for lol

solemn rivet
#

that's a nice idea too, mechazawa

delicate ether
#

but it would be difficult in areas with logn stretches of no eneies

#

as someone mentioned

solemn rivet
#

I think instead of triggering on full health, it would be better to tie it to hit combo

#

if you get a 10 hit combo within a certain window, you go into overberserk mode

delicate ether
#

you could use the throns attack animation

#

when you hit overB

solemn rivet
#

not necessarily 10, just a random number

delicate ether
#

maybe change it to red if thats possible

rain cedar
#

Anything is possible with ms paint

delicate ether
#

or have hollow knight yell something

#

make hollow knight do the grunt soul tyrant does when he hits overB

rain cedar
#

holow knogiht

solemn rivet
#

hollow nugget

solemn rivet
#

ok, looking into the hiveblood fsm

#

wish me luck

#

if I don't comeback, plz send mems

rain cedar
#

It is probably the hpbar fsm that matters

#

Whatever that is

solemn rivet
#

the Health gameobject has a HiveHealthRegen fsm

#

that's what I'm looking into rn

rain cedar
#

Righto

solemn rivet
#

it's a float compare

#

now I need to know what it's comparing to

#
"name": "Recover Time",
"tooltip": "",
"showInInspector": false,
"networkSync": false,
"value": 5.0
#

huh

#

does it only take 5 seconds to change the hive health state?

#

from empty to partially filled

rain cedar
#

Something like that

#

It takes a long ass time

#

Very weak charm

solemn rivet
#

10 seconds

#

ok, so it's 5 each

#

ok

#

seems easy enough

#

just reverse the order

#

it's nice that my current berserk timer is also 10 seconds

rain cedar
#

Works out nicely

solemn rivet
#

now, time to be evil

#

create my own fsm and add it to the Health gameobject

rain cedar
#

I've been making FSM actions

#

But a whole new FSM is taking it to the next level

solemn rivet
#

jk

#

I'll just abuse the existing one

#

force it to skip transitions etc.

compact sedge
#

Does FSM actually stand for flying spaghetti monster?

solemn rivet
#

oh

rain cedar
#

Finite state machine

compact sedge
#

because that shit is confusing

solemn rivet
#

close enough

#

actually, it does look like a flying spaghetti monster, doesn't it?

rain cedar
#

Some kind of spaghetti

compact sedge
#

flying spaghetticode monster

solemn rivet
#

wait - does that code you just sent me allow you to completely remove an fsm's transitions and actions?

rain cedar
#

Yeah it's some handy extensions for working with FSMs

solemn rivet
#

omg

#

that is amazing

rain cedar
#

Here's an example of a place I use it

//Remove actions that activate shiny item
FsmState spawnItems = fsm.GetState("Spawn Items");
spawnItems.RemoveActionsOfType<ActivateAllChildren>();
fsm.GetState("Activated").RemoveActionsOfType<ActivateAllChildren>();

//Add geo to chest
//Chest geo pool cannot be trusted, often spawns less than it should
spawnItems.AddAction(new RandomizerAddGeo(fsm.gameObject, geoAmount));

//Remove pre-existing geo from chest
foreach (FlingObjectsFromGlobalPool fling in spawnItems.GetActionsOfType<FlingObjectsFromGlobalPool>())
{
    fling.spawnMin = 0;
    fling.spawnMax = 0;
}```
solemn rivet
#

but, yeah, I'll think I'll just make a new fsm with the relevant components/states from the hiveblood one, otherwise I would break the hiveblood charm

rain cedar
#

Just makes everything so much easier

solemn rivet
#

wow

#

that is truly amazing

solemn rivet
#

ok, finished writing my hackjob at making this work

#

let's give it its first spin

rain cedar
#

I'm not sure how I want to handle additive items in randomizer

#

Behind the scenes, I mean

#

Pretty obvious how they should work for the end user

solemn rivet
#

huh, I don't think that fsm exists anymore

#

weird

rain cedar
#

Which?

#

The health one you were just using?

solemn rivet
#

hive = FSMUtility.LocateFSM(GameObject.Find("Health"), "Hive Health Regen");

#

this returns a nre

#

I know it's supposed to be a child to the Knight gameobject

#

but it wasn't finding it, so I tried a more "broad" search

#

still nothing

#

this fsm list I have is from 1.2.2.1, so maybe it doesn't exist anymore

rain cedar
#

Just loop through PlayMakerFSM.FsmList

solemn rivet
#

yeah

rain cedar
#

Log them all

solemn rivet
#

ugh

#

hive = PlayMakerFSM.FsmList.Single(f => f.name.Contains("Hive Health Regen"));one last try before logging them all

solemn rivet
#

well, that throws a weird error

#

TypeLoadException: Could not load type '<>c' from assembly

rain cedar
#

What even is that?

#

<>c isn't something I'd expect many things to attempt loading

solemn rivet
#

it's caused by that line I just posted earlier

#

I remove it, it compiles and runs fine

#

I add it, it compiles and NRE's during runtime

#

literally that single line

rain cedar
#

Idk, do it without linq

solemn rivet
#

that's what I'm doing rn

#

so weird

solemn rivet
#

ok, last try for tonight

#

I'll upload the code if anyone wanna give it a go

#

I gotta go now

river tiger
#

Say, Radow, how many games have you modded, mate?

rain cedar
#

I like that name

#

Radow

#

It's better

#

Rad dude

young walrus
#

Name change inc

rain cedar
#

So I get what it doesn't like here

#

But why doesn't it like that?

#

There's no ambiguity between the two obj variables anywhere

pearl sentinel
#

You use obj below in the outer scope

#

Just put some { } around the lower section of code and it will stop bitching

#

C# is Hella dumb about scope rules

buoyant obsidian
#

I don't know about anything he's worked on since Hollow Knight but I'm fairly sure this is the game he started with, 69.

#

Same with me, this is the first game I ever modified seriously.

rain cedar
#

Yeah I realize it's because the outer scope has obj

#

That's just fucking stupid

#

That should be fine

#

Like the only reason to have that error is that the inner scope potentially hides the value from the outer scope

#

Which should be a warning, in my opinion

pearl sentinel
#

From stack overflow

#
The scope of a local variable declared in a local-variable-declaration is the block in which the declaration occurs. It is an error to refer to a local variable in a textual position that precedes the local-variable-declarator of the local variable. Within the scope of a local variable, it is a compile-time error to declare another local variable or constant with the same name.

(Emphasis mine.)

In other words, the scope for the "later" variable includes the part of the block before the declaration - i.e. it includes the "inner" block containing the "earlier" variable.

You can't refer to the later variable in a place earlier than its declaration - but it's still in scope.
#

Still dumb, imo

fair rampart
#

I keep playing Risk of Rain. From the core stuff in HK there'd already be two equivalent characters to Mercenary the vessel and kind of to loader Hornet

pearl sentinel
copper nacelle
fringe schooner
#

does ngg work with 1.3.1.5

copper nacelle
#

no

#

iirc

fringe schooner
#

boii

#

well there goes my plan to beat ngg

copper nacelle
#

just downpatch

#

ez

young walrus
#

Beating NGG

#

Omegalul

leaden hedge
#

if you don't patch down you have to deal with shittier damage anyway

#

so it'd be even harder on this patch

delicate ether
#

Ive noticed any rooms with enemy randomizer that spawn marmus, tends to be very crashy. As in, ive only ever crashed in rooms with marmus (and one other time, but not with ER)

#

I dont know if this is ER per se, or just marmus being out of their default scene though.

#

Is there any way to change the seed of a game with ER?

fair rampart
#

someone mod the game to turn the night into sans

pearl sentinel
#

You can edit your save file, I think, to change the seed. Otherwise the seed is only changeable before you start a new game in the enemy randomizer menu

solemn rivet
#

or, you know, just turn on Chaos Mode, which is basically the same

delicate ether
#

chaos mode makes it too easy, i like room mode, i was hoping to change the seed for one room, but i guess i'll just deal with it every time i go past that room

fringe schooner
#

can you use debug mod to fight nkg multiple times?

young walrus
#

yes

solemn rivet
#

NKG? More like NK-EZ

compact sedge
#

This is a super noob question but are there any tools/ways to enumerate/list a given FSM's components and their default states?

rain cedar
#

Look at Kerr's scene dump in the drive

#

It's in the enemy randomizer folder, I think

compact sedge
#

cool thanks

compact sedge
#

literally exactly what I needed thanks for doing that Kerr

#

well almost

#

it'll be good enough for what I need to do.

delicate ether
#

does simply loading a save with bonfire alter the save in any way?

#

a save that was started without bonfire*

delicate ether
#

I think bonfire mod ups enemy health even in games its not loaded in

rain cedar
#

That's not really possible

#

I think he might be faking enemy health increase by lowering nail damage

#

That would stick after uninstalling

delicate ether
#

my nail damage was 5 according to debug menu, but enemies that should take 3 hits took 5

#

like wandering husks

#

i removed the .dll for bonfire and the damage went back to normal

#

and this was before i acidently loaded the saave with bonfire activated

rain cedar
#

Oh ok I see what you mean

delicate ether
#

when i loaded the save by acident, it showed me as like level 12 or so

rain cedar
#

The mod is still loaded

delicate ether
#

so what i think happened is the level info was tied to the SAVE SLOT, not the save game

#

because the previous save in that slot had bonfire

copper nacelle
compact sedge
#

lol I love how they advertise that they delete the files after a short time as a feature

rain cedar
#

What stuff do I have to set on a new RigidBody2D and BoxCollider2D to get object physics to work?

#

Actually nah that's overcomplicating things

compact sedge
#

Where's the GetState function to return an FsmState from a string state name?

copper nacelle
#

there isn't one

#

you loop through it and feel sad

compact sedge
#

Yeah I realize that I'ma write one I guess

copper nacelle
#

use fsmutil

#

and the extensions

#

makes fsms much less horrible

#

the fsm dumper?

compact sedge
#

sh nobody saw that

copper nacelle
#

ok

#

just download them both and include them

compact sedge
#

anyway thanks for the link not gonna lie it's in an awkward spot though

copper nacelle
#

?

compact sedge
#

probably would have not found it on my own

copper nacelle
#

yeah

compact sedge
#

is everyone's mod gplv3?

copper nacelle
#

i think so

compact sedge
#

Because I want to make mine gplv3 and don't want any licensing problems

copper nacelle
#

idk about lightbringer but every mod i've seen is

#

every mod w/ a license

rain cedar
#

Just ask the mod authors

#

Probably everyone here will let you use their code

compact sedge
#

true but if I'm using other people's code I don't want to unintentionally relicense it under something they wouldn't want.

#

Most people don't care but I only bring it up because there's the occasional dev (like the zfs people) who get really upset by these kinds of things.

rain cedar
#

I don't know who that is

compact sedge
#

but you're right, better to just ask

copper nacelle
#

filesystem used w/ bsd

#

nice but has a weird license iirc

rain cedar
#

If I cared about keeping my code proprietary I wouldn't put it on github

compact sedge
#

yeah it has a license that explicitly says you can't use it in a GPL project or something

#

which is why Linux doesn't have zfs support

copper nacelle
#

ree

rain cedar
#

That's dumb

compact sedge
#

except as a 3rd party kernel module

copper nacelle
#

everything is MIT or gpl v3

#

no one cares

#

if it doesn't have something just ask

#

e z

compact sedge
#

ok

#

thanks

copper nacelle
#

yw

leaden hedge
#

not everything

#

my fsm viewer is unlicense hollowface

#

also there actually is a function to get state from name, HutongGames.PlayMaker.Fsm.GetState(name) does it

#

although tbh if I was to actual do some FSM hacking now, I'd just make custom actions and replace the target states actions with stuff that did what I wanted

rain cedar
#

That's what I'm doing, mostly

#

Otherwise I'd have to deal with all the weird garbage objects

#

Like FsmOwnerDefault and FsmVar

leaden hedge
#

thats too much garbage

#

basic fsm is too much tbh

rain cedar
#

Simple actions like this already suck

SendEvent openGate = new SendEvent
{
    eventTarget = new FsmEventTarget()
    {
        target = FsmEventTarget.EventTarget.BroadcastAll,
        excludeSelf = true
    },
    sendEvent = FsmEvent.FindEvent("BG OPEN"),
    delay = 0,
    everyFrame = false
};
childFSM.GetState("Destroy").AddFirstAction(openGate);
childFSM.GetState("Finish").AddFirstAction(openGate);```
#

That's just saying I want it to do PlayMakerFSM.BroadcastEvent("BG OPEN")

compact sedge
#

oh that is a lot of garbage

rain cedar
#

More complex ones are just no

leaden hedge
#

what about if you want to spawn fsms

#

that spawn fsms

#

that do stuff

rain cedar
#

Then I clearly work at Team Cherry because no sane modder would do that

#

So I just use the visual editor

solid wagon
#

are the nail arts even worth using in Lightbringer?

copper nacelle
#

not really

#

imo

pearl sentinel
compact sedge
#

Hey Seanpr. I've spent the past couple hours playing around with that file 56 mentioned: https://github.com/seanpr96/HollowKnight.RandomizerMod/blob/master/RandomizerMod2.0/Extensions/PlayMakerFSMExtensions.cs and I've found it really useful. Would you mind if I included just it in the mod I am making?

rain cedar
#

Yeah go for it

compact sedge
#

thanks!

#

This actually will save me a lot of time

leaden hedge
#

it shouldn't do, its just generic array functions

#

like if you google stackoverflow remove item from array

#

a 1:1 copy would come up

rain cedar
#

I mean yeah they're really simple extensions

#

But that doesn't make them not useful

leaden hedge
#

i mean the saving a lot of time

compact sedge
#

ok but it saves me time not having to look into the details of FSM data storage and allocation.

leaden hedge
#

which you probably should if you're going to manipulate them ๐Ÿค”

compact sedge
#

I know enough, I hope.

#

my first mod isn't overly ambitious

leaden hedge
#

also for GetState you can just call playmakerFSM.Fsm.GetState(name)

#

does the exact same thing

compact sedge
#

why is setstate a thing you can call directly from a playmakerFSM but you need to .Fsm for getstate?

#

like it's playmakerFSM.SetState() and playmakerFSM.Fsm.GetState()

rain cedar
#

Because playmaker is a mess

leaden hedge
#

I assume they thought users would have no need for GetState

#

and its only needed internally

#

dunno why its public though

compact sedge
#

Hmm playmaker seems popular on the asset store but HK is the only game I have downloaded that uses it.

leaden hedge
#

Hearthstone uses it

compact sedge
#

supposedly yeah

leaden hedge
#

pretty it uses it for card mechanics

#

so the designers can drag and drop mechanics without having to code each card

compact sedge
#

it doesn't seem bad or anything for the developers at least

leaden hedge
#

makes sense considering thats the perfect use for a composite fsm system

compact sedge
#

I do find it interesting HK programs enemy AI through it.

leaden hedge
#

ai is fine to programmed through fsms

rain cedar
#

It makes more sense for enemies than anything else they use it for

leaden hedge
#

infact its one of the only actual use cases of fsms

rain cedar
#

The enemy FSMs are still awful, though

compact sedge
#

makes sense I guess idk I've never worked on any big game engine games before so I'm not sure the good and bad ways to do things in them

leaden hedge
#

generally you'd stay away from libraries or anything that'll "make your life easier"

rain cedar
#

Take it a step further and just avoid libraries entirely

compact sedge
#

Well I'm all for using libraries in my code but it depends on which ones they are

rain cedar
#

I hate relying on 3rd party code to work

compact sedge
#

Like I've done a few projects that use ncurses for graphics.

#

and I feel ok using that since it's old, reliable, stable, and ubiquitous on every OS with a decent terminal.

#

and theres some things you just don't want to reimplement like decoding video files for example, which is why libraries like ffmpeg exist

#

or do y'all mean different kinds of libraries

leaden hedge
#

dunno why you'd be using either of those in a game engine

compact sedge
#

Well I am sorta trying to work on a roguelike

leaden hedge
#

only library you should be using either opengl or directx tbh

compact sedge
#

and I'm using ncurses for that

leaden hedge
#

and maybe something to sanitize inputs hollowface

compact sedge
#

And many video games have cutscenes which are video files, so having a video decoding library is helpful for that

delicate ether
#

Anyone ever tried ENB or reshade with hk?

leaden hedge
#

they probably don't work

compact sedge
#

I'm gonna go with it might possibly work

delicate ether
#

I was thinking of a limbo mod for HK would be cool

compact sedge
#

it's dx9 and you can drop your own dx9 dll into the hollow knight folder

leaden hedge
#

i mean you could probably get some effect running

#

but I doubt any presets or anything would do anything meaningful

delicate ether
#

well, raise the contrast super high and lower saturation would give a close effect

leaden hedge
#

you could probably write a single shader and attach it to the camera, and render stuff black / white depending on z buffer distance

#

not sure how you compile shaders in a mod though

#

I've never tried

compact sedge
#

you could also just change your monitor contrast and saturation

delicate ether
#

ive done similar with cheat engine and darksouls games, but those have light engines and such

#

a 2d gane as colorful as HK could have a lot of interestinf visual themes id there was a way to impliment them

leaden hedge
#

you can attach shaders to any object you want

#

you've just gotta precompile them afaik

delicate ether
#

it exists heh

floral furnace
#

How do I get started with stuff like, forcing your nail slash sprite into the red one whenever you use FotF?

rain cedar
#

You can use monomod runtime hooks and just set fury true before NailSlash.StartSlash

#

Actually there is already an attack hook, set HeroController.instance.slashComponent.fury = true in there

#

It's private so you'll need reflection

floral furnace
#

alright thanks ill try that

floral furnace
#

Okay I have no idea what Reflection is so I tried learning it a bit, so far Im gonna try this:

typeof(NailSlash).GetField("fury", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(hc, true);

the bolded letters is requiring a non null instance, at first i thought using HeroController hc, but HeroController contains NailSlash slashComponent which is an instance of NailSlash object.

So should that mean the bolded part has to be HeroController's NailSlash instance?

rain cedar
#

Yeah

#

Exactly

#

You should cache the FieldInfo as well

fringe schooner
#

@copper nacelle how did the glitched playthrough go yesterday? you know how to make it into a mod or something so i can try it out?

copper nacelle
#

I linked the files

#

it went pretty well

north jetty
#

hey there guys, i trying to install the boss rush mod. but 1 says there a new version available in the top comer and it the mod options says there are no mods. -> https://puu.sh/Agy0y/065d886ee9.png

young walrus
#

It kinda does. you'll just spawn in the floor. Lol

#

๐Ÿ˜‚

north jetty
#

yeah that was gonna be number 2

copper nacelle
#

you can actually play on lifeblood

#

just get debug mod and noclip out of the floor

#

i only tested a few bosses but I think it should work

north jetty
#

noclip out of floor and then what?

young walrus
#

Then play the game

#

Or you could downpatch and play on a patch we know it works on

north jetty
#

okay so how do i do that?

solemn rivet
void tree
north jetty
#

so then 1.2.2.1 is the version i want?

copper nacelle
#

yes

north jetty
#

Alright I think I got it from here thanks for the help

copper nacelle
delicate ether
#

i gues you could call it french vanilla mod

solemn rivet
#

how hard is it to create my own fsmevents?

fresh furnace
#

Inverting color woah

jovial sphinx
#

when i try to load enemy randomizer on the main menu, it gets to 20% and crashes without an error

solemn rivet
#

prolly oom

jovial sphinx
#

it does that every time

#

what do i do

delicate ether
#

if its out of memory, you need more ram

jovial sphinx
#

i have 16 GBs of RAM

flat forum
#

is it all available?

#

what Windows do you have?

#

I know 32 bit windows only allows you to use 3.5

jovial sphinx
#

i have 64 bit

flat forum
#

(saying from personal experience, I can't run some stuff because of that)

#

It's not ram probably

jovial sphinx
#

i have windows 10

delicate ether
#

๐Ÿค” ๐Ÿคท

compact sedge
#

there's 32 bit windows 10

flat forum
#

but they said it's 64 bit

jovial sphinx
#

what do i do now

flat forum
#

I dunno

delicate ether
#

i think fi you do dxdiag it will tell you for sure what bit your system is

#

yeah next to OS

jovial sphinx
#

its 64 like i said

delicate ether
#

though this doesnt help you if you are on 64bit anyways ๐Ÿ˜„

#

are you on the beta of hollow knight?

jovial sphinx
#

no

delicate ether
#

then i dont know, you'll have to wait for one of the mod authors to see your issue

#

๐Ÿ˜ข

jovial sphinx
#

nooo

delicate ether
#

try with only modcommon.dll and enemy randomizer?

#

no other mods

jovial sphinx
#

ok

#

i had boss rush

#

so lets see

#

oh

#

it doesnt work

#

does it need api?

#

i forget

copper nacelle
#

if it's not lightbringer or dramshield co-op

#

there's a 99.99% chance that it needs api

jovial sphinx
#

i have api

copper nacelle
#

ree

jovial sphinx
#

what action must i take to fix this

solemn rivet
#

no, 56, make that a hundo

#

tury - send us modlog (in saves folder) and outputlog (in hollow knight data)

jovial sphinx
#

k

#

and where is the saves folder again?

solemn rivet
#

appdata/locallow/tc/hk

copper nacelle
#

techically the fsm dumper isn't api

jovial sphinx
#

thx

solemn rivet
#

but it's technically not a mod either zote

jovial sphinx
solemn rivet
#

welp

#
DynamicHeapAllocator allocation probe 2 failed - Could not get memory for large allocation 67108864.
DynamicHeapAllocator allocation probe 3 failed - Could not get memory for large allocation 67108864.
DynamicHeapAllocator allocation probe 4 failed - Could not get memory for large allocation 67108864.
DynamicHeapAllocator out of memory - Could not get memory for large allocation 67108864!
Crash!!!```
#

oom

copper nacelle
#

download more ram

solemn rivet
#

close some tabs m8

copper nacelle
#

check htop

jovial sphinx
#

it was google chrome

#

it was taking over 2 GBs of RAM

copper nacelle
jovial sphinx
#

nvm it did nothing

#

still crashes at the same time

#

now what

solemn rivet
#

idk, Kerr did once say it needed around 3gigs of ram

flat forum
#

randomizer?

#

it crashes on my 32 bit windows which only gives it 3.5GB ram

#

and says "not enough ram"

#

so I think it'll need 4 or more

#

but I may be completely wrong

solemn rivet
#

idk

#

I only have 8GB, and mostly only have <4GB free, and it used to run fine

#

didn't try on newer versions tho

flat forum
#

they use more RAM?

jovial sphinx
#

Itโ€™s enemy randomizer

#

And I have 16 GB of RAM

solemn rivet
#

don't know, sorry

#

you could try dm'ing kerr

compact sedge
#

Is there a hook that happens before the game deletes game objects?

rain cedar
#

Stick a component with OnDestroy on the object

compact sedge
#

uh but how do I stick anything on the object when currently that object doesn't exist by the time my code runs

#

(sorry if stupid question)

#

also isn't OnDestroy for the component not for a game object that the component may or may not be manipulating

leaden hedge
#

find it earlier

#

and if its your component it isn't going to get destroyed unless the gameObject is destroyed

compact sedge
#

its not mine it's one in the game. It's gone when I try to use UnityEngine.SceneManagement.SceneManager.activeSceneChanged.What's earlier than that that runs on scene transitions?

leaden hedge
#

no its on your component, you add it to the gameobject

#

what object are you trying to find that gets destroyed before the scene loads

compact sedge
#

the door to the grimm circus room in dirtmouth, so called: room_grimm

rain cedar
#

And how are you trying to find it?

compact sedge
#

GameObject.Find("room_grimm")

But also I printed out a list of GameObject.FindGameObjectsWithTag("TransitionGate") and it or anything similar didn't appear there.

leaden hedge
#

how do you even know its there if you can't get a reference to it ๐Ÿค”

copper nacelle
#

probably kerr's scene dump

compact sedge
#

because I know there has to be some TransitionGate that leads to where grimm is (just making the tent appear is not enough) also I looked at kerr's dump for the specific name

leaden hedge
#

ok

#

use monomod runtime detour

#

detour playmakerFSM.ctor or OnEnable

#

return fsm.gameObject if it matches

compact sedge
#

Thanks will try

#

Or maybe I should just recreate the door instead of using the game's door?

solemn rivet
#

if the game object is inactive, Find won't find it, because unity makes inactive objects return null on a null check

#

you have to do something like GameObject[] objects = GameObject.FindAllObjectsOfType<GameObject>(); and check the array for your object

compact sedge
#

that seems like a more likely explanation thanks. the other objects I searched for were all active but hidden.

rain cedar
#

Parent objects aren't really ever inactive in this game

#

There's always just some FSM that sets them inactive after load

#

But the hook should be before that

compact sedge
#

that's what I thought yes but I guess wherever my hook is isn't early enough

#

actually should I be using ModHooks.Instance.BeforeSceneLoadHook instead of UnityEngine.SceneManagement.SceneManager.activeSceneChanged?

rain cedar
#

No

#

The Unity hook is exactly when the scene loads

#

The mod hooks are before/after the game tells unity to load

compact sedge
#

ok well good because ModHooks.Instance.BeforeSceneLoadHook doesn't even work for me

leaden hedge
#

what are you even trying to do actually

#

can't you just set the playerdata variables to be ones that allow the tent to spawn as you load into dirtmouth

#

then set them back after load

compact sedge
#

I guess that's a possibility but I'd run into the same problem of the hook being too late. Plus if the person saves and quits I'm worried it might not retain their playerdata value

leaden hedge
#

well you'd do it frame before the scene loads, and reset it the frame after

#

its impossible to save during a load

#

not only that

#

theres a hook

#

for overwriting bools as they are read

#

without overriding the actual value

compact sedge
#

well then.....

leaden hedge
#

ModHooks.GetPlayerDataBool(string name) iirc

#

just check for started grimm troupe bool and defeated nkg bool

copper nacelle
#

instance

leaden hedge
#

set prior to true, latter to false

copper nacelle
#

ModHooks.Instance.GetPlayerBoolHook

leaden hedge
#

you probably only want to do that when scene is dirtmouth though

#

although should matter for fighting nkg ๐Ÿค”

compact sedge
#

nah I'm doing a lot of different stuff inside the tent.

solemn rivet
#
if (blob.transform.position != Vector3.Scale(def, Vector3.right * PlayerData.instance.health))
{
    Log(@"Updating health");
    blob.transform.position = Vector3.Scale(def, Vector3.right * PlayerData.instance.health);
}```
#

I have this under FixedUpdate

#

any ideas why it isn't updating when my health decreases?

#

def never changes, btw

#

nvm

#

was getting an nre, preventing the code from reaching that

solemn rivet
#

berserkmod is ALIVE

copper nacelle
solemn rivet
#

just a few small tweaks left

#

I have to make the health animation reset when I hit enemies

#

also when I sit on benches

copper nacelle
#

looks super neat

solemn rivet
#

I hate fsms

#

that took way longer than it should to work properly

compact sedge
#

Is there any way to get details about the specific actions a given FSM state calls?

#

like beyond just the action name

pearl sentinel
#

You can use the fsm dumper thing (unfamiliar with it) or try my kinda hacky printing extension for game objects in mod common PrintSceneHeirarchy(string outputFile) prints to /Mods

compact sedge
#

ok

pearl sentinel
#

Paired with looking at the action classes in dnspy to see what the data is used for

#

Also, some actions don't have their data populated until their state has been hit in the fsm

compact sedge
#

on second thought Ima save fancy FSM stuff for a more ambitious mod.

solemn rivet
#

tbf it's not that hard to edit fsms if you know what you're trying to do

#

kerr's PrintSceneHierarchyTree is a godsend for that

copper nacelle
#

^

#

also fsm dumper is god

solemn rivet
#

you mean that fsm mod?

#

that dumps fsm during runtime

copper nacelle
#

yes

#

it is the reason I exist

solemn rivet
#

I prefer printing them tbf

#

so, I suspect that my berserk mode is killing the hiveblood charm

#

if it is, I'll have to remove the charm's functionality entirely so as to not interfere with the mod

#

nbd anyway, the charm sucks

solemn rivet
#

so, right now, the health drain is completely functional, minus the Hiveblood charm being ded

#

as soon as I have more free time, I'm gonna start working on the visuals

#

would be nice to have that heartbeat effect from fotf

floral furnace
#

Wait is there no easy means of implementing the outer/edge low health effect? (regardless of your health ofcs)

solemn rivet
#

this is my favorite part o the code so far: csharp foreach (FsmState state in hive.FsmStates) { state.ClearTransitions(); state.RemoveActionsOfType<FsmStateAction>(); }

#

what do you mean, TTacco?

floral furnace
#

I mean youre gonna implement the FotF heartbeat effect regardless of health levels?

#

Unless im misreading this lmao

solemn rivet
#

yeah

#

that's the plan

#

idk how hard that is

#

could be ezpz

flat forum
#

Will it be posted to the Mods Folder?

solemn rivet
#

sure

#

I can post an ugly working version

#

btw, since I need to break the Hiveblood charm for this to work, I've decided to simply repurpose the charm

#

and give it to players on a new game

flat forum
#

wait, you changed the code to Lifeblood so that now every time u equip it the mod works, but it stops when you take it off?

solemn rivet
#

I don't get what you're saying

#

I didn't change the game's code

#

I made a mod

floral furnace
#

Your mod is a "if you dont hit then anything you lose life" or something like that right?
I think hes saying is the mod is activated whenever you equip hiveblood, and it deactivates whenever you take it off

solemn rivet
#

yeah

#

basically

#

that makes more sense than having it always on

#

I'm p sure you can find these in the gdrive, but here they are

copper nacelle
#

i should probably put hooks in the drive tbh

#

or at least in modlinks

flat forum
#

so, if it is directly related to Hiveblood that way

#

can you make it function like Void Heart

#

where, once equipped it's stuck

copper nacelle
#

but why

flat forum
#

well, they said the mod is bound to a charm, so, I guess for the mod to always continue working?

#

I dunno

copper nacelle
#

what

#

the mod uses hivebloods hp visuals

#

that's all

#

and I think it now requires you putting on hiveblood to work but idk

flat forum
#

" the mod is activated whenever you equip hiveblood, and it deactivates whenever you take it off"

"yeah"
"basically"

#

that part

#

is it made a part of Hiveblood intentionally

#

because if not, I suggested taht as a way around

pearl sentinel
#

So what is hooks for?

copper nacelle
#

it's the monomod runtime detour hooks

#

w/ all the required mono dlls merged w/ it for convenience

pearl sentinel
#

So there's a some c# code on a github called harmony. You could add the code to modcommon, or I could. It allows you to add a hook before, after, or change a function call at runtime. And it wouldn't require additional dlls

copper nacelle
#

wouldn't that effectively be the same thing tho

pearl sentinel
#

Yeah.

#

But no extra dl

#

Dll

#

Like, the code is basically "patch this method"

#

It could probably go in the modding api

#

Then you wouldn't really need extra hooks ever again

pearl sentinel
#
var harmony = HarmonyInstance.Create("com.company.project.product");
var original = typeof(TheClass).GetMethod("TheMethod");
var prefix = typeof(MyPatchClass1).GetMethod("SomeMethod");
var postfix = typeof(MyPatchClass2).GetMethod("SomeMethod");
harmony.Patch(original, new HarmonyMethod(prefix), new HarmonyMethod(postfix));
#

That's real simple and easy

#

Anyway, just an idea to cut down on extra dlls

solemn rivet
#

You could always merge the hooks dll with the api/modcommon

#

You meaning we

copper nacelle
#

imo that's what my pull does

solemn rivet
#

But wtv

pearl sentinel
#

Mod common is open to editing by you guys however you want

#

(Shrug)

solemn rivet
#

Btw now that I think of it, my mod doesn't really require modcommon, I just used to for debugging

compact sedge
#

what's wrong with extra dlls?

rain cedar
#

People can't even install mods with the amount we have now

compact sedge
#

you're just gonna make a monstrosity that's harder to maintain if you merge everything though

solemn rivet
#

More people complaining

#

Ffs mobile

#

But if the usage of installers (which automatically install all dependencies) becomes more prominent, that will be a non issue

leaden hedge
#

imo everyone should just merge all their mods directly into assembly-csharp.dll and just have a different dll for every single mod combination

compact sedge
#

oh btw I found out why NGG doesn't work on lifeblood

#

grimm doesn't have the "boss" tag anymore so it can't find it.

copper nacelle
#

why

#

wtf

#

grimm is a boss

#

why would they get rid of the tag

leaden hedge
#

inb4 dreamboss

compact sedge
#

oh no it's there but they changed it to a sub-object

copper nacelle
#

oh yeah

#

same thing happened with mantis lords

compact sedge
#

instead of the one that you need to control to edit variables

#

So you wanna find "Grimm Control" but the boss tag is "Grimm Control/Nightmare Grimm Boss"

copper nacelle
#

wait wtf

#

you can just do that?

compact sedge
#

GameObject.Find("Name of object")

#

yeah

copper nacelle
#

aaaaaaaaaaaahhhhhhhh

#

I was doing GameObject.Find("Mantis Battle")?.FindGameObjectInChildren("Mantis Lord")

compact sedge
#

hey I spent about 2 hours trying to hack a tent in this morning not realizing there's a hook for temporarilly modifying player variable checks.

leaden hedge
#

fuck that shit, ill just runtime detour the fsm ctor

#

and check for name = grimm control

copper nacelle
leaden hedge
#

nah i wont im lazy

#

gotem

compact sedge
#

well I'm not fixing your mod because mine is probably gonna conflict

copper nacelle
#

what's yours?

leaden hedge
#

nggg

compact sedge
#

I'll post it when it's working

#

It's not that impressive

copper nacelle
#

imo what does it do tho

compact sedge
#

I'm trying to make it so you can refight NKG after the first time and that refight goes on forever getting slightly harder and faster the more damage you do until you die at which point you get rewarded with geo and stuff. But this is only after you beat it once for real.

copper nacelle
#

neat

compact sedge
#

oh it's small but I think they also changed health_manager_enemy -> HealthManager

copper nacelle
#

they did

#

no longer an fsm

compact sedge
#

oh good

floral furnace
#

dumb question, but do you guys extensively research or at least learn the very source code of HK for these

copper nacelle
#

not really

#

you know some of it just because you've looked at it before

#

but you can just dnspy whenever

#

at least for me

leaden hedge
#

i probably know all of the relevant code

#

thats in dnspy

rain cedar
#

I only know the things that make no sense

#

Like the NonBouncer component which is just a bool

copper nacelle
#

tf

rain cedar
#

They could just stick it in Breakable instead

leaden hedge
#

so you know everything about the game then

rain cedar
#

Close to it

delicate ether
#

fuck grimm, ya'll need to make flukmarm or uumuu harder

#

Uumuu, the NAmeles King. Flukmidir.

young walrus
#

fight flukemarm with nail 0 and no movement abilities

#

or spells

#

beat it

copper nacelle
#

and charms

young walrus
#

you won't

copper nacelle
#

beat it and you get 10 bucks

#

or was it 5 bucks

young walrus
#

was increased to 10

delicate ether
#

pf, i lift bruh

leaden hedge
#

ill make crawlids harder

delicate ether
#

make the water acid, and raise/lower it during the fight

copper nacelle
#

that would just make the fight more annoying

leaden hedge
#

remove the platforms imo#

delicate ether
#

hey sometimes you just need a bed of chaos fight

#

i still think giving him a berserk mode where he becomes immune to phsyical but damaged by magic is a cool idea

#

and immune to magic when not berserk

copper nacelle
#

your first statement

#

is the most wrong thing I've ever heard

floral furnace
#

bed of chaos is good

copper nacelle
#

ban yourself kthx

delicate ether
#

๐Ÿ˜ฆ

copper nacelle
#

that's like saying ancient wyvern is good

floral furnace
#

honestly the stretch running towards it because that titanite demon blocking it was more frustrating than the boss

#

the arms on the last phase was horrible tho

copper nacelle
#

honestly haven't even fought the boss

#

wait

#

titanite demon?

#

f u c k

delicate ether
#

bed of chaos is probably the worst desgined bos fight ive seen in a video game

copper nacelle
#

my save is at that demon

floral furnace
#

nibba its literally just those big guys with titanite poles

copper nacelle
#

my save is literally at that guy

floral furnace
#

theyre just tougher enemies, not a boss

delicate ether
#

just run past

copper nacelle
#

no i mean

delicate ether
#

#notwroth

copper nacelle
#

i'm at that guy

#

in lost izalith

#

blocking the pass

delicate ether
#

run past

copper nacelle
#

i didn't go past him

delicate ether
#

fuck

#

that

#

guy

floral furnace
#

oh yeah that one, also, theres no way to salvage flukemarm

#

well maybe make it better

#

but its still an overall lame fight imo

copper nacelle
#

make it spawn nkgs

floral furnace
#

unless you wanna mod it that it spawns 2 hornets instead

#

oh yeah thats better

delicate ether
#

i thought it was a funy fight, didnt find it hard or anything, some people apparently got stuck on flukmarm

compact sedge
#

@delicate ether I'm not making grimm harder, I'm making grimm replayable because it's a fun bossfight

delicate ether
#

watcher knights is the only real fight that made me hit a brick wall

copper nacelle
#

doesn't it also get slightly harder

#

as you replay it

#

technically

compact sedge
#

no I'm making it harder the longer you last

copper nacelle
#

o

compact sedge
#

it resets in hardness when you die

copper nacelle
#

so he has infinite health?

compact sedge
#

yeah

#

but to make up for it you will get geo based on how much damage you do

#

so you can track how well you did

delicate ether
#

thats... an interesting way to make a fight "replayable"

copper nacelle
#

imo good way

compact sedge
#

well making it replayable was different that was just removing the check to see if you killed it already

young walrus
#

infinite fight tbh

delicate ether
#

more arena fights would be nice

copper nacelle
#

imo you do it when

delicate ether
#

my coding skill is about as good as your skill at driving a tank

copper nacelle
#

idk what you're talking about

#

I'm great at driving tanks

young walrus
#

i'm literally a tank operator

leaden hedge
#

are tanks even that hard to drive

#

tbh you probably don't have to worry about other cars

#

or the road

delicate ether
#

they probably arent ๐Ÿ˜„

young walrus
#

or people you don't like much

compact sedge
#

help I can't debug the fight because I only have KB&M and I can't last more than 15 seconds with it

delicate ether
#

like driving any track vehicle

compact sedge
#

why is playing without a controller so hard

copper nacelle
#

boi i play kb+m only

delicate ether
#

my first time beating hollow knight with with mousae and keyboard, that shit was rough

#

would beat him first try

#

died 20 times instead

floral furnace
#

KBM best controls, precise on its own

rain cedar
#

I play with mouse buttons only

floral furnace
#

how intuitative is using mouse as your attack anyway

delicate ether
#

very

copper nacelle
#

imo it's super intuitive

floral furnace
#

imo better to just go full keyboard

delicate ether
#

that wasnt the hardpart

#

it was movement with wasd

copper nacelle
#

i have lmb as attack, rmb as dash, and middle as quick cast

delicate ether
#

mvoement on the keyboard is atrocious

#

same ^

floral furnace
#

i use 8456 as my movement so uhh

#

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

leaden hedge
#

i have lmb as move left, rmb to move right, scroll up to jump, scroll down to attack

#

literally perfect controls

floral furnace
#

but using spacebar is shit tho, i think its starting to wear out as well

copper nacelle
#

what's that mouse with like

#

32 side buttons

delicate ether
#

i used space to jup

copper nacelle
#

you could play mouse only with this

delicate ether
#

good luck

floral furnace
#

i also use spacebar, but sometimes it goes to that blurry line of "should i jump" or "the player never let go of the jump button so no jump for you"

leaden hedge
#

i have 3 extra buttons on my mouse

delicate ether
#

my muscle memory was trying to do controller input while my hand was on a keyboard, thats what made it so hard

flat forum
#

I use standard keyboard controls for everything

floral furnace
#

can you rebind the controller keys tho?

delicate ether
#

i use joy2key

floral furnace
#

same DS1 and 2 with keyboard only boi

leaden hedge
#

i could probably play mouse only hollowface

flat forum
#

PoP included

delicate ether
#

hollow knights controller implimentation kinda sucks

copper nacelle
#

i mean you could play mouse only with the normal 2 side buttons

leaden hedge
#

its not theres

copper nacelle
#

and scroll

flat forum
#

I want to try controler soon, but I think I'll take way too long to get used to it

copper nacelle
#

technically

#

like what you said and just have side be cdash and dnail

leaden hedge
#

its some 3rd party library

copper nacelle
#

or have side be jump and attack

#

and scroll be cdash and dnail

#

which would be easier i think

leaden hedge
#

you need either dash or cast

delicate ether
#

it drops my controller a lot, or if the controller is unplugged, it requires a game restart to recognize

copper nacelle
#

oof

#

uhh

leaden hedge
#

infact you need cast

floral furnace
#

oh yeah that controller bug, ive read other users having it

copper nacelle
#

click both side buttons simultaneously for cast

floral furnace
#

they have to plug it first before starting

copper nacelle
#

click middle button for dash

delicate ether
#

and dont get me started on the clusterfcuk that is steam controller support

leaden hedge
#

inc darkmod nkg mouse only

delicate ether
#

when i had steam controller support enabled, it would not let me hold buttons down

copper nacelle
#

lol