---------------------------------------------------------------------
----------------------[Da_troll Script Body]-------------------------
---------------------------------------------------------------------
function Da_troll_Combat(pUnit, Event)
pUnit:PlaySoundToSet(11332)
pUnit:SendChatMessage(11, 0, "You want to fight da trolls?")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase2", 1000, 0)
end
function Da_troll_CurseOfVitality(pUnit, Event)
pUnit:PlaySoundToSet(11335)
pUnit:SendChatMessage(12, 0, "Kirel narok!.")
pUnit:FullCastSpellOnTarget(29567, pUnit:GetRandomPlayer(0))
end
function Da_troll_MindBlast(pUnit, Event)
pUnit:PlaySoundToSet(11334)
pUnit:SendChatMessage(12, 0, "All mortals will perish!")
pUnit:FullCastSpellOnTarget(41374, pUnit:GetRandomPlayer(0))
end
function Da_troll_Phase2(pUnit,Event)
if pUnit:GetHealthPct() <= 95 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase3", 1000, 0)
end
function Da_troll_Phase3(pUnit,Event)
if pUnit:GetHealthPct() <= 90 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase4", 1000, 0)
end
function Da_troll_Phase4(pUnit,Event)
if pUnit:GetHealthPct() <= 85 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase5", 1000, 0)
end
function Da_troll_Phase5(pUnit,Event)
if pUnit:GetHealthPct() <= 80 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase6", 1000, 0)
end
function Da_troll_Phase6(pUnit,Event)
if pUnit:GetHealthPct() <= 75 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase7", 1000, 0)
end
function Da_troll_Phase7(pUnit,Event)
if pUnit:GetHealthPct() <= 70 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase8", 1000, 0)
end
function Da_troll_Phase8(pUnit,Event)
if pUnit:GetHealthPct() <= 65 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase9", 1000, 0)
end
function Da_troll_Phase9(pUnit,Event)
if pUnit:GetHealthPct() <= 60 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase10", 1000, 0)
end
function Da_troll_Phase10(pUnit,Event)
if pUnit:GetHealthPct() <= 55 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase11", 1000, 0)
end
function Da_troll_Phase11(pUnit,Event)
if pUnit:GetHealthPct() <= 50 then
pUnit:RemoveEvents()
pUnit:CastSpell(40683)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:PlaySoundToSet(12021)
pUnit:SendChatMessage(12,0,"I fight wit' untamed spirit...")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase12", 1000, 0)
end
function Da_troll_Phase12(pUnit,Event)
if pUnit:GetHealthPct() <= 45 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase13", 1000, 0)
end
function Da_troll_Phase13(pUnit,Event)
if pUnit:GetHealthPct() <= 40 then
pUnit:RemoveEvents()
pUnit:PlaySoundToSet(11335)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(12, 0, "All life will be eradicated!")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase14", 1000, 0)
end
function Da_troll_Phase14(pUnit,Event)
if pUnit:GetHealthPct() <= 25 then
pUnit:RemoveEvents()
pUnit:CastSpell(40683)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:PlaySoundToSet(12021)
pUnit:SendChatMessage(12,0,"I fight wit' untamed spirit...")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase15", 1000, 0)
end
function Da_troll_Phase16(pUnit,Event)
if pUnit:GetHealthPct() <= 10 then
pUnit:RemoveEvents()
pUnit:CastSpell(40683)
pUnit:SetModel(23090)
pUnit:CastSpell(38533)
pUnit:CastSpell(38533)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:PlaySoundToSet(12022)
pUnit:SendChatMessage(12,0,"Spirit! Come back to me...")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase17", 1000, 0)
end
function Da_troll_Phase17(pUnit,Event)
if pUnit:GetHealthPct() <= 4 then
pUnit:RemoveEvents()
pUnit:CastSpell(1020)
pUnit:CastSpell(29564)
pUnit:CastSpell(29564)
pUnit:CastSpell(29564)
pUnit:CastSpell(29564)
pUnit:CastSpell(38533)
pUnit:CastSpell(38533)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
Unit:SendChatMessage(12,0,"You gonna fail!")
Unit:PlaySoundToSet(12027)
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase18", 1000, 0)
end
function Da_troll_Phase18(pUnit,Event)
if pUnit:GetHealthPct() <= 10 then
pUnit:RemoveEvents()
pUnit:CastSpell(40683)
pUnit:SetModel(23090)
pUnit:CastSpell(38533)
pUnit:CastSpell(38533)
pUnit:FullCastSpellOnTarget(31345, pUnit:GetRandomPlayer(0))
pUnit:PlaySoundToSet(12022)
pUnit:SendChatMessage(12,0,"Spirit! Come back to me...")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase19", 1000, 0)
end
function Da_troll_Phase19(pUnit,Event)
if pUnit:GetHealthPct() <= 4 then
pUnit:RemoveEvents()
pUnit:CastSpell(40647)
pUnit:FullCastSpellOnTarget(40647, pUnit:GetRandomPlayer(0))
pUnit:CastSpell(40647)
pUnit:PlaySoundToSet(50)
pUnit:SendChatMessage(12,0,"Spirit! Come back to me...")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
pUnit:RegisterEvent("Da_troll_Phase20", 1000, 0)
end
function Da_troll_Phase20(pUnit,Event)
if pUnit:GetHealthPct() <= 2 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(12,0,"When im down! Da trolls shall take over the world")
pUnit:RegisterEvent("Da_troll_CurseOfVitality", 10000, 0)
pUnit:RegisterEvent("Da_troll_MindBlast", 60000, 0)
end
---------------------------------------------------------------------
------------------------------[Restarts]-----------------------------
---------------------------------------------------------------------
function Da_troll_Leave(pUnit,Event)
pUnit:RemoveEvents()
end
function Da_troll_OnKill(Unit, event)
Killchoice=math.random()
if Killchoice > .5 then
Unit:SendChatMessage(12,0,"Ya can't fight da power!")
Unit:PlaySoundToSet(12026)
else
Unit:SendChatMessage(12,0,"You gonna fail!")
Unit:PlaySoundToSet(12027)
end
end
function Da_troll_onDie(pUnit,Event)
pUnit:SendChatMessage(12, 0, "Da trolls ... Shall ... take over ... da ... world!")
local x = pUnit:GetX();
local y = pUnit:GetY();
local z = pUnit:GetZ();
local o = pUnit:GetO();
pUnit:SpawnCreature(99998, x + 2, y + 5, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 4, y + 5, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 6, y + 5, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 8, y + 5, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 6, y + 2, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 6, y + 4, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 6, y + 6, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 6, y + 8, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 3, y + 4, z + 1, o, 17, 30000)
pUnit:SpawnCreature(99998, x + 1, y + 4, z + 1, o, 17, 30000)
end
end
end
---------------------------------------------------------------------
-------------------------[Restart Registers]----------------------
---------------------------------------------------------------------
RegisterUnitEvent(99999, 1, "Da_troll_Combat")
RegisterUnitEvent(99999, 2, "Da_troll_Leave")
RegisterUnitEvent(99999, 3, "Da_troll_Kill")
RegisterUnitEvent(99999, 4, "Da_troll_onDie")