Code:
local TheStarter = 319781
local YourTeamGuy = 319782
local BadGuy = 319783
local ControllNpc = 319784
local RockOn = 11803 -- If you want your event to be more blizzlike, set this to 0
pUnit:GossipCreateMenu(50121, player, 0)
pUnit:GossipMenuAddItem(9, "Start the Arena Event!", 1, 0)
pUnit:GossipMenuAddItem(0, "Wait a bit longer.", 2, 0)
pUnit:GossipSendMenu(player)
end
function aggMedivh_OnGossipSelect(pUnit, event, player, id, intid, code)
if (intid == 1) then
player:SendBroadcastMessage("Get inside the arena!")
player:SendAreaTriggerMessage("Get inside the arena!")
pUnit:CastSpell(47820)
pUnit:SpawnCreature(YourTeamGuy, -13216, 247, 22, 1.126259, 35, 0);
pUnit:Despawn(2,0)
pUnit:GossipComplete(player)
end
if (intid == 2) then
pUnit:GossipComplete(player)
player:SendBroadcastMessage("Take your time.")
player:SendAreaTriggerMessage("Take your time.")
end
end
RegisterUnitGossipEvent(TheStarter, 1, "aggMedivh_OnGossipTalk")
RegisterUnitGossipEvent(TheStarter, 2, "aggMedivh_OnGossipSelect")
RegisterUnitEvent(TheStarter, 18, "GossipTalk")
function GossipTalk(pUnit, Event)
pUnit:RegisterEvent("TalkerTalk", 15000, 0)
end
function TalkerTalk(pUnit, Event)
pUnit:RegisterEvent("TalkTalkTalkTalk", 30000, 0)
end
function TalkTalkTalkTalk(pUnit, Event)
pUnit:RemoveEvents()
pUnit:RegisterEvent("TalkTalkTalkTalkTalk", 8000, 0)
pUnit:SendChatMessage(14, 0, "Welcome to the Gurubashi Arena!")
end
function TalkTalkTalkTalkTalk(pUnit, Event)
pUnit:RemoveEvents()
pUnit:RegisterEvent("TalkTalkTalkTalkTalkTalk", 10000, 0)
pUnit:SendChatMessage(12, 0, "There are a few things you need to know. First, when you start the event, monsters will attack you in the arena. You must kill them all, if you do, you get a prize!")
end
function TalkTalkTalkTalkTalkTalk(pUnit, Event)
pUnit:RemoveEvents()
pUnit:RegisterEvent("TalkTalkTalkTalkTalkTalkTalk", 8000, 0)
pUnit:SendChatMessage(12, 0, "If you lose the event, there will be a long wait before you can start again.")
end
function TalkTalkTalkTalkTalkTalkTalk(pUnit, Event)
pUnit:RemoveEvents()
pUnit:RegisterEvent("TalkTalkTalkTalk", 30000, 0)
pUnit:SendChatMessage(12, 0, "I hope you have a good time! The last person who tried ended up with twenty Murlocs eating his crotch!")
end
function zzzServant_Start(pUnit, Event)
Friend=pUnit;
pUnit:PlaySoundToSet(12825)
pUnit:SendChatMessage(14, 0, "Come on; get in the arena you idiots!")
pUnit:RegisterEvent("AppearAppear", 5000, 0)
end
function AppearAppear(pUnit, Event)
pUnit:RemoveEvents()
pUnit:SpawnCreature(BadGuy, -13203, 281, 22, 5.936259, 35, 0);
pUnit:SpawnCreature(ControllNpc, -13203, 281, 22, 4.326259, 35, 5000);
pUnit:RegisterEvent("ThreatenHim", 5000, 0)
end
function ThreatenHim(pUnit, Event)
pUnit:RemoveEvents()
pUnit:SendChatMessage(12, 0, "You know I am here to finish you off.")
pUnit:MoveTo(-13212.1, 259.282990, 21.857899, 1.201352)
pUnit:RegisterEvent("AttackHimBack", 1000, 0)
end
function AttackHimBack(pUnit, Event)
pUnit:RemoveEvents()
pUnit:FullCastSpellOnTarget(37992, Foe)
end
function ServantLeave(pUnit, Event)
pUnit:Despawn(2,0)
end
RegisterUnitEvent(YourTeamGuy, 18, "zzzServant_Start")
RegisterUnitEvent(YourTeamGuy, 4, "ServantLeave")
function zzzBoss_Start(Unit, Event)
Unit:SetScale(0.01)
Unit:RegisterEvent("GetBig", 1000, 0)
end
function GetBig(Unit, Event)
Unit:RemoveEvents()
Unit:SetScale(1)
Foe=Unit;
Unit:SendChatMessage(14, 0, "Why have I been called?")
Unit:CastSpell(28524)
Unit:MoveTo(-13204.5, 278.282990, 21.857899, 4.377660)
Unit:RegisterEvent("HostileA", 12000, 0)
end
function HostileA(Unit, Event)
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "You shall die then!")
Unit:RegisterEvent("HostileB", 1000, 0)
Unit:RegisterEvent("HostileC", 5000, 0)
end
function HostileB(Unit, Event)
Unit:FullCastSpellOnTarget(31984, Friend)
end