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 A | Parent B | Result |
|---|---|---|
| Any L20 bullet-tag weapon | Any L20 energy-tag weapon | Wave 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.
| Stat | L1 | L10 | L20 |
|---|---|---|---|
| Damage per arc | 1400 | 1400 | 1400 |
| Fire rate (shots/s) | 8.00 | 12.50 | 17.50 |
| Projectiles per cast | 1 | 1 | 1 |
| Projectile speed | 420 | 465 | 515 |
| Projectile size | 32 | 39.65 | 48.15 |
| Acquire range | 600 | 708 | 828 |
| Travel range multiplier | 3.0× | 3.0× | 3.0× |
| Warmup | 0.05 s | 0.05 s | 0.05 s |
| Cadence step spacing | 0.04 s | 0.04 s | 0.04 s |
| Spread | 0° | 0° | 0° |
| Homing strength | 0 | 0 | 0 |
Identity
| Field | Value |
|---|---|
| Family | Projectile |
| Rarity | Legendary |
| Damage tag | Bullet |
| Secondary damage tag | Energy |
| Merge parents | Bullet + Energy |
| Scaling curve | Linear |
| Target mode | Closest |
| Collision mode | Pierce all |
| Area mode | Splash |
| Behavior | Plasma arc |
| Can hit destructibles | Yes |
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
damageTagandsecondaryDamageTagto 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]withcadenceStepSec: 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(hereplasma_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.