Advertisement
EmuDevs

EmuDevs: Eluna - Creature AI RegisterEvent

Nov 5th, 2013
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. local npcId = 90000
  2.  
  3. function OnReset(event, creature)
  4. creature:AddAura(30000, creature)
  5. end
  6.  
  7. function OnEnterCombat(event, creature, target)
  8. creature:CastSpell(target, 20000, true)
  9. creature:RegisterEvent(OnScaleChange, 1000, 1)
  10. creature:RegisterEvent(OnCheckHealth, 1000, 0)
  11. end
  12.  
  13. function OnScaleChange(event, delay, pCall, creature)
  14. creature:RemoveEventById(event)
  15. creature:SetScale(2)
  16. end
  17.  
  18. function OnCheckHealth(event, delay, pCall, creature)
  19. if (creature:GetHealthPct() <= 75) then
  20. creature:RemoveEventById(event)
  21. creature:CastSpell(creature:GetVictim(), 40000)
  22. end
  23. end
  24.  
  25. function OnLeaveCombat(event, creature)
  26. creature:RemoveEvents()
  27. creature:SendUnitYell("Haha, I'm out of combat!", 0)
  28. end
  29.  
  30. function OnTargetDied(event, creature, target)
  31. creature:SendUnitYell("I killed you!", 0)
  32. end
  33.  
  34. function OnDied(event, creature, killer)
  35. creature:RemoveEvents()
  36. creature:SendUnitYell("Haha, I'm dead!", 0)
  37. end
  38.  
  39. RegisterCreatureEvent(npcId, 1, OnEnterCombat)
  40. RegisterCreatureEvent(npcId, 2, OnLeaveCombat)
  41. RegisterCreatureEvent(npcId, 3, OnTargetDied)
  42. RegisterCreatureEvent(npcId, 4, OnDied)
  43. RegisterCreatureEvent(npcId, 23, OnReset)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement