Phasing

What it is

Phasing is a world-roaming elite affix that cycles a host between a vulnerable state and a short, recurring invulnerability window. It teaches the player to time big hits — large bursts during the window do nothing; large bursts in the gap drop the host fast. The affix is rolled at spawn time on elite-pack leaders by the world-elite affix roll pool; it does not require a boss arena, anchor enemies, or boss-bar plumbing.

The host emits a soft-blue particle haze while the window is active. Outside the window the haze stops and damage lands normally.

Identity

FieldValue
Affix IDphasing
Categoryworld-roaming elite
Priority75
HooksonUpdate, filterIncomingDamage, onDeath
Roll poolworld-roaming elite affixes
Halo palette entrysoft blue (r 135, g 180, b 255)

Priority 75 sits between reflective_burst (70) and periodic_invuln (85). The damage filter chain runs in descending priority order; phasing’s filter therefore fires after reflective_burst’s filter. When the host is inside the invuln window, phasing returns zero and short-circuits every lower-priority filter (reflective_burst at 70, armored at 20, hardened at 25).

What it does

On every frame, the affix decrements a cycle timer by the frame delta. When the timer reaches zero it wraps back to the full cycle interval. The host is “inside the invuln window” whenever the timer is less than or equal to the window duration. A fresh window opens at the start of every cycle and lasts for the window duration; the rest of the cycle (cycle interval minus window duration) is the vulnerable gap.

While the window is active, any incoming damage hit against the host is filtered to zero. The amount of damage that was blocked is reported to cloud telemetry on each blocked hit so the cycle and window can be tuned from production data.

While the window is active, the affix also emits roughly six soft-blue particles per second in a ring around the host as the visual tell. No particles emit during the gap.

On host death, the affix drops a Comet Fragment prop at the death point through the shared prop-spawn adapter. The drop is fail-silent when the prop pool is at capacity. The fragment’s break-effect is owned by the prop, not the affix.

Per-tier values

The affix has a single default tuning; per-roster overrides go through the affix instance state (windowDuration, cycleInterval). Mistyped overrides crash at first hook invocation.

ParamDefaultUnitsSource key
Window duration1.2secondswindowDuration
Cycle interval8secondscycleInterval
Visual emit rate during window6particles/sec(constant)

Derived from those defaults:

QuantityValue
Vulnerable gap per cycle6.8 s
Invuln uptime fraction0.15 (15%)
Windows per minute7.5

The cycle timer initializes to the full cycle interval on the host’s first frame, so the host starts in the vulnerable gap and the first window opens after roughly (cycle interval minus window duration) seconds of host life.

How it interacts

Damage filter ordering

Other affixPriorityOrder relative to phasingOutcome when phasing window is active
shielded100fires before phasingIf shielded zeros damage, phasing never sees the hit
shielded_respawn100fires before phasingSame as shielded
respawn_as95n/a (no damage filter)
gated90fires before phasingIf gated zeros damage, phasing never sees the hit
periodic_invuln85fires before phasingIf periodic_invuln zeros damage, phasing never sees the hit
reflective_burst70fires after phasingWhen phasing window is active, returns 0 and reflective_burst never runs
gravity_well55n/a (no damage filter)
regenerating50n/a (no damage filter)
burning_aura60n/a (no damage filter)
summoner40n/a (no damage filter)
hardened25fires after phasingPhasing returns 0; hardened never sees the hit
armored20fires after phasingPhasing returns 0; armored never sees the hit

When the phasing window is active, the priority-75 filter returns zero and short-circuits the rest of the chain for that hit.

Co-presence with other affixes

Other affixTriggerEffectTelemetry key
hardenedPhasing window activeHardened jumps straight to peak reduction (skips its lifetime ramp)affix_interaction:phasing_hardens
regeneratingPhasing window activeRegen rate doubles for the duration of the windowaffix_interaction:regen_phasing_sealed
summonerSummoner proc fires (host crosses its HP threshold)A fresh phasing invuln window snaps open the same frame (panic blink)affix_interaction:summoner_phasing_panic_blink
gravity_wellPhasing window activeGravity-well swirl particle emit rate doubles (visual depth only, no mechanical change)affix_interaction:gravity_phasing_dense_swirl

The summoner interaction is the only one that mutates phasing’s own state directly: it overwrites the phasing cycle timer to the window-duration value, forcing the host into the active window for that frame and continuing from there.

Telemetry

EventValue
affix_proc:phasing_blockedThe pre-filter damage amount the window absorbed (per hit)
affix_proc:phasing_drops_comet1 if the prop spawn landed, 0 if the pool was capped
affix_interaction:phasing_hardensPre-filter damage on a hit where hardened was also present
affix_interaction:regen_phasing_sealedDoubled heal amount (≈1/sec sampled, not per-frame)
affix_interaction:summoner_phasing_panic_blink1 per panic-blink trigger
affix_interaction:gravity_phasing_dense_swirl1 (≈1/sec sampled while both are active)

Death drop

Prop droppedDrop chanceNotes
Comet Fragment100% (subject to prop pool cap)Palette- and theme-matched (phasing ice-blue ↔ comet ice-blue); fragment’s break-effect grants a 35% speed boost

EXTRACT-CANDIDATE

  • The “windowed invulnerability” pattern (cycle timer, window-active predicate, blocked-damage telemetry) is shared with periodic_invuln (same skeleton, different cancel rule). A common concept page for “windowed-invuln affixes” would canonicalize the cycle/window/gap vocabulary and let the per-affix pages link rather than restate.
  • The damage filter priority-chain rule (descending priority, zero short-circuits, filters skip if a higher-priority filter already zeroed the hit) is a system-wide affix rule and belongs on the affixes overview page.
  • The “elite drops a themed prop on death” pattern repeats across phasing, regenerating, reflective_burst, summoner, hardened, gravity_well, and volatile. The common contract (palette match, pool-cap fail-silent, telemetry key shape affix_proc:<id>_drops_<prop>) is a candidate for an affix-prop-drop concept page.
  • Affix × affix co-presence as a category (paired triggers, telemetry shape, “sealed/turtle/panic-blink” naming convention) is becoming its own subsystem; an affix-interactions overview page could capture the contract once instead of repeating each pair on both participants’ pages.