Area modes
What it is
areaMode is a required tag on every weapon spec that declares which damage-zone dimension the weapon would grow if an Area-style multiplier were applied (blast radius, chain jump radius, beam width, etc.). As of v3.26 the player-facing bigger_area horizontal upgrade was removed and area scaling is now per-weapon-level only — the tag is declarative and reserved for future re-introduction via artifacts or ship stats.
The Area modes
| Mode | Dimension scaled | Engine status |
|---|---|---|
blast | Explosion blast radius (blastRadius) | Declarative; no active scaler |
blast_strong | Explosion blast radius (blastRadius), bigger growth budget | Declarative; no active scaler |
chain_radius | Chain jump radius (chainRadius) | Declarative; no active scaler |
beam_splash | Beam splash radius | Declarative; not used by any current weapon spec |
beam_width | Beam hitbox width (beamWidth) | Declarative; no active scaler |
bonus_explosion | Bonus secondary explosion on hit | Declarative; bonus-explosion handler is a no-op stub |
cone_width | Flame cone angular width (coneWidth) | Declarative; no active scaler |
blade_size | Orbiting blade hitbox (bladeSize) | Declarative; no active scaler |
splash | Splash radius (splashRadius) | Declarative; no active scaler |
line_spread | Spread between line projectiles (orbitRadius) | Declarative; no active scaler |
arc_thickness | Shield arc thickness (bladeSize) | Declarative; no active scaler |
Per-weapon Area mode assignments
| Weapon family / spec | areaMode |
|---|---|
| Cannon | blast |
| Missile | blast |
| Fire Trail | blast |
| Mortar | blast_strong |
| Lightning | chain_radius |
| Railgun | beam_width |
| Burst Rifle | beam_width |
| Rifle | bonus_explosion |
| Shotgun | bonus_explosion |
| Coilgun | bonus_explosion |
| Disc | bonus_explosion |
| Flame | cone_width |
| Defy | cone_width |
| Sweep | blade_size |
| Fire Ring | blade_size |
| Revolver | splash |
| Line | line_spread |
| Magnetar | line_spread |
| Barrier | arc_thickness |
Legendary weapons use the same union of modes: 7 legendaries declare splash, 4 declare blast, 1 declares bonus_explosion, 1 declares beam_width.
Engine effect today
| Behavior | Status |
|---|---|
Per-step areaMode multiplier applied at fire time | Removed in v3.26 — no active code path |
_applyBonusExplosion handler | No-op stub |
applyChainExplosion handler | No-op stub |
Area-aware range expansion in getWeaponEffectiveRange | Active; uses blastRadius, beamWidth, orbitRadius directly (not the mode tag) |
Player-facing bigger_area horizontal upgrade | Removed |
Area-aware range expansion
When areaMode is set on a spec, getWeaponEffectiveRange extends the weapon’s effective acquire range so its damage zone is fully reachable. The expansion is driven by the radius stats themselves, not by the mode tag.
| Spec field present | Effective range adjustment |
|---|---|
orbitRadius | max(effectiveRange, orbitRadius(L)) |
blastRadius | max(effectiveRange, effectiveRange + blastRadius(L) * 0.7) |
beamWidth | max(effectiveRange, effectiveRange + beamWidth(L) * 0.3) |
A final × 1.05 generosity buffer is applied to all weapons, with a floor of 50 world units.
Default growth rate
There is no per-Area-step growth rate in the current engine. The dimensions listed above grow only via each weapon’s own WeaponStat scaling (base + scaling * (level - 1)), optionally remapped through the weapon’s scalingCurve.