Code:
function Deathlord_OnEnterCombat(pUnit,Event)
pUnit:SendChatMessage(12, 0, "Foolish people!")
pUnit:CastSpell(29406)
pUnit:RegisterEvent("Deathlord_ShadowBlow", 30000, 0)
pUnit:RegisterEvent("Deathlord_ShadowBolt", 25000, 0)
pUnit:RegisterEvent("Deathlord_ConsumeShadow", 20000, 0)
end
---ShadowFase (100 to 75 %)---
function Deathlord_ShadowBlow(pUnit,Event)
pUnit:CastSpellOnTarget(41063,pUnit:GetRandomPlayer(0))
end
function Deathlord_ShadowBolt(pUnit,Event)
pnit:CastSpellOnTarget(59013,pUnit:GetMainTank())
end
function Deathlord_ConsumeShadow(pUnit,Event)
pUnit:CastSpellOnTarget(49380,pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12,0,"You shall die!")
end
---FirePhase (75 to 50 %)---
function Deathlord_FireBolt(pUnit,Event)
pUnit:CastSpellOnTarget(19811,pUnit:GetMainTank())
pUnit:CastSpellOnTarget(19811,pnit:GetAddTank())
pUnit:SendChatMessage(12,0,"DIE FOOL!")
function Deathlord_FireAura(pUnit,Event)
pUnit:CastSpellOnTarget(30616,pUnit:GetMainTank())
pUnit:SendChatMessage(12,0,"You shall burn till you melt!")
end
function Deathlord_BoneCracker(pUnit,Event)
pUnit:CastSpellOnTarget(17445,pUnit:GetMainTank())
pUnit:CastSpellOnTarget(17445,pUnit:GetRandomPlayer(7))
end
function Deathlord_StunBomb(pUnit,Event)
pUnit:CastSpellOnTarget(19780,pUnit:GetRandomPlayer(4))
end
---IcePhase (50 to 25 %)---
function Deathlord_FreezeBolt(pUnit,Event)
pUnit:CastSpellOnTarget(31012,pUnit:GetMainTank)
end
function Deathlord_PeriodicFreeze(pUnit,Event)
pUnit:CastSpellOnTarget(55799,pUnit:GetRandomPlayer(0))
end
function Deathlord_BoundFreeze(pUnit,Event)
pUnit:CastSpellOnTarget(36989,pUnit:GetRandomPlayer(6))
end
---DeathPhase (25 to 1 %)---
function Deathlord_DeathBlast(pUnit,Event)
pUnit:CastSpellOnTarget(36662,pUnit:GetMainTank())
pUnit:CastSpellOnTarget(36662,pUnit:GetRandomPlayer(0))
end
function Deathlord_DeathCut(pUnit,Event)
pUnit:CastSpellOnTarget(38810,pUnit:GetMainTank())
end
function Deathlord_DeathBane(pUnit,Event)
pUnit:CastSpell(48295)
end
function Deathlord_Rage(pUnit,Event)
pUnit:CastSpel(41924)
end
--- PHASES ---
---Phase 1 (Fire)---
function Fire_Phase1(Unit,Event)
if Unit:GetHealthPct() <= 75 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "Begin to pray!")
Unit:CastSpell(25431)
Unit:RegisterEvent("Deathlord_FireBolt", 40000, 0)
Unit:RegisterEvent("Deathlord_FireAura", 20000, 0)
Unit:RegisterEvent("Deathlord_BoneCracker", 60000, 0)
Unit:RegisterEvent("Deathlord_StunBomb", 35000, 0)
Unit:RegisterEvent("Ice_Phase2", 1000, 0)
end
end
---Phase 2 (Ice)---
function Ice_Phase2(Unit,Event)
if Unit:GetHealthPct() <=50 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "You shall freeze to death!")
Unit:CastSpell(7301)
Unit:RegisterEvent("Deathlord_FreezeBolt", 40000, 0)
Unit:RegisterEvent("Deathlord_PeriodicFreeze", 23000, 0)
Unit:RegisterEvent("Deathlord_BoundFreeze", 60000, 0)
Unit:RegisterEvent("Death_Phase3", 1000, 0)
end
end
---Phase 3 (Death)---
function Death_Phase3(Unit,Event)
if Unit:GetHealthPct() <= 25 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "This is where you ALL DIE!"
Unit:SetModel(21168)
Unit:CastSpell(15473)
Unit:SetScale(3)
Unit:RegisterEvent("Deathlord_DeathBlast", 20000, 0)
Unit:RegisterEvent("Deathlord_DeathCut", 50000, 0)
Unit:RegisterEvent("Deathlord_DeathBane", 120000 , 0)
Unit:RegisterEvent("Deathlord_Rage", 300000, 0)
end
end
function Deathlord_OnLeaveCombat(pUnit, event)
pUnit:RemoveEvents()
end
function Deathlord_OnKilledTarget(pUnit)
pUnit:SendChatMessage(12, 0, "AHAH, DIE")
end
function Deathlord_Death(pUnit)
pUnit:SendChatMessage(12, 0, "I Will get MY REVENGE!")
pUnit:RemoveEvents()
end
RegisterUnitEvent(<ID>, 1, "Deathlord_OnEnterCombat")
RegisterUnitEvent(<ID>, 2, "Deathlord_OnLeaveCombat")
RegisterUnitEvent(<ID>, 3, "Deathlord_OnKilledTarget")
RegisterUnitEvent(<ID>, 4, "Deathlord_Death")