Gravity Well

What it is

Gravity Well is a world-roaming elite affix introduced in Slice 3. The host while alive carries a violet swirl-particle telegraph orbiting it; on death the host drops a Magnetar Pulse prop at its corpse position. The dropped prop then carries the gravity-pull payoff through its own 100%-break effect — the affix’s mechanical consequence lives in the prop, not on the host.

Identity

FieldValue
Affix IDgravity_well
Categoryworld-roaming elite
Priority55
HooksonUpdate, onDeath
Roll poolworld-roaming elite
Halo palette entryviolet (r 160, g 90, b 255)
Slice introducedSlice 3 (tick 23)

Priority 55 places the affix in the mid-band, after damage filters and most behaviors. The affix produces no filterIncomingDamage hook, so its priority value is operationally near-cosmetic and exists only for log ordering.

What it does

PhaseEffect
While host aliveEmit violet swirl particles around the host at a fixed cadence (telegraph only — no damage, no pull).
On host deathSpawn a Magnetar Pulse prop at the host’s exact x/y position.

The host itself applies no pull, no damage aura, and no debuff during life. The mechanical payoff arrives only after the host dies, via the Magnetar Pulse’s break.

Live-host swirl

ParamValue
Default emit interval0.25 s (4 particles/s)
Spawn radius rangehost.radius × 1.2 to host.radius × 1.7
Tangential speed70 to 100 world px/s
Inward speed bias25 to 45 world px/s
Particle lifetime0.5 to 0.7 s
Particle size1.5
Particle colorviolet (r 160, g 90, b 255) at alpha 0.85
Particle kindspark

Each emit picks a random angle on a ring around the host, then sends the particle tangentially with a small inward bias so the cloud reads as orbital infall.

Death drop

TriggerResult
Host enters death stateOne Magnetar Pulse prop spawns at the host’s x/y
Spawn fails (pool cap, denied)The drop is silently skipped; no retry, no fallback prop

The dropped Magnetar Pulse is the standard 35-HP destructible prop with its own break behavior — see the Magnetar Pulse prop page for break radius, pull strength, and orb yield.

Per-tier values

The affix has no per-tier scaling — values are fixed regardless of host tier or world level. There is no host-affix configuration block (no affixState.gravity_well keys consumed by the runtime).

How it interacts

With phasing

When a phasing affix on the same host is in its invuln window, the swirl emit interval halves from 0.25 s to 0.125 s, doubling particle density. This is a pure visual cue — no mechanical change to damage, hitbox, or drop. The denser swirl flags the un-hittable moments visually.

Phasing stateEmit intervalParticles/sec
Inactive0.25 s4
Invuln window active0.125 s8

With reflective_burst

When a reflective_burst affix on the same host triggers its return burst, the burst radius is multiplied by 1.5 and a violet outward ring of about 12 extra particles paints the enlarged area. The amplification is owned by the reflective_burst hook; gravity_well’s presence is the trigger.

Burst stateBurst radiusOverlay
No gravity_well co-hoststate.radius (baseline)reflective_burst purple ring only
Gravity_well co-hoststate.radius × 1.5reflective_burst ring plus 12 violet outward sparks at 150 to 210 px/s

With summoner

When a summoner affix on the same host spawns minions, each minion’s spawn distance is 60% of the configured value, clumping the brood inward toward the host. Each spawn point also emits a 4-particle violet inward-biased burst. Mechanical: tighter clump that AoE weapons can clear in one sweep.

Summoner stateSpawn distancePer-spawn overlay
No gravity_well co-hostspawnDistancePx (baseline)none
Gravity_well co-hostspawnDistancePx × 0.64 violet sparks biased toward host

With the dropped prop

After the host dies and the Magnetar Pulse spawns, the prop is independent of the affix — it lives on the standard prop lifecycle (destructible HP, break VFX, gravity-pull payoff on 100% break). Killing the host does not auto-break the prop; the prop must take 35 HP from the player or fall to ambient damage.

Telemetry signals

EventCounter
Death-drop attemptedaffix_proc:gravity_well_drops_magnetar (value 1 on success, 0 on null)
Phasing dense-swirl tickaffix_interaction:gravity_phasing_dense_swirl
Reflective_burst amplifiedaffix_interaction:reflective_gravity_amp
Summoner brood clumpedaffix_interaction:summoner_gravity_clump

EXTRACT-CANDIDATE

  • A pair of constants for an inward pull (radius 150 world px, accel 60 px/s²) is declared alongside the affix’s palette data but is not read by the runtime. The live host applies no pull — the pull belongs to the dropped Magnetar Pulse prop. Either the affix is incomplete (missing a sustained pull on live hosts) or the constants are dead code. Flag for the affixes overview page and a runtime audit.
  • The affix priority value (55) is described as near-cosmetic because the affix has no damage filter. If more world-roaming affixes ship with onUpdate/onDeath-only hook sets, the priority-band rule (filters near 100, behaviors mid-band, cosmetics low) becomes a candidate for the affixes overview page.
  • The pattern “host telegraph while alive, mechanical payload drops on death as a reusable prop” is novel in the affix catalog. If more affixes ship in this shape, lift the pattern to the affixes overview as a recognized affix archetype.
  • The three co-affix interactions (phasing, reflective_burst, summoner) follow a consistent shape: a visual overlay plus an optional mechanical multiplier, gated by hostHasAffix at the partner’s hook. Canonical home for the “affix × affix interaction” pattern is the affixes overview page.