--[[
Custom Illidan Script
By Wx2
Thanks for trying my script out!
It's many locals incase you wish to change the spells to something else :)
]]--
local IllidanID = ID ---> Your Desired Illidan ID
local FlamesofAzerothID = ID ---> Your Desired Flames of Azeroth ID
local Faction = FacID ---> Enter the Minions Faction here
local SpawnTime = Time ---> Enter the Spawntime of FlamesofAzeroth in Milliseconds
local FlameCrash = ID ---> FlameCrash Spell ID
local DrawSoul = ID ---> Draw Soul Spell ID
local ShadowBlast = ID ---> ShadowBlast Spell ID
local FireBall = ID ---> FireBall Spell ID
local EyeBeam = ID ---> EyeBeam Spell ID
local EnRage = ID ---> Enrage Spell ID
local Soaring = ID ---> Soaring Spell ID
local ShadowBolt = ID ---> ShadowBolt Spell ID
local ShadowStep = ID ---> ShadowStep Spell ID
local FlameBreath = ID ---> FlameBreath Spell ID
function Illidan_OnCombat(pUnit, event, player)
pUnit:SendChatMessage(14, 0, "Prepare to meet your end, I will crush you!)
pUnit:RegisterEvent(Illidan_FlameCrash, 2500, 0)
pUnit:RegisterEvent(Illidan_DrawSoul, 13000, 2)
pUnit:RegisterEvent(Illidan_ShadowBlast, 15000, 1)
pUnit:RegisterEvent(Illidan_FireBall, 5000, 0)
pUnit:RegisterEvent(Illidan_EyeBeam, 32000, 2)
pUnit:RegisterEvent(Illidan_Phase2, 1000, 0)
end
function Illidan_FlameCrash(pUnit, event)
pUnit:FullCastSpellOnTarget(FlameCrash, pUnit:GetMainTank())
end
function Illidan_DrawSoul(pUnit, event)
pUnit:FullCastSpellOnTarget(DrawSoul, pUnit:GetRandomPlayer(2))
end
function Illidan_ShadowBlast(pUnit, event)
pUnit:FullCastSpellOnTarget(ShadowBlast, pUnit:GetMainTank())
end
function Illidan_FireBall(pUnit, event)
pUnit:FullCastSpellOnTarget(FireBall, pUnit:GetRandomPlayer(4))
end
function Illidan_EyeBeam(pUnit, event)
pUnit:FullCastSpellOnTarget(EyeBeam, pUnit:GetRandomPlayer(0))
end
function Illidan_Phase2(pUnit, event)
if pUnit:GetHealthPct() <= 75 then
pUnit:RemoveEvents()
pUnit:SendAreaTriggerMessage("Illidan is now entering Second Phase")
pUnit:SendChatMessage(14, 0, "So you survived this far? I'll not let you get any further!")
pUnit:CastSpell(EnRage)
pUnit:RegisterEvent(Illidan_FlameCrash2, 4000, 0)
pUnit:RegisterEvent(Illidan_Soaring, 20000, 0)
pUnit:RegisterEvent(Illidan_FireBall2, 6000, 4)
pUnit:RegisterEvent(Illidan_ShadowBolt, 10000, 1)
pUnit:RegisterEvent(Illidan_ShadowStep, 30000, 4)
pUnit:RegisterEvent(Illidan_EyeBeam2, 25000, 2)
pUnit:RegisterEvent(Illidan_Phase3, 1000, 0)
end
end
function Illidan_FlameCrash2(pUnit, event)
pUnit:FullCastSpellOnTarget(FlameCrash, pUnit:GetRandomPlayer(0))
end
function Illidan_Soaring(pUnit, event)
pUnit:FullCastSpellOnTarget(Soaring, pUnit:GetRandomPlayer(0))
end
function Illidan_FireBall2(pUnit, event)
pUnit:FullCastSpellOnTarget(FireBall, pUnit:GetRandomPlayer(1))
end
function Illidan_ShadowBolt(pUnit, event)
pUnit:FullCastSpellOnTarget(ShadowBolt, pUnit:GetRandomPlayer(4))
end
function Illidan_ShadowStep(pUnit, event)
pUnit:FullCastSpellOnTarget(ShadowStep, pUnit:GetRandomPlayer(3))
end
function Illidan_EyeBeam2(pUnit, event)
pUnit:FullCastSpellOnTarget(EyeBeam, pUnit:GetMainTank())
end
function Illidan_Phase3(pUnit, event)
if pUnit:GetHealthPct() <= 50 then
pUnit:RemoveEvents()
pUnit:SendAreaTriggerMessage("Illidan is now entering Third Phase!")
pUnit:SendChatMessage(14, 0, "What? So you belive you can defeat me? I will never get defeated!")
pUnit:CastSpell(EnRage)
pUnit:RegisterEvent(Illidan_Fireball3, 5000, 0)
pUnit:RegisterEvent(Illidan_FlameBreath, 7500, 1)
pUnit:RegisterEvent(Illidan_EyeBeam3, 13000, 1)
pUnit:RegisterEvent(Illidan_Soaring2, 30000, 2)
pUnit:RegisterEvent(Illidan_Suffering, 27000, 1)
pUnit:RegisterEvent(Illidan_SpawnMinions, 2000, 1)
pUnit:RegisterEvent(Illidan_Phase4, 1000, 0)
end
function Illidan_Fireball3(pUnit, event)
pUnit:FullCastSpellOnTarget(FireBall, pUnit:GetRandomPlayer(3))
end
function Illidan_FlameBreath(pUnit, event)
pUnit:FullCastSpellOnTarget(FlameBreath, pUnit:GetMainTank())
end
function Illidan_EyeBeam3(pUnit, event)
pUnit:FullCastSpellOnTarget(EyeBeam, pUnit:GetRandomPlayer(4))
end
function Illidan_Soaring2(pUnit, event)
pUnit:FullCastSpellOnTarget(Soaring, pUnit:GetRandomPlayer(5))
pUnit:SendChatMessage(14, 0, "Be gone!")
end
function Illidan_Suffering(pUnit, event)
pUnit:FullCastSpellOnTarget(Suffering, pUnit:GetAddTank())
end
local x = pUnit:GetX()
local y = pUnit:GetY()
local z = pUnit:GetZ()
local o = pUnit:GetO()
function Illidan_SpawnMinions(pUnit, event)
pUnit:SendChatMessage(14, 0, "Attack my minions! I cannot accept failure, slay them all! Dont let anyone survive!")
pUnit:SpawnCreature(FlamesofAzerothID, x+2, y+2, z, o+2,5, Faction, SpawnTime)
pUnit:SpawnCreature(FlamesofAzerothID, x+3, y, z, o+6, Faction, SpawnTime