DelcairnSebastian.lua 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. --[[
  2. Script Name : SpawnScripts/BeggarsCourt/DelcairnSebastian.lua
  3. Script Purpose : Delcairn Sebastian
  4. Script Author : Unknown (updated by Cynnar 2018.06.13 03:06:49)
  5. Script Date : Unknown
  6. Script Notes : Info was not filled out. Credit goes to the one who wrote the script.
  7. --]]
  8. local HALFELF_MENTOR_QUEST_1 = 307 -- A Delivery
  9. local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work
  10. local HALFELF_MENTOR_QUEST_3 = 315 -- Reel Him In
  11. local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos
  12. local HALFELF_MENTOR_QUEST_5 = 319 -- One Last Request
  13. local LIEUTENANT_CERVAEN = 1370037
  14. local DELCAIRN_SEBASTIAN = 1370038
  15. function spawn(NPC)
  16. ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_2)
  17. ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_4)
  18. ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_5)
  19. end
  20. function hailed(NPC, Spawn)
  21. FaceTarget(NPC, Spawn)
  22. conversation = CreateConversation()
  23. if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_1) then
  24. if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_2) then
  25. if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_3) then
  26. if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4) then
  27. if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_5) then
  28. Say(NPC, "Good work. We appreciate it more than you know.", Spawn)
  29. elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_5) then
  30. Say(NPC, "Good work. We appreciate it more than you know.", Spawn)
  31. else
  32. OnQuest4(NPC, Spawn, conversation)
  33. end
  34. elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then
  35. OnQuest4(NPC, Spawn, conversation)
  36. else
  37. OnQuest3(NPC, Spawn, conversation)
  38. end
  39. elseif HasQuest(Spawn,HALFELF_MENTOR_QUEST_3) then
  40. OnQuest3(NPC, Spawn, conversation)
  41. else
  42. Say(NPC, "Speak with Cervaen, he will brief you on the plan.", Spawn)
  43. end
  44. elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_2) then
  45. OnQuest2(NPC, Spawn, conversation)
  46. else
  47. Welcome(NPC, Spawn, conversation)
  48. end
  49. elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then
  50. OnQuest1(NPC, Spawn, conversation)
  51. else
  52. Say(NPC, "Please, leave while it still doesn't matter.", Spawn)
  53. end
  54. end
  55. function respawn(NPC)
  56. spawn(NPC)
  57. end
  58. --------------------------------------------------------------------------------------------------------------------------------------------
  59. -- HALFELF_MENTOR_QUEST_1
  60. --------------------------------------------------------------------------------------------------------------------------------------------
  61. function OnQuest1(NPC, Spawn, conversation)
  62. if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 1 then
  63. Say(NPC, "Please, leave while it still doesn't matter.", Spawn)
  64. elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 2 then
  65. Welcome(NPC, Spawn, conversation)
  66. end
  67. end
  68. function Welcome(NPC, Spawn, conversation)
  69. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn001.mp3", "", "", 144616361, 2775223006, Spawn)
  70. AddConversationOption(conversation, "I would like to help.", "dlg_8_1")
  71. StartConversation(conversation, NPC, Spawn, "Welcome, " .. GetName(Spawn) .. ". What can The Brotherhood do for you? Our conversation can be long or it can be short. Worry not, we will pay you for your delivery.")
  72. end
  73. function dlg_8_1(NPC, Spawn)
  74. if HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then
  75. SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_1, 2)
  76. end
  77. FaceTarget(NPC, Spawn)
  78. conversation = CreateConversation()
  79. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn002.mp3", "", "", 718931857, 2390994276, Spawn)
  80. AddConversationOption(conversation, "Rommuls?", "dlg_8_2")
  81. StartConversation(conversation, NPC, Spawn, "Ah. But do you know what you want to help with? The Brotherhood attracts many who do not truly believe in its cause. It attracts radicals and anarchists who wish only for pain and torment. We are not that, " .. GetName(Spawn) .. ". We seek only justice. There is a great injustice walking the streets of Beggar's Court even as we speak.")
  82. end
  83. --------------------------------------------------------------------------------------------------------------------------------------------
  84. -- HALFELF_MENTOR_QUEST_2
  85. --------------------------------------------------------------------------------------------------------------------------------------------
  86. function dlg_8_2(NPC, Spawn)
  87. FaceTarget(NPC, Spawn)
  88. conversation = CreateConversation()
  89. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn003.mp3", "", "", 982292673, 517388621, Spawn)
  90. AddConversationOption(conversation, "[listen to conversation]", "CervaenTalk1")
  91. StartConversation(conversation, NPC, Spawn, "Yes, Rommuls. He dislikes us, and so he uses his power to harass, harm, even kill us. Few in Freeport care of his deeds, let them remain indifferent. The Brotherhood will solve its own problems. I- Cervaen, what is it?")
  92. end
  93. function CervaenTalk1(NPC, Spawn)
  94. local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN)
  95. FaceTarget(Cervaen, NPC)
  96. conversation = CreateConversation()
  97. PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff000.mp3", "", "", 3243592736, 1629677067, Spawn)
  98. AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk1")
  99. StartConversation(conversation, Cervaen, Spawn, "Sir... Thaen, Revlos, Jalya... their mission failed.")
  100. end
  101. function CervaenTalk2(NPC, Spawn)
  102. local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN)
  103. FaceTarget(Cervaen, NPC)
  104. conversation = CreateConversation()
  105. PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff001.mp3", "", "", 1068640212, 1975761301, Spawn)
  106. AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk2")
  107. StartConversation(conversation, Cervaen, Spawn, "I just got word from Thavian. Jalya is dead and Thaen is in captivity. Revlos has betrayed us.")
  108. end
  109. function CervaenTalk3(NPC, Spawn)
  110. local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN)
  111. FaceTarget(Cervaen, NPC)
  112. conversation = CreateConversation()
  113. PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff002.mp3", "", "", 872569358, 130933055, Spawn)
  114. AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk3")
  115. StartConversation(conversation, Cervaen, Spawn, "Thavian doesn't know, sir. All he knows is that Revlos has betrayed us.")
  116. end
  117. function CervaenTalk4(NPC, Spawn)
  118. local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN)
  119. FaceTarget(Cervaen, NPC)
  120. conversation = CreateConversation()
  121. PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff003.mp3", "", "", 3371521952, 284772411, Spawn)
  122. AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk4")
  123. StartConversation(conversation, Cervaen, Spawn, "No, sir. But he does know that Revlos' cohorts are meeting to discuss his debriefing. They're meeting at the gates to North Freeport, soon.")
  124. end
  125. function GoodLoam(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. conversation = CreateConversation()
  128. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn005.mp3", "", "", 549706285, 563599321, Spawn)
  129. AddConversationOption(conversation, "Both cups?", "OfferQuest2")
  130. StartConversation(conversation, NPC, Spawn, "Good. Loamshallow is not a member of The Brotherhood but he is sympathetic. He will sell you a vial of poison, Fate's Whisper. Buy it, then proceed to the gates to North Freeport and hide behind the gate. The western side should provide ample cover. Listen to their conversation and learn where Revlos' meeting is to take place, then go there. They will have already set it up for a meeting, there should be cups present, poison them.")
  131. end
  132. function OfferQuest2(NPC, Spawn)
  133. FaceTarget(NPC, Spawn)
  134. OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_2)
  135. end
  136. function OnQuest2(NPC, Spawn, conversation)
  137. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn006.mp3", "", "", 3829362296, 3731812523, Spawn)
  138. if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_2) == 4 then
  139. AddConversationOption(conversation, "Yes, the cups are poisoned.", "dlg_22_1")
  140. else
  141. AddConversationOption(conversation, "No, not yet.")
  142. end
  143. StartConversation(conversation, NPC, Spawn, "Have you done what was required?")
  144. end
  145. function dlg_22_1(NPC, Spawn)
  146. SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_2, 4)
  147. FaceTarget(NPC, Spawn)
  148. conversation = CreateConversation()
  149. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn007.mp3", "", "", 2362160812, 2895340086, Spawn)
  150. AddConversationOption(conversation, "All right.")
  151. StartConversation(conversation, NPC, Spawn, "Good. Revlos... we didn't deserve this. While you were gone Cervaen and I worked over a new plan, speak with him to be briefed.")
  152. end
  153. ---------------------------------------------------------------------------------------------------------------------
  154. -- HALFELF_MENTOR_QUEST_3
  155. ---------------------------------------------------------------------------------------------------------------------
  156. function OnQuest3(NPC, Spawn, conversation)
  157. if (HasQuest(Spawn,HALFELF_MENTOR_QUEST_3) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 4) or (HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_3) and not HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4)) then
  158. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn008.mp3", "", "", 3033653265, 2915705439, Spawn)
  159. AddConversationOption(conversation, "That was fast.", "dlg_25_1")
  160. StartConversation(conversation, NPC, Spawn, "You did good, " .. GetName(Spawn) .. ". Rommuls was captured. He will be given justice. The Overlord released a public statement informing the populace of Rommuls' weakness and subsequent termination from his post, his followers will be allowed to remain in the militia but under strict watch.")
  161. else
  162. Say(NPC, "Speak with Cervaen, he will brief you on the plan.", Spawn)
  163. end
  164. end
  165. function dlg_25_1(NPC, Spawn)
  166. FaceTarget(NPC, Spawn)
  167. conversation = CreateConversation()
  168. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn009.mp3", "", "", 2387230376, 93430481, Spawn)
  169. AddConversationOption(conversation, "I see.", "dlg_25_2")
  170. StartConversation(conversation, NPC, Spawn, "Heh, do you think the Overlord really cares about what goes on in these districts? Some office of the government--who knew it was going to happen a long time ago--released the statement. The Overlord was made aware but obviously didn't care. The Brotherhood has friends in high places. And so, to turn indifference into support is not a hard thing.")
  171. end
  172. function dlg_25_2(NPC, Spawn)
  173. if HasQuest(Spawn, HALFELF_MENTOR_QUEST_3) then
  174. SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_3, 4)
  175. end
  176. FaceTarget(NPC, Spawn)
  177. conversation = CreateConversation()
  178. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn010.mp3", "", "", 2380606037, 663564868, Spawn)
  179. AddConversationOption(conversation, "You mean Thaen?", "dlg_25_3")
  180. AddConversationOption(conversation, "I cannot help right now.")
  181. StartConversation(conversation, NPC, Spawn, "There is one more mess to clean up, " .. GetName(Spawn) .. ". We would like your help. What do you say?")
  182. end
  183. ---------------------------------------------------------------------------------------------------------------------
  184. -- HALFELF_MENTOR_QUEST_4
  185. ---------------------------------------------------------------------------------------------------------------------
  186. function dlg_25_3(NPC, Spawn)
  187. FaceTarget(NPC, Spawn)
  188. conversation = CreateConversation()
  189. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn011.mp3", "", "", 2589243361, 2803092595, Spawn)
  190. AddConversationOption(conversation, "That doesn't sound too hard.", "OfferQuest4")
  191. StartConversation(conversation, NPC, Spawn, "Yes, Thaen. We've gotten word of where they're holding him, we'd like you to go free him. Their forces are weak, you should have no trouble. He's just north of here, in a run down building.")
  192. end
  193. function OfferQuest4(NPC, Spawn)
  194. FaceTarget(NPC, Spawn)
  195. OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_4)
  196. end
  197. function OnQuest4(NPC, Spawn, conversation)
  198. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn013.mp3", "", "", 284231717, 1738375836, Spawn)
  199. if (HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_4) == 2) or (HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4) and not HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_5)) then
  200. AddConversationOption(conversation, "Yes, Thaen is safe.", "dlg_30_1")
  201. else
  202. AddConversationOption(conversation, "Not yet.")
  203. end
  204. StartConversation(conversation, NPC, Spawn, "Have you freed Thaen?")
  205. end
  206. function dlg_30_1(NPC, Spawn)
  207. if HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then
  208. SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_4, 2)
  209. end
  210. FaceTarget(NPC, Spawn)
  211. conversation = CreateConversation()
  212. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn014.mp3", "", "", 2285068924, 2141156467, Spawn)
  213. AddConversationOption(conversation, "Yes.", "dlg_30_2")
  214. AddConversationOption(conversation, "No, sorry.")
  215. StartConversation(conversation, NPC, Spawn, "Wonderful. Your arrival was at a key moment, a tragedy--a severe tragedy--ended with your help. As the Brotherhood preaches, balance is everything. I would like you to speak with someone. He is not of the Brotherhood, but his goals and ours are paired. Will you help us more?")
  216. end
  217. ---------------------------------------------------------------------------------------------------------------------
  218. -- HALFELF_MENTOR_QUEST_5
  219. ---------------------------------------------------------------------------------------------------------------------
  220. function dlg_30_2(NPC, Spawn)
  221. FaceTarget(NPC, Spawn)
  222. conversation = CreateConversation()
  223. PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn015.mp3", "", "", 3978499677, 3940019071, Spawn)
  224. AddConversationOption(conversation, "All right.", "OfferQuest5")
  225. StartConversation(conversation, NPC, Spawn, "Good. Go speak with Inquisitor Thorson in the Sunken City. Do as he asks, you will help us more than you know. Thank you again for all your help. If you go to the docks here in Beggar's Court you can use the Mariner's Bell to get to Sunken City.")
  226. end
  227. function OfferQuest5(NPC, Spawn)
  228. FaceTarget(NPC, Spawn)
  229. OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_5)
  230. end