diff --git a/client/scripts/player.gd b/client/scripts/player.gd index 3e20d4e..838f119 100644 --- a/client/scripts/player.gd +++ b/client/scripts/player.gd @@ -75,11 +75,12 @@ const WALK_STEP_ASSIST_MAX_SURFACE_DELTA: float = 0.35 ## Down-ray length under the capsule foot disk while walking (~[member NavigationMesh.agent_max_climb]). const WALK_SUPPORT_PROBE_DEPTH: float = 0.32 const WALK_SUPPORT_PROBE_MIN_UP_DOT: float = 0.42 -## Ignore ray hits farther below the feet than this (m). Prototype tread rise is ~0.104 m; without -## this cap, a probe over a **void** still reaches the **main floor** (~0.3 m down from a gold step) -## and reads as “forward support”, so snap + lip [code]is_on_floor()[/code] keep the capsule skating -## at deck height until XZ arrival. -const WALK_CONTINUATION_MAX_BELOW_FEET: float = 0.14 +## Ignore ray hits farther below the feet than this (m). Must stay **below** approach tread rise +## (~0.104 m in [code]main.tscn[/code]): if the next tread counts as “continuation”, [method _walk_has_close_floor_probe_below] +## stays true on stairs while [code]is_on_floor()[/code] flickers — ledge peel never runs and the capsule +## glides horizontally with only weak airborne gravity. Still below a full gold→floor drop (~0.3 m) so +## void probes toward the slab reject the lower hit. +const WALK_CONTINUATION_MAX_BELOW_FEET: float = 0.078 ## If capsule feet are farther above the click’s surface Y than this, always use walk gravity + zero ## moving snap (rays can still read “support” while [method CharacterBody3D.is_on_floor] hugs a lip). ## ~0.42 m: **TerracePlatformB** top (~0.6 m) → floor (0) qualifies; **TerraceStepB** (~0.3 m) → floor does @@ -87,9 +88,8 @@ const WALK_CONTINUATION_MAX_BELOW_FEET: float = 0.14 const WALK_DEEP_DESCENT_FEET_ABOVE_GOAL: float = 0.42 ## [method get_gravity] can be ~0 with missing/odd project defaults; ledge peel + airborne walk still need a pull. const WALK_FALLBACK_GRAVITY_Y: float = -9.81 -## Multiplier on project gravity for walk ledge peel, walk-airborne, and idle-airborne — snappier than -## real-world 9.81 m/s² for prototype feel; also offsets move_and_collide step coarseness at 120 Hz. -const PLAYER_VERTICAL_ACCEL_MULTIPLIER: float = 2.45 +## Multiplier on project gravity for walk ledge peel, walk-airborne, and idle-airborne (arcade descent). +const PLAYER_VERTICAL_ACCEL_MULTIPLIER: float = 9.0 ## CapsuleShape3D in scene: height = 1.0 (cylinder portion), radius = 0.4. ## Total half-height from body origin to physical bottom = 0.5 + 0.4 = 0.9 ## (`CAPSULE_HALF_HEIGHT + PLAYER_CAPSULE_RADIUS`).