HTML Code:
--Written by Maven (AKA Deathdude or Maven01)
--[[ REMEMBER THIS FOR EDITING
pUnit:GetRandomPlayer(0) = Targets Random Player
pUnit:GetRandomPlayer(1) = Targets Player in Shortrange
pUnit:GetRandomPlayer( 2) = Targets Player in Midrange
pUnit:GetRandomPlayer(4) = Targets Player in Longrange
pUnit:GetRandomPlayer(4) = Targets Player with Mana
pUnit:GetRandomPlayer( 5) = Targets Player with Rage
pUnit:GetRandomPlayer(6) = Targets Player with Energy
pUnit:GetRandomPlayer(7) = Targets any player that is not Main Tank
pUnit:GetMainTank = Targets Main Tank
pUnit:GetAddTank = Targets Offtank
]]
local NPCID = NPCIDHERE
local Spell_1 = SpellIDHere --For Boss_1
local BuffSelf = SpellIDHere --For Boss_2
local Spell_2 = SpellIDHere --For Boss_3
local MessageBegin = "Enter Text Here"
function Boss_OnCombat(pUnit, Event)
Phase = math.random(1,3)
if Phase == 1 then
pUnit:SendChatMessage(12, 0, MessageBegin)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Boss_1", math.random(1000, 30000), 0)
end
if Phase == 2 then
pUnit:SendChatMessage(12, 0, MessageBegin)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Boss_2", math.random(1000, 30000), 0)
end
if Phase == 3 then
pUnit:SendChatMessage(12, 0, MessageBegin)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Boss_3", math.random(1000, 30000), 0)
end
end
function Boss_1(pUnit, Event)
local plr = pUnit:GetMainTank()
if (plr ~= nil) then
pUnit:FullCastSpellOnTarget(Spell_1, plr)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Restart_Over", 1000, 0)
end
end
function Boss_2(pUnit, Event) --Makes Boss Buffself
pUnit:CastSpell(BuffSelf)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Restart_Over", 1000, 0)
end
function Boss_3(pUnit, Event)
local plr = pUnit:GetMainTank()
if (plr ~= nil) then
pUnit:CastSpellOnTarget(Spell_2, plr)
pUnit:RemoveEvents();
pUnit:RegisterEvent("Restart_Over", 1000, 0)
end
end
function Restart_Over(pUnit, Event)
local Phase = math.random(1,3)
if Phase == 1 then
pUnit:RegisterEvent("Boss_1", math.random(1000, 45000), 0)
end
if Phase == 2 then
pUnit:RegisterEvent("Boss_2", math.random(1000, 45000), 0)
end
if Phase == 3 then
pUnit:RegisterEvent("Boss_3", math.random(1000, 45000), 0)
end
end
local MessageEndCombat = "Enter Text Here"
local MessageOnDied = "Enter Text Here"
function Boss_OnLeaveCombat(pUnit, Event)
pUnit:SendChatMessage(12, 0, MessageEndCombat)
pUnit:RemoveEvents()
end
function Boss_OnDied(pUnit, Event)
pUnit:SendChatMessage(12, 0, MessageOnDied)
pUnit:RemoveEvents()
end
RegisterUnitEvent(NPCID, 1, "Boss_OnCombat")
RegisterUnitEvent(NPCID, 2, "Boss_OnLeaveCombat")
RegisterUnitEvent(NPCID, 3, "Boss_OnDied")
All credit goes to the creator of the script, for without it my bosses would not be possible.