feat: lighter air control (steer + stronger strafe) and 2-charge dash
- Air: direct steering bends existing velocity toward input without changing its magnitude (air_steer_rate), on top of Quake accelerate with raised gains (air_strafe_accel 55->90, per-tick cap 1.2->2.5). No-input air drag nearly removed so held momentum carries. Steering skips opposing input to avoid flipping through zero. - Dash: charge system on the machine — dash_charges (2) spend instantly, each recharges in dash_cooldown (2 s). get_dash_cooldown_remaining() now reports time to the NEXT charge (0 while one is banked) so existing HUDs keep working; get_dash_charges() added for pips. - Tests: dash tests updated to the charge API + new coverage for spend-2-then-recharge; 11/11 pass, spawn smoke clean. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
198345177a
commit
2c7b5a1aca
@@ -22,8 +22,11 @@ class_name MovementParams
|
||||
# ── Air Strafe (Quake-style) ──────────────────────────────────────────────────
|
||||
# Classic accelerate: only the velocity component along wish_dir is capped, so
|
||||
# turning while strafing genuinely gains speed (up to max_air_speed overall).
|
||||
@export var air_strafe_accel: float = 55.0
|
||||
@export var air_wish_speed_cap: float = 1.2 # per-tick projection cap (m/s), quake-style
|
||||
@export var air_strafe_accel: float = 90.0
|
||||
@export var air_wish_speed_cap: float = 2.5 # per-tick projection cap (m/s), quake-style
|
||||
# Direct steering: bends existing horizontal velocity toward the input without
|
||||
# changing its magnitude, so air direction changes feel light and responsive.
|
||||
@export var air_steer_rate: float = 5.0
|
||||
|
||||
# ── Bunny Hop ─────────────────────────────────────────────────────────────────
|
||||
@export var bunny_hop_impulse: float = 1.1
|
||||
@@ -82,7 +85,8 @@ class_name MovementParams
|
||||
# ── Dash ──────────────────────────────────────────────────────────────────────
|
||||
@export var dash_speed: float = 13.0
|
||||
@export var dash_duration: float = 0.18
|
||||
@export var dash_cooldown: float = 2.0
|
||||
@export var dash_charges: int = 2 # dashes available before recharging
|
||||
@export var dash_cooldown: float = 2.0 # seconds to regain ONE charge
|
||||
@export var dash_invulnerability_time: float = 0.1
|
||||
|
||||
# ── Landing feel ──────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user