Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local npcid = 200003
- function HexTroll_OnDeath(pUnit, Event, pLastTarget)
- pUnit:SendChatMessage(12, 0, "No! The plan ... can not fail...")
- pUnit:RemoveEvents()
- end
- function HexTroll_OnLeave(pUnit, Event, pLastTarget)
- if pUnit:IsAlive() == true then
- pUnit:SendChatMessage(14, 0, "Hohohohoho! Better luck in your next life, weaklings!")
- pUnit:RemoveEvents()
- end
- end
- function HexTroll_OnKilled(pUnit, Event, pDied)
- local rnd = math.random (1, 2)
- if rnd == 1 then
- pUnit:SendChatMessage(14, 0, "One down, YOU ALL DOWN!")
- end
- if rnd == 2 then
- pUnit:SendChatMessage(14, 0, "Let the spirits dance!")
- end
- pUnit:RegisterEvent("HexTroll_Volley", 1000, 1)
- end
- RegisterUnitEvent(npcid,4,"HexTroll_OnDeath")
- RegisterUnitEvent(npcid,2,"HexTroll_OnLeave")
- RegisterUnitEvent(npcid,3,"HexTroll_OnKilled")
- RegisterUnitEvent(npcid,1,"HexTroll_OnCombat")
- function HexTroll_OnCombat(pUnit, Event, pAttacker)
- pUnit:SendChatMessage(12, 0, "You carry bad mojo!")
- pUnit:RegisterEvent("HexTroll_PhaseOne", 1000, 0)
- end
- function HexTroll_PhaseOne(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 96 then
- pUnit:RemoveEvents()
- pUnit:SendChatMessage(14, 0, "Elements of Fire, guide me!")
- pUnit:RegisterEvent("HexTroll_BlastWave", 8000, 0)
- pUnit:RegisterEvent("HexTroll_Buffet", 5000, 0)
- end
- pUnit:RegisterEvent("HexTroll_PhaseTwo", 1000, 0)
- end
- function HexTroll_PhaseTwo(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 83 then
- pUnit:RemoveEvents()
- pUnit:SendChatMessage(14, 0, "Elements of Air, I call upon you!")
- pUnit:RegisterEvent("HexTroll_WindCC", 7000, 0)
- pUnit:CastSpell(43547)
- end
- pUnit:RegisterEvent("HexTroll_PhaseThree", 1000, 0)
- end
- function HexTroll_PhaseThree(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 72 then
- pUnit:RemoveEvents()
- pUnit:RemoveAura(43547)
- pUnit:SendChatMessage(14, 0, "Elements of Earth, aid your master!")
- pUnit:RegisterEvent("HexTroll_EarthShock", 4000, 0)
- pUnit:RegisterEvent("HexTroll_Earthquake", 10000, 0)
- end
- pUnit:RegisterEvent("HexTroll_PhaseFour", 1000, 0)
- end
- function HexTroll_PhaseFour(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 61 then
- pUnit:RemoveEvents()
- pUnit:SendChatMessage(14, 0, "Elements of Water, lend me your hand!")
- pUnit:RegisterEvent("HexTroll_WaterSpit", 8000, 0)
- pUnit:RegisterEvent("HexTroll_WaterVolley", 1500, 0)
- end
- pUnit:RegisterEvent("HexTroll_PhaseFive", 1000, 0)
- end
- function HexTroll_PhaseFive(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 50 then
- pUnit:RemoveEvents()
- pUnit:SendChatMessage(12, 0, "Seems like I'm no match for you with my shamanistic powers. Very well then, prepare yourself to witness my true power!")
- pUnit:RegisterEvent("HexTroll_HitCurse", 20000, 0)
- pUnit:RegisterEvent("HexTroll_Pain", 7000, 0)
- pUnit:RegisterEvent("HexTroll_Mortal", 5000, 0)
- end
- pUnit:RegisterEvent("HexTroll_PhaseSix", 1000, 0)
- end
- function HexTroll_PhaseSix(pUnit, Event, pAttacker)
- if pUnit:GetHealthPct() <= 25 then
- pUnit:RemoveEvents()
- pUnit:SendChatMessage(14, 0, "Spirits! Awaken! Hear your master's call!")
- pUnit:SpawnCreature (200004, -11805.550781, -1624.316406, 21.149282, 5.368999, 14 ,300000);
- pUnit:SpawnCreature (200005, -11771.710938, -1622.049561, 21.145710, 4.110792, 14 ,300000);
- pUnit:SpawnCreature (200006, -11769.152344, -1670.152344, 21.143114, 2.477162, 14 ,300000);
- pUnit:SpawnCreature (200007, -11805.509766, -1671.105347, 21.143028, 0.819972, 14 ,300000);
- pUnit:RegisterEvent("HexTroll_Mortal", 5000, 0)
- end
- pUnit:RegisterEvent("HexTroll_SoftEnrage", 300000, 0)
- end
- function HexTroll_SoftEnrage(pUnit, Event, pAttacker)
- pUnit:CastSpell(26662)
- end
- function HexTroll_WaterVolley(pUnit, Event, pAttacker)
- pUnit:CastSpell(34449)
- end
- function HexTroll_Mortal(pUnit, Event, pAttacker)
- if (pUnit:GetMainTank() ~=nil) then
- pUnit:CastSpellOnTarget(25646, pUnit:GetMainTank())
- end
- end
- function HexTroll_Pain(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(19776, pUnit:GetRandomPlayer(0))
- end
- end
- function HexTroll_HitCurse(pUnit, Event, pAttacker)
- if (pUnit:GetMainTank() ~=nil) then
- pUnit:CastSpellOnTarget(31651, pUnit:GetMainTank())
- end
- end
- function HexTroll_WaterSpit(pUnit, Event, pAttacker)
- if (pUnit:GetMainTank() ~=nil) then
- pUnit:FullCastSpellOnTarget(40086, pUnit:GetMainTank())
- end
- end
- function HexTroll_Earthquake(pUnit, Event, pAttacker)
- pUnit:CastSpell(19798)
- end
- function HexTroll_EarthShock(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(22885, pUnit:GetRandomPlayer(0))
- end
- end
- function HexTroll_WindCC(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(25189, pUnit:GetRandomPlayer(0))
- end
- end
- function HexTroll_BlastWave(pUnit, Event, pAttacker)
- if (pUnit:GetMainTank(0) ~=nil) then
- pUnit:CastSpellOnTarget(16046, pUnit:GetMainTank(0))
- end
- end
- function HexTroll_Buffet(pUnit, Event, pAttacker)
- pUnit:CastSpell(23341)
- end
- function HexTroll_Volley(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(45031, pUnit:GetRandomPlayer(0))
- end
- end
- ------- SPIRITS ------- SPIRITS ---------- SPIRITS ---------- SPIRITS ------
- ---------------------------------ANGER-----------------------------------
- function SpiritofAnger_Combat(pUnit, Event, pAttacker)
- pUnit:SendChatMessage(12, 0, "Anger Released.")
- pUnit:RegisterEvent("Anger_Curse", 5000, 0)
- end
- function AngerLoad(pUnit, Event)
- pUnit:CreateWaypoint(-11769.152344, -1670.152344, 21.143114, 2.477162, 1000, 256, 0)
- end
- function Angerwalk(pUnit, Event, WaypointId)
- pUnit:MoveToWaypoint(1)
- end
- function SpiritofAnger_Death(pUnit, Event, pLastTarget)
- pUnit:SendChatMessage(12, 0, "Anger Consumed.")
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- function SpiritofAnger_Leave(pUnit, Event, pLastTarget)
- if pUnit:IsAlive() == true then
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- end
- function Anger_Curse(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(43439, pUnit:GetRandomPlayer(0))
- end
- end
- RegisterUnitEvent(200004,1,"SpiritofAnger_Combat")
- RegisterUnitEvent(200004,4,"SpiritofAnger_Death")
- RegisterUnitEvent(200004,2,"SpiritofAnger_Leave")
- RegisterUnitEvent(200004,18,"AngerLoad")
- RegisterUnitEvent(200004,19,"Angerwalk")
- ----------------------------------HATRED-----------------------------------
- function Hatred_Combat(pUnit, Event, pAttacker)
- pUnit:SendChatMessage(12, 0, "Can you handle it?")
- pUnit:RegisterEvent("Hatred_Curse", 10000, 0)
- end
- function HatredLoad(pUnit, Event)
- pUnit:CreateWaypoint(-11805.509766, -1671.105347, 21.143028, 0.819972, 1000, 256, 0)
- end
- function HatredWalk(pUnit, Event, WaypointId)
- pUnit:MoveToWaypoint(1)
- end
- function Hatred_Death(pUnit, Event, pLastTarget)
- pUnit:SendChatMessage(12, 0, "Hate.")
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- function Hatred_Leave(pUnit, Event, pLastTarget)
- if pUnit:IsAlive() == true then
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- end
- function Hatred_Curse(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(39647, pUnit:GetRandomPlayer(0))
- end
- end
- RegisterUnitEvent(200005,1,"Hatred_Combat")
- RegisterUnitEvent(200005,4,"Hatred_Death")
- RegisterUnitEvent(200005,2,"Hatred_Leave")
- RegisterUnitEvent(200005,19,"HatredWalk")
- RegisterUnitEvent(200005,18,"HatredLoad")
- ---------------------------FATALITY--------------------------
- function Fatality_Combat(pUnit, Event, pAttacker)
- pUnit:SendChatMessage(12, 0, "Time. To sleep.")
- pUnit:RegisterEvent("Fatality_Curse", 10000, 0)
- end
- function FatalityLoad(pUnit, Event)
- pUnit:CreateWaypoint(-11805.550781, -1624.316406, 21.149282, 5.368999, 1000, 256, 0)
- end
- function FatalityWalk(pUnit, Event, WaypointId)
- pUnit:MoveToWaypoint(1)
- end
- function Fatality_Death(pUnit, Event, pLastTarget)
- pUnit:SendChatMessage(12, 0, "Till we meet again.")
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- function Fatality_Leave(pUnit, Event, pLastTarget)
- if pUnit:IsAlive() == true then
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- end
- function Fatality_Curse(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(43364, pUnit:GetRandomPlayer(0))
- end
- end
- RegisterUnitEvent(200006,1,"Fatality_Combat")
- RegisterUnitEvent(200006,4,"Fatality_Death")
- RegisterUnitEvent(200006,2,"Fatality_Leave")
- RegisterUnitEvent(200006,19,"FatalityWalk")
- RegisterUnitEvent(200006,18,"FatalityLoad")
- ------------------------------CORRUPTION-------------------
- function CorrCombat(pUnit, Event, pAttacker)
- pUnit:SendChatMessage(12, 0, "Give in. To power.")
- pUnit:RegisterEvent("Corr_Corruption", 3000, 0)
- end
- function CorrLoad(pUnit, Event)
- pUnit:CreateWaypoint(-11771.710938, -1622.049561, 21.145710, 4.110792, 1000, 256, 0)
- end
- function CorrWalk(pUnit, Event, WaypointId)
- pUnit:MoveToWaypoint(1)
- end
- function CorrDeath(pUnit, Event, pLastTarget)
- pUnit:SendChatMessage(12, 0, "You will be back.")
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- function CorrLeave(pUnit, Event, pLastTarget)
- if pUnit:IsAlive() == true then
- pUnit:RemoveEvents()
- pUnit:Despawn(0, 0)
- end
- end
- function Corr_Corruption(pUnit, Event, pAttacker)
- if (pUnit:GetRandomPlayer(0) ~=nil) then
- pUnit:CastSpellOnTarget(37113, pUnit:GetRandomPlayer(0))
- end
- end
- RegisterUnitEvent(200007,1,"CorrCombat")
- RegisterUnitEvent(200007,4,"CorrDeath")
- RegisterUnitEvent(200007,2,"CorrLeave")
- RegisterUnitEvent(200007,19,"CorrWalk")
- RegisterUnitEvent(200007,18,"CorrLoad")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement