Shooter
What it is
A ranged mechanical enemy that orbits the player at medium range and fires aimed projectile bursts. The shooter telegraphs each attack with an arrow forecast, then stands still briefly after each burst before resuming its orbit. It is one of the two rare-slot fillers in bug-set planets that emphasize ranged pressure, and is the signature rare on Speedway.
Base stats
| Field | Value |
|---|---|
| HP | 21 |
| Move speed | 105 |
| Hit radius | 5.5 |
| XP on kill | 18 |
| Weapon damage (per burst) | 78 |
| Orbit radius | 130 |
| Tags | mechanical |
Per-rarity stats
Final stats are base stats multiplied by the rarity scalar. Damage is shooter weapon damage scaled by the rarity damage multiplier.
| Rarity | HP | Move speed | Hit radius | XP | Burst damage |
|---|---|---|---|---|---|
| Common | 56.7 | 147 | 5.5 | 54 | 234 |
| Uncommon | 103.95 | 154.35 | 6.33 | 108 | 351 |
| Rare | 145.53 | 164.85 | 7.15 | 216 | 514.8 |
| Epic | 207.9 | 176.4 | 7.7 | 324 | 655.2 |
| Legendary | 249.48 | 191.1 | 8.25 | 432 | 819 |
All rarities share the same AI behavior, weapon, and orbit radius. Tier color is set by the shared rarity tint palette.
Behavior
The shooter uses a fish-swim movement model: it maintains continuous smooth arcs around the player at a target orbit distance of 130, with steering force pulling it back to that radius and a tangential force sweeping it sideways. Orbit direction (clockwise or counter-clockwise) is randomized per enemy at spawn. The enemy always faces its movement direction.
Smart-range aggro activates inside a radius of 250. Outside aggro range the enemy drifts with idle friction.
The attack cycle has four phases:
- Cooldown — fire timer counts down; the enemy keeps orbiting.
- Charge-up — a thin red arrow forecast spawns and grows toward the player. For the first 80% of the charge the aim tracks the player; for the final 20% the aim freezes, giving the player a dodge window.
- Burst fire — the arrow shatters into red dust and a 12-shot machine-gun burst fires along the locked aim line. Each shot has small angle scatter and origin jitter. Damage per shot is the weapon damage divided across the burst.
- Post-fire pause — the enemy stands nearly still for a fixed window before resuming orbit and starting the next cooldown.
While firing the enemy continues swimming but at reduced tangent force and capped at 60% of its max speed (vs. 150% when not firing). A damage flash is active during the burst itself.
The shooter is stunnable and knockbackable. On death any remaining arrow forecast owned by the enemy is removed.
Weapon parameters
| Parameter | Value |
|---|---|
| Total burst damage (pre-rarity) | 78 |
| Fire rate | 0.075 |
| Projectile speed (per shot, pre-multiplier) | 150 |
| Projectile size (pre-multiplier) | 5 |
| Charge time | 1.68 s |
| Aim-tracking window | first 80% of charge |
| Burst shot count | 12 |
| Delay between burst shots | 0.06 s |
| Post-fire pause | 2.5 s |
| Projectile target range | 208 (with up to 40% random bonus) |
| Projectile arm distance | 18 |
Spawning
Shooter is a rare-slot bug-set enemy. It appears as the dominant rare on Speedway (enemy set with shooter as heavy rare) and as part of the rare mix on Desolation (mortar+shooter equal mix) and Obelisk (all rares equal).
Tier scaling
Tier-to-tier scaling follows the shared rarity multiplier table — HP, speed, radius, XP, and damage all scale together. Behavior parameters (orbit radius, charge time, burst count, post-fire pause) do not scale with rarity.
EXTRACT-CANDIDATE: Shared rarity-multiplier table (HP 2.7→11.88, XP 3→24, speed 1.40→1.82, radius 1.0→1.5, damage 3.0→10.5) is repeated across every enemy-entity page — belongs on the central enemies rollup as the canonical source.
EXTRACT-CANDIDATE: Fish-swim movement model (steer force 3.0, tangent force 1.8, drag 0.97, turn speed 8.0, firing speed cap 60%) is shared by shooter and other orbiting ranged enemies — belongs on a shared movement-models page.
EXTRACT-CANDIDATE: Generic enemy-fire FSM (cooldown → charge → burst → post-fire pause, with 80/20 aim-track/freeze split) is shared across projectile shooters — belongs on a shared enemy-attack-pipeline page.