Warmup
What it is
Warmup is a per-weapon delay inserted between the moment the weapon comes off cooldown with a valid target and the moment the shot actually fires. During warmup the weapon plays an anticipation animation (hull squeeze that ramps with progress) and stores the aim angle for the imminent shot, but applies no damage and spawns no bullets.
How it behaves
There is one pattern in the engine: warmup applies to every fire cycle. After each shot the weapon enters cooldown; once cooldown expires and a target is acquired, warmup begins again. Cooldown does not start until after the shot fires, so the effective time between shots is cooldown + warmup.
Activation threshold:
warmupSec | Behavior |
|---|---|
| ≤ 0.05 | No warmup state — weapon fires immediately on the ready frame |
| > 0.05 | Weapon enters warmup state for warmupSec seconds before firing |
If the target is lost during warmup, the last-known aim angle is cached and used for the shot. If no aim angle is available when warmup completes, the shot is cancelled. Fire-rate horizontal modifiers do not reduce warmup duration.
Which weapons use it
| Weapon | Warmup (s) |
|---|---|
| Railgun | 0.55 |
| Lightning | 0.35 |
| Hellrain (Railstorm beam) | 0.30 |
| Cannon | 0.25 |
| Missile | 0.25 |
| Revolver | 0.25 |
| Coilgun | 0.20 |
| Plasma Mortar | 0.18 |
| Disc | 0.18 |
| Rifle | 0.15 |
| Shotgun | 0.14 |
| Mega Bullet | 0.12 |
| Hellrain (artillery) | 0.12 |
| Mortar | 0.12 |
| Flame | 0.10 |
| Magnetar | 0.10 |
| 4-Way Burst | 0.10 |
| Carpet Bomber | 0.10 |
| Defy | 0.08 |
| Wave Gun | 0.05 |
| Trailblazer | 0.05 |
| Star Halo | 0.00 |
| Phoenix | 0.00 |
| Barrier | 0.00 |
| Burst | 0.00 |
| Fire Ring | 0.00 |
| Fire Trail | 0.00 |
| Line | 0.00 |
| Sweep | 0.00 |
VFX wiring
While warmup is active, the engine drives a hull squash/stretch anticipation tween whose amplitude scales with warmup progress (eased on a t² curve) and with the weapon’s shipPulseStrength. Multiple weapons warming up at once stack multiplicatively. On warmup completion a _preWarmFlash muzzle marker is raised for the fire frame. See vfx.