Fire Ring

What it is

Fire Ring is a rare sweep-family weapon that orbits a set of fire-tagged blades around the ship in a continuous ring. Blades sweep through enemies on contact rather than firing discrete projectiles, dealing fire-tagged damage to every enemy they pass through and to destructibles in their path. The ring itself is the “shot” — fireRate controls how often each blade ticks its damage rather than how often a projectile spawns.

The weapon uses the closest target mode for acquire-range bookkeeping, but because blades occupy fixed orbital positions, contact happens wherever an enemy enters the ring, regardless of facing. Collision is pierce-all and gated by a per-target contact cooldown so the same enemy can’t be hit faster than the cooldown allows.

Stats

Values shown are read directly from the weapon spec, then the damage column adds the global damage multiplier curve on top of the raw damage stat.

Static properties

PropertyValue
RarityRare
FamilySweep
Damage tagFire
BehaviorOrbit
Target modeClosest
Collision modePierce-all
Hits destructiblesYes
Scaling curveLinear
Warmup0 s
Travel range multiplier1.0
Per-target contact cooldown0.18 s
Area modeBlade size
Damage per Area horizontal+5%
Fire-rate per Area horizontal+8%

Per-level values

StatL1L10L20
Acquire range180198218
Raw damage stat3690150
Damage after curve multiplier46.82251125
Fire interval (s)0.200.4210.667
Orbit radius130179.5234.5
Orbit angular speed5.08.612.6
Blade size812.0516.55
Blade count358

Blade count is stepped, not linear: 3 at L1, 4 at L5, 5 at L10, 6 at L15, 8 at L20.

Damage curve multiplier reference

LevelCurve multiplier
11.30
41.30
82.00
102.50
123.00
165.00
207.50

Values at L1 through L7 include the early-level damage buff (+30% at L1, decaying 5% per level to 0% at L7).

Behavior

Blades orbit the ship at orbitRadius and rotate at orbitSpeed radians per second. Each blade is a contact volume sized by bladeSize (this is what the Area horizontal modifier scales). When a blade overlaps an enemy or destructible, it applies one damage tick and starts the per-target cooldown for that enemy; the blade then continues through (pierce-all) and can hit other enemies in the same frame.

Each enemy is locked out from being hit again by the ring for 0.18 seconds after a contact. The fireRate stat controls how often the ring re-evaluates contacts as a global pacing layer — higher levels reduce the interval between ticks, increasing damage throughput on enemies that linger in the ring.

The fire on-fire cadence pattern is four equal pulses spaced 0.08 s apart. The hull receives a 1.15×/0.85× squash-stretch recoil over 0.18 s with no kick. Camera fire shake is amplitude 1.4 for 0.10 s; per-hit camera shake is amplitude 0.5 for 0.05 s. Audio uses the bronze chime timbre with a sonar pulse scale of 1.2 and a 0.06 s post-FX window.

VFX colors are orange (#ff8800), yellow (#ffcc00), and deep red (#cc2200) — bright orange-yellow palette consistent with the fire damage tag.

Scaling

The scaling curve is linear, so all WeaponStat fields grow at their declared scaling rate per level above 1: value = base + scaling × (level - 1).

Damage scales twice — once through the linear damage stat (36 → 150) and once through the global damage multiplier curve (1.30× at L1 to 7.50× at L20). At level 20 the combined effect is roughly 24× the level-1 damage per blade contact.

Blade count is stepped at levels 1, 5, 10, 15, and 20, so more blades come in jumps rather than continuously. Combined with the smoothly growing orbit radius and blade size, ring coverage expands both by adding blades and by enlarging each blade’s contact volume.

Acquire range grows slowly (+2 per level) because the weapon’s effective hit zone is the orbit ring, not the acquire radius — acquire range matters only for the system’s bookkeeping of “is anything in range to keep firing”.

EXTRACT-CANDIDATE flags

  • concept-damage-multiplier-curve — the global getWeaponDamageMult curve (anchors at L1=1.00, L4=1.25, L8=2.00, L12=3.00, L16=5.00, L20=7.50, plus the low-level +30%/-5%-per-level buff through L7) applies to every weapon’s damage; belongs in a single concept page.
  • concept-scaling-curves — six curves (linear, exponential, steep_exp, front_loaded, s_curve, linear_fast) with their math (Math.pow(t, 2.5), 3t² - 2t³, 0.15 + 0.85t, etc.) are shared by every weapon and should live on one page.
  • concept-target-modes — the four target modes (closest, furthest, flanking, low_hp) with their selection rules are shared by every weapon.
  • concept-collision-modes — five collision modes (first_hit, pierce_all, target_only, beam_trace, chain_arc) are shared by every weapon.
  • concept-damage-tags — four base tags (bullet, energy, bomb, fire) plus the legendary pair behavior are shared across the weapon and artifact systems.
  • concept-per-target-contact-cooldown — the contactCooldown field that gates repeat hits on the same target is used by all sweep/orbit weapons; deserves a concept page.
  • concept-area-modes — the eleven AreaMode values that route the Area horizontal modifier (blast, blast_strong, chain_radius, beam_splash, beam_width, bonus_explosion, cone_width, blade_size, splash, line_spread, arc_thickness) are shared infrastructure.
  • concept-horizontal-modifiersdmgPerH and ratePerH percentages combine with each weapon’s areaMode to define how horizontal upgrades scale damage, rate, and area; a single concept page for all weapons.
  • concept-juice-and-cadencecadencePattern, cadenceStepSec, shipPulseStrength, sonarPulseScale, postFxSec, chimeTimbre, recoilProfile, fireShake, hitShake are shared juice primitives used by every weapon.