RamiaSpattermot.lua 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. --[[
  2. Script Name : SpawnScripts/TempleSt/RamiaSpattermot.lua
  3. Script Author : Dorbin
  4. Script Date : 2023.10.28 04:10:22
  5. Script Purpose :
  6. :
  7. --]]
  8. dofile("SpawnScripts/Generic/GenericEcologyVoiceOvers.lua")
  9. dofile("SpawnScripts/Generic/UnknownLanguage.lua")
  10. function spawn(NPC)
  11. SetPlayerProximityFunction(NPC, 6, "InRange", "LeaveRange")
  12. waypoints(NPC)
  13. end
  14. function hailed(NPC, Spawn)
  15. FaceTarget(NPC, Spawn)
  16. if not HasLanguage(Spawn,6)then
  17. Garbled(NPC,Spawn)
  18. else
  19. GenericEcologyHail(NPC, Spawn, faction)
  20. end
  21. end
  22. function InRange(NPC,Spawn)
  23. if GetFactionAmount(Spawn,12)<0 then
  24. FactionCheckCallout(NPC,Spawn,faction)
  25. else
  26. if not HasLanguage(Spawn,6)then
  27. if math.random(0,100)<40 then
  28. FaceTarget(NPC, Spawn)
  29. Garbled(NPC,Spawn)
  30. end
  31. else
  32. end
  33. end
  34. end
  35. function respawn(NPC)
  36. spawn(NPC)
  37. end
  38. function waypoints(NPC)
  39. MovementLoopAddLocation(NPC, -2.31, 3, 106.54, 2, 1)
  40. MovementLoopAddLocation(NPC, -2.31, 3, 106.54, 2, MakeRandomInt(15,20),"EcologyEmotes")
  41. MovementLoopAddLocation(NPC, -2.31, 3, 106.54, 2, 0)
  42. MovementLoopAddLocation(NPC, -4.15, 3, 100.8, 2, 0)
  43. MovementLoopAddLocation(NPC, -5.71, 3, 97.41, 2, 0)
  44. MovementLoopAddLocation(NPC, -6.16, 3, 94.76, 2, 0)
  45. MovementLoopAddLocation(NPC, -8.59, 3, 90.17, 2, 1)
  46. MovementLoopAddLocation(NPC, -8.59, 3, 90.17, 2, MakeRandomInt(15,20),"EcologyEmotes")
  47. MovementLoopAddLocation(NPC, -0.85, 3, 89.43, 2, 1)
  48. MovementLoopAddLocation(NPC, -0.85, 3, 89.43, 2, MakeRandomInt(15,20),"EcologyEmotes")
  49. MovementLoopAddLocation(NPC, -2.72, 3, 89.42, 2, 0)
  50. MovementLoopAddLocation(NPC, -6.41, 3, 92.07, 2, 0)
  51. MovementLoopAddLocation(NPC, -6.47, 3, 92.96, 2, 0)
  52. MovementLoopAddLocation(NPC, -3.17, 3, 98.54, 2, 1)
  53. MovementLoopAddLocation(NPC, -3.17, 3, 98.54, 2, MakeRandomInt(15,20),"EcologyEmotes")
  54. MovementLoopAddLocation(NPC, -4.59, 3, 99.36, 2, 0)
  55. MovementLoopAddLocation(NPC, -9.93, 3, 103.61, 2, 0)
  56. MovementLoopAddLocation(NPC, -15.54, 3, 107.86, 2, 1)
  57. MovementLoopAddLocation(NPC, -15.54, 3, 107.86, 2, MakeRandomInt(15,20),"EcologyEmotes")
  58. MovementLoopAddLocation(NPC, -14.73, 3, 106.13, 2, 0)
  59. MovementLoopAddLocation(NPC, -21.6, 2.89, 102.27, 2, 0)
  60. MovementLoopAddLocation(NPC, -21.95, 2.88, 102.32, 2, 1)
  61. MovementLoopAddLocation(NPC, -21.95, 2.88, 102.32, 2, MakeRandomInt(15,20),"EcologyEmotes")
  62. MovementLoopAddLocation(NPC, -22.71, 2.79, 104, 2, 0)
  63. MovementLoopAddLocation(NPC, -22.67, 2.74, 105.12, 2, 0)
  64. MovementLoopAddLocation(NPC, -16.26, 3, 104.32, 2, 0)
  65. MovementLoopAddLocation(NPC, -14.9, 3, 104.3, 2, 0)
  66. MovementLoopAddLocation(NPC, -9.46, 3, 102.15, 2, 0)
  67. MovementLoopAddLocation(NPC, -6.75, 3, 100.82, 2, 0)
  68. MovementLoopAddLocation(NPC, -2.21, 3, 101.87, 2, 0)
  69. MovementLoopAddLocation(NPC, 0.15, 3, 106.11, 2, 0)
  70. MovementLoopAddLocation(NPC, -0.94, 3, 104.78, 2, 2,"Door")
  71. MovementLoopAddLocation(NPC, -5.53, 3.02, 108.11, 2, 0,"Door")
  72. MovementLoopAddLocation(NPC, -6.48, 3.02, 109.98, 2, 1)
  73. MovementLoopAddLocation(NPC, -6.48, 3.02, 109.98, 2, MakeRandomInt(25,30),"EcologyEmotes")
  74. MovementLoopAddLocation(NPC, -7.28, 3.02, 107.64, 2, 0)
  75. MovementLoopAddLocation(NPC, -7.28, 3.02, 107.64, 2, MakeRandomInt(25,30),"EcologyEmotes")
  76. MovementLoopAddLocation(NPC, -6.48, 3.02, 109.98, 2, 1)
  77. MovementLoopAddLocation(NPC, -6.48, 3.02, 109.98, 2, MakeRandomInt(25,30),"EcologyEmotes")
  78. MovementLoopAddLocation(NPC, -5.53, 3.02, 108.11, 2, 2,"Door")
  79. MovementLoopAddLocation(NPC, -0.94, 3, 104.78, 2, 0,"Door")
  80. MovementLoopAddLocation(NPC, 0.15, 3, 106.11, 2, 0)
  81. MovementLoopAddLocation(NPC, -2.21, 3, 101.87, 2, 0)
  82. MovementLoopAddLocation(NPC, -6.75, 3, 100.82, 2, 0)
  83. MovementLoopAddLocation(NPC, -9.46, 3, 102.15, 2, 0)
  84. MovementLoopAddLocation(NPC, -14.9, 3, 104.3, 2, 0)
  85. MovementLoopAddLocation(NPC, -16.26, 3, 104.32, 2, 0)
  86. MovementLoopAddLocation(NPC, -22.67, 2.74, 105.12, 2, 0)
  87. MovementLoopAddLocation(NPC, -22.71, 2.79, 104, 2, 0)
  88. MovementLoopAddLocation(NPC, -21.95, 2.88, 102.32, 2, 1)
  89. MovementLoopAddLocation(NPC, -21.95, 2.88, 102.32, 2, 20,"EcologyEmotes")
  90. MovementLoopAddLocation(NPC, -14.73, 3, 106.13, 2, 0)
  91. MovementLoopAddLocation(NPC, -15.54, 3, 107.86, 2, 1)
  92. MovementLoopAddLocation(NPC, -15.54, 3, 107.86, 2, 20,"EcologyEmotes")
  93. MovementLoopAddLocation(NPC, -9.93, 3, 103.61, 2, 0)
  94. MovementLoopAddLocation(NPC, -4.59, 3, 99.36, 2, 0)
  95. MovementLoopAddLocation(NPC, -3.17, 3, 98.54, 2, 1)
  96. MovementLoopAddLocation(NPC, -3.17, 3, 98.54, 2, 20,"EcologyEmotes")
  97. MovementLoopAddLocation(NPC, -6.47, 3, 92.96, 2, 0)
  98. MovementLoopAddLocation(NPC, -6.41, 3, 92.07, 2, 0)
  99. MovementLoopAddLocation(NPC, -2.72, 3, 89.42, 2, 0)
  100. MovementLoopAddLocation(NPC, -0.85, 3, 89.43, 2, 1)
  101. MovementLoopAddLocation(NPC, -0.85, 3, 89.43, 2, 20,"EcologyEmotes")
  102. MovementLoopAddLocation(NPC, -7.49, 3, 90.08, 2, 0)
  103. MovementLoopAddLocation(NPC, -8.59, 3, 90.17, 2, 20,"EcologyEmotes")
  104. MovementLoopAddLocation(NPC, -6.16, 3, 94.76, 2, 0)
  105. MovementLoopAddLocation(NPC, -5.71, 3, 97.41, 2, 0)
  106. MovementLoopAddLocation(NPC, -4.15, 3, 100.8, 2, 0)
  107. MovementLoopAddLocation(NPC, -1.18, 3, 103.39, 2, 0)
  108. MovementLoopAddLocation(NPC, -2.31, 3, 106.54, 2, 0)
  109. end
  110. function Door(NPC,Spawn)
  111. local door = GetSpawn(NPC, 1360081)
  112. UseWidget(door)
  113. end