Skip to content

Fix Below The Surface ladder latch behaviour - #260

Open
AAMIRAU wants to merge 2 commits into
thoth-tech:mainfrom
AAMIRAU:fix/below-the-surface-ladder-latch
Open

AAMIRAU wants to merge 2 commits into
thoth-tech:mainfrom
AAMIRAU:fix/below-the-surface-ladder-latch

Conversation

@AAMIRAU

@AAMIRAU AAMIRAU commented Aug 28, 2026

Copy link
Copy Markdown

This PR updates the ladder behaviour in Below The Surface.

Previously, the player had to press an extra input before latching onto a ladder.

Changes made:

  • Player now automatically latches onto a ladder when making contact.
  • Prevented ClimbState from being recreated while already climbing.
  • Added a short hold-DOWN timer.
  • A quick DOWN press still allows normal downward climbing.
  • Holding DOWN for around 500 ms unlatches the player and switches to JumpFallState.
  • The timer resets when DOWN is released.

Testing:

  • Auto-latching when jumping into a ladder.
  • Staying latched with no input.
  • Climbing upward.
  • Short DOWN press for normal downward movement.
  • Holding DOWN to unlatch and fall.

All tested behaviours worked as expected.

@jankiluitel jankiluitel left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on the ladder latch behaviour. The updated logic and delayed ladder-drop handling look reasonable.

Before approval, could you please confirm that this has been tested in-game for the main ladder scenarios: entering a ladder, climbing up/down, releasing crouch before the 500 ms timer completes, holding crouch long enough to drop from the ladder, and reaching the floor while climbing?

It would also be helpful to confirm that the new timer is correctly reset/stopped when leaving the climb state, so it cannot affect a later ladder interaction.

Once these behaviours are confirmed, this looks good from my side.

@AAMIRAU

AAMIRAU commented Aug 31, 2026

Copy link
Copy Markdown
Author

Thanks for working on the ladder latch behaviour. The updated logic and delayed ladder-drop handling look reasonable.

Before approval, could you please confirm that this has been tested in-game for the main ladder scenarios: entering a ladder, climbing up/down, releasing crouch before the 500 ms timer completes, holding crouch long enough to drop from the ladder, and reaching the floor while climbing?

It would also be helpful to confirm that the new timer is correctly reset/stopped when leaving the climb state, so it cannot affect a later ladder interaction.

Once these behaviours are confirmed, this looks good from my side.

Thanks for the review. I tested the ladder behaviour in-game and confirmed:

entering a ladder automatically latches the player
climbing up and down works normally
releasing crouch before 500 ms keeps the player on the ladder
holding crouch for around 500 ms drops the player from the ladder
the player remains latched when no movement input is given

I’ll also re-check reaching the floor while climbing and confirm that the ladder-drop timer is fully reset when leaving the climb state so it cannot carry over into a later ladder interaction.

@kottochii kottochii left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested along with #247, the following issues were identified.

  1. When jumping onto the ladder without holding the climb key, the animation of a climbing player will play, though no climbing is performed
  2. When moving all the way down the ladder, the game will cause SegFault.
  3. The timers are possibly stopped more than once - warnings rise.
below_the_surface_pr_review

@AAMIRAU

AAMIRAU commented Sep 2, 2026

Copy link
Copy Markdown
Author

Tested along with #247, the following issues were identified.

  1. When jumping onto the ladder without holding the climb key, the animation of a climbing player will play, though no climbing is performed
  2. When moving all the way down the ladder, the game will cause SegFault.
  3. The timers are possibly stopped more than once - warnings rise.
below_the_surface_pr_review

Addressed the ladder review feedback and pushed the fixes.

Latching now uses the idle climb animation until movement input is given.
Reaching the bottom of the ladder now exits climb state cleanly and no longer crashes in testing.
The ladder drop timer is guarded so it is not stopped repeatedly.
Re-tested normal climbing, short DOWN presses, 500+ ms drop, repeated ladder interactions, and bottom-of-ladder behavior with no timer warnings observed.

Ready for re-review.

@jankiluitel jankiluitel left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the Below The Surface ladder latch behaviour update. The revised ladder-entry logic, delayed crouch-to-drop handling, timer cleanup, and state transitions look reasonable and address the intended ladder interaction behaviour.

Everything looks good from my side. Approved! ✅

@kottochii kottochii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes have been tested on the Arcade Machine Setup, the issue has been fixed.

@kottochii kottochii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At further inspection, a bug has been observed: as the player approaches the ladder, if they get into the position on the edge of the ladder, they will rise to the top without pressing the respective control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants