Climb
The rules of WICK, mounted. One instance, on mount_rules.
It activates the game.wick input map, turns the one button into presses and
holds, carries the cards' ui actions and the staging slice's introDone
through, and hands game.ClimbRules a dt every frame. The simulation itself
is in that module; this is the part that needs an entity.
The one button
game.wick's Kick binding carries Space / W / Up / left mouse, the pad's
South face button and its right trigger, and the on-screen Kick button, so
nothing here ever looks at a raw key and all three device families reach every
action. Pause carries Escape / P, the pad's Start, and the Pause pip.
- Tap leaves the wall in an arc toward the other one.
- Hold digs the claws into the wall the cat next catches and stops the slide until the grip runs out; grip comes back while it is not held, and the claws will not go back in until it has come back far enough to be worth it.
- With no card up, the same button also starts a run from the title and starts
the next one from the won and lost screens. While a card IS up, the screens
slice's
game.menustands theplayergroup down and none of it fires.
A press in mid-air is silent. The game does not punish the press.
What it emits
kick, land, grip, slip, hazard, fall, splash, milestone,
surge, lamp, and phase through Core.setPhase. Arguments are in Core's
own table. It is the only writer of Core.state.phase and of the climber.
Phases it moves
title → intro on ui "start"; intro → climb on introDone or after
Core.STAGING_TIMEOUT; climb → paused / won / lost; won | lost | paused → climb on ui "restart" and → title on ui "quit".
Scoped to this part · feeds back into the world's score.