RolanSunstar.lua 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. --[[
  2. Script Name : SpawnScripts/BeggarsCourt/RolanSunstar.lua
  3. Script Purpose : Rolan Sunstar
  4. Script Author : torsten
  5. Script Date : 2022.07.18
  6. Script Notes : Auto-Generated Conversation from PacketParser Data
  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, -50.8, -5.77, 35.19, 2, 1)
  25. MovementLoopAddLocation(NPC, -50.8, -5.77, 35.19, 2, 30,"EcologyEmotes")
  26. MovementLoopAddLocation(NPC, -48.18, -5.77, 30.47, 2, 0)
  27. MovementLoopAddLocation(NPC, -41.56, -5.77, 25.08, 2, 0)
  28. MovementLoopAddLocation(NPC, -38.58, -5.77, 25, 2, 2,"Door1")
  29. MovementLoopAddLocation(NPC, -33.29, -5.75, 24.85, 2, 0,"Door1")
  30. MovementLoopAddLocation(NPC, -30.27, -5.5, 21.44, 2, 0)
  31. MovementLoopAddLocation(NPC, -29.55, -5.25, 18.55, 2, 0)
  32. MovementLoopAddLocation(NPC, -25.23, -5, 16.87, 2, 0)
  33. MovementLoopAddLocation(NPC, -21.57, -5, 15.55, 2, 0)
  34. MovementLoopAddLocation(NPC, -17.67, -5, 14.01, 2, 0)
  35. MovementLoopAddLocation(NPC, -16.83, -5.01, 8.3, 2, 0)
  36. MovementLoopAddLocation(NPC, -14.74, -5, 6.15, 2, 0)
  37. MovementLoopAddLocation(NPC, -12.29, -3.87, 8.31, 2, 0)
  38. MovementLoopAddLocation(NPC, -10.28, -2.35, 10.96, 2, 0)
  39. MovementLoopAddLocation(NPC, -1.82, 1.91, 14.36, 2, 0)
  40. MovementLoopAddLocation(NPC, -0.9, 1.94, 14.5, 2, 0)
  41. MovementLoopAddLocation(NPC, 0.34, 2.02, 10.96, 2, 0)
  42. MovementLoopAddLocation(NPC, -0.36, 2.01, 7.68, 2, 0)
  43. MovementLoopAddLocation(NPC, -1.9, 2.25, 4.79, 2, 0)
  44. MovementLoopAddLocation(NPC, -6.28, 2.25, 1.69, 2, 0)
  45. MovementLoopAddLocation(NPC, -9.28, 2.01, 3.07, 2, 20,"EcologyEmotes")
  46. MovementLoopAddLocation(NPC, -7.19, 2.49, -0.98, 2, 0)
  47. MovementLoopAddLocation(NPC, -4.81, 3.1, -5.39, 2, 0)
  48. MovementLoopAddLocation(NPC, -2.94, 3.5, -8.86, 2, 0)
  49. MovementLoopAddLocation(NPC, -4.76, 3.5, -16.2, 2, 0)
  50. MovementLoopAddLocation(NPC, -3.96, 3.5, -20.4, 2, 0)
  51. MovementLoopAddLocation(NPC, -6.07, 3, -28.68, 2, 0)
  52. MovementLoopAddLocation(NPC, -5.77, 3.25, -31.53, 2, 0)
  53. MovementLoopAddLocation(NPC, -5.29, 3.61, -33.96, 2, 0)
  54. MovementLoopAddLocation(NPC, -5.69, 3.5, -35.87, 2, 0)
  55. MovementLoopAddLocation(NPC, -5.65, 3.79, -37.68, 2, 0)
  56. MovementLoopAddLocation(NPC, -4.42, 4.49, -40.81, 2, 0)
  57. MovementLoopAddLocation(NPC, -3.22, 4.75, -42.59, 2, 0)
  58. MovementLoopAddLocation(NPC, -1.1, 5, -42.38, 2, 0)
  59. MovementLoopAddLocation(NPC, 1.62, 5, -42.27, 2, 1)
  60. MovementLoopAddLocation(NPC, 1.62, 5, -42.27, 2, 30,"Drink")
  61. MovementLoopAddLocation(NPC, 1.62, 5, -42.27, 2, 30,"Drink")
  62. MovementLoopAddLocation(NPC, 1.26, 5, -41.69, 2, 0)
  63. MovementLoopAddLocation(NPC, -0.14, 5, -40.52, 2, 0)
  64. MovementLoopAddLocation(NPC, -1.64, 5, -38.57, 2, 0)
  65. MovementLoopAddLocation(NPC, -1.45, 5, -34.32, 2, 0)
  66. MovementLoopAddLocation(NPC, 2.1, 5, -33, 2, 0)
  67. MovementLoopAddLocation(NPC, 3.96, 5, -31.63, 2, 0)
  68. MovementLoopAddLocation(NPC, 6.16, 4.75, -28.59, 2, 0)
  69. MovementLoopAddLocation(NPC, 11.87, 4.75, -27.47, 2, 0)
  70. MovementLoopAddLocation(NPC, 14.74, 4.75, -25.93, 2, 0)
  71. MovementLoopAddLocation(NPC, 20.74, 5.25, -22.17, 2, 0)
  72. MovementLoopAddLocation(NPC, 24.86, 5.25, -16.76, 2, 0)
  73. MovementLoopAddLocation(NPC, 25.46, 5.25, -16.42, 2, 1)
  74. MovementLoopAddLocation(NPC, 25.46, 5.25, -16.42, 2, 30,"EcologyEmotes")
  75. MovementLoopAddLocation(NPC, 25.69, 5.25, -17.06, 2, 0)
  76. MovementLoopAddLocation(NPC, 25.26, 5.25, -18.47, 2, 0)
  77. MovementLoopAddLocation(NPC, 24.21, 5.25, -19.05, 2, 0)
  78. MovementLoopAddLocation(NPC, 23.03, 5.25, -18.13, 2, 0)
  79. MovementLoopAddLocation(NPC, 16.93, 4.75, -17.02, 2, 0)
  80. MovementLoopAddLocation(NPC, 11.88, 3.5, -10.79, 2, 0)
  81. MovementLoopAddLocation(NPC, 8.7, 3.5, -6.3, 2, 0)
  82. MovementLoopAddLocation(NPC, 5.7, 3.5, -3.05, 2, 0)
  83. MovementLoopAddLocation(NPC, 4.23, 3.5, -0.26, 2, 0)
  84. MovementLoopAddLocation(NPC, 2.81, 2.5, 5.66, 2, 0)
  85. MovementLoopAddLocation(NPC, 0.87, 2.02, 12.53, 2, 0)
  86. MovementLoopAddLocation(NPC, -0.83, 1.91, 15.44, 2, 0)
  87. MovementLoopAddLocation(NPC, -2.13, 1.96, 15.89, 2, 0)
  88. MovementLoopAddLocation(NPC, -6.38, 0.15, 14.08, 2, 0)
  89. MovementLoopAddLocation(NPC, -11.05, -2.48, 11.89, 2, 0)
  90. MovementLoopAddLocation(NPC, -14.72, -4.99, 8.45, 2, 0)
  91. MovementLoopAddLocation(NPC, -15.71, -5.01, 11.76, 2, 0)
  92. MovementLoopAddLocation(NPC, -20.45, -5, 20.25, 2, 1)
  93. MovementLoopAddLocation(NPC, -20.45, -5, 20.25, 2, 30)
  94. MovementLoopAddLocation(NPC, -20.45, -5, 20.25, 2, 0)
  95. MovementLoopAddLocation(NPC, -22.57, -5, 20.34, 2, 0)
  96. MovementLoopAddLocation(NPC, -25.03, -5, 19.98, 2, 0)
  97. MovementLoopAddLocation(NPC, -29.16, -5.75, 22.88, 2, 0)
  98. MovementLoopAddLocation(NPC, -33.63, -5.75, 24.86, 2, 2,"Door1")
  99. MovementLoopAddLocation(NPC, -40.25, -5.77, 25.08, 2, 0,"Door1")
  100. MovementLoopAddLocation(NPC, -52.29, -5.77, 27.85, 2, 1)
  101. MovementLoopAddLocation(NPC, -52.29, -5.77, 27.85, 2, 30,"EcologyEmotes")
  102. MovementLoopAddLocation(NPC, -48.97, -5.77, 29.06, 2, 0)
  103. end
  104. function Drink(NPC)
  105. PlayFlavor(NPC,"","","drinking_idle",0,0)
  106. AddTimer(NPC,8000, "Drink2")
  107. end
  108. function Drink2(NPC)
  109. choice = math.random(1,4)
  110. if choice == 1 then
  111. PlayFlavor(NPC,"","","yawn",0,0)
  112. elseif choice == 2 then
  113. PlayFlavor(NPC,"","","drinking_idle",0,0)
  114. elseif choice == 3 then
  115. PlayFlavor(NPC,"","","sniff",0,0)
  116. else
  117. PlayFlavor(NPC,"","","happy",0,0)
  118. end
  119. AddTimer(NPC,6000, "Drink3")
  120. end
  121. function Drink3(NPC)
  122. PlayFlavor(NPC,"","","drinking_idle",0,0)
  123. end
  124. function Door1(NPC,Spawn)
  125. local door = GetSpawn(NPC, 1370080)
  126. UseWidget(door)
  127. end
  128. function RandomGreeting(NPC, Spawn)
  129. local choice = MakeRandomInt(1,5)
  130. if choice == 1 then
  131. PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/halfelf/halfelf_eco_evil_1_hail_gm_ef8afd3c.mp3", "I gotta get into the Militia. Then I could legally beat up people.", "ponder", 2140199906, 2198679856, Spawn, 0)
  132. elseif choice == 2 then
  133. PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/halfelf/halfelf_eco_evil_1_hail_gm_7344f21b.mp3", "I'm in the mood to kick someone in the teeth.", "kick", 620861878, 995351111, Spawn, 0)
  134. elseif choice == 3 then
  135. PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/halfelf/halfelf_eco_evil_1_hail_gm_1edba7a5.mp3", "Quit breathing my air!", "glare", 2440457715, 1164344641, Spawn, 0)
  136. elseif choice == 4 then
  137. PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/halfelf/halfelf_eco_evil_1_hail_gm_6bd51371.mp3", "I'm a dual-breed, not a half-elf. If you call me half-elf again, I'll cut YOU in half!", "cutthroat", 2884965634, 996787293, Spawn, 0)
  138. elseif choice == 5 then
  139. PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/halfelf/halfelf_eco_evil_1_hail_gm_852b8675.mp3", "Shove off, mate!", "shakefist", 4223989531, 84768942, Spawn, 0)
  140. end
  141. end