NEON-29: Stop clearing floor_block_on_wall for ascent (fix floor→step 1)
Relaxing floor_block when goal was above feet and wallish prevented reliable step-up; restore default true for climbing. Keep descend-only relaxation.pull/41/head
parent
d1f738249d
commit
ac9818a2cd
|
|
@ -280,14 +280,14 @@ func _update_floor_block_on_wall_for_terraces(feet_y: float) -> void:
|
||||||
floor_block_on_wall = true
|
floor_block_on_wall = true
|
||||||
if not _has_walk_goal:
|
if not _has_walk_goal:
|
||||||
return
|
return
|
||||||
var goal_above: bool = _auth_walk_goal.y > feet_y + 0.06
|
# Only relax for descending (step/platform → lower surface). Clearing floor_block for
|
||||||
|
# goal_above + wallish broke floor→TerraceStepB: step assist + move_and_slide need the
|
||||||
|
# default blocked wall/floor interaction to climb reliably on Jolt.
|
||||||
var goal_below: bool = _auth_walk_goal.y < feet_y - DESCEND_GOAL_Y_MARGIN
|
var goal_below: bool = _auth_walk_goal.y < feet_y - DESCEND_GOAL_Y_MARGIN
|
||||||
if not goal_above and not goal_below:
|
if not goal_below:
|
||||||
return
|
return
|
||||||
var wallish: bool = _walk_has_wallish_slide_contact()
|
var wallish: bool = _walk_has_wallish_slide_contact()
|
||||||
if goal_above and wallish:
|
if wallish or _descend_lip_stall_ticks >= 1:
|
||||||
floor_block_on_wall = false
|
|
||||||
elif goal_below and (wallish or _descend_lip_stall_ticks >= 1):
|
|
||||||
floor_block_on_wall = false
|
floor_block_on_wall = false
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue