local C
local CO
local CC
local ID = 99776
local COI = 99777
local CCI = 99778
------------------------
\------/\------energy
)-------------] =
/------\/------mass
\------/\------speed
)-------------- 2
/------\/------E=MC2
------------------------
------------------------
------------------------
function Phase(pUnit, event)-----------1
local target = C:GetRandomPlayer(0)
C:FullCastSpellOnTarget(29953, C:MainTank(0))
C:MoveTo(target:GetX(), target:GetY() - 2, target:GetZ(), target:GetO())
C:ClearHateList()
C:SetFaction(21)
C:RemoveAura(50161)
C:CastSpell(29973)
C:RegisterEvent("Slash", 8000, 0)
C:RegisterEvent("Blast", 11000, 1)
C:RegisterEvent("AE", 10000, 4)
C:RegisterEvent("CL", 7000, 2)
C:RegisterEvent("PhaseOne", 1000, 0)
C:RegisterEvent("Enraged", 600000, 1)
end
end
function PhaseOne(pUnit, event)-----------2
if C:GetHealthPct() <= 95 then
C:RemoveEvents()
local target = C:GetRandomPlayer(0)
C:FullCastSpellOnTarget(29953, C:MainTank(0))
C:MoveTo(target:GetX(), target:GetY() - 2, target:GetZ(), target:GetO())
C:CastSpell(29973)
C:ClearHateList()
C:RegisterEvent("Slash", 8000, 0)
C:RegisterEvent("Blast", 11000, 1)
C:RegisterEvent("AE", 10000, 4)
C:RegisterEvent("CL", 7000, 2)
C:RegisterEvent("Portal", 1000, 0)
end
end
function Portal(pUnit, event)------------3
if C:GetHealthPct() <= 80 then
C:RemoveEvents()
local target = C:GetRandomPlayer(0)
local X = target:GetX()
local Y = target:GetY()
local Z = target:GetZ()
local O = target:GetO()
C:SpawnGameObject(177243, x, y, z, o, 350000)
C:SpawnCreature(357, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(357, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(357, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:Root()
C:CastSpell(50161)
C:CastSpell(29973)
C:RegisterEvent("Blast", 11000, 1)
C:RegisterEvent("AE", 10000, 4)
C:RegisterEvent("CL", 7000, 2)
C:RegisterEvent("Portalone", 1000, 0)
end
end
function Portalone(pUnit, event)----------4
if C:GetHealthPct() <= 70 then
C:RemoveEvents()
local target = C:GetRandomPlayer(0)
local X = target:GetX()
local Y = target:GetY()
local Z = target:GetZ()
local O = target:GetO()
C:SpawnGameObject(177243, x, y, z, o, 350000)
C:SpawnCreature(367, X, Y, Z, O, 32953, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(357, X, Y, Z, O, 32953, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(357, X, Y, Z, O, 32953, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:SpawnCreature(357, X, Y, Z, O, 32953, 35000)
C:SpawnCreature(363, X, Y, Z, O, 33237, 35000)
C:CastSpell(50161)
C:RegisterEvent("Plat", 5000, 1)
C:RegisterEvent("ReturnOne", 30000, 1)
end
end
function Plat(pUnit, event)
local X = C:GetSpawnX()
local Y = C:GetSpawnY()
local Z = C:GetSpawnZ()
local O = C:GetSpawnO()
C:SpawnGameObject(190816, x + 5, y + 10, z, o, 350000)
C:MoveTo(x + 5, y + 10, z, o)
C:Root()
C:RegisterEvent("SBomb",10000,2)
end
function ReturnOne(pUnit, event)------------5
C:RemoveEvents()
local target = C:GetRandomPlayer(0)
local X = target:GetX()
local Y = target:GetY()
local Z = target:GetZ()
local O = target:GetO()
C:SpawnGameObject(177243, x, y, z, o, 350000)
C:SpawnCreature(367,x - 5,y - 10, z, O, 32953, 35000)
C:SpawnCreature(363,X - 5,Y - 10, Z, O, 33237, 35000)
C:SpawnCreature(357,X - 5,Y - 10, Z, O, 32953, 35000)
C:SpawnCreature(363,X - 5,Y - 10, Z, O, 33237, 35000)
C:RemoveAura(50161)
C:RegisterEvent("Blast", 11000, 1)
C:RegisterEvent("AE", 10000, 4)
C:RegisterEvent("CL", 7000, 2)
C:RegisterEvent("Return", 5000, 1)
C:RegisterEvent("Dread", 1000, 0)
end
end
function Return(pUnit, event)
local X = C:GetSpawnX()
local Y = C:GetSpawnY()
local Z = C:GetSpawnZ()
local O = C:GetSpawnO()
C:MoveTo(x - 5, y - 10, z, o)
end
function Dread(pUnit, event)-------------6
C:RemoveEvents()
C:RemoveAura(50161)
C:RegisterEvent("Flame", 4000, 3)
C:RegisterEvent("Slash", 8000, 0)
C:RegisterEvent("Blast", 11000, 5)
C:RegisterEvent("AE", 10000, 4)
C:RegisterEvent("CL", 7000, 5)
C:RegisterEvent("DUP", 30000, 0)
C:RegisterEvent("Duplicate", 600000, 1)
end
function Duplicate(pUnit, event)
local X = target:GetX()
local Y = target:GetY()
local Z = target:GetZ()
local O = target:GetO()
C:SpawnCreature(COI,x,y,z, O, 32953, 350000)
C:SpawnCreature(CCI,x,y,z, O, 32953, 350000)
end
function DUP(pUnit, event)----------7
C:RemoveEvents()
C:RemoveAura(50161)
C:RegisterEvent("Strike", 8000, 0)
C:RegisterEvent("Phase", 11000, 1)
C:RegisterEvent("Sky", 10000, 4)
C:RegisterEvent("BB", 30000, 1)
C:RegisterEvent("endign", 1000, 0)
end
function ending(pUnit, event)-------------last phase
if C:GetHealthPct() <= 2 then
C:CastSpell(50770)
C:CastSpell(64487)
C:RegisterEvent("Absolute",1000,0)
end
end
function Absolute(pUnit,event)--------dying
C:RemoveEvents()
C:SendChatMessage(14, 0, "")
C:ReturnToSpawnPoint()
C:Emote(68, 30000)
C:Root()
C:SetFaction(35)
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
C:ResurrectPlayer(C:GetRandomPlayer(0))
end
function C_OnS(pUnit, Event)
C = pUnit
C:SendChatMessage(14, 0, "")
C:CastSpell(40425)
C:RegisterEvent("Phase", 1000, 1)
end
function CO_OnS(pUnit, Event)
CO = pUnit
CO:SendChatMessage(14, 0, "")
CO:CastSpell(40425)
CO:Despawn(45000,0)
CO:RegisterEvent("Slash", 1000, 1)
CO:RegisterEvent("AE", 1000, 1)
CO:RegisterEvent("CL", 1000, 1)
end
function CC_OnS(pUnit, Event)
CC = pUnit
CC:SendChatMessage(14, 0, "")
CC:CastSpell(40425)
CC:ReturnToSpawnPoint()
CC:Despawn(45000,0)
CC:RegisterEvent("Slash", 8000, 0)
CC:RegisterEvent("AE", 14000, 0)
CC:RegisterEvent("CL", 20000, 0)
end
function OnLC(pUnit, Event)
C:RemoveEvents()
C:SendChatMessage(14, 0, "")
C:CastSpell(40425)
C:ReturnToSpawnPoint()
C:Despawn(30000,15000)
C:RegisterEvent("Heaven", 1000, 3)
end
function OnKilledTarget(pUnit, Event)
C:SendChatMessage(12, 0, "avoidable. yet also unavoidable")
C:CastSpell(50804, C:GetRandomPlayer(0))
end
RegisterUnitEvent(ID, 18, "C_OnS")
RegisterUnitEvent(COI, 18, "CO_OnS")
RegisterUnitEvent(CCI, 18, "CC_OnS")
RegisterUnitEvent(ID, 2, "OnLC")
RegisterUnitEvent(ID, 3, "OnKilledTarget")
RegisterUnitEvent(ID, 4, "Boss_OnDeath")
function Strike(pUnit, Event)
C:FullCastSpellOnTarget(64592, C:GetMainTank())
end
function Phase(pUnit, Event)
C:FullCastSpellOnTarget(64412, C:GetRandomPlayer(0))
end
function Sky(pUnit, Event)
local plr = C:GetRandomPlayer(0)
local x = plr:GetX()
local y = plr:GetY()
local z = plr:GetZ()
C:CastSpellAoF(X, Y, Z, 62301)
end
function SBomb(pUnit, Event)
local PS = C:GetRandomPlayer(0)
local x = PS:GetX()
local y = PS:GetY()
local z = PS:GetZ()
C:CastSpellAoF(X, Y, Z, 67475)
end
function Flame(pUnit, Event)
local plr = C:GetRandomPlayer(0)
local x = plr:GetX()
local y = plr:GetY()
local z = plr:GetZ()
C:CastSpellAoF(X, Y, Z, 41481)
end
function BB(pUnit, Event)
C:CastSpell(64584)
end
function Heaven(pUnit, Event)
C:FullCastSpellOnTarget(64487, C:GetMainTank(0))
end
function Enraged(pUnit, Event)
C:CastSpell(47008)
end
function MI(pUnit, event)
C:ChannelSpell(29956, C:GetRandomPlayer(0))
end
function AoF(pUnit, event)
local plr = C:GetRandomPlayer(0)
sTimer=math.random(1, 6)
local x = plr:GetX()
local y = plr:GetY()
local z = plr:GetZ()
if sTimer == 1 then
C:CastSpellAoF(X, Y, Z,62301)
end
if sTimer == 2 then
C:CastSpellAoF(X, Y, Z, 62301)
end
if sTimer == 3 then
C:CastSpellAoF(X, Y, Z, 62301)
end
if sTimer == 4 then
C:CastSpellAoF(X, Y, Z, 59382)
end
if sTimer == 5 then
C:CastSpellAoF(X, Y, Z, 59382)
end
if sTimer == 6 then
C:CastSpellAoF(X, Y, Z, 59382)
end
end
function Slash(pUnit, Event)
C:FullCastSpellOnTarget(63493, C:GetMainTank(0))
end
function Slash(pUnit, Event)
CC:FullCastSpellOnTarget(63493, CC:GetMainTank(0))
end
function Slash(pUnit, Event)
CO:FullCastSpellOnTarget(63493, CO:GetMainTank(0))
end
function Blast(pUnit, Event)
C:FullCastSpellOnTarget(67999, C:GetRandomPlayer(0))
end
function AE(pUnit, Event)
C:CastSpell(29973)
end
function AE(pUnit, Event)
CO:CastSpell(29973)
end
function AE(pUnit, Event)
CC:CastSpell(29973)
end
function CL(pUnit, Event)
C:FullCastSpellOnTarget(62445, C:GetRandomPlayer(0))
end
function CL(pUnit, Event)
CC:FullCastSpellOnTarget(62445, CC:GetRandomPlayer(0))
end
function CL(pUnit, Event)
CO:FullCastSpellOnTarget(62445, CO:GetRandomPlayer(0))
end