CaptainEitoa.lua 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. --[[
  2. Script Name : SpawnScripts/Antonica/CaptainEitoa.lua
  3. Script Purpose : Captain Eitoa
  4. Script Author : geordie0511
  5. Script Date : 2019.03.19
  6. Script Notes : Updated format/entire dialog/quest flags - Dorbin 5/10/23
  7. NOTE: MISSING DIALOG FOR Quest 472
  8. --]]
  9. require "SpawnScripts/Generic/DialogModule"
  10. local Keep = 470
  11. local Gnoll = 471
  12. local Captain = 472
  13. function spawn(NPC)
  14. SetPlayerProximityFunction(NPC, 10, "InRange")
  15. waypoints(NPC)
  16. ProvidesQuest(NPC,Keep)
  17. ProvidesQuest(NPC,Gnoll)
  18. ProvidesQuest(NPC,Captain)
  19. end
  20. function respawn(NPC)
  21. spawn(NPC)
  22. end
  23. function hailed(NPC, Spawn)
  24. if GetFactionAmount(Spawn,11) <0 then --QEYNOS FACTION CHECK
  25. FaceTarget(NPC, Spawn)
  26. PlayFlavor(NPC,"","","shakefist",0,0,Spawn)
  27. else
  28. FaceTarget(NPC, Spawn)
  29. Dialog.New(NPC, Spawn)
  30. Dialog.AddDialog("I wouldn't mind chatting with you in Irontoe's East, but here I've got work to do.")
  31. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa000.mp3", 1089362944, 4215517300)
  32. if CanReceiveQuest(Spawn, Keep) then
  33. Dialog.AddOption("Then perhaps I could be of service. ", "Keep1")
  34. elseif GetQuestStep(Spawn, Keep) == 2 then
  35. Dialog.AddOption("I've been to the Keep, everything looked normal.", "Keep2")
  36. end
  37. if CanReceiveQuest(Spawn, Gnoll) then
  38. Dialog.AddOption("Have you any further need of my services?", "Gnoll1")
  39. elseif GetQuestStep(Spawn, Gnoll) == 4 then
  40. Dialog.AddOption("Beltho's report, as you requested..", "Gnoll2")
  41. end
  42. Dialog.AddOption("Ok, thanks anyway.")
  43. Dialog.Start()
  44. end
  45. end
  46. function Quest1(NPC, Spawn)
  47. OfferQuest(NPC, Spawn, Keep)
  48. end
  49. function Quest2(NPC, Spawn)
  50. OfferQuest(NPC, Spawn, Gnoll)
  51. end
  52. --------------- Keep
  53. function Keep1(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. Dialog.New(NPC, Spawn)
  56. Dialog.AddDialog("There is something you can do. I've posted a guard at the Keep of the Ardent Needle, and he hasn't been reporting to me as often as I'd like. Would you go inspect the keep and make sure everything is in order?")
  57. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa001.mp3", 1114858162, 289977028)
  58. PlayFlavor(NPC,"","","sniff",0,0,Spawn)
  59. Dialog.AddOption("It is the least I can do for Qeynos.", "Quest1")
  60. Dialog.AddOption("That sounds a bit too far for me.")
  61. Dialog.Start()
  62. end
  63. function Keep1(NPC, Spawn)
  64. FaceTarget(NPC, Spawn)
  65. Dialog.New(NPC, Spawn)
  66. Dialog.AddDialog("Good. I worry about our outposts, especially the ones that... well, let's just say I'm relieved. At any rate, here's a bit of coin from the city's coffers. Qeynos thanks you for your service.")
  67. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa003.mp3", 1980389994, 2821940048)
  68. PlayFlavor(NPC,"","","nod",0,0,Spawn)
  69. Dialog.AddOption("I was happy to be of assistance.")
  70. Dialog.Start()
  71. SetStepComplete(Spawn, Keep, 2)
  72. end
  73. --------------- Quest2
  74. function Gnoll1(NPC, Spawn)
  75. FaceTarget(NPC, Spawn)
  76. Dialog.New(NPC, Spawn)
  77. Dialog.AddDialog("I do. I need someone to check with Captain Beltho at Gnollslayer Keep and return with his report about the gnolls. I hope he's made progress since the last one.")
  78. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa004.mp3", 14052338, 3802502153)
  79. if CanReceiveQuest(Spawn, Gnoll) then
  80. Dialog.AddOption("I suppose I can do that.", "Dialog5")
  81. end
  82. Dialog.AddOption("Let someone else deal with it, I'm not interested.")
  83. Dialog.Start()
  84. end
  85. ---- Gnoll2
  86. function Gnoll2(NPC, Spawn)
  87. FaceTarget(NPC, Spawn)
  88. Dialog.New(NPC, Spawn)
  89. Dialog.AddDialog("Give me a moment to read over this... Finally, some real progress! Beltho mentions your involvement with finding the hidden entrance to the gnoll lair. Well done!")
  90. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa006.mp3", 3813922311, 2543607309)
  91. PlayFlavor(NPC,"","","ponder",0,0,Spawn)
  92. Dialog.AddOption("I suppose I was lucky to some extent. ", "Dialog1")
  93. Dialog.Start()
  94. end
  95. function Dialog1(NPC, Spawn)
  96. FaceTarget(NPC, Spawn)
  97. Dialog.New(NPC, Spawn)
  98. Dialog.AddDialog("Don't underplay your skills. Without your help, Beltho would still be searching for the hidden entrance to the lair. Take this signet ring as a mark of my gratitude and trust.")
  99. Dialog.AddVoiceover("voiceover/english/captain_eitoa/antonica/captaineitoa007.mp3", 193114966, 1655403283)
  100. PlayFlavor(NPC,"","","no",0,0,Spawn)
  101. Dialog.AddOption("Thank you very much. Once again, I am happy to have been of service.")
  102. Dialog.Start()
  103. SetStepComplete(Spawn, Gnoll, 4)
  104. end
  105. ---------------------
  106. function waypoints(NPC)
  107. MovementLoopAddLocation(NPC, -12.4, -14.06, -66.35, 2, 2)
  108. MovementLoopAddLocation(NPC, -14.02, -14.06, -67.65, 2, 0)
  109. MovementLoopAddLocation(NPC, -7.31, -14.1, -62.56, 2, 0)
  110. MovementLoopAddLocation(NPC, 2.28, -14.24, -55.72, 2, 0)
  111. MovementLoopAddLocation(NPC, 7.07, -14.21, -52.43, 2, 0)
  112. MovementLoopAddLocation(NPC, 21.54, -15.8, -38.2, 2, 0)
  113. MovementLoopAddLocation(NPC, 33.92, -18.14, -31.5, 2, 0)
  114. MovementLoopAddLocation(NPC, 46.84, -19, -19.41, 2, 0)
  115. MovementLoopAddLocation(NPC, 56.29, -19.4, -15.96, 2, 0)
  116. MovementLoopAddLocation(NPC, 78.01, -20.7, -21.08, 2, 2)
  117. MovementLoopAddLocation(NPC, 73.37, -20.35, -27.53, 2, 0)
  118. MovementLoopAddLocation(NPC, 64.24, -19.44, -36.2, 2, 0)
  119. MovementLoopAddLocation(NPC, 52.14, -19.02, -35.91, 2, 0)
  120. MovementLoopAddLocation(NPC, 38.15, -18.52, -32.95, 2, 0)
  121. MovementLoopAddLocation(NPC, 25.95, -16.51, -37.23, 2, 0)
  122. MovementLoopAddLocation(NPC, 16.43, -15.17, -42.51, 2, 0)
  123. MovementLoopAddLocation(NPC, 9.61, -14.4, -50.18, 2, 0)
  124. MovementLoopAddLocation(NPC, -7.7, -14.09, -63.08, 2, 0)
  125. MovementLoopAddLocation(NPC, -10.9, -14.06, -65.18, 2, 2)
  126. MovementLoopAddLocation(NPC, -12.76, -14.06, -65.48, 2, 0)
  127. MovementLoopAddLocation(NPC, -3.57, -14.16, -59.98, 2, 0)
  128. MovementLoopAddLocation(NPC, 7.14, -14.27, -53.2, 2, 0)
  129. MovementLoopAddLocation(NPC, 18.99, -15.38, -41.23, 2, 0)
  130. MovementLoopAddLocation(NPC, 26.66, -16.71, -35.75, 2, 0)
  131. MovementLoopAddLocation(NPC, 32.71, -17.89, -33.89, 2, 0)
  132. MovementLoopAddLocation(NPC, 39.65, -18.59, -34.7, 2, 0)
  133. MovementLoopAddLocation(NPC, 50.85, -18.94, -37.86, 2, 0)
  134. MovementLoopAddLocation(NPC, 59.56, -19.19, -38.97, 2, 0)
  135. MovementLoopAddLocation(NPC, 71.94, -20.26, -27.9, 2, 0)
  136. MovementLoopAddLocation(NPC, 82.66, -20.98, -22.66, 2, 2)
  137. MovementLoopAddLocation(NPC, 76.72, -20.64, -23.21, 2, 0)
  138. MovementLoopAddLocation(NPC, 70.7, -20.26, -18.17, 2, 0)
  139. MovementLoopAddLocation(NPC, 63.72, -19.83, -15.3, 2, 0)
  140. MovementLoopAddLocation(NPC, 51.24, -19.21, -16.03, 2, 0)
  141. MovementLoopAddLocation(NPC, 47.21, -19.02, -19.61, 2, 0)
  142. MovementLoopAddLocation(NPC, 34.35, -18.24, -30.19, 2, 0)
  143. MovementLoopAddLocation(NPC, 23.38, -16.01, -37.68, 2, 0)
  144. MovementLoopAddLocation(NPC, 13.28, -14.8, -46.19, 2, 0)
  145. MovementLoopAddLocation(NPC, -0.05, -14.21, -57.04, 2, 0)
  146. end