Skip to content

Rando, Shuffle Climb gameplay polish#6933

Open
djevangelia wants to merge 8 commits into
HarbourMasters:developfrom
djevangelia:climbdetach
Open

Rando, Shuffle Climb gameplay polish#6933
djevangelia wants to merge 8 commits into
HarbourMasters:developfrom
djevangelia:climbdetach

Conversation

@djevangelia

@djevangelia djevangelia commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Some polishing of shuffle climb that should hopefully not have logic impliactions.

Climb and ladders:

  • Players are detached on any up/down movement once the start climb animation has finished. Climbing downwards doesn't work at all anymore.
  • Mounting ladder from the top still is climbing, but can now be dismounted by climbing back up.
  • No downwards dismount also prevents players from using down dismount ladder restricted items for FW without climb. (Top could be prevented by treating ladder top as regular climbable wall ledge if needed, requires some more fixing)

Ledges:

  • Dropping down from a climbable ledge now turns into hanging action, so player can get back up but not move down. This does not affect ledges that are mounted in any other way but dropping down.
  • Ledges with FLOOR_PROPERTY_6 (ledges that force climb such as DMC wall, Volvagia platform ledges) are exempted, but downside is that player still can't climb back up and now can't climb down either (only fall).
  • Main difference here is the jumpslash angle, as climb is perpendicular to the wall, and hanging is angled.

Technically:
On any y movement after start climb animation finished, directly call either func_8083F070 (Player_SetupDismountLadder) if player is dismounting top of ladder, or func_8083FBC0 (Player_DetachFromClimb) which is what detaches player when pressing A. These functions set up new action function.

In func_8083A6AC (Player_GrabLedgeFromAbove), it will only run the check for FLOOR_PROPERTY_6 and not for climbable wall. So FLOOR_PROPERTY_6 leads to climbing down the ledge, and otherwise it leads to hanging action.

I made a video showing the changes: https://www.youtube.com/watch?v=1h5CnVRwlz0
Let me know thoughts on additions and changes 🐞

Build Artifacts

@Pepper0ni

Copy link
Copy Markdown
Contributor

Haven't tested it, but there's 3 edge cases that I would check for:

  • Using hookshot to climb walls by aiming at the top so you climb up
  • Using a ground jump to climb short climbable walls like you would any other ledge
  • Avoiding fall damage when "rappeling" down ladders you can't climb down.

@djevangelia

djevangelia commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Thanks!

  • Hookshot climb up works.
  • On my way to test ground jump climb wall after building. Regular wall ok. (edit: climb wall works)
  • The fall damage - it's absolutely doable in some way or another, but just wondering, is it due to some logic expectation to be able to climb down ladders? I have some ideas for vanilla-like solutions for it but need to check them out.

Edit 2: Think I got a good solution for ladder falling - same mechanism that allows player to grab climb walls/ladders when falling, but instead of grabbing, reset fall start height and fall distance if it's a ladder and player doesn't have climb item.

soh.shuffle.climb.ladder.fall.mp4

(inter = "wall interact" flag, ladder = ladder wall flag, fall = player falldistance)

Let me know what you think and I'll hookify it.

@serprex

serprex commented Jul 18, 2026

Copy link
Copy Markdown
Member

yes, we opted to allow "climbing down" as a way to avoid TakeDamage logic interacting with climb. your alt solution looks fine

@serprex
serprex requested review from Pepper0ni and serprex and removed request for Pepper0ni July 18, 2026 18:03
@djevangelia

djevangelia commented Jul 18, 2026

Copy link
Copy Markdown
Contributor Author

Aha, I see, then I'll make it a raycast to be sure player doesn't take damage (as right now it requires pushing stick forward). Are only ladders in climb down logic? Or should falling from climbable wall also have no fall damage.

Edit: Updated with raycast now, checking both ladder and climbable wall. Tested DMC ladders, ZF skulltula climb wall, Spirit moving wall, and some other place I can't remember.

@serprex

serprex commented Jul 18, 2026

Copy link
Copy Markdown
Member

Climbable surfaces are included, would come up in fire temple & forest temple

Comment thread soh/src/overlays/actors/ovl_player_actor/z_player.c Outdated
@djevangelia

Copy link
Copy Markdown
Contributor Author

Ok, then this commit should be ready unless other issues arise.

soh.climb.wall.fall.mp4

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants