Doomsayer

What it is

The most cinematic boss in the shipped roster. A single static prophet — the Oracle — holds arena center while the world ramps toward a scripted judgment moment 90 seconds into the fight. The Oracle fires a multi-layer arena-bisecting beam at t=90 s that one-shots anything in its path; the player’s job is to either kill the Oracle before the timer expires or read the long telegraph and clear the beam line at the last moment.

Doomsayer is a race-the-clock encounter built around one body. There are no anchors, no phase swaps, no respawning adds tied to the boss itself — just a single sustained-pressure ability and a long visual escalation that ends in a one-shot finale. The reward payout is the highest of the roster because the encounter punishes hesitation: stay too long, eat the beam, lose the run.

The encounter is tagged for the mini-boss pool. It also runs as the final boss when randomly drawn from the boss pool — the same authored roster scales up via the mini ×4 or boss ×8 stat multiplier.

Identity

FieldValue
ThemeProphet of the end (rune circles, void-purple gloom, gold prophecy light)
Palette cuesVoid-purple primary, prophecy-gold secondary, dread-red warnings, starlight-white core, revelation-white flash
Pool kindmini (eligible for both mini-boss and final boss slots)
Composition1 body, no anchors
Bar anchorthe Oracle
Roster body AIhold_center (stationary)
Affixes on bodynone
AbilitiesAimed Volley, Death Beam

Arena

FieldValue
Shapecircle
Radius360 world units
Terrain patternpillar_cross
Arena closing duration8 seconds

The pillar_cross terrain places destructible pillars in a cross layout, giving the player line-of-sight breaks for the Aimed Volley pressure but no full cover from the centerline death beam (the beam is arena-bisecting).

Body composition and HP

BodyCountHPShare poolTargetableAISpawn position
Oracle110000yesyeshold_centercenter

Total bar pool: 10000 HP, carried by the single Oracle body. This is the largest single-body HP pool in the roster (next-largest is Awakened Mech at 8000). The fight has no anchor gating and no damage filter — bullets land directly on the bar from the first contact.

The Oracle is stationary; the player is the one moving. The Oracle’s outline tints void-purple.

Phases and damage gates

RuleTriggerEffect
Damage windowAlways openOracle bar drains normally from t=0 to 0 HP
Win-by-killOracle bar reaches 0 before t=90 sEncounter ends; death cinematic plays
Win-by-dodgePlayer survives the t=90 s beamBeam fires once on a 999 s cooldown; encounter continues until the Oracle dies
Lose-by-beamPlayer intersects the beam line during sustainInstakill damage on contact

There are no HP-threshold transitions and no scripted body swap. The Oracle is always vulnerable. The race-the-clock pressure comes from the visual escalation timeline driving toward the death beam, not from a damage gate.

Abilities

Aimed Volley

FieldValue
Patternaimed_volley
Cooldown2.5 seconds
Telegraph duration700 ms
Bullet count per cast4
Spread12 degrees
Bullet speed220 world units/sec
Bullet damage10
Bullet radius5
Bullet colorprophecy-gold

A telegraphed 4-bullet volley aimed at the player. Smaller bullets than the heavy boss volleys (e.g. Awakened Mech’s), tuned for constant background pressure across the 90-second ramp. The 2.5 s cadence and 12° spread mean the player cannot camp on the Oracle to burn it down without taking some damage.

Death Beam

FieldValue
Patterndeath_beam
Cooldown999 seconds (effectively single-cast)
First-cast start delay90.0 seconds
Telegraph duration3000 ms
Sustain duration400 ms
Line width80 world units
Damageinstakill (one-shot the player)
Beam core colorstarlight-white
Beam halo colorprophecy-gold
Beam corona colorvoid-purple
Beam edge bloom colordread-red

The headline ability. Locks its angle at telegraph start from the player’s position, fires a 3-second telegraph along that line, then sustains the beam for 400 ms. The damage model is instakill — any player intersection during the sustain is a one-shot.

The visual is a four-layer additive composition. The outer purple corona is the first cut if the beam fails the 50 fps target on iPhone-class hardware (perf flag in the data file).

Spawn profile

FieldValue
Profile idstorm
Wave triggerrecurring every 20 s starting at t=15 s
Add typegunner (common rarity)
Count per wave8
Spawn positionring around arena center

The storm profile creates long quiet windows then a wall of 8 mid-tier adds at once. Spawn beats land at roughly t=15 s, 35 s, 55 s, 75 s — the last beat lands inside the t=80 s “lock” countdown, putting maximum simultaneous pressure on the player during the final approach to the death beam.

Rewards

Reward typeValue
XP on kill1500
Currency on kill150
Extra level-up reward picks granted2
Cascade ring composition1 × scrap pile, 1 × mineral vein, 1 × comet fragment, 2 × magnetar pulse

The largest reward payout in the roster (next-largest is XP 1200 / currency 120 / +2 picks on Awakened Mech and Hive Queen). The cascade ring is a custom 5-prop ring (overriding the default 2 scrap + 1 mineral + 1 comet + 1 magnetar). The composition leans into post-fight crowd control: two Magnetar Pulses pull the lingering add field into one collection beat, the Mineral Vein chains into more Comets, and a single Scrap Pile caps the workhorse drop.

Escalation timeline

The fight runs a fixed 90-second visual escalation. The timeline is cosmetic except for the death beam at the end — the player can kill the Oracle at any point during it to skip the finale. Each beat below is latched on the host so re-entry (pause/resume) re-fires at most once.

TimeBeat
0 s – 30 sCalm gloom — persistent rune circles, void-purple aura, ambient breathing tint every 5 s
30 s – 60 sThe gathering — gold rune ring brightens, ambient tint deepens, motes converge faster
60 s”Judgment in 30” — dread-red edge vignette activates, outer red rune-ring fades in, dread tint flash
60 s – 80 sEvery-5 s dread-red beats
80 sThe lock — gold rune circle freezes in place, brightens to full saturation, starlight motes burst inward
85 s – 90 sFinal countdown — core pulse frequency doubles (0.8 Hz → 1.6 Hz), one dread-red tick per second
87 sThe warmup — screen darkens, edge vignette closes, horizontal stripe marks beam axis, slow camera pull-back
87.5 sFive emissions of 16 starlight sparks each converge on the Oracle
88.5 sGold rune aura over-saturates (additive blow-out)
89.5 sBeam stripe thickens from 20 to 80, pulses at 8 Hz
90 sDeath beam fires — white core, gold halo, purple corona, dread-red leading edge sparks, white-out flash, camera punch zoom, 24-amplitude screen shake for 0.8 s
90.4 sBeam fades; 80 starlight ash-fall sparks rain along the beam path
90.6 sBlack edge vignette lifts back to normal
91.0 sStarlight-white afterglow tint pulse

The Oracle’s persistent layers attached at encounter start are: slow gold rune circle (radius 80, 12 runes, 0.1 Hz rotation), void-purple aura halo (radius 100, 0.4 Hz pulse), gold core pulse (radius 18, 0.8 Hz), invisible dread-red rune ring (radius 110, fades in at 60 s), runic floor glyphs (void-purple stripes — skipped in low-perf mode), heavy underglow shadow (void-purple, radius 110), and starlight motes converging on the Oracle (skipped in low-perf mode).

Death cinematic

A 2.8-second sequence playing when the Oracle dies (independent of how — kill-before-beam or runtime end). The full sequence is themed “reverse-shockwave + soul-ascent + peaceful afterglow.”

TimeBeat
0.0 sPull-back camera zoom, gold rune flash burst around the Oracle
0.3 sRune ring shatters into 24 gold/white shards, 40 gold spark burst
0.5 sReverse-shockwave — 3 stacked rings shrink from 250 to 0 radius (purple, gold, white) staggered 80 ms apart
0.7 sStarlight-white revelation flash
1.0 s60 starlight sparks radiate outward (ascending souls)
1.2 sDread-red rune ring fades out
1.5 sCamera settles back to normal zoom
2.4 sPeaceful starlight-white afterglow vignette
2.8 sEncounter teardown takes over

Scaling

Doomsayer is a mini-pool boss. The authored stats above are the level-1 baseline. The encounter is scaled at spawn by the boss tier multiplier and the run-depth ramp:

SlotTier HP multiplierTier damage multiplierReward chamber cascade rings
Mini-boss appearance4.04.01
Final boss appearance8.08.02

Depth ramp on top of the tier multiplier is 1.0 + 0.5 × (currentLevel - 1) / (totalLevels - 1), applied to both HP and damage.

SlotDepth multiplierCombined HPCombined Aimed Volley damage
Normal mode L3 (mini)1.50×6.00 (60000 bar pool)×6.00 (60 per bullet)
Challenge mode L3 (mini)1.22×4.89×4.89
Challenge mode L6 (mini)1.56×6.22×6.22
Challenge mode L9 (mini)1.89×7.56×7.56
Final-boss draw, last level of run1.50×12.00 (120000 bar pool)×12.00 (120 per bullet)

The Death Beam damage is instakill at every scaling tier — its tabled value is a sentinel, not a number scaled by the damage multiplier.

In addition, every boss inherits the default per-level scaling curve (hp ×2.0/level uncapped, damage ×2.15/level uncapped, plus soft/hard caps on fire rate, move speed, projectile speed, sweep speed, spawner frequency, effect radius, and enrage timer) starting from the player’s currentLevel at encounter spawn.

The 90-second beam timer is not scaled by level or tier — every appearance of Doomsayer fires the beam at the same 90-second mark regardless of difficulty.

EXTRACT-CANDIDATE flags

  • The mini ×4 / final ×8 tier multipliers and the depth ramp formula are duplicated from mini-bosses.md and the other per-entity boss pages. Acceptable per the wiki “tables can duplicate” rule — kept here so the per-entity page is readable standalone.
  • The default boss scaling curve lives in data/boss-scaling.ts and is shared by every boss. Currently surfaced on bosses.md and duplicated on each per-entity page; recommend extracting to a bosses/scaling.md once all 8 entity pages exist.
  • The death_beam ability pattern is the only such pattern in the codebase and is unique to Doomsayer. Its instakill-on-intersection contract, telegraph rendering, and angle-locking behavior are not yet documented; flag for an abilities catalog page when one is broken out.
  • The aimed_volley pattern is shared with other bosses (e.g. Awakened Mech). Its parameter contract (count / spread / bulletSpeed / bulletDamage / bulletRadius / telegraphMs) is documented inline here; consolidate into a shared ability page once a catalog exists.
  • The storm spawn profile is unique to Doomsayer in the shipped roster. Already documented on bosses.md; no extraction needed beyond confirming the link.
  • The escalation-timeline beat list is dense and Doomsayer-specific. Could be excerpted as a “cinematic boss” pattern example on a future authoring-guide page for boss design, but doesn’t duplicate anything outside this entity.
  • The Oracle enemy type (solaris_oracle) is shared with the Solaris faction (Reactor Core also uses Solaris types). Its raw archetype stats (HP 600, speed 0, radius 30, etc.) are overridden by the boss roster’s hp=10000; the raw archetype is only referenced for sprite/archetype dispatch. Belongs on an enemies catalog page rather than here.
  • The hold_center AI id is shared with other static-anchor bosses. Documented on bosses.md AI list; no extraction needed.