----------------------------------------
----------------------------------------
-- This Script was coded by Mutilated --
-- Please get permission before edits --
-- Email me at
[email protected] --
-- Please Visit
Mutilated --
----------------------------------------
----------------------------------------
targetMob = 0
targetMob2 = 0
function Rage_OnCombat(pUnit, Event)
pUnit:RemoveEvents();
pUnit:PlaySoundToSet(5830)
print "Rage has been engaged...."
pUnit:SendChatMessage(14, 0, "Ah, I've been waiting for a real challenge!")
pUnit:RegisterEvent("phase_2", 5000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_ShadowR(pUnit, Event)
pUnit:CastSpell(39374)
end
function Rage_Thorns(pUnit, Event)
pUnit:CastSpell(26992)
end
function Rage_Spirit(pUnit, Event)
pUnit:CastSpell(25312)
end
function Rage_ArcInt(pUnit, Event)
pUnit:CastSpell(27126)
end
function Rage_BoM(pUnit, Event)
pUnit:CastSpell(27140)
end
function Rage_NatureBuff(pUnit, Event)
pUnit:CastSpell(26990)
end
function Rage_Fortitude(pUnit, Event)
pUnit:CastSpell(25389)
end
function Rage_Spawn_buffs(pUnit, Event)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Rage_NatureBuff", 16000, 0)
pUnit:RegisterEvent("Rage_Fortitude", 14000, 0)
pUnit:RegisterEvent("Rage_BoM", 12000, 0)
pUnit:RegisterEvent("Rage_ArcInt", 10000, 0)
pUnit:RegisterEvent("Rage_Spirit", 7000, 0)
pUnit:RegisterEvent("Rage_Thorns", 5000, 0)
pUnit:RegisterEvent("Rage_ShadowR", 2000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_Agony(pUnit, Event)
pUnit:CastSpell(40932, agony)
end
function Rage_Shadow(pUnit, Event)
local shadow = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(25368, shadow)
end
function Rage_Lightning(pUnit, Event)
local lightning = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(25449, lightning)
end
function phase_2(pUnit, Event)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Rage_Agony", 26000, 0)
pUnit:RegisterEvent("Rage_Shadow", 20000, 0)
pUnit:RegisterEvent("Rage_Lightning", 7000, 0)
pUnit:RegisterEvent("Phase_3", 50000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_Retal(pUnit, Event)
pUnit:CastSpell(20230, warr_retal)
end
function Phase_3(pUnit, Event)
if Unit:GetHealthPct() <=90 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Rage_Retal", 15000, 0)
pUnit:RegisterEvent("phase_4", 16000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function phase_4(pUnit, Event)
pUnit:RemoveEvents();
local outcomeone = math.random(1,2)
if outcomeone == 1 then
pUnit:SendChatMessage(14, 0, "I can't lose to you, ever!")
local shadowbolt = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(47076, shadowbolt)
pUnit:RegisterEvent("Old_Rage", 5000, 0)
end
end
if outcomeone == 2 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "This is where it all goes horribly wrong!")
pUnit:SetScale(2)
local moonfire = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(47072, moonfire)
pUnit:RegisterEvent("phase_5", 5000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_Earth(pUnit, Event)
local earth = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(25454, earth)
end
function Rage_Flame(pUnit, Event)
local flame = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(25457, flame)
end
function Rage_Frost(pUnit, Event)
local frost = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(25464, frost)
end
function Rage_Holy(pUnit, Event)
local holy = pUnit:GetRandomPlayer(0)
pUnit:FullCastSpellOnTarget(33072, holy)
end
function phase_5(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Shocking!")
pUnit:RegisterEvent("Rage_Earth", 200, 0)
pUnit:RegisterEvent("Rage_Flame", 100, 0)
pUnit:RegisterEvent("Rage_Frost", 200, 0)
pUnit:RegisterEvent("Rage_Holy", 200, 0)
pUnit:RegisterEvent("phase_6", 60000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_Bubble(pUnit, Event)
pUnit:Castspell(5573)
end
function Rage_Heal(pUnit, Event)
pUnit:CastSpell(25357)
end
function Rage_NHeal(pUnit, Event)
pUnit:CastSpell(27136)
end
function phase_6(pUnit, Event)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Rage_Bubble", 2000, 0)
pUnit:RegisterEvent("Rage_Heal",2500, 0)
pUnit:RegisterEvent("Rage_NHeal",5000, 0)
pUnit:RegisterEvent("Mage_phase", 11000, 0)
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Mage_phase(pUnit, Event)
pUnit:RemoveEvents();
local mage = math.random (1,3)
if mage == 1 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Now your life shall end!")
pUnit:CastSpellFullOnTarget(42891)
pUnit:CastSpell(42945)
pUnit:RegisterEvent("Old_Rage", 6000, 0)
end
if mage == 2 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Only death awaits you now!")
pUnit:CastSpell(42917)
pUnit:CastSpell(42921)
pUnit:RegisterEvent("Old_Rage", 6000, 0)
end
if mage == 3 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Fear me and my powers!")
pUnit:CastSpell(1792
pUnit:CastSpell(30035)
pUnit:FullCastSpellOnTarget(27243)
pUnit:CastSpell(42921)
pUnit:RegisterEvent("Old_Rage", 6000, 0)
end
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Old_Rage(pUnit, event)
local Summon = math.random(1,4)
if Summon == 1 then
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(1875465, x + 10, y + 10, z + 1, o, 50, 10000)
pUnit:SendChatMessage(14, 0, "I will end you now!")
pUnit:RegisterEvent("phase_5", 5000, 0)
end
if summon == 2 then
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(1875465, x - 10, y - 10, z + 1, o, 50, 10000)
pUnit:SendChatMessage(14, 0, "Survival is not an option anymore")
pUnit:RegisterEvent("phase_7", 5000, 0)
end
if summon == 3 then
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(1875465, x + 10, y - 10, z + 1, o, 50, 10000)
pUnit:SendChatMessage(14, 0, "You cannot defeat me!")
pUnit:RegisterEvent("phase_7", 5000, 0)
end
if summon == 4 then
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(1875465, x - 10, y + 10, z + 1, o, 50, 15000)
pUnit:SendChatMessage(14, 0, "Don't expect to get much further....")
pUnit:RegisterEvent("phase_7", 5000, 0)
end
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function phase_7(pUnit, Event)
pUnit:RemoveEvents();
local chance_5 = math.random (1,2)
if chance_5 == 1 then
pUnit:SendChatMessage(14, 0, "Do not continue! You won't get much further with me!")
pUnit:CastSpell(44779)
pUnit:RegisterEvent(phse_8, 5000, 0)
end
if chance_5 == 2 then
pUnit:SendChatMessage(14, 0, "Enough!, I shall show you true magic!")
pUnit:SetScale(2)
pUnit:CastSpell(40932)
pUnit:RegisterEvent(phase_8, 5000, 0)
end
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function phase_8(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SetScale(1)
local eioutcome = math.random (1,2)
if eioutcome == 1 then
pUnit:SendChatMessage(14, 0, "Don't just watch me die! Aid me!")
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(16149, x - 10, y - 10, z + 1, o, 50, 10000)
pUnit:SendChatMessage(14, 0, "Survival is not an option anymore")
end
end
if eioutcome == 2 then
pUnit:SendChatMessage(14, 0, "Get back!")
pUnit:CastSpell(29973)
pUnit:RegisterEvent("last_final", 5000, 0)
end
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function final_last(pUnit, Event)
if pUnit:GetHealthPct() <=20 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "I feel weak...Give me power!")
pUnit:CastSpell(37023)
pUnit:FullCastSpellOnTarget(2847
pUnit:FullCastSpellOnTarget(2847
end
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_OnKilledTarget(pUnit, Event)
pUnit:PlaySoundToSet(11965)
pUnit:SetScale(1.5)
pUnit:SendChatMessage(14, 0, "Ahahahaha!")
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_OnLeaveCombat(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SetScale(1)
pUnit:SendChatMessage(14, 0, "Farewell!")
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
function Rage_OnDeath(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SetScale(1)
print "Rage has been defeated."
pUnit:SendChatMessage(14, 0, "You were certainly....tougher... than...expected.")
end
--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
RegisterUnitEvent(1937845, 1, "Rage_OnCombat")
RegisterUnitEvent(1937845, 2, "Rage_OnLeaveCombat")
RegisterUnitEvent(1937845, 3, "Rage_OnKilledTarget")
RegisterUnitEvent(1937845, 4, "Rage_OnDeath")
RegisterUnitEvent(1937845, 6, "Rage_Spawn_buffs")