alostscout433089.lua 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --[[
  2. Script Name : SpawnScripts/QueensColony/alostscout433089.lua
  3. Script Purpose : Waypoint Path for alostscout433089.lua
  4. Script Author : Jabantiz (movement by Rylec)
  5. Script Date : 06-01-2020 10:07:17
  6. Script Notes : Locations collected from Live
  7. --]]
  8. local JoiningTheForwardRanks = 163
  9. function spawn(NPC)
  10. waypoints(NPC)
  11. end
  12. function hailed(NPC, Spawn)
  13. FaceTarget(NPC, Spawn)
  14. end
  15. function respawn(NPC)
  16. spawn(NPC)
  17. end
  18. function waypoints(NPC)
  19. MovementLoopAddLocation(NPC, 242.24, -6.97, 106.38, 2, math.random(14, 28))
  20. MovementLoopAddLocation(NPC, 244.65, -7.22, 90.01, 2, math.random(14, 28))
  21. MovementLoopAddLocation(NPC, 243.37, -6.35, 116.19, 2, 0)
  22. MovementLoopAddLocation(NPC, 247.17, -6.13, 120.43, 2, 0)
  23. MovementLoopAddLocation(NPC, 263.4, -6.36, 122.58, 2, math.random(14, 28))
  24. MovementLoopAddLocation(NPC, 238.97, -6.43, 111.41, 2, 0)
  25. MovementLoopAddLocation(NPC, 236.25, -6.67, 109.33, 2, 0)
  26. MovementLoopAddLocation(NPC, 227.28, -6.15, 106.29, 2, math.random(14, 28))
  27. MovementLoopAddLocation(NPC, 244.64, -4.43, 63.82, 2, 0)
  28. MovementLoopAddLocation(NPC, 247, -4.46, 60.16, 2, 0)
  29. MovementLoopAddLocation(NPC, 255.99, -4.3, 35.58, 2, math.random(14, 28))
  30. MovementLoopAddLocation(NPC, 238.51, -6.76, 100.79, 2, math.random(14, 28))
  31. MovementLoopAddLocation(NPC, 239.54, -6.93, 95.39, 2, math.random(14, 28))
  32. MovementLoopAddLocation(NPC, 252.13, -6.72, 114.25, 2, math.random(14, 28))
  33. end
  34. function casted_on(NPC, Spawn, Message)
  35. local Cleric = GetSpawn(NPC, 2530111)
  36. if Message == "Divine Smite" and CompareSpawns(Spawn, Cleric) then
  37. local newScout = SpawnMob(GetZone(NPC), 2530196, false, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC))
  38. if newScout ~= nil then
  39. CopySpawnAppearance(newScout, NPC)
  40. SpawnSet(newScout, "visual_state", "0")
  41. SpawnSet(newScout, "attackable", "false")
  42. AddTimer(newScout, 5000, "Speak")
  43. end
  44. local mostHated = GetMostHated(NPC)
  45. if mostHated ~= nil and IsPlayer(mostHated) then
  46. if HasQuest(mostHated, JoiningTheForwardRanks) and GetQuestStep(mostHated, JoiningTheForwardRanks) == 2 then
  47. AddStepProgress(mostHated, JoiningTheForwardRanks, 2, 1)
  48. end
  49. end
  50. Despawn(NPC)
  51. end
  52. end
  53. function aggro(NPC, Spawn)
  54. local chance = math.random(1, 100)
  55. if chance <= 10 then
  56. local choice = math.random(1, 3)
  57. if choice == 1 then
  58. PlayFlavor(NPC, "voiceover/english/halfling_base_1/ft/halfling/halfling_base_1_1_aggro_gm_2f9edb08.mp3", "You'll never get the drop on a halfling!", "", 252597960, 759690529, Spawn)
  59. elseif choice == 2 then
  60. PlayFlavor(NPC, "voiceover/english/halfling_base_1/ft/halfling/halfling_base_1_1_aggro_gm_7434777c.mp3", "Help! Intruders! Someone get the guard!", "", 2664487555, 1568864156, Spawn)
  61. else
  62. PlayFlavor(NPC, "voiceover/english/halfling_base_1/ft/halfling/halfling_base_1_1_aggro_gm_7b251faa.mp3", "Try to sneak into my home, will ya!", "", 100218096, 392363658, Spawn)
  63. end
  64. end
  65. end