Code:
-- Scripted from Start by HalestormXV
-- Used on the Serenade of Sorrow Server
-- Another requirement for the World Boss Challenges
-- Learn from and do not pirate this script.
--//////////////////////////////////--
--///////ITHARIUS DAWNSTRIDER\\\\\\\--
--\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\--
phaseCheck = 0
voiceCheck = 0
duplicateIntro = 0
deathcheck = 0
---------------------------------------
function IthariusDeclared(pUnit, event)
Ithar = pUnit
pUnit:SpawnCreature(479, -12206.099609, -2473.620117, -0.531654, 6.114900, 1394, 9999999)
pUnit:SpawnCreature(455, -12206.700195, -2478.389893, -0.559680, 6.126680, 1394, 9999999)
end
function IthariusIntroduction(pUnit, event)
if duplicateIntro == 0 then
pUnit:PlaySoundToSet(10539)
print "Itharius has engaged in pre-aggro..duplicInt set to 0"
Ithar:SendChatMessage(14, 0, "What is this? You must forgive me but I was not expecting company. As you can see we are somewhat preoccupied, but no matter, as I am a gracious host I will tend you - Personally")
Ithar:RegisterEvent("IthariusEmotes", 6000, 2)
else
end
end
function IthariusEmotes(pUnit, event)
Ithar:Emote(93, 93)
end
function PortalVisual(pUnit, event)
pUnit:CastSpell(40280)
pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
print "Portal set to not selectable - passed.."
portalX = pUnit:GetX()
portalY = pUnit:GetY()
portalZ = pUnit:GetZ()
portalO = pUnit:GetO()
end
function ArmyVisual(pUnit, event)
pUnit:CastSpell(46242)
end
RegisterUnitEvent(479, 1, "IthariusIntroduction")
RegisterUnitEvent(425, 18, "IthariusDeclared")
RegisterUnitEvent(457, 18, "PortalVisual")
RegisterUnitEvent(463, 18, "ArmyVisual")
RegisterUnitEvent(477, 18, "ArmyVisual")
RegisterUnitEvent(484, 18, "ArmyVisual")
---------------------------------------
--**********************************--
-- Scripted by HalestormXV --
-- For Use on the SoS Prvate Server --
-- World Challenges Event --
-- Do Not Pirate this Script --
--**********************************--
---- Abilities 1 ----|
fAgony = 40932
fireball = 20678
felshock = 39006
soulstrike = 32315
---------------------|
function IthariusSoulstrike(pUnit, event)
local timer = math.random(4000, 6000)
local strike = pUnit:GetMainTank()
if (strike ~= nil) then
pUnit:FullCastSpellOnTarget(soulstrike, strike)
else
end
pUnit:RegisterEvent("IthariusSoulstrike2", timer, 1)
end
function IthariusSoulstrike2(pUnit, event)
local timer = math.random(5500, 7500)
local strike = pUnit:GetMainTank()
if (strike ~= nil) then
pUnit:FullCastSpellOnTarget(soulstrike, strike)
else
end
pUnit:RegisterEvent("IthariusSoulstrike", timer, 1)
end
------------
function IthariusFireball(pUnit, event)
local fTimer = math.random(5000, 8000)
local target = pUnit:GetRandomPlayer(0)
if (target ~= nil) then
pUnit:FullCastSpellOnTarget(fireball, target)
else
end
pUnit:RegisterEvent("IthariusFireball2", fTimer, 1)
end
function IthariusFireball2(pUnit, event)
local fTimer = math.random(3000, 6000)
local target = pUnit:GetRandomPlayer(0)
if (target ~= nil) then
pUnit:FullCastSpellOnTarget(fireball, target)
else
end
pUnit:RegisterEvent("IthariusFireball", fTimer, 1)
end
------------
function IthariusFelfire(pUnit, event)
local sTimer = math.random(12000, 15000)
local felfire = pUnit:GetRandomPlayer(0)
if (felfire ~= nil) then
pUnit:FullCastSpellOnTarget(felshock, felfire)
else
end
pUnit:RegisterEvent("IthariusFelfire2", sTimer, 1)
end
function IthariusFelfire2(pUnit, event)
local sTimer = math.random(12000, 15000)
local felfire = pUnit:GetRandomPlayer(0)
if (felfire ~= nil) then
pUnit:FullCastSpellOnTarget(felshock, felfire)
else
end
pUnit:RegisterEvent("IthariusFelfire", sTimer, 1)
end
------------
function Itharius_fAgony(pUnit, event)
local agony = pUnit:GetRandomPlayer(0)
if (agony ~= nil) then
pUnit:FullCastSpellOnTarget(fAgony, agony)
else
end
end
-------------------------------------------|
--Phase 1
function IthariusPhase1(pUnit, event)
pUnit:PlaySoundToSet(10543)
duplicateIntro = 1
print "Itharius has been engaged..duplicInt set to 1.."
pUnit:SendChatMessage(14, 0, "I have longed for a good adventure!")
pUnit:RegisterEvent("IthariusSoulstrike", 6000, 1)
pUnit:RegisterEvent("IthariusFireball", 8000, 1)
pUnit:RegisterEvent("IthariusFelfire", 12000, 1)
pUnit:RegisterEvent("Itharius_fAgony", 45000, 0)
pUnit:RegisterEvent("IthariusPhase2", 1000, 0)
phaseCheck = 0
voiceCheck = 0
deathcheck = 0
end
-------------------------------------------|
---- Abilities 2 ----|
fVolley = 37109
tVolley = 39340
sVolley = 28407
soulDrain = 41303
chargeR = 32053
chargeY = 32054
chargeG = 32057
---------------------|
function IthariusVolley(pUnit, event)
local vChosen = math.random(1, 3)
local vTarget = pUnit:GetMainTank()
if vChosen == 1 and (vTarget ~= nil) then
pUnit:FullCastSpellOnTarget(fVolley, vTarget) --Fireball Volley
else
end
if vChosen == 2 and (vTarget ~= nil) then
pUnit:FullCastSpellOnTarget(tVolley, vTarget) --Toxic Volley
else
end
if vChosen == 3 and (vTarget ~= nil) then
pUnit:FullCastSpellOnTarget(sVolley, vTarget) --Shadow Volley
else
end
end
function IthariusSpecial(pUnit, event)
local special = math.random(1, 4)
local spamCheck = pUnit:GetMainTank()
if (spamCheck ~= nil) then
pUnit:PlaySoundToSet(10540)
pUnit:SendChatMessage(14, 0, "I have such fascinating things to show you!")
if special == 1 then
pUnit:FullCastSpell(soulDrain)
print "Itharius has used a Soul Drain.."
end
if special == 2 then
pUnit:FullCastSpell(chargeR)
print "Itharius has used a Red Soul Charge.."
end
if special == 3 then
pUnit:FullCastSpell(chargeY)
print "Itharius has used a Yellow Soul Charge.."
end
if special == 4 then
pUnit:FullCastSpell(chargeG)
print "Itharius has used a Green Soul Charge.."
end
else
end
end
-------------------------------------------|
-- Phase2
function IthariusPhase2(pUnit, event)
if pUnit:GetHealthPct() <= 76 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(10542)
pUnit:SendChatMessage(14, 0, "An epic battle! How exciting!")
print "Itharius has entered into phase two..."
pUnit:RegisterEvent("IthariusSoulstrike", 6000, 1)
pUnit:RegisterEvent("IthariusFireball", 8000, 1)
pUnit:RegisterEvent("IthariusFelfire", 12000, 1)
pUnit:RegisterEvent("IthariusVolley", 23000, 0)
pUnit:RegisterEvent("IthariusSpecial", 65000, 0)
pUnit:RegisterEvent("IthariusPhase3", 1000, 0)
end
end
-------------------------------------------|
---- Abilities 3 ----|
mindrend = 39021
mindrot = 606
soulsteal = 36778
-------------------------------------------|
function IthariusSoulsteal(pUnit, event)
local soulTarg = pUnit:GetMainTank()
if (soulTarg ~= nil) then
pUnit:FullCastSpellOnTarget(soulsteal, soulTarg)
else
end
end
function IthariusMindrot(pUnit, event)
local rotTarg = pUnit:GetRandomPlayer(0)
if (rotTarg ~= nil) then
pUnit:FullCastSpellOnTarget(mindrot, rotTarg)
else
end
end
function IthariusMindrend(pUnit, event)
local rend = pUnit:GetRandomPlayer(0)
if (rend ~= nil) then
pUnit:FullCastSpellOnTarget(mindrend, rend)
else
end
end
function IthariusGasnova(pUnit, event)
local spamCheck = pUnit:GetMainTank()
if (spamCheck ~=nil) then
pUnit:PlaySoundToSet(10544)
pUnit:SendChatMessage(14, 0, "And now we part company..")
pUnit:FullCastSpell(29919)
else
end
end
-------------------------------------------|
-- Phase3
function IthariusPhase3(pUnit, event)
if pUnit:GetHealthPct() <= 54 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(10545)
pUnit:SendChatMessage(14, 0, "It has been...entertaining.")
print "Itharius has entered into phase three..."
pUnit:RegisterEvent("IthariusSoulsteal", 32000, 0)
pUnit:RegisterEvent("IthariusFireball", 8000, 1)
pUnit:RegisterEvent("IthariusFelfire", 12000, 1)
pUnit:RegisterEvent("IthariusVolley", 23000, 0)
pUnit:RegisterEvent("IthariusMindrend", 31000, 0)
pUnit:RegisterEvent("IthariusGasnova", 42000, 0)
pUnit:RegisterEvent("IthariusSpecial", 65000, 0)
pUnit:RegisterEvent("IthariusRound2", 1000, 0)
end
end
--------------------------------------------------------------------------------
--*************************ROUND TWO HANDLE***********************************--
--------------------------------------------------------------------------------
function IthariusRound2(pUnit, event)
if pUnit:GetHealthPct() <= 20 then
pUnit:RemoveEvents()
pUnit:CastSpell(40647)
pUnit:SetCombatCapable(1)
pUnit:PlaySoundToSet(10541)
pUnit:SendChatMessage(12, 0, "Ahh, we have not yet be properly introduced..")
print "Round two intoduction has started.."
pUnit:RegisterEvent("IthariusPower", 3000, 5)
pUnit:RegisterEvent("IthariusBegin", 16000, 1)
end
end
function IthariusPower(pUnit, event)
pUnit:CastSpell(40387)
pUnit:CastSpell(40436)
pUnit:CastSpell(46242)
end
function IthariusBegin(pUnit, event)
pUnit:CastSpell(32343)
pUnit:CastSpell(25840)
pUnit:SetModel(19135)
pUnit:SetScale(1.4)
pUnit:RemoveAura(46242)
pUnit:RegisterEvent("IthariusGo", 6400, 1)
end
function IthariusGo(pUnit, event)
voiceCheck = 1
pUnit:PlaySoundToSet(10442)
pUnit:SendChatMessage(14, 0, "Why do you persist? Surely you can see the futility of it all? It's not to late! You may still leave with your lives!")
pUnit:RegisterEvent("IthariusGo2", 6300, 1)
end
--------------------------------------------------------------------------------
----Abilities Dragon 1----
felbreath = 30210
Dfireball = 29953
--------------------------
function IthariusDFireball(pUnit, event)
local timer = math.random(4000, 6000)
local Dball = pUnit:GetRandomPlayer(0)
if (Dball ~= nil) then
pUnit:FullCastSpellOnTarget(Dfireball, Dball)
else
end
pUnit:RegisterEvent("IthariusDFireball2", timer, 1)
end
function IthariusDFireball2(pUnit, event)
local Dball = pUnit:GetRandomPlayer(0)
local timer = math.random(4000, 6000)
if (Dball ~= nil) then
pUnit:FullCastSpellOnTarget(Dfireball, Dball)
else
end
pUnit:RegisterEvent("IthariusDFireball", timer, 1)
end
----
----
function IthariusFelbreath(pUnit, event)
local felbreathT = pUnit:GetMainTank()
if (felbreath ~= nil) then
pUnit:FullCastSpellOnTarget(felbreath, felbreathT)
else
end
end
----
----
function IthariusGo2(pUnit, event)
pUnit:RemoveEvents()
pUnit:SetCombatCapable(0)
print "Round two encounter has started..player(s) unparalyzed..."
pUnit:RegisterEvent("IthariusDFireball", 6000, 1)
pUnit:RegisterEvent("IthariusFelbreath", 13000, 0)
pUnit:RegisterEvent("IthariusPhase5", 1000, 0)
end
-------------------------------------------|
-- Phase 5
-- Abilities Dragon 2 --
firebarrage = 29958
function FireBarrage(pUnit, event)
pUnit:CastSpell(firebarrage)
end
function Taunt(pUnit, event)
local taunt = math.random(1, 6)
if taunt == 1 then
pUnit:PlaySoundToSet(10421)
pUnit:SendChatMessage(14, 0, "Enough! I will erase your very existence!")
end
if taunt == 2 then
pUnit:PlaySoundToSet(10422)
pUnit:SendChatMessage(14, 0, "You cannot fight fate!")
end
if taunt == 3 then
pUnit:PlaySoundToSet(10446)
pUnit:SendChatMessage(14, 0, "Your days are done!")
end
if taunt == 4 then
end
if taunt == 5 then
end
if taunt == 6 then
pUnit:PlaySoundToSet(10415)
pUnit:SendChatMessage(14, 0, "I told you this was a foolish quest!")
end
end
function IthariusPhase5(pUnit, event)
if pUnit:GetHealthPct() <= 80 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(10414)
pUnit:SendChatMessage(14, 0, "If you will not cease this foolish quest then you will die!")
print "Itharius has entered the first flight phase..."
pUnit:RegisterEvent("IthariusFly", 3000, 1)
end
end
function IthariusFly(pUnit, event)
pUnit:RemoveEvents()
pUnit:SetCombatMeleeCapable(1)
pUnit:SetFlying()
print "Itharius is airborn..."
local X = pUnit:GetX()
local Y = pUnit:GetY()
local Z = pUnit:GetZ()
local O = pUnit:GetO()
pUnit:MoveTo(X, Y, Z + 20, O)
pUnit:RegisterEvent("IthariusFlyLoop", 4000, 0)
pUnit:RegisterEvent("Taunt", 16000, 0)
pUnit:RegisterEvent("FireBarrage", 12000, 0)
pUnit:RegisterEvent("IthariusVolley", 17000, 0)
pUnit:RegisterEvent("PortalOpen", 10000, 1)
end
function IthariusFlyLoop(pUnit, event)
local moveTo = pUnit:GetRandomPlayer(0)
local X = moveTo:GetX()
local Y = moveTo:GetY()
local Z = moveTo:GetZ()
local O = moveTo:GetO()
pUnit:MoveTo(X, Y, Z + 20, O)
end
function PortalOpen(pUnit, event)
print "The portal has opened...Demons will soon spawn..."
pUnit:SpawnCreature(457, -12217.646484, -2474.260010, 1.206096, 6.105481, 35, 45000)
pUnit:RegisterEvent("SummonDemons", 10000, 4)
pUnit:RegisterEvent("IthariusLand", 50000, 1)
end
function SummonDemons(pUnit, event)
pUnit:SpawnCreature(463, portalX + 4, portalY + 4, portalZ, portalO, 1394, 25000)
pUnit:SpawnCreature(477, portalX + 3, portalY + 3, portalZ, portalO, 1394, 25000)
pUnit:SpawnCreature(484, portalX + 2, portalY + 2, portalZ, portalO, 1394, 25000)
end
function IthariusLand(pUnit, event)
pUnit:RemoveEvents()
local landTarg = pUnit:GetMainTank()
local X = landTarg:GetX()
local Y = landTarg:GetY()
local Z = landTarg:GetZ()
local O = landTarg:GetO()
pUnit:Land()
print "Itharius has landed..."
pUnit:MoveTo(X, Y, Z, O)
pUnit:SetCombatMeleeCapable(0)
pUnit:RegisterEvent("IthariusGround", 6000, 1)
end
--------------------------|
-- Abilities Ground Dragon|
--------------------------|
quickBolt = 47076
powerVolley = 38533
felCleave = 38742
timeStop = 31422
mindBlast = 41374
--------------------------|
function IthariusQuickBolt(pUnit, event)
local bolt = math.random(4000, 6000)
local bolts = pUnit:GetRandomPlayer(0)
if (bolts ~= nil) then
pUnit:FullCastSpellOnTarget(quickBolt, bolts)
else
end
pUnit:RegisterEvent("IthariusQuickBolt2", bolt, 1)
end
function IthariusQuickBolt2(pUnit, event)
local bolt = math.random(3000, 5000)
local bolts = pUnit:GetRandomPlayer(0)
if (bolts ~= nil) then
pUnit:FullCastSpellOnTarget(quickBolt, bolts)
else
end
pUnit:RegisterEvent("IthariusQuickBolt", bolt, 1)
end
function IthariusShadowVolley(pUnit, event)
local volleys = pUnit:GetMainTank()
if (volleys ~= nil) then
pUnit:FullCastSpellOnTarget(powerVolley, volleys)
else
end
end
function IthariusFelCleave(pUnit, event)
local cleaveTarg = pUnit:GetMainTank()
if (cleaveTarg ~= nil) then
pUnit:FullCastSpellOnTarget(felCleave, cleaveTarg)
else
end
end
function IthariusTimeStop(pUnit, event)
local selection = math.random(1,2)
if selection == 1 then
pUnit:PlaySoundToSet(10423)
pUnit:SendChatMessage(14, 0, "Not so fast!")
else
pUnit:PlaySoundToSet(10424)
pUnit:SendChatMessage(14, 0, "Struggle as much as you like!")
end
pUnit:CastSpell(timeStop)
end
function IthariusMindBlast(pUnit, event)
local blast = math.random(10000, 14000)
local mind = pUnit:GetRandomPlayer(0)
if (mind ~= nil) then
pUnit:FullCastSpellOnTarget(mindBlast, mind)
else
end
pUnit:RegisterEvent("IthariusMindBlast2", blast, 1)
end
function IthariusMindBlast2(pUnit, event)
local blast = math.random(10000, 14000)
local mind = pUnit:GetRandomPlayer(0)
if (mind ~= nil) then
pUnit:FullCastSpellOnTarget(mindBlast, mind)
else
end
pUnit:RegisterEvent("IthariusMindBlast", blast, 1)
end
function IthariusGround(pUnit, event)
pUnit:RemoveEvents()
pUnit:RegisterEvent("IthariusQuickBolt", 5000, 1)
pUnit:RegisterEvent("IthariusFelCleave", 7000, 0)
pUnit:RegisterEvent("IthariusMindBlast", 10000, 1)
pUnit:RegisterEvent("IthariusShadowVolley", 25000, 0)
pUnit:RegisterEvent("IthariusTimeStop", 62000, 0)
pUnit:RegisterEvent("IthariusPhase6", 1000, 0)
pUnit:RegisterEvent("IthariusPhase7", 1000, 0)
pUnit:RegisterEvent("IthariusPhase9", 1000, 0)
end
---------------------------------------------------------
function IthariusPhase6(pUnit, event)
if pUnit:GetHealthPct() <= 60 and phaseCheck == 0 then
pUnit:RemoveEvents()
phaseCheck = 1
pUnit:PlaySoundToSet(10445)
print "Itharius is entereing phase six..."
pUnit:SendChatMessage(14, 0, "You should have left when you had the chance..")
pUnit:RegisterEvent("IthariusFly", 3000, 1)
end
end
---------------------------------------------------------
----Abilities Phase 7----
frostBreath = 31688
frostVolley = 38837
iceChain = 39268
iceLance = 45906
frostBolt = 31249
--------------------------
function IthariusFrostbreath(pUnit, event)
local frostTimer = math.random(4000, 6000)
local frostTarget = pUnit:GetRandomPlayer(0)
if (frostTarget ~= nil) then
pUnit:FullCastSpellOnTarget(frostBreath, frostTarget)
else
end
pUnit:RegisterEvent("IthariusFrostbreath2", frostTimer, 1)
end
function IthariusFrostbreath2(pUnit, event)
local frostTimer = math.random(4000, 6000)
local frostTarget = pUnit:GetRandomPlayer(0)
if (frostTarget ~= nil) then
pUnit:FullCastSpellOnTarget(frostBreath, frostTarget)
else
end
pUnit:RegisterEvent("IthariusFrostbreath", frostTimer, 1)
end
function IthariusFrostVolley(pUnit, event)
local frostVolleyT = pUnit:GetMainTank()
if (frostVolley ~= nil) then
pUnit:FullCastSpellOnTarget(frostVolley, frostVolleyT)
else
end
end
function IthariusIceChain(pUnit, event)
local chainTimer = math.random(10000, 15000)
local chains = pUnit:GetRandomPlayer(0)
if (chains ~= nil) then
pUnit:FullCastSpellOnTarget(iceChain, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
else
end
pUnit:RegisterEvent("IthariusIceChain2", chainTimer, 1)
end
function IthariusIceChain2(pUnit, event)
local chainTimer = math.random(10000, 15000)
local chains = pUnit:GetRandomPlayer(0)
if (chains ~= nil) then
pUnit:FullCastSpellOnTarget(iceChain, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
pUnit:FullCastSpellOnTarget(iceLance, chains)
else
end
pUnit:RegisterEvent("IthariusIceChain", chainTimer, 1)
end
function IthariusFrostBolt(pUnit, event)
local frostBoltT = pUnit:GetRandomPlayer(0)
if (frostBoltT ~= nil) then
pUnit:FullCastSpellOnTarget(frostBolt, frostBoltT)
pUnit:PlaySoundToSet(10446)
pUnit:SendChatMessage(14, 0, "Your days are done.")
else
end
end
-------------------------------------------------------
function IthariusPhase7(pUnit, event)
if pUnit:GetHealthPct() <= 40 and phaseCheck == 1 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(10402)
pUnit:SendChatMessage(14, 0, "Let us see what fate has in store.")
print "Itharius is entereing phase seven..."
pUnit:RegisterEvent("IthariusFrostbreath", 5000, 1)
pUnit:RegisterEvent("IthariusIceChain", 12000, 1)
pUnit:RegisterEvent("IthariusFrostVolley", 25000, 0)
pUnit:RegisterEvent("IthariusFrostBolt", 47000, 0)
pUnit:RegisterEvent("IthariusPhase8", 1000, 0)
end
end
-------------------------------------------------------
function IthariusPhase8(pUnit, event)
if pUnit:GetHealthPct() <= 20 and phaseCheck == 1 then
pUnit:RemoveEvents()
phaseCheck = 2
pUnit:PlaySoundToSet(10404)
pUnit:SendChatMessage(14, 0, "No one can stop us! No one!")
print "Itharius is entereing phase eight..."
pUnit:RegisterEvent("IthariusFly", 3000, 1)
end
end
-------------------------------------------------------
function IthariusDivineWrath(pUnit, event)
local divineTimer = math.random(14000, 23000)
local divineTarget = pUnit:GetRandomPlayer(0)
if (divineTarget ~= nil) then
pUnit:FullCastSpellOnTarget(41472, divineTarget)
else
end
pUnit:RegisterEvent("IthariusDivineWrath2", divineTimer, 1)
end
function IthariusDivineWrath2(pUnit, event)
local divineTimer = math.random(14000, 23000)
local divineTarget = pUnit:GetRandomPlayer(0)
if (divineTarget ~= nil) then
pUnit:FullCastSpellOnTarget(41472, divineTarget)
else
end
pUnit:RegisterEvent("IthariusDivineWrath", divineTimer, 1)
end
---
---
function IthariusEmpoweredSmite(pUnit, event)
local smiteTime = math.random(6000, 8000)
local empoweredSmite = pUnit:GetRandomPlayer(0)
if (empoweredSmite ~= nil) then
pUnit:FullCastSpellOnTarget(41471, empoweredSmite)
else
end
pUnit:RegisterEvent("IthariusEmpoweredSmite2", smiteTime, 1)
end
function IthariusEmpoweredSmite2(pUnit, event)
local smiteTime = math.random(6000, 8000)
local empoweredSmite = pUnit:GetRandomPlayer(0)
if (empoweredSmite ~= nil) then
pUnit:FullCastSpellOnTarget(41471, empoweredSmite)
else
end
pUnit:RegisterEvent("IthariusEmpoweredSmite", smiteTime, 1)
end
---
---
function IthariusHolyVolley(pUnit, event)
local holyVolley = pUnit:GetMainTank()
if (holyVolley ~= nil) then
pUnit:FullCastSpellOnTarget(38838, holyVolley)
else
end
end
---
---
function IthariusTears(pUnit, event)
local tears = pUnit:GetRandomPlayer(0)
if (tears ~= nil) then
pUnit:FullCastSpellOnTarget(23011, tears)
else
end
end
---
---
function IthariusAnhilate(pUnit, event)
local blastTime = math.random(28000, 35000)
local blastTarg = pUnit:GetRandomPlayer(4)
if (blastTarg ~= nil) then
pUnit:FullCastSpellOnTarget(19811, blastTarg)
else
end
pUnit:RegisterEvent("IthariusAnhilate2", blastTime, 1)
end
function IthariusAnhilate2(pUnit, event)
local blastTime = math.random(28000, 35000)
local blastTarg = pUnit:GetRandomPlayer(4)
if (blastTarg ~= nil) then
pUnit:FullCastSpellOnTarget(19811, blastTarg)
else
end
pUnit:RegisterEvent("IthariusAnhilate", blastTime, 1)
end
---
---
function IthariusPhase9(pUnit, event)
if pUnit:GetHealthPct() <= 15 and phaseCheck == 2 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(10444)
pUnit:SendChatMessage(14, 0, "So be it! You were warned!")
print "Itharius is entereing end game..."
pUnit:RegisterEvent("IthariusEmpoweredSmite", 6000, 1)
pUnit:RegisterEvent("IthariusDivineWrath", 10000, 1)
pUnit:RegisterEvent("IthariusHolyVolley", 26000, 0)
pUnit:RegisterEvent("IthariusAnhilate", 30000, 0)
pUnit:RegisterEvent("IthariusTears", 34000, 0)
end
end
---------------------------------------------------------------
---------------------------------------------------------------
function Itharius_Leave(pUnit, event)
if deathcheck == 0 then
pUnit:SetModel(22586)
pUnit:SetScale(1.6)
print "Itharius left combat without an encounter finish..."
else
end
duplicateIntro = 0
phaseCheck = 0
pUnit:RemoveEvents()
end
function Itharius_Death(pUnit, event)
deathcheck = 1
pUnit:RemoveEvents()
duplicateIntro = 0
phaseCheck = 0
pUnit:PlaySoundToSet(10447)
pUnit:SendChatMessage(14, 0, "My death...means....little...")
print "Itharius has been defeated, deathcheck and duplicInt reset.."
end
function Itharius_Slay(pUnit, event)
if voiceCheck == 0 then
local selection = math.random(1,3)
if selection == 1 then
pUnit:SendChatMessage(14, 0, "You are....pathetic!")
end
if selection == 2 then
pUnit:SendChatMessage(14, 0, "Your death...is...amusing!")
end
if selection == 3 then
pUnit:SendChatMessage(14, 0, "You are a waist of my time!")
end
end
if voiceCheck == 1 then
local selections = math.random(1,4)
if selections == 1 then
pUnit:PlaySoundToSet(10413)
pUnit:SendChatMessage(14, 0, "You have out stayed your welcome timekeeper! Be gone!")
end
if selections == 2 then
pUnit:PlaySoundToSet(10416)
pUnit:SendChatMessage(14, 0, "Leaving so soon?")
end
if selections == 3 then
pUnit:PlaySoundToSet(10425)
pUnit:SendChatMessage(14, 0, "You are irrelevant!")
end
if selections == 4 then
pUnit:PlaySoundToSet(10424)
pUnit:SendChatMessage(14, 0, "Struggle as much as you like!")
end
end
end
RegisterUnitEvent(425, 1, "IthariusPhase1")
RegisterUnitEvent(425, 2, "Itharius_Leave")
RegisterUnitEvent(425, 3, "Itharius_Slay")
RegisterUnitEvent(425, 4, "Itharius_Death")
SQL For Boss
Code:
=======================================================================
========================================
-- Hand of Itharius
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Hand of Itharius', '', '', '7', '0', '1', '20381', '0', '0', '0', '0', NULL, '479');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('92', '92', '1720', '257876', '257876', '0', '1', '0', '1500', '3000', '4000', '0', '0', '0', '0', '0', '0', '0', '45600', '0', '0', '0', '0', '0', '0', '0', '2', '1', '0', '0', '0', '0', '0', '2.5', '8', '14', '479');
================================================================================
===============================
-- Hand of Itharius Alternative
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Hand of Itharius', '', '', '7', '0', '1', '20381', '0', '0', '0', '0', NULL, '455');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('92', '92', '1720', '257876', '257876', '0', '1', '0', '1500', '3000', '4000', '0', '0', '0', '0', '0', '0', '0', '45600', '0', '0', '0', '0', '0', '0', '0', '2', '1', '0', '0', '0', '0', '0', '2.5', '8', '14', '455');
================================================================================
===============================
-- Portal Event
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Portal', '', '', '10', '0', '0', '9510', '0', '0', '0', '0', NULL, '457');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('80', '80', '35', '90000', '90000', '0', '2', '0', '1630', '77', '99.33', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '2.5', '8', '14', '457');
================================================================================
===============================
-- Demonic Minion
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Demonic Minion', 'Slave of Itharius', '', '3', '0', '1', '10992', '0', '0', '0', '0', NULL, '463');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('90', '93', '1394', '36344', '40423', '0', '4', '0', '1800', '2829', '3974', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '2', '5', '0', '0', '0', '0', '0', '4', '12', '14', '463');
================================================================================
===============================
-- Demonic Stalker
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Demonic Stalker', 'Slave of Itharius', '', '3', '0', '1', '10993', '0', '0', '0', '0', NULL, '477');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('90', '93', '1394', '26344', '30423', '23456', '5', '0', '1800', '2829', '3974', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '2', '5', '0', '0', '0', '0', '0', '4', '12', '14', '477');
================================================================================
===============================
-- Demonic Warrior
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `Leader`, `entry`) VALUES ('Demonic Warrior', 'Slave of Itharius', '', '3', '0', '1', '15301', '0', '0', '0', '0', NULL, '484');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `Faction`, `minhealth`, `maxhealth`, `mana`, `Scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `combat_reach`, `boss`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `auras`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('93', '96', '1394', '46344', '50423', '0', '0.5', '0', '1400', '2829', '3974', '0', '0', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '4', '12', '14', '484');
================================================================================
===============================
-- Itharius
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Itharius Dawnstrider', '', '', '10', '0', '3', '22586', '0', '0', '0', '0', '1', '425');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('96', '96', '1394', '3400000', '3400000', '100', '1.6', '0', '1600', '2435', '4325', '0', '0', '0', '0', '0', '34114', '0', '36000', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', '2.5', '12', '14', '425');
UPDATE `creature_names` SET `name` = 'Itharius Dawnstrider', `subname` = '', `info_str` = '', `type` = '10', `family` = '0', `rank` = '3', `male_displayid` = '22586', `female_displayid` = '0', `male_displayid2` = '0', `female_displayid2` = '0', `civilian` = '0', `leader` = '1' WHERE `entry` = 425 LIMIT 1;
UPDATE `creature_proto` SET `minlevel` = '96', `maxlevel` = '96', `faction` = '1394', `minhealth` = '2000000', `maxhealth` = '2000000', `mana` = '2452000', `scale` = '1.6', `npcflags` = '0', `attacktime` = '1600', `mindamage` = '2435', `maxdamage` = '4325', `rangedattacktime` = '0', `rangedmindamage` = '0', `rangedmaxdamage` = '0', `mountdisplayid` = '0', `equipmodel1` = '42183', `equipmodel2` = '0', `equipmodel3` = '0', `respawntime` = '56000', `armor` = '1253', `resistance1` = '0', `resistance2` = '0', `resistance3` = '0', `resistance4` = '0', `resistance5` = '0', `resistance6` = '0', `combat_reach` = '2', `bounding_radius` = '0', `auras` = '0', `boss` = '1', `money` = '0', `invisibility_type` = '0', `death_state` = '0', `walk_speed` = '2.5', `run_speed` = '12', `fly_speed` = '14' WHERE `entry` = 425 LIMIT 1;