BiddyFozletop.lua 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. --[[
  2. Script Name : SpawnScripts/QeynosHarbor/BiddyFozletop.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.06.10 03:06:19
  5. Script Purpose :
  6. :
  7. --]]
  8. dofile("SpawnScripts/Generic/GenericEcologyVoiceOvers.lua")
  9. function spawn(NPC)
  10. waypoints(NPC)
  11. SetPlayerProximityFunction(NPC, 7, "InRange", "LeaveRange")
  12. end
  13. function hailed(NPC, Spawn)
  14. FaceTarget(NPC, Spawn)
  15. GenericEcologyHail(NPC, Spawn, faction)
  16. end
  17. function InRange(NPC,Spawn)
  18. GenericEcologyCallout(NPC, Spawn, faction)
  19. end
  20. function respawn(NPC)
  21. spawn(NPC)
  22. end
  23. function waypoints(NPC)
  24. MovementLoopAddLocation(NPC, 796.45, -23.26, 103.49, 2, 1)
  25. MovementLoopAddLocation(NPC, 796.45, -23.26, 103.49, 2, 15,"EcologyEmotes")
  26. MovementLoopAddLocation(NPC, 795.91, -23.26, 104.76, 2, 0)
  27. MovementLoopAddLocation(NPC, 797.96, -23.26, 105.11, 2, 0)
  28. MovementLoopAddLocation(NPC, 798.42, -23.26, 106.67, 2, 2,"Door1")
  29. MovementLoopAddLocation(NPC, 805.84, -23.33, 107.45, 2, 0)
  30. MovementLoopAddLocation(NPC, 811.11, -23.34, 102.8, 2, 0)
  31. MovementLoopAddLocation(NPC, 811.33, -23.35, 99.52, 2, 0)
  32. MovementLoopAddLocation(NPC, 812.37, -23.34, 81.46, 2, 0)
  33. MovementLoopAddLocation(NPC, 813.97, -23.33, 76.63, 2, 0)
  34. MovementLoopAddLocation(NPC, 818.76, -23.34, 66.26, 2, 2,"Door2")
  35. MovementLoopAddLocation(NPC, 815.28, -23.27, 62.44, 2, 0)
  36. MovementLoopAddLocation(NPC, 813.78, -23.27, 64.74, 2, 0)
  37. MovementLoopAddLocation(NPC, 812.35, -23.27, 66.52, 2, 0)
  38. MovementLoopAddLocation(NPC, 809.85, -23.24, 67.49, 2, 0)
  39. MovementLoopAddLocation(NPC, 807.31, -23.27, 72.71, 2, 0)
  40. MovementLoopAddLocation(NPC, 800.09, -20.27, 69.24, 2, 0)
  41. MovementLoopAddLocation(NPC, 803.14, -17.27, 62.03, 2, 0)
  42. MovementLoopAddLocation(NPC, 806.31, -17.27, 60.19, 2, 0)
  43. MovementLoopAddLocation(NPC, 809.47, -17.27, 56.91, 2, 0)
  44. MovementLoopAddLocation(NPC, 814.18, -17.27, 49.74, 2, 0)
  45. MovementLoopAddLocation(NPC, 816.55, -17.27, 49.09, 2, 0)
  46. MovementLoopAddLocation(NPC, 820.08, -17.27, 50.34, 2, 0)
  47. MovementLoopAddLocation(NPC, 820.45, -17.27, 51.3, 2, 1)
  48. MovementLoopAddLocation(NPC, 820.45, -17.27, 51.3, 2, 29,"Drink")
  49. MovementLoopAddLocation(NPC, 819.57, -17.27, 51.6, 2, 0)
  50. MovementLoopAddLocation(NPC, 819.29, -17.27, 49.82, 2, 0)
  51. MovementLoopAddLocation(NPC, 816.6, -17.27, 49.79, 2, 0)
  52. MovementLoopAddLocation(NPC, 812.68, -17.27, 51.82, 2, 0)
  53. MovementLoopAddLocation(NPC, 809.06, -17.27, 56.83, 2, 0)
  54. MovementLoopAddLocation(NPC, 807.58, -17.27, 58.91, 2, 1)
  55. MovementLoopAddLocation(NPC, 807.58, -17.27, 58.91, 2, 15,"EcologyEmotes")
  56. MovementLoopAddLocation(NPC, 808.95, -17.27, 59.13, 2, 0)
  57. MovementLoopAddLocation(NPC, 803.87, -17.27, 61.10, 2, 0)
  58. MovementLoopAddLocation(NPC, 805.91, -17.27, 59.89, 2, 0)
  59. MovementLoopAddLocation(NPC, 799.6, -20.27, 69.2, 2, 0)
  60. MovementLoopAddLocation(NPC, 807.33, -23.27, 73.07, 2, 0)
  61. MovementLoopAddLocation(NPC, 808.85, -23.27, 68.06, 2, 0)
  62. MovementLoopAddLocation(NPC, 809.32, -23.24, 67.07, 2, 0)
  63. MovementLoopAddLocation(NPC, 813.65, -23.27, 64.99, 2, 0)
  64. MovementLoopAddLocation(NPC, 814.36, -23.27, 62.57, 2, 2,"Door2")
  65. MovementLoopAddLocation(NPC, 819.64, -23.33, 65.17, 2, 0)
  66. MovementLoopAddLocation(NPC, 827.29, -23.34, 48.87, 2, 0)
  67. MovementLoopAddLocation(NPC, 831.07, -23.34, 43.43, 2, 0)
  68. MovementLoopAddLocation(NPC, 834, -23.32, 41.88, 2, 0)
  69. MovementLoopAddLocation(NPC, 851.29, -23.68, 39.28, 2, 0)
  70. MovementLoopAddLocation(NPC, 857.85, -25.4, 38.4, 2, 0)
  71. MovementLoopAddLocation(NPC, 858.86, -25.41, 38.27, 2, 0)
  72. MovementLoopAddLocation(NPC, 859.09, -25.47, 27.61, 2, 0)
  73. MovementLoopAddLocation(NPC, 857.83, -25.47, 23.5, 2, 0)
  74. MovementLoopAddLocation(NPC, 851.9, -25.48, 18.19, 2, 0)
  75. MovementLoopAddLocation(NPC, 846.42, -25.47, 13.27, 2, 0)
  76. MovementLoopAddLocation(NPC, 840.95, -25.47, 1.63, 2, 0)
  77. MovementLoopAddLocation(NPC, 837.83, -25.46, -4.26, 2, 0)
  78. MovementLoopAddLocation(NPC, 826.85, -25.43, -20.46, 2, 1)
  79. MovementLoopAddLocation(NPC, 826.85, -25.43, -20.46, 2, 15,"EcologyEmotes")
  80. MovementLoopAddLocation(NPC, 828.33, -25.43, -19.18, 2, 0)
  81. MovementLoopAddLocation(NPC, 836.54, -25.44, -26.71, 2, 0)
  82. MovementLoopAddLocation(NPC, 862.89, -25.47, -33.18, 2, 0)
  83. MovementLoopAddLocation(NPC, 870.18, -25.47, -33.5, 2, 0)
  84. MovementLoopAddLocation(NPC, 879.23, -25.45, -31.38, 2, 0)
  85. MovementLoopAddLocation(NPC, 892.32, -25.49, -24.81, 2, 0)
  86. MovementLoopAddLocation(NPC, 896.55, -25.46, -22.2, 2, 0)
  87. MovementLoopAddLocation(NPC, 896.84, -25.43, -25.39, 2, 0)
  88. MovementLoopAddLocation(NPC, 893.48, -23.48, -34.75, 2, 0)
  89. MovementLoopAddLocation(NPC, 889.56, -25.4, -48.12, 2, 0)
  90. MovementLoopAddLocation(NPC, 884.25, -25.38, -56.52, 2, 0)
  91. MovementLoopAddLocation(NPC, 870.05, -25.36, -61.91, 2, 0)
  92. MovementLoopAddLocation(NPC, 857.33, -25.37, -61.34, 2, 0)
  93. MovementLoopAddLocation(NPC, 804.28, -20.65, -58.67, 2, 0)
  94. MovementLoopAddLocation(NPC, 775.49, -21.61, -53.55, 2, 0)
  95. MovementLoopAddLocation(NPC, 745.23, -21.39, -43.03, 2, 1)
  96. MovementLoopAddLocation(NPC, 745.23, -21.39, -43.03, 2, 15,"EcologyEmotes")
  97. MovementLoopAddLocation(NPC, 742.65, -21.39, -41.77, 2, 0)
  98. MovementLoopAddLocation(NPC, 740.04, -21.39, -43.34, 2, 0)
  99. MovementLoopAddLocation(NPC, 705.52, -21.1, -48.75, 2, 0)
  100. MovementLoopAddLocation(NPC, 696.96, -20.06, -49.52, 2, 2,"Door3")
  101. MovementLoopAddLocation(NPC, 690.35, -20.05, -49.93, 2, 0)
  102. MovementLoopAddLocation(NPC, 680.95, -20.05, -51.54, 2, 0)
  103. MovementLoopAddLocation(NPC, 680.32, -20.05, -51.25, 2, 1)
  104. MovementLoopAddLocation(NPC, 680.32, -20.05, -51.25, 2, 15,"EcologyEmotes")
  105. MovementLoopAddLocation(NPC, 678.7, -20.05, -50.48, 2, 0)
  106. MovementLoopAddLocation(NPC, 687.68, -20.05, -50.5, 2, 1)
  107. MovementLoopAddLocation(NPC, 687.68, -20.05, -50.5, 2, 15,"EcologyEmotes")
  108. MovementLoopAddLocation(NPC, 686.39, -20.05, -49.09, 2, 0)
  109. MovementLoopAddLocation(NPC, 691.13, -20.05, -49.34, 2, 2,"Door3")
  110. MovementLoopAddLocation(NPC, 697.32, -20.06, -49.71, 2, 0)
  111. MovementLoopAddLocation(NPC, 702.83, -21.08, -52.2, 2, 0)
  112. MovementLoopAddLocation(NPC, 728.1, -20.77, -76.96, 2, 1)
  113. MovementLoopAddLocation(NPC, 728.1, -20.77, -76.96, 2, 15,"EcologyEmotes")
  114. MovementLoopAddLocation(NPC, 723.54, -20.84, -73.37, 2, 0)
  115. MovementLoopAddLocation(NPC, 728.15, -20.9, -69.78, 2, 0)
  116. MovementLoopAddLocation(NPC, 734.55, -20.9, -68.21, 2, 0)
  117. MovementLoopAddLocation(NPC, 744.43, -21.05, -65.97, 2, 1)
  118. MovementLoopAddLocation(NPC, 744.43, -21.05, -65.97, 2, 15,"EcologyEmotes")
  119. MovementLoopAddLocation(NPC, 745.72, -21.01, -67.18, 2, 0)
  120. MovementLoopAddLocation(NPC, 748.59, -21.21, -63.91, 2, 0)
  121. MovementLoopAddLocation(NPC, 772.94, -21.43, -61.94, 2, 0)
  122. MovementLoopAddLocation(NPC, 809.24, -20.41, -64.21, 2, 0)
  123. MovementLoopAddLocation(NPC, 863.14, -25.38, -67.16, 2, 0)
  124. MovementLoopAddLocation(NPC, 879.28, -25.38, -65.39, 2, 0)
  125. MovementLoopAddLocation(NPC, 892.21, -25.36, -57.66, 2, 0)
  126. MovementLoopAddLocation(NPC, 901.59, -23.43, -38.09, 2, 0)
  127. MovementLoopAddLocation(NPC, 910.53, -25.44, -14.98, 2, 0)
  128. MovementLoopAddLocation(NPC, 910.35, -25.44, -3.28, 2, 0)
  129. MovementLoopAddLocation(NPC, 906.8, -25.44, 14.49, 2, 0)
  130. MovementLoopAddLocation(NPC, 901.42, -25.44, 32.19, 2, 0)
  131. MovementLoopAddLocation(NPC, 895.74, -25.43, 42.62, 2, 0)
  132. MovementLoopAddLocation(NPC, 890.16, -25.44, 47.29, 2, 0)
  133. MovementLoopAddLocation(NPC, 880.08, -25.41, 47.62, 2, 0)
  134. MovementLoopAddLocation(NPC, 864.35, -25.37, 43.35, 2, 0)
  135. MovementLoopAddLocation(NPC, 859.44, -25.37, 43.01, 2, 0)
  136. MovementLoopAddLocation(NPC, 847.79, -23.21, 43.92, 2, 0)
  137. MovementLoopAddLocation(NPC, 836.17, -23.31, 45.28, 2, 0)
  138. MovementLoopAddLocation(NPC, 834.9, -23.33, 48.82, 2, 0)
  139. MovementLoopAddLocation(NPC, 834.23, -23.34, 53.61, 2, 0)
  140. MovementLoopAddLocation(NPC, 825.67, -23.34, 72.32, 2, 0)
  141. MovementLoopAddLocation(NPC, 821.24, -23.35, 80.91, 2, 0)
  142. MovementLoopAddLocation(NPC, 819.88, -23.32, 90.82, 2, 1)
  143. MovementLoopAddLocation(NPC, 819.88, -23.32, 90.82, 2, 15,"EcologyEmotes")
  144. MovementLoopAddLocation(NPC, 821.63, -23.35, 91.31, 2, 0)
  145. MovementLoopAddLocation(NPC, 820.77, -23.34, 96.75, 2, 0)
  146. MovementLoopAddLocation(NPC, 807.82, -23.34, 96.97, 2, 0)
  147. MovementLoopAddLocation(NPC, 806.28, -23.3, 99.8, 2, 0)
  148. MovementLoopAddLocation(NPC, 804.15, -23.26, 107.03, 2, 2,"Door1")
  149. MovementLoopAddLocation(NPC, 799.15, -23.26, 106.96, 2, 0)
  150. MovementLoopAddLocation(NPC, 798.4, -23.26, 104.59, 2, 1)
  151. MovementLoopAddLocation(NPC, 798.4, -23.26, 104.59, 2, 15,"EcologyEmotes")
  152. MovementLoopAddLocation(NPC, 799.24, -23.26, 104.18, 2, 0)
  153. end
  154. function Door1(NPC,Spawn)
  155. local door = GetSpawn(NPC, 2210355)
  156. UseWidget(door)
  157. end
  158. function Door2(NPC,Spawn)
  159. local door = GetSpawn(NPC, 2210352)
  160. UseWidget(door)
  161. end
  162. function Door3(NPC,Spawn)
  163. local door = GetSpawn(NPC, 2210359)
  164. UseWidget(door)
  165. end
  166. function Drink(NPC)
  167. PlayFlavor(NPC,"","","drinking_idle",0,0)
  168. AddTimer(NPC,8000, "Drink2")
  169. end
  170. function Drink2(NPC)
  171. choice = math.random(1,3)
  172. if choice == 1 then
  173. PlayFlavor(NPC,"","","yawn",0,0)
  174. elseif choice == 2 then
  175. PlayFlavor(NPC,"","","drinking_idle",0,0)
  176. else
  177. PlayFlavor(NPC,"","","happy",0,0)
  178. end
  179. AddTimer(NPC,6000, "Drink3")
  180. end
  181. function Drink3(NPC)
  182. PlayFlavor(NPC,"","","drinking_idle",0,0)
  183. end