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
| Field | Value |
|---|---|
| Display name | Torpedo Bay |
| Category | Weapon |
| Icon | Rocket glyph |
| Primary color | ff4400 |
| Secondary color | cc2200 |
| Bright/highlight color | ff8844 |
| Damage tag | None (type-agnostic) |
| Trigger | Player-damage signal — fires whenever the ship takes damage |
| Trigger threshold | None beyond the per-tier cooldown |
| Passive flat-bonus stat | Weapon damage (flat additive percentage points) |
| Proc audio cue | Plays the artifact’s dedicated rocket-launch cue on every proc |
| First-proc banner | Yes |
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.
| Rarity | Missiles per proc | Damage per missile | Blast radius (px) | Cooldown (s) | Flat weapon-damage bonus |
|---|---|---|---|---|---|
| Common | 2 | 160 | 120 | 1.0 | +10 |
| Uncommon | 2 | 160 | 120 | 1.0 | +20 |
| Rare | 2 | 240 | 150 | 0.8 | +30 |
| Epic | 4 | 360 | 195 | 0.5 | +40 |
| Legendary | 6 | 500 | 240 | 0.3 | +50 |
The following missile properties are fixed across all tiers:
| Property | Value |
|---|---|
| Missile travel speed | 350 px/s |
| Missile lifetime | 3 s |
| Homing strength | 6 |
| Pierce count | 0 (missiles detonate on the first enemy they hit) |
| Projectile archetype | Missile |
| Spawn origin | Ship position |
| VFX scale (launcher-bay flash ring) | 3.0 |
| VFX particle count | 12 |
| VFX lifetime | 0.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:
| Action | Effect |
|---|---|
| Missile salvo | Spawns 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 flash | Plays 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 flash | Flashes 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_TIERtable 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
procAudioCuemechanism 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: truefirst-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), andflash_artifactaction types are shared primitives across many artifacts; canonical reference belongs on the artifact authoring guide.