Torpedo Bay

What it is

Torpedo Bay is a weapon-category artifact that turns incoming damage into return fire. Whenever the ship is hit, the artifact launches a salvo of homing missiles from the ship; each missile chases an enemy, detonates on contact, and applies a blast in a radius around the impact point. The proc is gated by a per-tier cooldown so chip damage cannot retrigger it every frame, and the tier ramp scales both the number of missiles per proc and the cooldown — at the highest tier this becomes the family’s fastest-cycling return-fire artifact.

Identity

FieldValue
Display nameTorpedo Bay
CategoryWeapon
IconRocket glyph
Primary colorff4400
Secondary colorcc2200
Bright/highlight colorff8844
Damage tagNone (type-agnostic)
TriggerPlayer-damage signal — fires whenever the ship takes damage
Trigger thresholdNone beyond the per-tier cooldown
Passive flat-bonus statWeapon damage (flat additive percentage points)
Proc audio cuePlays the artifact’s dedicated rocket-launch cue on every proc
First-proc bannerYes

The reward-card flavor describes the artifact as “when you take damage, you fire a homing missile.” The runtime expands that one-line description into a multi-missile salvo with a blast on impact; the singular “a homing missile” framing is card copy, not the literal count.

Per-rarity values

The artifact authors four tiers (uncommon through legendary) and the runtime prepends a fifth common tier that reuses the uncommon row’s missile/damage/blast/cooldown values; differentiation between common and uncommon comes from the flat passive weapon-damage bonus only.

RarityMissiles per procDamage per missileBlast radius (px)Cooldown (s)Flat weapon-damage bonus
Common21601201.0+10
Uncommon21601201.0+20
Rare22401500.8+30
Epic43601950.5+40
Legendary65002400.3+50

The following missile properties are fixed across all tiers:

PropertyValue
Missile travel speed350 px/s
Missile lifetime3 s
Homing strength6
Pierce count0 (missiles detonate on the first enemy they hit)
Projectile archetypeMissile
Spawn originShip position
VFX scale (launcher-bay flash ring)3.0
VFX particle count12
VFX lifetime0.30 s

When it triggers

The trigger is the player-damage signal — the same signal fired whenever the ship takes hull damage. Each proc applies a per-tier cooldown taken directly from the values record (1.0 s at common/uncommon down to 0.3 s at legendary), so the proc rate scales up automatically as the artifact’s rarity increases. There is no kill condition, HP threshold, or enemy-type filter; any incoming damage that fires the signal will fire the artifact if the cooldown is clear.

On a successful proc the artifact runs three actions in order:

ActionEffect
Missile salvoSpawns the tier’s missile count from the ship. Each missile carries the tier’s per-missile damage value, travels at 350 px/s with homing strength 6, lives up to 3 s, and carries the tier’s blast radius as its on-impact area. Missiles detonate on their first enemy contact.
Launcher-bay flashPlays a particle burst plus sonar ring at scale 3.0 in the artifact’s bright color (#ff8844), 12 particles, 0.30 s lifetime. This is the dedicated VFX channel for the proc; the missiles’ blast supplies the secondary hitbox, so the flash itself carries no additional damage.
Artifact flashFlashes the artifact’s HUD icon and fires the rocket-launch audio cue routed through the spatial game bus.

The per-missile blast radius scales from 120 px at common up to 240 px at legendary, so the salvo’s effective coverage grows on two axes per upgrade — more missiles and a larger blast per missile.

How it stacks

  • Each proc spawns a fresh independent salvo. Missiles already in flight from a prior proc do not interact with a new salvo; they continue to chase their own targets until they hit, expire, or run out of homing range.
  • Per-tier cooldown gating is hard. If a damage event lands while the cooldown is still ticking, the salvo does not fire and the cooldown is not extended. The next damage event after the cooldown clears triggers a fresh proc.
  • The salvo size and per-missile damage are read from the tier’s values record at proc time; tier upgrades replace those values wholesale rather than stacking missile counts across procs.
  • Missile pierce is zero — each missile commits to a single target and detonates on contact. The pierce count does not stack across salvos.
  • Blast on impact does not chain back to the launcher. Damage is applied via the projectile’s own blast-radius field at the point of detonation, independent of the ship’s position.
  • The flat passive weapon-damage bonus is granted on artifact acquisition and scales linearly across all five tiers (+10/+20/+30/+40/+50 percentage points), applied as a flat additive to the ship’s weapon-damage percentage stat. It is not affected by proc rate or whether the salvo lands.
  • Common and uncommon tiers share the same triggered-effect values record. The only difference between those two tiers is the flat passive weapon-damage bonus.
  • Tier upgrades are set at run start by meta-progression and do not change during a run.
  • Torpedo Bay shares the player-damage trigger family with Reflex Array, Reactive Plating, Absorption Barrier, Patient Fury, Bloodlust, Shieldless Fury, Shield Break Nova, and other on-hit artifacts. All read the same signal; their cooldowns, payloads, and stacking are independent.

EXTRACT-CANDIDATE

  • The “fifth common tier reuses uncommon values and differentiates only via the flat passive bonus” rule is engine-wide and belongs on the artifacts roll-up page rather than being restated on every entity page.
  • The flat-bonus tier ramp (+10/+20/+30/+40/+50 percentage points across common through legendary) is the same FLAT_BONUS_PCT_BY_TIER table that applies to every artifact; canonical home is the artifacts roll-up or authoring guide.
  • The missile projectile archetype (speed, lifetime, homing strength, pierce semantics, per-projectile blast radius applied on impact) is a shared primitive that also drives other homing-salvo artifacts. Candidate concept page: concepts/missile-projectile-archetype.md.
  • The “third channel” rework rule documented in the source comment — that an artifact must supply (1) a primary triggered payoff, (2) a secondary hitbox channel, and (3) a dedicated VFX/audio flash, and that double-billing the hitbox channel via both a missile blast and a stacked damage AoE is forbidden — is a cross-cutting design rule. Candidate concept page: concepts/artifact-three-channel-rule.md.
  • The player-damage signal trigger family (Reflex Array, Reactive Plating, Absorption Barrier, Patient Fury, Bloodlust, Shieldless Fury, Shield Break Nova, Torpedo Bay, and others) shares the same trigger and similar cooldown gating. Candidate concept page: concepts/player-damage-trigger-family.md.
  • The procAudioCue mechanism that routes a per-artifact audio cue through the spatial game bus on every flash-artifact action is engine-wide and belongs on the artifact authoring guide.
  • The showBanner: true first-proc banner behavior is shared across artifacts and belongs on the roll-up.
  • The color-palette schema (primary / secondary / bright) is shared across all artifacts; per-entity pages should only list the values.
  • The spawn_projectile, vfx (burst_and_ring), and flash_artifact action types are shared primitives across many artifacts; canonical reference belongs on the artifact authoring guide.