diff --git a/BOSS Scripts (Lua)/ArathiFarmlands/Ghubo.lua b/BOSS Scripts (Lua)/ArathiFarmlands/Ghubo.lua index 1f6e963..030caec 100644 --- a/BOSS Scripts (Lua)/ArathiFarmlands/Ghubo.lua +++ b/BOSS Scripts (Lua)/ArathiFarmlands/Ghubo.lua @@ -1,8 +1,48 @@ -------------------------------------------------------------------------------- --- Ghubo The Abomination (Arathi Highlands) - Boss 1 +-- Ghubo The Abomination - Arathi Highlands Boss -- NPC ID: 600698 +-- Created by: Manmadedrummer | Delve System +-- ENHANCED VERSION: Improved retail mechanics with slime phases -------------------------------------------------------------------------------- -print("Arathi Highlands Boss 1 - Ghubo The Abomination Loaded") +-- DESCRIPTION: +-- Scourge abomination boss - rotting flesh giant with disease/explosion mechanics +-- Enhanced with progressive slime phases and explosive death +-- WotLK retail-style similar to Patchwerk, Grobbulus (Naxxramas) +-- +-- PHASE 1 (100% - 75%): Basic cleave rotation, building pressure +-- PHASE 2 (75% - 50%): Slime Bolt spam begins (rapid fire disease) +-- PHASE 3 (50% - 25%): Increased Slime Bolt frequency +-- PHASE 4 (25% - 10%): Maximum Slime Bolt spam + warning +-- PHASE 5 (<10%): Enrage activated +-- BERSERK: 7 minutes - Full Slime Bolt spam mode +-- +-- ABILITIES: +-- - Cleave: Frontal cone damage (every 45s) +-- - Slime Bolt: Disease projectile (P2+, increases with phases) +-- - Enrage: Massive damage/speed increase at 10% HP +-- - Berserk: 7-minute hard enrage with rapid Slime Bolt spam +-- - Exploding Abomination: Detonates on death (massive AOE) +-- +-- MECHANICS: +-- - GUIDLow-safe phase tracking (supports multiple spawns) +-- - Progressive Slime Bolt frequency creates escalating damage +-- - Hard enrage timer creates time pressure +-- - Explosive death punishes poor positioning +-- - No memory leaks (proper cleanup on reset/death) +-- +-- RETAIL-LIKE FEATURES: +-- - Patchwerk-style enrage timer (7min berserk) +-- - Grobbulus-style slime mechanics (projectile spam) +-- - Explosive death similar to Unstable Ghoul +-- - Progressive phase intensity matches Naxx design +-- +-- DIFFICULTY: Delve Boss (Solo Fight) +-- LEVEL: 83-85 +-- MAP: Arathi Highlands Delve (Map ID: 912) +-- BERSERK TIMER: 7 minutes (420 seconds) +-------------------------------------------------------------------------------- + +print("Arathi Highlands Boss 1 - Ghubo The Abomination Loaded (Enhanced)") local BOSS_ID = 600698 @@ -12,7 +52,7 @@ local BERSERK = 46587 local SLIME_BOLT = 32309 local EXPLODING_ABOMINATION = 58231 -local BERSERK_TIME_MS = 420000 +local BERSERK_TIME_MS = 420000 -- 7 minutes local TH_75 = 75 local TH_50 = 50 @@ -35,7 +75,7 @@ local function CastCleave(_, _, _, self) if target then self:CastSpell(target, CLEAVE, true) end end -local function CastSlimeBoltSpam(_, _, _, self) +local function CastSlimeBolt(_, _, _, self) if not self:IsInCombat() then return end self:CastSpell(self, SLIME_BOLT, true) end @@ -44,11 +84,11 @@ local function StartBerserk(_, _, _, self) if not self:IsInCombat() then return end self:SendUnitYell("TIIME... IS... OVEER! *roar* BERSERK!", 0) self:CastSpell(self, BERSERK, true) - self:RegisterEvent(CastSlimeBoltSpam, 1500, 0, EVENT_SLIME_BOLT) + self:RegisterEvent(CastSlimeBolt, 1500, 0, EVENT_SLIME_BOLT) end -------------------------------------------------------------------------------- --- PHASE CHECKER +-- PHASE CHECKER - GUIDLow-safe with IMPROVED SLIME MECHANICS -------------------------------------------------------------------------------- local function PhaseCheck(eventId, _, _, self) if not self:IsInCombat() or self:IsDead() then @@ -63,20 +103,28 @@ local function PhaseCheck(eventId, _, _, self) if hp <= TH_10 and not p[10] then p[10] = true - self:SendUnitYell("RAGH! Niiigh! *snarl*", 0) + self:SendUnitYell("RAGH! GHUBO... SMAAASH! *enraged roar*", 0) self:CastSpell(self, ENRAGE, true) elseif hp <= TH_25 and not p[25] then p[25] = true - self:SendUnitYell("Feeds... rots... ENDLESS!", 0) + self:SendUnitYell("Rot... spreads... FASTER! *cough*", 0) + -- Upgrade to very fast Slime Bolt spam + self:RemoveEventById(EVENT_SLIME_BOLT) + self:RegisterEvent(CastSlimeBolt, 2000, 0, EVENT_SLIME_BOLT) elseif hp <= TH_50 and not p[50] then p[50] = true - self:SendUnitYell("Life... *cough*... sliippss!", 0) + self:SendUnitYell("Decay... accelerates! *gurgle*", 0) + -- Upgrade to fast Slime Bolt spam + self:RemoveEventById(EVENT_SLIME_BOLT) + self:RegisterEvent(CastSlimeBolt, 3000, 0, EVENT_SLIME_BOLT) elseif hp <= TH_75 and not p[75] then p[75] = true - self:SendUnitYell("Scourge... needsss... more!", 0) + self:SendUnitYell("Bile... rises! Slime... flows!", 0) + -- Start Slime Bolt spam + self:RegisterEvent(CastSlimeBolt, 5000, 0, EVENT_SLIME_BOLT) end end @@ -84,7 +132,7 @@ end -- COMBAT EVENTS -------------------------------------------------------------------------------- local function OnEnterCombat(event, creature, target) - creature:SendUnitYell("Ghh... W-waant... flessh! ENTER COMBAT!", 0) + creature:SendUnitYell("Ghh... W-waant... flessh! *roar*", 0) local guid = creature:GetGUIDLow() phases[guid] = {} @@ -103,7 +151,7 @@ end local function OnDied(event, creature, killer) creature:RemoveEvents() creature:CastSpell(creature, EXPLODING_ABOMINATION, true) - creature:SendUnitYell("Uhhh... ghuh... *gurgle*...", 0) + creature:SendUnitYell("GHUBO... EXPLOOODE! *BOOM*", 0) phases[creature:GetGUIDLow()] = nil end diff --git a/BOSS Scripts (Lua)/Sandfury/ChiefRunetusk.lua b/BOSS Scripts (Lua)/Sandfury/ChiefRunetusk.lua index c002a1d..d6bcd27 100644 --- a/BOSS Scripts (Lua)/Sandfury/ChiefRunetusk.lua +++ b/BOSS Scripts (Lua)/Sandfury/ChiefRunetusk.lua @@ -1,8 +1,44 @@ -------------------------------------------------------------------------------- --- Chief Runetusk (Sandfury Delve Boss 1) +-- Chief Runetusk - Sandfury Delve Boss -- NPC ID: 600623 --- Matches all your other boss templates perfectly +-- Created by: Manmadedrummer | Delve System -------------------------------------------------------------------------------- +-- DESCRIPTION: +-- Sandfury troll chieftain - powerful shaman/warrior hybrid with progressive phases +-- Combines shadow magic, elemental powers, and demonic fel corruption +-- Vanilla/TBC retail-style with escalating difficulty through 4 distinct phases +-- +-- PHASE 1 (100% - 90%): Basic melee rotation with Shadow Bolt and Cleave +-- PHASE 2 (90% - 75%): Demon Armor buff, adds Meteor and Sunder Armor +-- PHASE 3 (75% - 50%): Whirlwind spam, Thunderclap, Earth Shock +-- PHASE 4 (50% - 10%): Fel Flame and Poison Bolt added +-- PHASE 5 (<10%): Massive Enrage with 2.5x scale +-- +-- ABILITIES: +-- - Hammer of Justice: Stun on tank +-- - Shadow Bolt: Dark magic spam +-- - Cleave: Frontal cone damage +-- - Demon Armor: Protective fel magic (P2+) +-- - Meteor: Ranged fire damage (P2+) +-- - Sunder Armor: Armor reduction (P2+) +-- - Whirlwind: Spinning melee AOE (P3+) +-- - Thunderclap: AOE nature damage/slow (P3+) +-- - Earth Shock: Interrupt + damage (P3+) +-- - Fel Flame: Corruption fire damage (P4+) +-- - Poison Bolt: Venomous ranged attack (P4+) +-- - Enrage: Massive size/damage increase (P5) +-- +-- MECHANICS: +-- - GUIDLow-safe phase tracking (supports multiple spawns) +-- - Progressive ability unlocking as HP decreases +-- - Dramatic scale change at 10% HP +-- - No memory leaks (proper cleanup on reset/death) +-- +-- DIFFICULTY: Delve Boss (Solo Fight) +-- LEVEL: 83-85 +-- MAP: Sandfury Delve (Map ID: 905) +-------------------------------------------------------------------------------- + print("Sandfury Delve Boss 1 - Chief Runetusk Loaded") local BOSS_ID = 600623 @@ -27,7 +63,7 @@ local TH_75 = 75 local TH_50 = 50 local TH_10 = 10 --- Global phase tracking (same as all your other bosses) +-- GUIDLow-safe phase tracking local phases = {} -- Target helpers @@ -97,39 +133,42 @@ local function CastFelFlame(eventId, delay, calls, creature) end end --- SINGLE PHASE CHECKER (exact same style as all your other bosses) +-- PHASE CHECKER - GUIDLow-safe local function PhaseCheck(eventId, delay, calls, creature) if not creature:IsInCombat() or creature:IsDead() then creature:RemoveEventById(eventId) return end + local guid = creature:GetGUIDLow() + phases[guid] = phases[guid] or {} + local p = phases[guid] local hp = creature:GetHealthPct() - if hp <= TH_10 and not phases[10] then - phases[10] = true + if hp <= TH_10 and not p[10] then + p[10] = true creature:SendUnitYell("YA MESSED WIT DA WRONG CHIEFTAIN! FEEL MY TRUE RAGE!", 0) creature:SetScale(2.5) creature:CastSpell(creature, SPELL_ENRAGE, true) creature:RemoveEventById(eventId) - elseif hp <= TH_50 and not phases[50] then - phases[50] = true + elseif hp <= TH_50 and not p[50] then + p[50] = true creature:SendUnitYell("Let dat Fel fire cleanse dis place!", 0) creature:RegisterEvent(CastFelFlame, 25000, 0) CastFelFlame(0,0,0,creature) -- immediate creature:RegisterEvent(CastPoisonBolt, 10000, 0) - elseif hp <= TH_75 and not phases[75] then - phases[75] = true + elseif hp <= TH_75 and not p[75] then + p[75] = true creature:SendUnitYell("Get caught in da whirlwind, outsiders!", 0) creature:RegisterEvent(CastWhirlwind, 30000, 0) creature:CastSpell(creature, SPELL_WHIRLWIND, true) creature:RegisterEvent(CastThunderclap, 15000, 0) creature:RegisterEvent(CastEarthShock, 8000, 0) - elseif hp <= TH_90 and not phases[90] then - phases[90] = true + elseif hp <= TH_90 and not p[90] then + p[90] = true creature:SendUnitYell("Ya weak! My demon armor too strong! Ya armor gonna break, mon!", 0) creature:CastSpell(creature, SPELL_DEMON_ARMOR, true) creature:RegisterEvent(CastMeteor, 20000, 0) @@ -141,7 +180,8 @@ end local function OnCombatStart(event, creature, target) creature:SendUnitYell("Da Sandfury Delve is mine! Come, mon, and get butchered!", 0) - phases = {} + local guid = creature:GetGUIDLow() + phases[guid] = {} creature:RegisterEvent(CastHammer, 14000, 0) creature:RegisterEvent(CastShadowBolt, 8000, 0) @@ -150,17 +190,17 @@ local function OnCombatStart(event, creature, target) end local function OnLeaveCombat(event, creature) - creature:SendUnitYell("Run, cowards!", 0) creature:RemoveEvents() + creature:SendUnitYell("Run, cowards!", 0) creature:SetScale(1.0) - phases = {} + phases[creature:GetGUIDLow()] = nil end local function OnDeath(event, creature, killer) creature:RemoveEvents() creature:SendUnitYell("Ahhh... dis sand... she claims me... but ya next, mon! YA NEXT!", 0) creature:SetScale(1.0) - phases = {} + phases[creature:GetGUIDLow()] = nil end RegisterCreatureEvent(BOSS_ID, 1, OnCombatStart) diff --git a/BOSS Scripts (Lua)/Sandfury/SouseSanRhazo.lua b/BOSS Scripts (Lua)/Sandfury/SouseSanRhazo.lua index 01996fb..efb310f 100644 --- a/BOSS Scripts (Lua)/Sandfury/SouseSanRhazo.lua +++ b/BOSS Scripts (Lua)/Sandfury/SouseSanRhazo.lua @@ -1,8 +1,45 @@ -------------------------------------------------------------------------------- --- Souse San Rhazon (Sandfury Delve Boss) +-- Souse San Rhazo - Sandfury Delve Boss -- NPC ID: 600621 +-- Created by: Manmadedrummer | Delve System -------------------------------------------------------------------------------- -print("Sandfury Delve Boss - Souse San Rhazon Loaded") +-- DESCRIPTION: +-- Sandfury plague troll boss - disease specialist with leap mechanics +-- Uses persistent disease clouds and electricity to overwhelm enemies +-- Vanilla/TBC retail-style with aggressive leap-to-ranged mechanics +-- +-- PHASE 1 (100% - 75%): Basic plague/leap rotation +-- PHASE 2 (75% - 50%): First Disease Cloud + Electro Shock +-- PHASE 3 (50% - 15%): Second Disease Cloud + Elemental Armor +-- PHASE 4 (<15%): ALL ABILITIES - Disease Cloud spam, full power unleashed +-- +-- ABILITIES: +-- - Plague Strike: Heavy disease damage on tank (constant) +-- - Jump Attack: Leap to farthest player (constant) +-- - Colossal Strike: Massive melee hit (constant) +-- - Disease Cloud: Persistent AOE plague damage (P2+) +-- - Electro Shock: Lightning damage (P2, P4) +-- - Elemental Armor: Protective buff (P3, P4) +-- - Eye Beam: Devastating beam attack (P4) +-- +-- MECHANICS: +-- - GUIDLow-safe phase tracking (supports multiple spawns) +-- - Targets FARTHEST player with Jump Attack (anti-ranged kiting) +-- - Disease Cloud persists in area (forces movement) +-- - Progressive ability unlocking creates escalating pressure +-- - No memory leaks (proper cleanup on reset/death) +-- +-- RETAIL-LIKE FEATURES: +-- - Jump mechanics similar to Al'ar, Shade of Akama (TBC) +-- - Disease Cloud zone control like Grobbulus, Heigan (Naxx) +-- - Farthest-player targeting discourages LOS abuse +-- +-- DIFFICULTY: Delve Boss (Solo Fight) +-- LEVEL: 83-85 +-- MAP: Sandfury Delve (Map ID: 905) +-------------------------------------------------------------------------------- + +print("Sandfury Delve Boss - Souse San Rhazo Loaded") local BOSS_ID = 600621 @@ -22,7 +59,7 @@ local TH_75 = 75 local TH_50 = 50 local TH_15 = 15 --- Global phase tracking (safe) +-- GUIDLow-safe phase tracking local phases = {} -- Target helpers @@ -53,43 +90,47 @@ local function CastJumpAttack(eventId, delay, calls, creature) end end --- PHASE CHECKER - NOW SPREADS DISEASE CLOUD LIKE A TRUE PLAGUE TROLL +-- PHASE CHECKER - GUIDLow-safe local function PhaseCheck(eventId, delay, calls, creature) if not creature:IsInCombat() or creature:IsDead() then creature:RemoveEventById(eventId) return end + local guid = creature:GetGUIDLow() + phases[guid] = phases[guid] or {} + local p = phases[guid] local hp = creature:GetHealthPct() - if hp <= TH_15 and not phases[15] then - phases[15] = true + if hp <= TH_15 and not p[15] then + p[15] = true creature:SendUnitYell("YA DONE ANGERED DA SANDFURY, MON! CHOKE ON DA PLAGUE!", 0) - creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) -- Cloud 1 + creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) creature:CastSpell(GetTank(creature), SPELL_ELECTRO_SHOCK, true) creature:CastSpell(creature, SPELL_ELEMENTAL_ARMOR, true) creature:CastSpell(GetTank(creature), SPELL_EYE_BEAM, true) creature:RemoveEventById(eventId) - elseif hp <= TH_50 and not phases[50] then - phases[50] = true + elseif hp <= TH_50 and not p[50] then + p[50] = true creature:SendUnitYell("Da air itself be poisoned now, mon! Breathe deep!", 0) - creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) -- Cloud 2 + creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) creature:CastSpell(creature, SPELL_ELEMENTAL_ARMOR, true) - elseif hp <= TH_75 and not phases[75] then - phases[75] = true + elseif hp <= TH_75 and not p[75] then + p[75] = true creature:SendUnitYell("Feel da sickness spread, mon! Ya lungs gonna burn!", 0) - creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) -- Cloud 3 + creature:CastSpell(creature, SPELL_DISEASE_CLOUD, true) creature:CastSpell(GetTank(creature), SPELL_ELECTRO_SHOCK, true) end end -- Combat Events local function OnCombatStart(event, creature, target) - creature:SendUnitYell("YA DARE STEP INTO SOUSE SAN RHAZON'S DELVE? YA GONNA REGRET DIS, MON!", 0) + creature:SendUnitYell("YA DARE STEP INTO SOUSE SAN RHAZO'S DELVE? YA GONNA REGRET DIS, MON!", 0) - phases = {} + local guid = creature:GetGUIDLow() + phases[guid] = {} creature:RegisterEvent(CastPlagueStrike, 10000, 0) creature:RegisterEvent(CastJumpAttack, 15000, 0) @@ -98,15 +139,15 @@ local function OnCombatStart(event, creature, target) end local function OnLeaveCombat(event, creature) - creature:SendUnitYell("Run away, little softskins! Dis troll be too much for ya!", 0) creature:RemoveEvents() - phases = {} + creature:SendUnitYell("Run away, little softskins! Dis troll be too much for ya!", 0) + phases[creature:GetGUIDLow()] = nil end local function OnDeath(event, creature, killer) creature:RemoveEvents() creature:SendUnitYell("Ughhh... da sand... she take me now... da plague... live on...", 0) - phases = {} + phases[creature:GetGUIDLow()] = nil end RegisterCreatureEvent(BOSS_ID, 1, OnCombatStart) diff --git a/BOSS Scripts (Lua)/Sandfury/Xantosh.lua b/BOSS Scripts (Lua)/Sandfury/Xantosh.lua index 872522b..2cf86ac 100644 --- a/BOSS Scripts (Lua)/Sandfury/Xantosh.lua +++ b/BOSS Scripts (Lua)/Sandfury/Xantosh.lua @@ -1,7 +1,51 @@ -------------------------------------------------------------------------------- --- Xan'tosh (Sandfury Delve Boss 2) - DOUBLE UNDEAD SCARABS (17235 x2) +-- Xan'tosh - Sandfury Delve Boss (Scarab Summoner) -- NPC ID: 600622 +-- Created by: Manmadedrummer | Delve System -------------------------------------------------------------------------------- +-- DESCRIPTION: +-- Ancient Sandfury necromancer - master of undead scarabs and plague magic +-- Summons DOUBLE scarabs at key thresholds with visual swarm effects +-- Vanilla/AQ40 retail-style with progressive add waves and hex combos +-- +-- PHASE 1 (100% - 90%): Basic plague/sand rotation +-- PHASE 2 (90% - 70%): Demon Armor + Voodoo Flames + 2x Scarabs summoned +-- PHASE 3 (70% - 30%): Blood Drain activated +-- PHASE 4 (<30%): Sand Storm spam + 2x MORE Scarabs (4 total possible) +-- +-- ABILITIES: +-- - Plague Strike: Disease damage on tank (constant) +-- - Sand Breath: Breath weapon on tank (constant) +-- - Dark Smash: Heavy melee hit (constant) +-- - Hex of Mending: Healing reduction curse (every 30s) +-- - Hex of Ravenclaw: Damage increase curse (combo with Mending) +-- - Blood Drain: Life steal from random player (P3+) +-- - Demon Armor: Protective fel buff (P2) +-- - Voodoo Flames: Fire damage aura (P2) +-- - Crypt Scarabs: Visual swarm effect +-- - Raise Undead Scarab: Summons scarab add (x2 per phase!) +-- - Sand Storm: Massive AOE sandstorm (P4) +-- +-- MECHANICS: +-- - GUIDLow-safe phase tracking (supports multiple spawns) +-- - Double scarab summons create 2 adds instantly per trigger +-- - Hex combo applies two debuffs simultaneously +-- - Blood Drain creates sustain pressure +-- - Visual swarm effect accompanies scarab summons +-- - No memory leaks (proper cleanup on reset/death) +-- +-- RETAIL-LIKE FEATURES: +-- - Scarab summons similar to AQ40 (C'Thun, Viscidus trash) +-- - Hex mechanics similar to Hex Lord Malacrass (ZA) +-- - Progressive add waves increase difficulty +-- - Sand Storm zone control forces movement +-- +-- DIFFICULTY: Delve Boss (Solo Fight) +-- LEVEL: 83-85 +-- MAP: Sandfury Delve (Map ID: 905) +-- ADDS: Up to 4x Undead Scarabs possible (NPC 17235) +-------------------------------------------------------------------------------- + print("Sandfury Delve Boss 2 - Xan'tosh Loaded") local BOSS_ID = 600622 @@ -25,7 +69,7 @@ local SPELL_CRYPT_SCARABS = 54313 -- Visual swarm local SPELL_RAISE_SCARAB = 17235 -- Raise Undead Scarab (x2!) local SPELL_BLOOD_DRAIN = 41238 --- Per-fight phase tracking +-- GUIDLow-safe phase tracking local phases = {} local function GetTank(creature) return creature:GetAITarget(1, true) end @@ -62,28 +106,31 @@ local function SummonDoubleScarabs(creature) creature:CastSpell(creature, SPELL_RAISE_SCARAB, true) -- 2nd scarab (instant) end --- SINGLE PHASE CHECKER +-- PHASE CHECKER - GUIDLow-safe local function PhaseCheck(eventId, delay, calls, creature) if not creature:IsInCombat() or creature:IsDead() then creature:RemoveEventById(eventId) return end + local guid = creature:GetGUIDLow() + phases[guid] = phases[guid] or {} + local p = phases[guid] local hp = creature:GetHealthPct() - if hp <= HP_PHASE_4 and not phases[4] then - phases[4] = true + if hp <= HP_PHASE_4 and not p[4] then + p[4] = true creature:SendUnitYell("Xan'tosh's power unmatched! Ya finished, little insects!", 0) SummonDoubleScarabs(creature) -- 2 scarabs + swarm creature:RegisterEvent(CastSandStorm, 30000, 0) - elseif hp <= HP_PHASE_3 and not phases[3] then - phases[3] = true + elseif hp <= HP_PHASE_3 and not p[3] then + p[3] = true creature:SendUnitYell("Ya blood feeds me now! Taste da drain!", 0) CastBloodDrain(0,0,0,creature) - elseif hp <= HP_PHASE_2 and not phases[2] then - phases[2] = true + elseif hp <= HP_PHASE_2 and not p[2] then + p[2] = true creature:SendUnitYell("Da ancient gods stir beneath da sand... RISE, MY CHILDREN!", 0) creature:CastSpell(creature, SPELL_DEMON_ARMOR, true) creature:CastSpell(creature, SPELL_VOODOO_FLAMES, true) @@ -94,7 +141,9 @@ end -- Combat Start local function OnEnterCombat(event, creature, target) creature:SendUnitYell("Da plague an' da sand gonna swallow ya whole, mon!", 0) - phases = {} + + local guid = creature:GetGUIDLow() + phases[guid] = {} creature:RegisterEvent(function(_,_,_,c) if c:IsInCombat() then local t = GetTank(c); if t then c:CastSpell(t, SPELL_PLAGUE_STRIKE, true) end end @@ -114,15 +163,15 @@ local function OnEnterCombat(event, creature, target) end local function OnLeaveCombat(event, creature) - creature:SendUnitYell("Da rot claims another day...", 0) creature:RemoveEvents() - phases = {} + creature:SendUnitYell("Da rot claims another day...", 0) + phases[creature:GetGUIDLow()] = nil end local function OnDied(event, creature, killer) creature:RemoveEvents() creature:SendUnitYell("Da rot... it finally takes me... but da curse lives on...", 0) - phases = {} + phases[creature:GetGUIDLow()] = nil end RegisterCreatureEvent(BOSS_ID, 1, OnEnterCombat)