Sniper

What it is

A long-range mechanical enemy that orbits the player at extreme range, locks a red dot onto the player’s position during a slow charge, then fires a single very fast projectile. The projectile ignores terrain — it passes through obstacles — so cover does not block it. The sniper is the signature rare on Old Earth, where it appears as the scary rare invader inside an otherwise orb-heavy bug pool.

Base stats

FieldValue
HP72
Move speed31
Hit radius5.5
XP on kill30
Beam damage (per shot, base)5
Charge time (base)2.5 s
Orbit radius200
Tagsmechanical

Per-rarity stats

HP, move speed, hit radius, and XP follow the shared rarity multiplier table. Beam damage is the base beam damage scaled by the rarity damage multiplier and rounded. Charge time uses a dedicated per-rarity multiplier [1.0, 0.9, 0.8, 0.7, 0.5] so higher tiers fire faster.

RarityHPMove speedHit radiusXPBeam damageCharge time
Common194.443.45.590152.5 s
Uncommon356.445.576.325180232.25 s
Rare498.9648.677.15360332.0 s
Epic712.852.087.7540421.75 s
Legendary855.3656.428.25720531.25 s

All rarities share the same AI behavior, weapon, and orbit radius. Tier color is set by the shared rarity tint palette.

Behavior

The sniper uses a car-steer movement model: it accelerates and turns toward a target heading rather than snapping direction. Outside aggro it drifts with idle friction. Once aggroed it tries to hold an orbit at its orbit radius of 200 — if it is farther than 1.5× orbit radius it drives toward the player, if it is closer than 0.6× orbit radius it steers away, otherwise it coasts.

The combat loop is a three-phase finite state machine: positioning, aiming, cooldown.

  1. Positioning — the sniper orbits at range. A short cooldown timer counts down. Once cooldown reaches zero, if the player is inside the maximum engagement range the sniper enters the aiming phase and spawns a red dot forecast that tracks the player throughout the charge.
  2. Aiming — the sniper freezes in place (stop-friction) and faces the player while a charge timer ramps up. A damage flash on the enemy intensifies from 50% to 100% over the charge. If the player escapes outside the maximum engagement range at any point during the charge, the shot is canceled, the forecast is cleared, and the sniper enters a half-length cooldown.
  3. Cooldown — after firing, a cooldown timer counts down. When it reaches zero the sniper returns to positioning.

On charge completion the sniper fires a single high-speed projectile from its position straight at the player’s current position. The projectile has the noTerrainCollide flag — it ignores all terrain — and despawns after its max travel distance. The shot triggers a recoil that knocks the sniper backward along the negative aim vector at a fixed recoil speed, a brief muzzle flash, and a short-lived beam VFX line from the sniper to the target point.

The sniper is stunnable and knockbackable. On death any remaining red-dot forecast owned by the enemy is removed.

Weapon parameters

ParameterValue
Cooldown between shots3.0 s
Cancel-cooldown (player escapes during aim)1.5 s
Projectile speed800 px/s
Maximum engagement range600
Projectile max travel distance700
Projectile radius5
Recoil impulse250
Muzzle flash duration1.0
Beam VFX duration0.15 s
Terrain collisionnone — passes through obstacles
Forecast typered dot tracking the player

Spawning

The sniper is a city-set archetype that doubles as the dominant rare invader in bugs_sniper (Old Earth), where it appears alongside orb basics and charger rares. It also appears as part of the rare mix in bugs_mixed (Obelisk) where all rares are equally weighted.

Tier scaling

HP, speed, radius, and XP scale with the shared rarity multiplier table. Beam damage scales with the shared rarity damage multiplier. Charge time uses a sniper-specific per-rarity multiplier so charge time shrinks faster than damage grows: a legendary sniper charges in half the time of a common sniper. Behavior parameters (orbit radius, projectile speed, cooldown, recoil, max range, projectile max travel) 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: Car-steer movement model (acceleration toward target heading, idle vs stop friction modes, far/near/coast bands at orbit-radius multipliers) is shared by sniper, gunner, field, and other city enemies — belongs on a shared movement-models page.

EXTRACT-CANDIDATE: Generic enemy-fire FSM with cancelable charge (positioning → aiming → cooldown, with mid-charge range-check abort to a shorter cancel cooldown) is shared across telegraphed-shot enemies (sniper, lurker) — belongs on a shared enemy-attack-pipeline page.

EXTRACT-CANDIDATE: Sniper-specific per-rarity charge-time multipliers [1.0, 0.9, 0.8, 0.7, 0.5] are an exception to the shared rarity scaling table and should be listed alongside the other archetype-specific overrides (burst-count mults for shooter, field-radius/duration mults for field/burner) on the enemies rollup.