AlexKnauth / hollowknight-autosplit-wasm

A cross-platform autosplitter for Hollow Knight that supports Windows, Mac, and Linux
MIT License
4 stars 0 forks source link

Some missing splits #12

Closed AlexKnauth closed 7 months ago

AlexKnauth commented 8 months ago

Common themes:

Splits on hksplitmaker:

What about the now-deprecated 106-comfy.json, and its PreGrimmShop split? Re-implement as a Lantern Shoptimisation split? See: https://github.com/AlexKnauth/hollowknight-autosplit-wasm/compare/shoptimisation

For witness.json: with so many manual splits, this category could use some new autosplits for Quirrel. But that can be for another time.

AlexKnauth commented 7 months ago

Idea for letting ManualSplit work: have the autosplitter automatically move on to the next split for its own internal state, but without sending a split action or any other action to the timer.

For example on splits A, ManualSplit, C, D:

When A happens, the autosplitter sends a split action to the timer and moves its internal state to ManualSplit, but then immediately moves its internal state to C.

If the user does nothing, does not manually split, then when C happens, the autosplitter will wrongly split what the timer thinks is ManualSplit, but the autosplitter thinks is C. Then the autosplitter will be on D.

Hopefully the user will notice something wrong at this point, and they might manually undo ManualSplit, then manually skip ManualSplit, then manually split or skip C. If C is an event split this is fine. But if C is a continuous split then it might appear to the user that manually undoing ManualSplit just doesn't work, so they might just manually skip C instead. After that the 2 states will be back in sync again, with both on D, so this isn't the worst.

AlexKnauth commented 7 months ago

Idea for PureSnail: look at HeroControllerStates focusing, see when health increases relative to when focusing is true/false. Also look at MPCharge (I think), to see when it has consumed the soul needed to heal.

By looking at focusing, it should be able to exclude gaining health by other means such as a bench.

By looking at focusing, health, maxHealth, and MPCharge (I think), it should be able to include focusing while remaining at full health.