Wave Gun

What it is

Bullet/energy hybrid legendary that fires a continuous machine-gun stream of curved blue plasma arcs at the closest enemy. Each arc pierces every enemy in its line and continues past them, trading per-shot weight for sustained, high-rate damage at medium range.

Merge recipe

Parent AParent BResult
Any L20 bullet-tag weaponAny L20 energy-tag weaponWave Gun (L1)

One parent slot must carry the bullet damage tag and the other must carry the energy damage tag; the unordered pair maps to this legendary regardless of which side is bullet. The resulting legendary starts at level 1 and levels up via the normal level-up pool from L1 to L20. See legendary damage baseline for why a fresh legendary already hits as hard as a non-legendary at L20.

Stats

Raw spec values, before the global damage multiplier, low-level buff, legendary baseline, and horizontal modifiers. See weapons for the level-scaling formula and damage multiplier curve for the multipliers stacked on top.

StatL1L10L20
Damage per arc140014001400
Fire rate (shots/s)8.0012.5017.50
Projectiles per cast111
Projectile speed420465515
Projectile size3239.6548.15
Acquire range600708828
Travel range multiplier3.0×3.0×3.0×
Warmup0.05 s0.05 s0.05 s
Cadence step spacing0.04 s0.04 s0.04 s
Spread
Homing strength000

Identity

FieldValue
FamilyProjectile
RarityLegendary
Damage tagBullet
Secondary damage tagEnergy
Merge parentsBullet + Energy
Scaling curveLinear
Target modeClosest
Collision modePierce all
Area modeSplash
BehaviorPlasma arc
Can hit destructiblesYes

Behavior

  • Auto-aim picks the closest enemy at fire time. See target modes for the full definitions.
  • Each cast fires a single curved plasma arc at the locked target. Cadence is encoded as an 8-step all-on pattern (every step fires) with 0.04 s spacing, layered on top of the fire-rate cooldown.
  • Every arc uses pierce-all collision — it punches through every enemy along its line and continues out the back rather than stopping on first contact. See collision modes.
  • Travel range is set to 3× the acquire range, so arcs continue noticeably beyond the visible viewport before despawning.
  • Lifetime is computed from travel range and projectile speed by the engine; the plasma-arc behavior fades the projectile out softly over the last 25% of its travel.
  • Arcs travel in a straight line with zero spread and zero homing.
  • Each arc can damage destructible props in addition to enemies.
  • Primary damage tag is bullet and secondary is energy, so any artifact or effect keyed on either tag procs on every hit.
  • A short 0.05 s warmup gates the first arc at the start of a run.

Scaling

  • Damage and projectile count are flat — neither grows with level. All damage growth comes from the layered multipliers, not the spec base.
  • Fire rate, projectile speed, projectile size, and acquire range all grow linearly: each adds scaling × (level − 1) to its base.
  • Travel range multiplier, warmup, cadence spacing, and spread are constant across all levels.
  • The damage stat is multiplied by the global damage curve (1.00× at L1 → 7.50× at L20), the low-level damage buff (+30% at L1 decaying to 0% at L7), and the legendary baseline multiplier of 7.50×.
  • Horizontal damage modifiers add another +4% per step on top, and horizontal fire-rate modifiers add +10% per step.
  • Area horizontal modifiers grow the splash radius (area mode: splash).
  • Because the primary damage tag is bullet and the secondary is energy, both bullet-tag and energy-tag horizontal damage tracks and tag-keyed affixes apply.

EXTRACT-CANDIDATE flags (shared facts not yet on a canonical page, or worth promoting):

  • Plasma-arc lifetime + tail fade. Pierce-all arc projectiles compute lifetime from travelRangeMult × acquireRange / projectileSpeed, then fade alpha over the last 25% of travel. The fade-out window is a behavior-specific contract; no canonical page documents which behaviors apply tail fades.
  • Mixed-tag legendary tag plumbing. Cross-tag legendaries (bullet+energy, bullet+fire, bomb+bullet, bomb+energy, bomb+fire, energy+fire) set damageTag and secondaryDamageTag to different values. The hit resolver emits signals for both tags, so artifacts keyed on either tag proc once per hit. No canonical page describes how mixed-tag emissions interact with single-tag affixes.
  • Always-on cadence patterns. An all-ones cadencePattern (e.g. [1,1,1,1,1,1,1,1] with cadenceStepSec: 0.04) gates only the minimum spacing between shots — the fire-rate cooldown still controls the average cast cadence. Belongs on a cadence-pattern concept page.
  • Pierce-all + bounded travel range. Unlike Mega Bullet’s 22× travel multiplier, Wave Gun uses 3× and visible despawn. Pierce-all weapons exist on a spectrum from “offscreen continuation” to “soft mid-screen fade.” No canonical page enumerates which pierce-all weapons fall where.
  • Bullet archetype field. bulletArchetype (here plasma_arc) is a renderer hook that selects a sprite/particle preset distinct from the weapon’s behavior. Not documented anywhere in the wiki.
  • Legendary VFX scale rule. Spatial parameters on legendaries (acquireRange, travelRangeMult, projectileSize, blastRadius, etc.) are ×5 their base-weapon counterparts; postFxSec is ×2 only. Currently only documented as a comment at the top of the legendaries source file. Worth promoting to a concept page.
  • Pair-key resolution. All 10 unordered tag pairs map to exactly one legendary via pairKey(a, b) (alphabetical sort: bomb < bullet < energy < fire). Belongs on the weapons hub or a legendary-merge concept page.