Advertisement
Guest User

script working

a guest
Nov 1st, 2010
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.46 KB | None | 0 0
  1. local npcid = 200003
  2.  
  3. function HexTroll_OnDeath(pUnit, Event, pLastTarget)
  4. pUnit:SendChatMessage(12, 0, "No! The plan ... can not fail...")
  5. pUnit:RemoveEvents()
  6. end
  7.  
  8. function HexTroll_OnLeave(pUnit, Event, pLastTarget)
  9. if pUnit:IsAlive() == true then
  10. pUnit:SendChatMessage(14, 0, "Hohohohoho! Better luck in your next life, weaklings!")
  11. pUnit:RemoveEvents()
  12. end
  13. end
  14.  
  15. function HexTroll_OnKilled(pUnit, Event, pDied)
  16. local rnd = math.random (1, 2)
  17. if rnd == 1 then
  18. pUnit:SendChatMessage(14, 0, "One down, YOU ALL DOWN!")
  19. end
  20. if rnd == 2 then
  21. pUnit:SendChatMessage(14, 0, "Let the spirits dance!")
  22. end
  23. pUnit:RegisterEvent("HexTroll_Volley", 1000, 1)
  24. end
  25.  
  26. RegisterUnitEvent(npcid,4,"HexTroll_OnDeath")
  27. RegisterUnitEvent(npcid,2,"HexTroll_OnLeave")
  28. RegisterUnitEvent(npcid,3,"HexTroll_OnKilled")
  29. RegisterUnitEvent(npcid,1,"HexTroll_OnCombat")
  30.  
  31. function HexTroll_OnCombat(pUnit, Event, pAttacker)
  32. pUnit:SendChatMessage(12, 0, "You carry bad mojo!")
  33. pUnit:RegisterEvent("HexTroll_PhaseOne", 1000, 0)
  34. end
  35.  
  36. function HexTroll_PhaseOne(pUnit, Event, pAttacker)
  37. if pUnit:GetHealthPct() <= 96 then
  38. pUnit:RemoveEvents()
  39. pUnit:SendChatMessage(14, 0, "Elements of Fire, guide me!")
  40. pUnit:RegisterEvent("HexTroll_BlastWave", 8000, 0)
  41. pUnit:RegisterEvent("HexTroll_Buffet", 5000, 0)
  42. end
  43. pUnit:RegisterEvent("HexTroll_PhaseTwo", 1000, 0)
  44. end
  45.  
  46. function HexTroll_PhaseTwo(pUnit, Event, pAttacker)
  47. if pUnit:GetHealthPct() <= 83 then
  48. pUnit:RemoveEvents()
  49. pUnit:SendChatMessage(14, 0, "Elements of Air, I call upon you!")
  50. pUnit:RegisterEvent("HexTroll_WindCC", 7000, 0)
  51. pUnit:CastSpell(43547)
  52. end
  53. pUnit:RegisterEvent("HexTroll_PhaseThree", 1000, 0)
  54. end
  55.  
  56. function HexTroll_PhaseThree(pUnit, Event, pAttacker)
  57. if pUnit:GetHealthPct() <= 72 then
  58. pUnit:RemoveEvents()
  59. pUnit:RemoveAura(43547)
  60. pUnit:SendChatMessage(14, 0, "Elements of Earth, aid your master!")
  61. pUnit:RegisterEvent("HexTroll_EarthShock", 4000, 0)
  62. pUnit:RegisterEvent("HexTroll_Earthquake", 10000, 0)
  63. end
  64. pUnit:RegisterEvent("HexTroll_PhaseFour", 1000, 0)
  65. end
  66.  
  67. function HexTroll_PhaseFour(pUnit, Event, pAttacker)
  68. if pUnit:GetHealthPct() <= 61 then
  69. pUnit:RemoveEvents()
  70. pUnit:SendChatMessage(14, 0, "Elements of Water, lend me your hand!")
  71. pUnit:RegisterEvent("HexTroll_WaterSpit", 8000, 0)
  72. pUnit:RegisterEvent("HexTroll_WaterVolley", 1500, 0)
  73. end
  74. pUnit:RegisterEvent("HexTroll_PhaseFive", 1000, 0)
  75. end
  76.  
  77. function HexTroll_PhaseFive(pUnit, Event, pAttacker)
  78. if pUnit:GetHealthPct() <= 50 then
  79. pUnit:RemoveEvents()
  80. 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!")
  81. pUnit:RegisterEvent("HexTroll_HitCurse", 20000, 0)
  82. pUnit:RegisterEvent("HexTroll_Pain", 7000, 0)
  83. pUnit:RegisterEvent("HexTroll_Mortal", 5000, 0)
  84. end
  85. pUnit:RegisterEvent("HexTroll_PhaseSix", 1000, 0)
  86. end
  87.  
  88. function HexTroll_PhaseSix(pUnit, Event, pAttacker)
  89. if pUnit:GetHealthPct() <= 25 then
  90. pUnit:RemoveEvents()
  91. pUnit:SendChatMessage(14, 0, "Spirits! Awaken! Hear your master's call!")
  92. pUnit:SpawnCreature (200004, -11805.550781, -1624.316406, 21.149282, 5.368999, 14 ,300000);
  93. pUnit:SpawnCreature (200005, -11771.710938, -1622.049561, 21.145710, 4.110792, 14 ,300000);
  94. pUnit:SpawnCreature (200006, -11769.152344, -1670.152344, 21.143114, 2.477162, 14 ,300000);
  95. pUnit:SpawnCreature (200007, -11805.509766, -1671.105347, 21.143028, 0.819972, 14 ,300000);
  96. pUnit:RegisterEvent("HexTroll_Mortal", 5000, 0)
  97. end
  98. pUnit:RegisterEvent("HexTroll_SoftEnrage", 300000, 0)
  99. end
  100.  
  101. function HexTroll_SoftEnrage(pUnit, Event, pAttacker)
  102. pUnit:CastSpell(26662)
  103. end
  104.  
  105. function HexTroll_WaterVolley(pUnit, Event, pAttacker)
  106. pUnit:CastSpell(34449)
  107. end
  108.  
  109. function HexTroll_Mortal(pUnit, Event, pAttacker)
  110. if (pUnit:GetMainTank() ~=nil) then
  111. pUnit:CastSpellOnTarget(25646, pUnit:GetMainTank())
  112. end
  113. end
  114.  
  115. function HexTroll_Pain(pUnit, Event, pAttacker)
  116. if (pUnit:GetRandomPlayer(0) ~=nil) then
  117. pUnit:CastSpellOnTarget(19776, pUnit:GetRandomPlayer(0))
  118. end
  119. end
  120.  
  121. function HexTroll_HitCurse(pUnit, Event, pAttacker)
  122. if (pUnit:GetMainTank() ~=nil) then
  123. pUnit:CastSpellOnTarget(31651, pUnit:GetMainTank())
  124. end
  125. end
  126.  
  127. function HexTroll_WaterSpit(pUnit, Event, pAttacker)
  128. if (pUnit:GetMainTank() ~=nil) then
  129. pUnit:FullCastSpellOnTarget(40086, pUnit:GetMainTank())
  130. end
  131. end
  132.  
  133. function HexTroll_Earthquake(pUnit, Event, pAttacker)
  134. pUnit:CastSpell(19798)
  135. end
  136.  
  137.  
  138. function HexTroll_EarthShock(pUnit, Event, pAttacker)
  139. if (pUnit:GetRandomPlayer(0) ~=nil) then
  140. pUnit:CastSpellOnTarget(22885, pUnit:GetRandomPlayer(0))
  141. end
  142. end
  143.  
  144. function HexTroll_WindCC(pUnit, Event, pAttacker)
  145. if (pUnit:GetRandomPlayer(0) ~=nil) then
  146. pUnit:CastSpellOnTarget(25189, pUnit:GetRandomPlayer(0))
  147. end
  148. end
  149.  
  150. function HexTroll_BlastWave(pUnit, Event, pAttacker)
  151. if (pUnit:GetMainTank(0) ~=nil) then
  152. pUnit:CastSpellOnTarget(16046, pUnit:GetMainTank(0))
  153. end
  154. end
  155.  
  156. function HexTroll_Buffet(pUnit, Event, pAttacker)
  157. pUnit:CastSpell(23341)
  158. end
  159.  
  160. function HexTroll_Volley(pUnit, Event, pAttacker)
  161. if (pUnit:GetRandomPlayer(0) ~=nil) then
  162. pUnit:CastSpellOnTarget(45031, pUnit:GetRandomPlayer(0))
  163. end
  164. end
  165.  
  166. ------- SPIRITS ------- SPIRITS ---------- SPIRITS ---------- SPIRITS ------
  167.  
  168. ---------------------------------ANGER-----------------------------------
  169.  
  170. function SpiritofAnger_Combat(pUnit, Event, pAttacker)
  171. pUnit:SendChatMessage(12, 0, "Anger Released.")
  172. pUnit:RegisterEvent("Anger_Curse", 5000, 0)
  173. end
  174.  
  175. function AngerLoad(pUnit, Event)
  176. pUnit:CreateWaypoint(-11769.152344, -1670.152344, 21.143114, 2.477162, 1000, 256, 0)
  177. end
  178.  
  179. function Angerwalk(pUnit, Event, WaypointId)
  180. pUnit:MoveToWaypoint(1)
  181. end
  182.  
  183. function SpiritofAnger_Death(pUnit, Event, pLastTarget)
  184. pUnit:SendChatMessage(12, 0, "Anger Consumed.")
  185. pUnit:RemoveEvents()
  186. pUnit:Despawn(0, 0)
  187. end
  188.  
  189. function SpiritofAnger_Leave(pUnit, Event, pLastTarget)
  190. if pUnit:IsAlive() == true then
  191. pUnit:RemoveEvents()
  192. pUnit:Despawn(0, 0)
  193. end
  194. end
  195.  
  196. function Anger_Curse(pUnit, Event, pAttacker)
  197. if (pUnit:GetRandomPlayer(0) ~=nil) then
  198. pUnit:CastSpellOnTarget(43439, pUnit:GetRandomPlayer(0))
  199. end
  200. end
  201.  
  202. RegisterUnitEvent(200004,1,"SpiritofAnger_Combat")
  203. RegisterUnitEvent(200004,4,"SpiritofAnger_Death")
  204. RegisterUnitEvent(200004,2,"SpiritofAnger_Leave")
  205. RegisterUnitEvent(200004,18,"AngerLoad")
  206. RegisterUnitEvent(200004,19,"Angerwalk")
  207. ----------------------------------HATRED-----------------------------------
  208.  
  209. function Hatred_Combat(pUnit, Event, pAttacker)
  210. pUnit:SendChatMessage(12, 0, "Can you handle it?")
  211. pUnit:RegisterEvent("Hatred_Curse", 10000, 0)
  212. end
  213.  
  214. function HatredLoad(pUnit, Event)
  215. pUnit:CreateWaypoint(-11805.509766, -1671.105347, 21.143028, 0.819972, 1000, 256, 0)
  216. end
  217.  
  218. function HatredWalk(pUnit, Event, WaypointId)
  219. pUnit:MoveToWaypoint(1)
  220. end
  221.  
  222. function Hatred_Death(pUnit, Event, pLastTarget)
  223. pUnit:SendChatMessage(12, 0, "Hate.")
  224. pUnit:RemoveEvents()
  225. pUnit:Despawn(0, 0)
  226. end
  227.  
  228. function Hatred_Leave(pUnit, Event, pLastTarget)
  229. if pUnit:IsAlive() == true then
  230. pUnit:RemoveEvents()
  231. pUnit:Despawn(0, 0)
  232. end
  233. end
  234.  
  235. function Hatred_Curse(pUnit, Event, pAttacker)
  236. if (pUnit:GetRandomPlayer(0) ~=nil) then
  237. pUnit:CastSpellOnTarget(39647, pUnit:GetRandomPlayer(0))
  238. end
  239. end
  240.  
  241. RegisterUnitEvent(200005,1,"Hatred_Combat")
  242. RegisterUnitEvent(200005,4,"Hatred_Death")
  243. RegisterUnitEvent(200005,2,"Hatred_Leave")
  244. RegisterUnitEvent(200005,19,"HatredWalk")
  245. RegisterUnitEvent(200005,18,"HatredLoad")
  246. ---------------------------FATALITY--------------------------
  247.  
  248. function Fatality_Combat(pUnit, Event, pAttacker)
  249. pUnit:SendChatMessage(12, 0, "Time. To sleep.")
  250. pUnit:RegisterEvent("Fatality_Curse", 10000, 0)
  251. end
  252.  
  253. function FatalityLoad(pUnit, Event)
  254. pUnit:CreateWaypoint(-11805.550781, -1624.316406, 21.149282, 5.368999, 1000, 256, 0)
  255. end
  256.  
  257. function FatalityWalk(pUnit, Event, WaypointId)
  258. pUnit:MoveToWaypoint(1)
  259. end
  260.  
  261. function Fatality_Death(pUnit, Event, pLastTarget)
  262. pUnit:SendChatMessage(12, 0, "Till we meet again.")
  263. pUnit:RemoveEvents()
  264. pUnit:Despawn(0, 0)
  265. end
  266.  
  267. function Fatality_Leave(pUnit, Event, pLastTarget)
  268. if pUnit:IsAlive() == true then
  269. pUnit:RemoveEvents()
  270. pUnit:Despawn(0, 0)
  271. end
  272. end
  273.  
  274. function Fatality_Curse(pUnit, Event, pAttacker)
  275. if (pUnit:GetRandomPlayer(0) ~=nil) then
  276. pUnit:CastSpellOnTarget(43364, pUnit:GetRandomPlayer(0))
  277. end
  278. end
  279.  
  280. RegisterUnitEvent(200006,1,"Fatality_Combat")
  281. RegisterUnitEvent(200006,4,"Fatality_Death")
  282. RegisterUnitEvent(200006,2,"Fatality_Leave")
  283. RegisterUnitEvent(200006,19,"FatalityWalk")
  284. RegisterUnitEvent(200006,18,"FatalityLoad")
  285. ------------------------------CORRUPTION-------------------
  286.  
  287. function CorrCombat(pUnit, Event, pAttacker)
  288. pUnit:SendChatMessage(12, 0, "Give in. To power.")
  289. pUnit:RegisterEvent("Corr_Corruption", 3000, 0)
  290. end
  291.  
  292. function CorrLoad(pUnit, Event)
  293. pUnit:CreateWaypoint(-11771.710938, -1622.049561, 21.145710, 4.110792, 1000, 256, 0)
  294. end
  295.  
  296. function CorrWalk(pUnit, Event, WaypointId)
  297. pUnit:MoveToWaypoint(1)
  298. end
  299.  
  300. function CorrDeath(pUnit, Event, pLastTarget)
  301. pUnit:SendChatMessage(12, 0, "You will be back.")
  302. pUnit:RemoveEvents()
  303. pUnit:Despawn(0, 0)
  304. end
  305.  
  306. function CorrLeave(pUnit, Event, pLastTarget)
  307. if pUnit:IsAlive() == true then
  308. pUnit:RemoveEvents()
  309. pUnit:Despawn(0, 0)
  310. end
  311. end
  312.  
  313. function Corr_Corruption(pUnit, Event, pAttacker)
  314. if (pUnit:GetRandomPlayer(0) ~=nil) then
  315. pUnit:CastSpellOnTarget(37113, pUnit:GetRandomPlayer(0))
  316. end
  317. end
  318.  
  319. RegisterUnitEvent(200007,1,"CorrCombat")
  320. RegisterUnitEvent(200007,4,"CorrDeath")
  321. RegisterUnitEvent(200007,2,"CorrLeave")
  322. RegisterUnitEvent(200007,19,"CorrWalk")
  323. RegisterUnitEvent(200007,18,"CorrLoad")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement