If the inversion block detects a buffered ClimbJump, it will convert it to a regular WallJump on the opposite side, rather than something useful like Jump.
Additionally, if the climb jump is not buffered, it will act like a corner boost on the opposite side, with a small chance of also triggering WallJump.
Ideally it would have this functionality when a climb jump is attempted by the player (ie. grab and jump pressed together):
Any call to ClimbJump with horizontal or retained wall speed cancels the climb jump and converts it to a regular Jump, restoring any retained wall speed.
Any call to ClimbJump with no horizontal or retained wall speed, and a MoveX not pointing into the block performs the regular ClimbJump and changes Madeline's facing.
With the above point, if MoveX is pointing into the block, the climb jump is replaced with WallJump on the opposite side without changing Madeline's facing.
Also, ideally there would be no frame where Madeline has the StClimb state, which can happen if she is moving fast enough into the block that a climb jump cannot be buffered, and instead she slams into the block, retaining speed.
There's also a problem where after teleporting, the jump button can be detected as a WallJump by the same logic that checks for buffered climb jumps. This may need to be disabled for a few frames after Madeline teleports.
@VampireFlower could you please give your 2 cents on this? The inconsistency is currently making the blocks not fun for at least one mapper. Hopefully any fixes don't break Superfecta too much.
If the inversion block detects a buffered
ClimbJump
, it will convert it to a regularWallJump
on the opposite side, rather than something useful likeJump
. Additionally, if the climb jump is not buffered, it will act like a corner boost on the opposite side, with a small chance of also triggeringWallJump
.Ideally it would have this functionality when a climb jump is attempted by the player (ie. grab and jump pressed together):
ClimbJump
with horizontal or retained wall speed cancels the climb jump and converts it to a regularJump
, restoring any retained wall speed.ClimbJump
with no horizontal or retained wall speed, and aMoveX
not pointing into the block performs the regularClimbJump
and changes Madeline's facing.MoveX
is pointing into the block, the climb jump is replaced withWallJump
on the opposite side without changing Madeline's facing.Also, ideally there would be no frame where Madeline has the
StClimb
state, which can happen if she is moving fast enough into the block that a climb jump cannot be buffered, and instead she slams into the block, retaining speed.There's also a problem where after teleporting, the jump button can be detected as a
WallJump
by the same logic that checks for buffered climb jumps. This may need to be disabled for a few frames after Madeline teleports.