Files
WoWee/tests
Kelsi 7e62d150f5 fix(movement): stop sinking through hills when a frame runs long
Floor selection rejects any surface more than kMaxStepUp above the feet as
unreachable, and kMaxStepUp is 0.60 yards. At the steepest walkable slope
that budget covers a mounted player for about 1/40th of a second: a smooth
frame rises 0.28 yards, a 20 fps frame rises 0.83 and the terrain the player
is climbing stops counting as ground.

From there it compounds. With no floor the player falls, which puts the feet
further below the surface, so the next sample is rejected by a wider margin
than the last. Nothing recovers: the narrow fallback allows 0.5 yards of
penetration and only for 0.10s outdoors, and void recovery does not fire
until 60 yards down — by which point the player has fallen through the hill.

Outdoors the heightfield has one surface per column, so feet below it is
never a valid position. Push back out to the surface when that happens,
which also makes the climb itself smooth: each frame moves, penetrates
slightly, and is lifted clear. Restricted to open ground — not inside a WMO,
no WMO or M2 floor sampled or hinted nearby — because a cave, a tunnel or
Ironforge is legitimately beneath the terrain and must never be yanked up
onto the mountain above it. Bounded below by 0.10 yards so ordinary contact
and one frame of gravity do not trigger it, and above by 12 so anything
deeper is left to the existing void recovery.
2026-07-31 15:17:59 -07:00
..