Code:
--[[--///////////////////////////////////////////////////////////
CREDITS GO TO NICKELO =]
////////////////////////////////////////////////////////////////--]]--
function ShadowKeeper_Arcanebolt(pUnit, Event)
local boltTarg = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(38823, boltTarg)
end
function ShadowKeeper_Arcanebomb(pUnit, Event)
pUnit:CastSpell(19821)
end
function ShadowKeeper_Magpull(pUnit, Event)
local MagpullTarget = pUnit:GetRandomPlayer(7)
pUnit:FullCastSpellOnTarget(32039, MagpullTarget)
end
function ShadowKeeper_Phase1(pUnit, Event)
if pUnit:GetHealthPct() <= 99 then
pUnit:RegisterEvent("ShadowKeeper_Arcanebolt", 12000, 0)
pUnit:RegisterEvent("ShadowKeeper_Arcanebomb", 6000, 0)
pUnit:RegisterEvent("ShadowKeeper_Magpull", 20000, 0)
end
end
function ShadowKeeper_Spiribolts(pUnit, Event)
pUnit:FullCastSpell(43383)
end
function ShadowKeeper_Diminishsoul(pUnit, Event)
local soulTarget = GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(38848, soulTarget)
end
function ShadowKeeper_Phase2(pUnit, Event)
if pUnit:GetHealthPct() <= 75 then
pUnit:SendChatMessage(5, 0, "The infection... Is making me weak...")
pUnit:SendChatMessage(5, 0, "Yours souls belong to me now!")
pUnit:RemoveEvents()
pUnit:RegisterEvent("ShadowKeeper_Spiritbolts", 60000, 0)
pUnit:RegisterEvent("ShadowKeeper_Diminishsoul", 5000, 0)
pUnit:RegisterEvent("ShadowKeeper_Phase3", 1000, 0)
end
end
function ShadowKeeper_Minions(pUnit, Event)
pUnit:SpawnCreature(1000061, 2233, 2260, 134.875112, 530, 1000000)
pUnit:SpawnCreature(1000061, 2237, 2220, 136.679474, 530, 1000000)
end
function ShadowKeeper_Shield(pUnit, Event)
pUnit:CastSpell(31901)
end
function ShadowKeeper_Aoe(pUnit, Event)
pUnit:CastSpell(35152)
end
function ShadowKeeper_Phase3(pUnit, Event)
if pUnit:GetHealthPct() <= 60 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(5, 0, "I feel the power coming back...")
pUnit:RegisterEvent("ShadowKeeper_Minions", 500, 10)
pUnit:RegisterEvent("ShadowKeeper_Aoe", 2000, 0)
pUnit:RegisterEvent("ShadowKeeper_Phase4", 1000, 0)
end
end
function ShadowKeeper_ShadowKeeper(pUnit, Event)
pUnit:CastSpell(30852)
end
function ShadowKeeper_Energy(pUnit, Event)
local energyTarget = pUnit:GetRandomPlayer(7)
pUnit:FullCastSpellOnTarget(46285, energyTarget)
end
function ShadowKeeper_Missiles(pUnit, Event)
local missileTarget = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(38147, missileTarget)
end
function ShadowKeeper_Phase4(pUnit, Event)
if pUnit:GetHealthPct() <=40 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(5, 0, "The shadows is stronger than ever!")
pUnit:RegisterEvent("ShadowKeeper_Shadownova", 25000, 0)
pUnit:RegisterEvent("ShadowKeeper_Energy", 8000, 0)
pUnit:RegisterEvent("ShadowKeeper_Missiles", 9200, 0)
pUnit:registerEvent("ShadowKeeper_Phase5", 1000, 0)
end
end
function ShadowKeeper_Felcleave(pUnit, Event)
local cleaveTarget = pUnit:GetMainTank()
pUnit:CastSpellOnTarget(38742, cleaveTarget)
end
function ShadowKeeper_Dragonbane(pUnit, Event)
pUnit:CastSpell(23967)
end
function ShadowKeeper_Bloodcurse(pUnit, Event)
local bloodTarget = pUnit:GetMainTank()
pUnit:FullCastSpellOnTarget(40412, bloodTarget)
end
function ShadowKeeper_Phase5(pUnit, Event)
if pUnit:GetHealthPct() <= 20 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(5, 0, "Ahaha this is so much better then your weak magic!")
pUnit:RegisterEvent("ShadowKeeper_Bloodcurse", 90000, 0)
pUnit:RegisterEvent("ShadowKeeper_Dragonbane", 10000, 0)
pUnit:RegisterEvent("ShadowKeeper_Felcleave", 15000, 0)
end
end
function ShadowKeeper_Oncombat(pUnit, Event)
pUnit:SendChatMessage(5, 0, "How could of this happened!")
pUnit:RegisterEvent("ShadowKeeper_Phase1", 1000, 0)
end
function ShadowKeeper_WhenKilled(pUnit, Event)
pUnit:SendChatMessage(5, 0, "I'm sorry Illidan, I have been defeated Forgive me...")
pUnit:SendChatMessage(5, 0, "I'm lost in the darkness...")
end
RegisterUnitEvent(100060, 1, "ShadowKeeper_Oncombat")
RegisterUnitEvent(100060, 4, "ShadowKeeper_WhenKilled")