Code:
--[[
Scripted by Onlykl.
Do not repost without my permission.
Do not take credits for what you haven't scripted.
I hope you like this script.
If you like my scripts feel free to request one.
]]
local x,y,z,o = Unit:GetX(),Unit:GetY(),Unit:GetZ(),Unit:GetO()
function BOSSNAME_OnCombat(Unit,Event)
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:RegisterEvent("Mage Armor", 1000, 1)
Unit:RegisterEvent("BOSSNAME_Phase1", 1000, 0)
end
function BOSSNAME_OnLeaveCombat(Unit,Event)
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
end
function BOSSNAME_OnDied(Unit,Event)
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "SOMETEXT")
Unit:SpawnGameObject(GOID, x, y, z, o, duration) --GOID-ID of some portal or some Game object, duration in miliseconds
Unit:FullCastSpellOnTarget(58451, player)
Unit:FullCastSpellOnTarget(48100, player)
Unit:FullCastSpellOnTarget(58452, player)
Unit:FullCastSpellOnTarget(48104, player)
Unit:FullCastSpellOnTarget(48102, player)
Unit:FullCastSpellOnTarget(48469, player)
Unit:FullCastSpellOnTarget(61024, player)
Unit:FullCastSpellOnTarget(20217, player)
Unit:FullCastSpellOnTarget(48161, player)
Unit:FullCastSpellOnTarget(48073, player)
Unit:FullCastSpellOnTarget(48169, player)
Unit:FullCastSpellOnTarget(54675, player)
Unit:FullCastSpellOnTarget(15366, player)
Unit:FullCastSpellOnTarget(33077, player)
Unit:FullCastSpellOnTarget(53307, player)
Unit:FullCastSpellOnTarget(43017, player)
Unit:FullCastSpellOnTarget(5697, player)
Unit:FullCastSpellOnTarget(132, player)
Unit:FullCastSpellOnTarget(1706, player)
Unit:FullCastSpellOnTarget(16618, player)
end
RegisterUnitEvent(333315, 1, "BOSSNAME_OnCombat")
RegisterUnitEvent(333315, 2, "BOSSNAME_OnLeaveCombat")
RegisterUnitEvent(333315, 4, "BOSSNAME_OnDied")
function BOSSNAME_Phase1(Unit,Event)
if Unit:GetHealthPct() <= 90 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:RegisterEvent("Cone of Cold", 10000, 0)
Unit:RegisterEvent("Frost Ward", 30000, 0)
Unit:RegisterEvent("Frostbolt", 5000, 0)
Unit:RegisterEvent("BOSSNAME_Phase2", 1000, 0)
end
end
function BOSSNAME_Phase2(Unit,Event)
if Unit:GetHealthPct() <= 62 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:SetMaxMana(100000000)
Unit:SetMana(100000000)
Unit:SpawnCreature(30416, x-0.5, y, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y-0.5, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y, z-0.5, o, 14,50000)
Unit:SpawnCreature(30416, x-0.5, y-0.5, z, o, 14,50000)
Unit:SpawnCreature(30416, x-0.5, y, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y-0.5, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y, z-0.5, o, 14,50000)
Unit:SpawnCreature(30416, x-0.5, y-0.5, z, o, 14,50000)
Unit:SpawnCreature(30416, x-0.5, y, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y-0.5, z, o, 14,50000)
Unit:SpawnCreature(30416, x, y, z-0.5, o, 14,50000)
Unit:RegisterEvent("Ice Block", 1000, 1)
Unit:RegisterEvent("Blast Wave", 33000, 50)
Unit:RegisterEvent("BOSSNAME_Phase3", 1000, 0)
end
end
function BOSSNAME_Phase3(Unit,Event)
if Unit:GetHealthPct() <= 55 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:SetMaxMana(100000000)
Unit:SetMana(100000000)
Unit:RegisterEvent("Frostbolt of Ages", 500, 50)
Unit:RegisterEvent("Arcane Blast", 50000, 1)
Unit:RegisterEvent("Arcane Blast", 60000, 1)
Unit:RegisterEvent("Arcane Blast", 70000, 1)
Unit:RegisterEvent("BOSSNAME_Phase4", 1000, 0)
end
end
function BOSSNAME_Phase4(Unit,Event)
if Unit:GetHealthPct() <= 35 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:RegisterEvent("Bolthorn's Rune of Flame", 1500, 9999)
Unit:RegisterEvent("BOSSNAME_Phase5", 1000, 0)
end
end
function BOSSNAME_Phase5(Unit,Event)
if Unit:GetHealthPct() <= 20 then
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "SOMETEXT")
Unit:RegisterEvent("Armageddon", 3000, 5)
Unit:RegisterEvent("BOSSNAME_Phase6", 1000, 0)
end
end
function BOSSNAME_Phase6(Unit,Event)
if Unit:GetHealthPct() <= 10 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "SOMETEXT")
Unit:RegisterEvent("Aqua Jet", 30000, 5)
Unit:RegisterEvent("Arcane Breath", 1000, 1)
Unit:RegisterEvent("BOSSNAME_Phase7", 1000, 0)
end
end
function BOSSNAME_Phase7(Unit,Event)
if Unit:GetHealthPct() <= 5 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "SOMETEXT")
Unit:RegisterEvent("BOSSNAME_Phase8", 1000, 0)
end
end
function BOSSNAME_Phase8(Unit,Event)
if Unit:GetHealthPct() <= 2 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "SOMETEXT")
Unit:RegisterEvent("Armageddon", 5000, 5)
end
end
function Bolthorn's Rune of Flame(Unit,Event)
Unit:CastSpellOnTarget(54966, Unit:GetMainTank(0))
end
function Mage Armor(Unit,Event)
Unit:CastSpell(43024)
end
function Cone of Cold(Unit,Event)
Unit:CastSpellOnTarget(42931, Unit:GetMainTank(0))
end
function Frost Ward(Unit,Event)
Unit:CastSpellOnTarget(43012, Unit:GetMainTank(0))
end
function Frostbolt(Unit,Event)
Unit:FullCastSpellOnTarget(42842, Unit:GetRandomPlayer(0))
end
function Armageddon(Unit,Event)
Unit:FullCastSpellOnTarget(45915, Unit:GetMainTank(0))
end
function Aqua Jet(Unit,Event)
Unit:FullCastSpellOnTarget(21790, Unit:GetMainTank(0))
end
function Arcane Breath(Unit,Event)
Unit:FullCastSpellOnTarget(60072, Unit:GetMainTank(0))
end
function Ice Block(Unit,Event)
Unit:FullCastSpellOnTarget(45438, Unit:GetMainTank(0))
end
function Blast Wave(Unit,Event)
Unit:FullCastSpellOnTarget(42945, Unit:GetMainTank(0))
end
function Arcane Blast(Unit,Event)
Unit:FullCastSpellOnTarget(42897, Unit:GetMainTank(0))
end
function Frostbolt of Ages(Unit,Event)
Unit:FullCastSpellOnTarget(11, Unit:GetMainTank(0))
end