Turn Management Refactor
We have moved the authority for turn transitions entirely into the GameState. Previously, turn states could be triggered by multiple actors, which occasionally led to logic conflicts and desyncs.
Centralized Authority: The GameState is now the sole caller for ChangeTurn, eliminating bugs caused by simultaneous state requests.
Turn Input: Triggering a turn skip via IA_SkipTurn is now correctly registered as the start of a turn, ensuring it behaves consistently with standard movement actions.
Movement & Sliding
The sliding system has been re-engineered to be more predictable and responsive, specifically regarding lateral control.
Strafe Priority: Sliding now prioritizes strafing over rotation, allowing for better control during a slide.
Framerate Independence: We have decoupled sliding strafe speed from the framerate. Movement is now uniform regardless of your hardware's performance.
Dynamic Turn Ends: Turns will no longer terminate while a player is mid-slide. The game now waits for the slide to complete and for the player to land before concluding the turn and triggering end-of-turn effects.
Physics & Environment Tuning
We have adjusted the physics simulation to provide a more "heavy" and tactile feel to the arena.
Ball Physics: A constant downward force has been added during simulations to improve the weight and realism of the ball's movement.
Crumbling Platforms: We have tightened the overlap logic for crumbling platforms to ensure players are reliably forced into a falling state when the floor opens.
Travelators: Updated collision logic and foot colliders to make upward traversal more consistent.
Other Bits
Replay Camera: During replays, you can now toggle between fixed live-feed cameras and a free camera by pressing B.
Collision Refinements: Light poles now use complex-as-simple collisions, and TV prop collisions have been corrected.
Position Validation: Added overlap checks for turn-end block tags to prevent players from finishing a turn on unintended meshes.
