import type { DungeonData } from "@/types/dungeon";

export const magistersTerrace: DungeonData = {
  id: "magisters-terrace",
  name: "Magister's Terrace",
  descriptionHtml: `Linear dungeon with <span class="wing-badge wing-arcane">Arcane</span> wing first half and <span class="wing-badge wing-void">Void</span> wing second half. Library gauntlet early, then courtyard, then void corridor to final boss tower.`,
  headerImage: "/assets/magisters_terrace_header.jpg",
  icon: "/assets/dungeon_magister_s_terrace.jpg",
  sections: [
    {
      type: "trash",
      data: {
        header: "Entrance — Trash Before Arcanotron Custos",
        content: [
          {
            type: "mob",
            data: {
              name: "Arcane Sentry (Immune to CC)",
              nameHtml: `Arcane Sentry <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1282055/ethereal-shackles">Ethereal Shackles</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Roots you. Use a root break or get a Magic dispel.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1282050/arcane-beam">Arcane Beam</a> — Channels into a random player, leaving puddles. Dodge the pools.`,
                `<a href="https://www.wowhead.com/beta/spell=473258/crowd-dispersal">Crowd Dispersal</a> — AoE hit + knockback. Watch positioning near edges.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Arcane Magister",
              nameHtml: `Arcane Magister`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=468966/polymorph">Polymorph</a> — <span class="warn">Priority interrupt.</span> Dispel with Magic if one goes off.`,
                `<a href="https://www.wowhead.com/beta/spell=468962/arcane-bolt">Arcane Bolt</a> — Targets random player. Use spare interrupts.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Sunblade Enforcer",
              nameHtml: `Sunblade Enforcer`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1252909/arcane-blade">Arcane Blade</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Magic buff — purge if possible, otherwise use a defensive for empowered strikes.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1253224/charge">Charge</a> — Closes gap quickly. Kiting is difficult.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Lightward Healer",
              nameHtml: `Lightward Healer`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1255187/holy-fire">Holy Fire</a> — Targets random player. Magic dispel to remove.`,
                `<a href="https://www.wowhead.com/beta/spell=1254306/power-word-shield">Power Word: Shield</a> — Buffs an ally mob. Purge if possible.`,
              ],
            },
          },
          { type: "quickRef", data: { html: `<strong>Library Gauntlet:</strong> Avoid librarians (they teleport you back to entrance). Pick up the <strong>Arcane Tome</strong> for a 5% haste buff (30 min, persists through death).` } },
          {
            type: "mob",
            data: {
              name: "Animated Codex",
              nameHtml: `Animated Codex`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1244985/arcane-volley">Arcane Volley</a> — Constant AoE pulse. <span class="warn">Be careful pulling multiple — use defensives.</span>`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Blazing Pyromancer (Immune to CC)",
              nameHtml: `Blazing Pyromancer <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1254294/pyroblast">Pyroblast</a> — <span class="warn">Must interrupt every cast.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1254338/ignition">Ignition</a> — Heavy AoE while active. Use defensives or healing CDs.`,
                `<a href="https://www.wowhead.com/beta/spell=1254301/flamestrike">Flamestrike</a> — Dodge the AoE hit and puddle.`,
              ],
            },
          },
          { type: "quickRef", data: { html: `<strong>Courtyard:</strong> After the library, interact with <strong>Energy Crystals</strong> for a temporary damage and healing increase.` } },
          {
            type: "mob",
            data: {
              name: "Spellwoven Familiar",
              nameHtml: `Spellwoven Familiar`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1279992/blink">Blink</a> — AoE group hit on teleport. Beware when combined with other AoE mobs.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Brightscale Wyrm",
              nameHtml: `Brightscale Wyrm`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1254595/energy-release">Energy Release</a> — Casts on death. <span class="tip">Stagger kills to avoid overlap, but stay close for the stacking buff.</span>`,
              ],
            },
          },
        ],
      },
    },
    {
      type: "boss",
      data: {
        bossNumber: "Boss 1 · Arcane Wing",
        name: "Arcanotron Custos",
        subtitle: "Alternating boss/intermission phases with heavy space management",
        image: "/assets/arcanotron_custos_boss_fight.jpg",
        abilities: [
          {
            name: "Repulsing Slam",
            wowheadUrl: "https://www.wowhead.com/beta/spell=474496/repulsing-slam",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Arcane hit + knockback on tank.</li><li><span class="tip">Use walls or staircases to prevent being knocked back.</span></li></ul>`,
          },
          {
            name: "Arcane Expulsion",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1214081/arcane-expulsion",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Group hit + knockback, drops a puddle under boss for 2 min.</li><li><span style="color: var(--tank-color); font-weight: 600;">Position boss towards arena edges, overlap existing puddles.</span></li></ul>`,
          },
          {
            name: "Unstable Energy",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1243905/unstable-energy",
            role: "healer",
            importance: "healer-important",
            descriptionHtml: `<ul><li>Stacking DoT applied to orb soakers during intermission.</li><li><span class="warn">Heal through soakers who take multiple orbs back-to-back.</span></li></ul>`,
          },
          {
            name: "Energy Orb",
            wowheadUrl: "https://www.wowhead.com/beta/spell=474308/energy-orb",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Intermission: orbs travel toward boss. Soak to prevent group damage + boss 20% damage buff stack.</li><li>Soaking leaves a puddle and applies <a href="https://www.wowhead.com/beta/spell=1243905/unstable-energy">Unstable Energy</a> DoT.</li><li><span class="warn">Stagger soaks or use defensives.</span></li></ul>`,
          },
          {
            name: "Intermission Strategy",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li><span class="tip">Move boss into a side alcove before intermission — orbs funnel toward group for easier soaking.</span></li><li>Keep alcoves clear of puddles during boss phase.</li></ul>`,
          },
          {
            name: "Intermission DPS Window",
            role: "dps",
            importance: null,
            descriptionHtml: `<ul><li>Boss takes <strong>20% increased damage</strong> for 20s during intermission.</li><li><span class="tip">Save offensive cooldowns for intermission for extra value.</span></li></ul>`,
          },
        ],
      },
    },
    { type: "divider" },
    {
      type: "trash",
      data: {
        header: "Hallway — Trash Before Seranel Sunlash",
        content: [
          { type: "quickRef", data: { html: `<strong>Familiar mobs:</strong> Same mobs as before (Arcane Sentry, Arcane Magister, Sunblade Enforcer, Lightward Healer), plus one new mob below.` } },
          {
            type: "mob",
            data: {
              name: "Runed Spellbreaker (Immune to CC)",
              nameHtml: `Runed Spellbreaker <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1283901/shield-slam">Shield Slam</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Line aimed at you — face away from group and sidestep it.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1244907/runic-glaive">Runic Glaive</a> — Targets 2 random players. Watch health, use defensive if needed.`,
              ],
            },
          },
        ],
      },
    },
    {
      type: "boss",
      data: {
        bossNumber: "Boss 2 · Arcane Wing",
        name: "Seranel Sunlash",
        subtitle: "Suppression Zone management — stagger debuff clears, dodge on removal",
        image: "/assets/seranel_sunlash_boss_fight.jpg",
        abilities: [
          {
            name: "Hastening Ward",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1248689/hastening-ward",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Boss gains Magic attack speed buff.</li><li><span style="color: var(--tank-color); font-weight: 600;">Purge it or use a defensive.</span></li></ul>`,
          },
          {
            name: "Runic Mark",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1225792/runic-mark",
            role: "healer",
            importance: "healer-important",
            descriptionHtml: `<ul><li>DoT on 2 players — main source of group damage. Splashes nearby.</li><li><span class="warn">Heavy healing through DoT ticks. Second player clearing in zone takes more damage — may need a defensive.</span></li></ul>`,
          },
          {
            name: "Suppression Zone",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1224903/suppression-zone",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Drop zone in the center of the room. Entering removes <a href="https://www.wowhead.com/beta/spell=1225792/runic-mark">Runic Mark</a> but triggers <a href="https://www.wowhead.com/beta/spell=1246446/null-reaction">Null Reaction</a> (AoE + circles + slow).</li><li><span class="warn">Don't linger — pacifies you.</span></li><li><span class="tip">Stagger clears — let non-tank clear first. Tank can safely hold the DoT longer.</span></li></ul>`,
          },
          {
            name: "Wave Of Silence",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1225193/wave-of-silence",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>AoE hit that pacifies for 8s.</li><li><span class="warn">Step into Suppression Zone just before it finishes to avoid pacify.</span></li></ul>`,
          },
          {
            name: "Hastening Ward",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1248689/hastening-ward",
            role: "dps",
            importance: null,
            descriptionHtml: `<ul><li>Magic buff on boss — increased attack speed.</li><li><span class="tip">Purge it if your class can — removes major tank damage.</span></li></ul>`,
          },
        ],
      },
    },
    { type: "divider" },
    {
      type: "trash",
      data: {
        header: "Void Corridor — Trash Before Gemellus",
        content: [
          { type: "quickRef", data: { html: `<strong>Phase shift:</strong> After Seranel, channel the Cynosure of Twilight. Void mobs appear — fight back toward the dungeon entrance.` } },
          {
            type: "mob",
            data: {
              name: "Voidling",
              nameHtml: `Voidling`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1255434/void-gash">Void Gash</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Passive extra shadow damage on melee hits. Watch health with large pulls.</span>`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Hollowsoul Shredder",
              nameHtml: `Hollowsoul Shredder`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1227020/dimensional-shred">Dimensional Shred</a> — Targets random player. Stay close for easier cleave.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Dreaded Voidwalker",
              nameHtml: `Dreaded Voidwalker`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1256015/shadow-bolt">Shadow Bolt</a> — Targets random player. Use spare interrupts.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Shadowrift Voidcaller (Immune to CC)",
              nameHtml: `Shadowrift Voidcaller <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1255462/call-of-the-void">Call Of The Void</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Spawns adds — pick them up immediately.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1265977/consuming-shadows">Consuming Shadows</a> — <span class="warn">Heavy group damage. Use defensives/healing CDs.</span> <span class="tip">Can LoS to avoid entirely.</span>`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Unstable Voidling",
              nameHtml: `Unstable Voidling`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1264951/void-eruption">Void Eruption</a> — Casts on death. Stagger kills to avoid overlap.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Void Infuser",
              nameHtml: `Void Infuser`,
              tankRelevant: false,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1264693/terror-wave">Terror Wave</a> — <span class="warn">Must interrupt every cast.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1245068/consuming-void">Consuming Void</a> — DoT on random player. Dispel or use defensives if too many to dispel.`,
              ],
            },
          },
          {
            type: "mob",
            data: {
              name: "Devouring Tyrant (Immune to CC)",
              nameHtml: `Devouring Tyrant <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
              tankRelevant: true,
              abilitiesHtml: [
                `<a href="https://www.wowhead.com/beta/spell=1264687/devouring-strike">Devouring Strike</a> — <span style="color: var(--tank-color); font-weight: 600;">TANK: Big hit + massive healing absorb. Use defensive + self-healing.</span>`,
                `<a href="https://www.wowhead.com/beta/spell=1248219/void-bomb">Void Bomb</a> — Targets random player with healing absorb. Don't cleave allies.`,
              ],
            },
          },
        ],
      },
    },
    {
      type: "boss",
      data: {
        bossNumber: "Boss 3 · Void Wing",
        name: "Gemellus",
        subtitle: "Clone-based encounter — break Neural Links fast, dodge Astral Grasp pulls",
        image: "/assets/gemellus_boss_fight.jpg",
        abilities: [
          {
            name: "Triplicate",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1223847/triplicate",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Creates 2 untankable clones (at pull and 50% HP) that share health and patrol the room.</li><li><span style="color: var(--tank-color); font-weight: 600;">Move boss to cleave with as many clones as possible.</span></li></ul>`,
          },
          {
            name: "Neural Link + Astral Grasp",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1253709/neural-link",
            role: "healer",
            importance: "healer-important",
            descriptionHtml: `<ul><li><a href="https://www.wowhead.com/beta/spell=1253709/neural-link">Neural Link</a> applies 20% damage taken increase. <a href="https://www.wowhead.com/beta/spell=1224299/astral-grasp">Astral Grasp</a> follows shortly with heavy damage.</li><li><span class="warn">Players who still have the damage amp during Astral Grasp take dangerous burst — be ready with healing CDs.</span></li></ul>`,
          },
          {
            name: "Cosmic Sting",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1283904/cosmic-sting",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Shadow hit that drops a puddle on contact.</li><li>Drop these off to the side, out of the boss's patrol path.</li></ul>`,
          },
          {
            name: "Neural Link",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1253709/neural-link",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>20% damage taken increase for 12s.</li><li><span class="warn">Touch your linked clone (follow arrow under character) to break it and remove the clone's shield.</span></li><li>Be quick — Astral Grasp follows shortly.</li></ul>`,
          },
          {
            name: "Astral Grasp",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1224299/astral-grasp",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Pulls players toward linked clone. Heavy damage within 4 yds.</li><li><span class="warn">If you still have Neural Link, use a defensive.</span> Otherwise fight the pull-in.</li></ul>`,
          },
          {
            name: "5-Clone Phase",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1223847/triplicate",
            role: "dps",
            importance: null,
            descriptionHtml: `<ul><li>After 50% HP, all 5 party members get targeted by every ability set.</li><li><span class="tip">Save damage CDs and lust for the 5-clone phase — maximize cleave.</span></li></ul>`,
          },
        ],
      },
    },
    { type: "divider" },
    {
      type: "trash",
      data: {
        header: "Tower — Trash Before Degentrius",
        content: [
          { type: "quickRef", data: { html: `<strong>Familiar mobs:</strong> Same void trash as the corridor (Voidlings, Shadowrift Voidcallers, Devouring Tyrants, etc.). See Gemellus trash above.` } },
        ],
      },
    },
    {
      type: "boss",
      data: {
        bossNumber: "Boss 4 · Final Boss",
        name: "Degentrius",
        subtitle: "Stationary boss — quadrant-based soaking, tank dispel management",
        image: "/assets/degentrius_boss_fight.jpg",
        abilities: [
          {
            name: "Hulking Fragment",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1280113/hulking-fragment",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Large shadow hit to tank + 8 yd splash + 30s Magic DoT that leaves a puddle on dispel.</li><li><span style="color: var(--tank-color); font-weight: 600;">Stand alone in your quadrant.</span></li><li><span style="color: var(--tank-color); font-weight: 600;">Back out of melee and get dispelled away from boss to drop puddle safely.</span></li></ul>`,
          },
          {
            name: "Entropy Blast",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1271066/entropy-blast",
            role: "tank",
            importance: "tank-important",
            descriptionHtml: `<ul><li>Boss casts this instead of melee swings.</li><li><span class="tip">Leaving melee for Hulking Fragment dispel has no downside.</span></li></ul>`,
          },
          {
            name: "Hulking Fragment Dispel",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1280113/hulking-fragment",
            role: "healer",
            importance: "healer-important",
            descriptionHtml: `<ul><li>30s Magic DoT on tank — leaves a puddle on dispel.</li><li><span class="warn">Dispel when tank backs away from boss. Place puddle safely.</span></li><li><span class="tip">Stay in the quadrant next to the tank to always be in range.</span></li></ul>`,
          },
          {
            name: "Void Torrent",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1214714/void-torrent",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Beams from statues divide room into 4 quadrants on pull.</li><li><span class="tip">Pre-spread: 1 player per quadrant. Double up healer with a DPS near tank's quadrant.</span></li></ul>`,
          },
          {
            name: "Unstable Void Essence",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1215157/unstable-void-essence",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Soak that bounces between quadrants.</li><li><span class="warn">Missing a soak applies a 40s DoT to entire group.</span></li><li>Stay spread across all 4 quadrants.</li></ul>`,
          },
          {
            name: "Devouring Entropy",
            wowheadUrl: "https://www.wowhead.com/beta/spell=1215897/devouring-entropy",
            role: "everyone",
            importance: "everyone-important",
            descriptionHtml: `<ul><li>Variable-duration DoT.</li><li>If you get a long one or have it while soaking, use a defensive or health pot.</li></ul>`,
          },
        ],
      },
    },
  ],
};
