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.
If the inversion block detects a buffered
ClimbJump, it will convert it to a regularWallJumpon 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 triggering
WallJump.Ideally it would have this functionality when a climb jump is attempted by the player (ie. grab and jump pressed together):
ClimbJumpwith horizontal or retained wall speed cancels the climb jump and converts it to a regularJump, restoring any retained wall speed.ClimbJumpwith no horizontal or retained wall speed, and aMoveXnot pointing into the block performs the regularClimbJumpand changes Madeline's facing.MoveXis pointing into the block, the climb jump is replaced withWallJumpon the opposite side without changing Madeline's facing.Also, ideally there would be no frame where Madeline has the
StClimbstate, 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
WallJumpby the same logic that checks for buffered climb jumps. This may need to be disabled for a few frames after Madeline teleports.