local NPC_id = 548917
function mage_frost(Unit, event) -- ice phase
Unit:RegisterEvent("Cone of cold", 0000)
Unit:RegisterEvent("blizzard", 1200)
Unit:RegisterEvent("frost nova", 0000)
Unit:RegisterEvent(548917, 1, "Mage_OnCombat")
Unit:RegisterEvent(548917, 2, "Mage_OnLeaveCombat")
Unit:RegisterEvent(548917, 3, "Mage_OnKilledTarget")
Unit:RegisterEvent(548917, 4, "Mage_OnDeath")
end
function Mage_OnCombat(Unit, event)
Unit:SendChatMessage(14, 0, "I will make this quick.")
end
function Mage_OnLeaveCombat(Unit, event)
Unit:SendChatMessage(14, 0, "Now, how easy was that?"
end
function Mage_OnKilledTarget(Unit, event)
Unit:SendChatMessage(14, 0, "Flatlined.")
end
function Mage_OnDeath(14, 0, "Do not take solace in the petty triumph, for i will climb the walls of hell myself to personally kill you myself!")
end
function Cone of cold(Unit, event)
Unit:FullCastSpellOnTarget(65023, Unit)
Unit:SendChatMessage(14, 0, "Stay!")
end
function blizzard(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(62602,Unit)
Unit:SendChatMessage(14, 0, "This will cool you off!!")
end
function frost nova(Unit, event)
Unit:FullCastSpellOnTarget(56935, Unit)
Unit:SendChatMessage(14, 0, "Don't move!")
end
end
if (Unit:GetHealthPct() <= 75) then --fire phase
Unit:SendChatMessage(14, 0, "Why do you persist?")
Unit:RegisterEvent("mage_fire", 0000)
end
function mage_fire(Unit, event)
Unit:RegisterEvent("Fireball", 0800)
Unit:RegisterEvent("living bomb", 0000)
Unit:RegisterEvent("blast wave", 0000)
Unit:RegisterEvent("pyroblast", 2000)
Unit:RegisterEvent("molten armor", 0000)
Unit:RegisterEvent("fire blast", 0000)
Unit:RegisterEvent("immolation aura", 0000)
end
function immolation aura(Unit, event)
Unit:FullCastSpellOnTarget(50589, Unit)
end
function molten armor(Unit,event)
Unit:FullCastSpellOnTarget(43044, Unit)
end
function Fireball(Unit, event)
Unit:FullCastSpellOnTarget(72163, Unit)
end
function living bomb(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(55362, rand)
Unit:SendChatMessage(14, 0, "Run away little girl! Run away!")
end
function blast wave(Unit, event)
Unit:FullCastSpellOnTarget(38536, Unit)
Unit:SendChatMessage(14, 0, "disgusting...")
end
function pyroblast(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(64698, Unit)
Unit:SendChatMessage(14, 0, "Dont' move....This will only hurt a little..")
end
function fire blast(Unit, event)
Unit:FullCastSpellOnTarget(20679, Unit)
end
if (Unit:GetHealthPct() <= 50) then -- arcane phase
Unit:SendChatMessage(14, 0, "What is this? no mortal has ever gotten this far!")
Unit:RegisterEvent("mage_arcane", 0000)
end
function mage_arcane(Unit, event)
Unit:RegisterEvent("arcane blast", 1000)
Unit:RegisterEvent("arcane explosion", 5000)
Unit:RegisterEvent("mage armor", 0000)
Unit:RegisterEvent("arcane barrage", 0500)
Unit:RegisterEvent("arcane missiles", 0000)
Unit:RegisterEvent("mana drain", 0800)
Unit:RegisterEvent("mirror image", 0000)
end
function mage armor(Unit, event)
Unit:FullCastSpellOnTarget(43024, Unit)
Unit:sendChatMessage(14, 0, "You will not prevail!")
end
function arcane blast(Unit, event)
Unit:FullCastSpellOnTarget(65791, event)
end
function arcane explosion(Unit, event)
Unit:FullCastSpellOnTarget(29973, Unit)
Unit:SendChatMessage(14, 0, "I suggest you run away!")
end
function arcane barrage(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(67996, Unit)
end
function arcane missiles(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(42846,Unit)
end
function mana drain(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(8129, event)
Unit:SendChatMessage(14, 0, "No more spells for you!")
end
function mirror image(Unit, event)
Unit:FullCastSpellOnTarget(58832, event)
Unit:SendChatMessage(14, 0, "Where am I? HAHAHAHAHA!")
end
end
end
end
end
end
if (Unit:GetHealthPct() <= 25) then --last phase
Unit:RegisterEvent("last_phase", 0000)
end
function last_phase(Unit, event)
Unit:RegisterEvent("gravity well", 0600)
Unit:RegisterEvent("polymorph", 1000)
Unit:RegisterEvent("time_stop", 1000)
Unit:RegisterEvent("firebomb", 1500)
Unit:RegisterEvent("thorns", 0000)--25777
Unit:RegisterEvent("gravity bomb", 0500)--63025
end
function thorns(Unit, event)
Unit:FullCastSpellOnTarget(25777, Unit)
end
function gravity well(Unit, event)
Unit:SendChatMessage(14,0, "Nautious? I thought so")
Unit:FullCastSpellOnTarget(44226, Unit)
end
function polymorph(Unit, event)
Unit:SendchatMessage(14, 0, "Oh, dear. It seems you have turned into a sheep.")
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(46280, Unit)
end
function time_stop(Unit, event)
Unit:SenchChatMessage(14, 0, "stop. Now")
Unit:FullCastSpellOnTarget(47736, Unit)
end
function firebomb(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:FullCastSpellOnTarget(47773, Unit)
end
function gravity bomb(Unit, event)
local rand = Unit:GetRandomPlayer(0)
if (rand ~= nill)
Unit:SendChatMessage(14, 0, "for the last time. Run away")
Unit:FullCastSpellOnTarget(63025, Unit)
Unit:RemoveEvents()
end
end
end
end
end
end
end