Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. local npcId = 200000
  2.  
  3. function OnEnterCombat(event, creature, victim)
  4.    creature:SendUnitYell("You are kidding... Right?", 0)
  5.    creature:RegisterEvent(ShadowCleave, 7000, 0)
  6.    creature:RegisterEvent(SpinToWin, 25000, 0)
  7.    creature:RegisterEvent(VenomThrow, 20000, 0)
  8.    creature:RegisterEvent(TeleportPlayerActivateObject, 10000, 0)
  9.    creature:RegisterEvent(OnChangeState, 15000, 0)
  10.    creature:RegisterEvent(OnCheckHealth, 1000, 0)
  11. end
  12.  
  13. function OnCheckHealth(event, delay, pCall, creature)
  14.     if (creature:GetHealthPct() <= 75) then
  15.     creature:RemoveEventById(event)
  16.     creature:SendUnitYell("You are kidding... Maybe?", 0)
  17.     creature:RegisterEvent(ShadowCleave, 5000, 0)
  18.     creature:RegisterEvent(VenomThrow, 10000, 0)
  19.     creature:RegisterEvent(DeadlyThrow, 30000, 0)
  20.         creature:RegisterEvent(TeleportPlayer, 30000, 0)
  21.     creature:RegisterEvent(OnCheckHealth1, 1000, 0)
  22.     end
  23. end
  24.  
  25. function OnCheckHealth1(event, delay, pCall, creature)
  26.     creature:RemoveEventById(event)
  27.     local target = creature:GetAITarget(3, true)
  28.     if (creature:GetHealthPct() <= 25) then
  29.         creature:CastSpell(target, 40000)
  30.     end
  31. end
  32.  
  33.  
  34. function ShadowCleave(event, delay, pCall, creature)
  35.     creature:CastSpell(creature:GetVictim(), 69492, true)
  36. end
  37.  
  38. function SpinToWin(event, delay, pCall, creature)
  39.     creature:CastSpell(creature:GetVictim(), 50228, true)
  40. end
  41.  
  42. function VenomThrow(event, delay, pCall, creature)
  43.     creature:CastSpell(creature:GetAITarget(0, true), 72334, true)
  44. end
  45.  
  46. function TeleportPlayerActivateObject(event, delay, pCall, creature)
  47.     local target = creature:GetAITarget(0, true)
  48.     if (target ~= nil) then
  49.         target:Teleport(36, -51, -819.77, 51.8, 1) -- MapId, X, Y, Z, O
  50.         local go = target:GetNearestGameObject(186859, 50) -- GameObject Entry, Radius
  51.         if (go ~= nil) then
  52.             go:SetGoState(0)
  53.             CreateLuaEvent(function() OnChangeState(go) end, 5000, 1) -- Only calls once
  54.         end
  55.     end
  56. end
  57.  
  58. function OnChangeState(go)
  59.     go:SetGoState(1)
  60. end
  61.  
  62.  
  63.  
  64. function DeadlyThrow(event, delay, pCall, creature)
  65.     creature:CastSpell(creature:GetAITarget(0, true), 52885, true)
  66. end
  67.  
  68. function OnLeaveCombat(event, creature)
  69.     creature:RemoveEvents()
  70.     creature:SendUnitYell("Bring a challenge next time!", 0)
  71.     creature:CastSpell(creature, 23965, true)
  72. end
  73.  
  74. function OnTargetDied(event, creature, victim)
  75.     creature:SendUnitYell("Seems like you are the weakest link!", 0)
  76. end
  77.  
  78. function OnDied(event, creature, killer)
  79.     creature:RemoveEvents()
  80.     creature:SendUnitYell("This is just the... Beginning!", 0)
  81. end
  82.  
  83. RegisterCreatureEvent(npcId, 1, OnEnterCombat)
  84. RegisterCreatureEvent(npcId, 2, OnLeaveCombat)
  85. RegisterCreatureEvent(npcId, 3, OnTargetDied)
  86. RegisterCreatureEvent(npcId, 4, OnDied)