IgnarSteadirt.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. --[[
  2. Script Name : IgnarSteadirt.lua
  3. Script Purpose : Ignar Steadirt
  4. Script Author : Jabantiz
  5. Script Date : 08/29/2019
  6. Script Notes : Voiceovers added - 6/10/2022 Dorbin
  7. --]]
  8. require "SpawnScripts/Generic/DialogModule"
  9. local LordGrimrotsScythe = 5522
  10. local greetingsTable = { "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3",
  11. "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3",
  12. "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3"};
  13. function spawn(NPC)
  14. ProvidesQuest(NPC, LordGrimrotsScythe)
  15. end
  16. function respawn(NPC)
  17. spawn(NPC)
  18. end
  19. function hailed(NPC, Spawn)
  20. FaceTarget(NPC, Spawn)
  21. if not HasQuest(Spawn, LordGrimrotsScythe) and not HasCompletedQuest(Spawn, LordGrimrotsScythe) then
  22. Option0(NPC, Spawn)
  23. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 1 or GetQuestStep(Spawn, LordGrimrotsScythe) == 2 or GetQuestStep(Spawn, LordGrimrotsScythe) == 3 or GetQuestStep(Spawn, LordGrimrotsScythe) == 4 then
  24. Reports_Progress(NPC, Spawn)
  25. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 6 then
  26. Reports_Progress2(NPC, Spawn)
  27. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 7 and GetQuestStep(Spawn, LordGrimrotsScythe) == 8 then
  28. Reports_Progress3(NPC, Spawn)
  29. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 9 then
  30. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quest/045_dwarf_ignar_steadirt_g1_onstage7_68f3d9e4.mp3", "Well? Have you spoken with the dwarven centurion yet? His name's Grimbold Steadirt -- you can't miss him, he's near the gates to Firemyst.", "", 1513486151, 2077778983, Spawn)
  31. elseif HasCompletedQuest(Spawn, LordGrimrotsScythe) then
  32. Quest_Completed(NPC, Spawn)
  33. end
  34. end
  35. function Option0(NPC, Spawn)
  36. FaceTarget(NPC, Spawn)
  37. Dialog.New(NPC, Spawn)
  38. Dialog.AddDialog("The great Qeynos Claymore -- folks come from all over to pray here.")
  39. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_001.mp3", 3940456845, 1439505698)
  40. Dialog.AddOption("Is that why you are here?", "Option1")
  41. Dialog.AddOption("Well, not me. At least, not right now.","refuse")
  42. Dialog.Start()
  43. end
  44. function Reports_Progress(NPC, Spawn)
  45. FaceTarget(NPC, Spawn)
  46. Dialog.New(NPC, Spawn)
  47. Dialog.AddDialog("Got all three reports for me, eh?")
  48. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_020.mp3", 3807663927, 1877102207)
  49. if GetQuestStep(Spawn, LordGrimrotsScythe) == 4 or GetQuestStep(Spawn, LordGrimrotsScythe) == 5 then
  50. Dialog.AddOption("Yes, I've spoken with your three knights.", "Option5")
  51. end
  52. Dialog.AddOption("Not yet, I'll be back when I've spoken to all three knights.")
  53. Dialog.Start()
  54. end
  55. function Reports_Progress2(NPC, Spawn)
  56. FaceTarget(NPC, Spawn)
  57. Dialog.New(NPC, Spawn)
  58. Dialog.AddDialog("What news do you have? And speak up, will you? I can barely hear you with all the noise around this monument!")
  59. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_018.mp3", 831646540, 4011481449)
  60. PlayFlavor(NPC, "", "", "listen", 0, 0, Spawn)
  61. Dialog.AddOption("I fought the Sabertooth rune casters, but found only part of Lord Grimrot's war scythe.", "Option10")
  62. Dialog.AddOption("Not yet. I will return when I've done as you asked.")
  63. Dialog.Start()
  64. end
  65. function Reports_Progress3(NPC, Spawn)
  66. FaceTarget(NPC, Spawn)
  67. Dialog.New(NPC, Spawn)
  68. Dialog.AddDialog("Yes? Oh, it's you again! Have you gotten the final piece of the scythe?")
  69. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_019.mp3", 4267108172, 3030270970)
  70. PlayFlavor(NPC, "", "", "doubletake", 0, 0, Spawn)
  71. if GetQuestStep(Spawn, LordGrimrotsScythe) == 8 then
  72. Dialog.AddOption("I found the remaining piece of Lord Grimrot's scythe.", "Option13")
  73. end
  74. Dialog.AddOption("Not yet. I will continue the fight!")
  75. Dialog.Start()
  76. end
  77. function Option1(NPC, Spawn)
  78. FaceTarget(NPC, Spawn)
  79. Dialog.New(NPC, Spawn)
  80. Dialog.AddDialog("I came here seeking strength to defeat my enemies.")
  81. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_002.mp3", 2644345501, 1145343451)
  82. Dialog.AddOption("Who are your enemies?", "Option2")
  83. Dialog.Start()
  84. end
  85. function Option2(NPC, Spawn)
  86. FaceTarget(NPC, Spawn)
  87. Dialog.New(NPC, Spawn)
  88. Dialog.AddDialog("I pray for the strength to conquer the undead, but they are not just my enemies; the undead are the enemies of us all. Several days ago, patrols were sent to see how our battle against the undead was faring. And I -- I have the most disagreeable task of all. I have to stand here and wait for the reports to return. Me! Standing around waiting when there's undead to cleave! Pah!")
  89. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_003.mp3", 714312882, 209965713)
  90. PlayFlavor(NPC, "", "", "orate", 0, 0, Spawn)
  91. Dialog.AddOption("Do you need help?", "Option3")
  92. Dialog.AddOption("Wish I had time to help. Perhaps later.","refuse2")
  93. Dialog.Start()
  94. end
  95. function Option3(NPC, Spawn)
  96. FaceTarget(NPC, Spawn)
  97. Dialog.New(NPC, Spawn)
  98. Dialog.AddDialog("That's why I'm praying. Perhaps my prayers have been answered. Are you here to help me?")
  99. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_004.mp3", 1571069760, 2691480931)
  100. Dialog.AddOption("I could be persuaded.", "Option4")
  101. Dialog.AddOption("No, I'd rather not.","refuse1")
  102. Dialog.Start()
  103. end
  104. function Option4(NPC, Spawn)
  105. FaceTarget(NPC, Spawn)
  106. Dialog.New(NPC, Spawn)
  107. Dialog.AddDialog("Excellent. Are you ready to start?")
  108. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_005.mp3", 346565467, 222391193)
  109. Dialog.AddOption("Start what?", "offer")
  110. Dialog.AddOption("No, not right now.","refuse1")
  111. Dialog.Start()
  112. end
  113. function Option5(NPC, Spawn)
  114. FaceTarget(NPC, Spawn)
  115. Dialog.New(NPC, Spawn)
  116. Dialog.AddDialog("Anything interesting? The last reports were hardly worth waiting for, but a good soldier never lets his guard down -- ever!")
  117. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_007.mp3", 2410599990, 3294676277)
  118. if GetQuestStep(Spawn, LordGrimrotsScythe) == 4 then
  119. Dialog.AddOption("The gnolls have Lord Grimrot's war scythe and are using it to resurrect him for a new undead battle against Qeynos.", "Option7")
  120. Dialog.AddOption("Morte's a human! You didn't tell me that!", "Option6")
  121. end
  122. Dialog.AddOption("I'll be right back.")
  123. Dialog.Start()
  124. end
  125. function Option6(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. Dialog.New(NPC, Spawn)
  128. Dialog.AddDialog("Ah, yes, Morte. He's a good lad, if a bit addled. He really wants to become a blacksmith, but I hate to tell him ... he's already too old for anyone to take him on as an apprentice. Still, it's good for us to have our dreams, isn't it? He dreams of fire and tongs, while I dream of returning to battle.")
  129. Dialog.AddOption("I have the reports, before I forget to tell you.", "Option5")
  130. Dialog.AddOption("I suppose so.")
  131. Dialog.Start()
  132. end
  133. function Option7(NPC, Spawn)
  134. FaceTarget(NPC, Spawn)
  135. Dialog.New(NPC, Spawn)
  136. Dialog.AddDialog("What!? Lord Grimrot? It can't be ... Pestilence -- that's his war scythe, found after all these years? I never credited the gnolls with having any brains, and this proves it! If they go through with this, it could mean another War of Plagues!")
  137. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_008.mp3", 4075114721, 1890413048)
  138. PlayFlavor(NPC, "", "", "boggle", 0, 0, Spawn)
  139. Dialog.AddOption("What can I do to help you?", "Option8")
  140. Dialog.AddOption("I'll have to continue this later.")
  141. Dialog.Start()
  142. end
  143. function Option8(NPC, Spawn)
  144. FaceTarget(NPC, Spawn)
  145. Dialog.New(NPC, Spawn)
  146. Dialog.AddDialog("We must get that scythe at any cost. A large-scale invasion won't do us any good; they might just try to hurry up whatever it is they're doing. No, we've got to get a small force to find Pestilence and destroy it. ")
  147. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_009.mp3", 1966007191, 2165025805)
  148. PlayFlavor(NPC, "", "", "shakefist", 0, 0, Spawn)
  149. Dialog.AddOption("I'll destroy the scythe.", "Option9")
  150. Dialog.Start()
  151. end
  152. function Option9(NPC, Spawn)
  153. SetStepComplete(Spawn, LordGrimrotsScythe, 4)
  154. FaceTarget(NPC, Spawn)
  155. Dialog.New(NPC, Spawn)
  156. Dialog.AddDialog("You might want to bring along some trusted companions, for I'm sure the gnolls will have this thing hidden -- from each other, as well as from outsiders like us! If they're trying to do some fancy spellwork, their rune casters will be involved. Watch for their guards too.")
  157. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_011.mp3", 2337997349, 1621243577)
  158. PlayAnimation(NPC, 121)
  159. Dialog.AddOption("Don't worry -- I will be back.")
  160. Dialog.Start()
  161. end
  162. function Option10(NPC, Spawn)
  163. FaceTarget(NPC, Spawn)
  164. Dialog.New(NPC, Spawn)
  165. Dialog.AddDialog("I wonder whether each group has a piece of the scythe ... that might explain their sudden cooperation:An uneasy truce until they unleash Lord Grimrot. I'll bet they need each other to get this to work. And you know this actually ties in with the last reports, of those Darkpaws and Sabertooth gnolls suddenly getting friendly toward each other.")
  166. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_012.mp3", 3015059264, 2600919408)
  167. Dialog.AddOption("So I need to find the other part with the Darkpaws?", "Option11")
  168. Dialog.Start()end
  169. function Option11(NPC, Spawn)
  170. FaceTarget(NPC, Spawn)
  171. Dialog.New(NPC, Spawn)
  172. Dialog.AddDialog("It looks that way, my friend. Just as the Sabertooth gnolls protect their rune casters, so do the Darkpaws. A small group is the best way to achieve success. And then...")
  173. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_013.mp3", 57458037, 1125197577)
  174. PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn)
  175. Dialog.AddOption("And then...?", "Option12")
  176. Dialog.Start()
  177. end
  178. function Option12(NPC, Spawn)
  179. SetStepComplete(Spawn, LordGrimrotsScythe, 6)
  180. FaceTarget(NPC, Spawn)
  181. Dialog.New(NPC, Spawn)
  182. Dialog.AddDialog("And then, well, we'll have stopped them, won't we? Anyway, it's best to take things one step at a time. We'll deal with what comes after we destroy the entire scythe -- if there is anything, mind you. The undead have a way of coming back to ... well, you know...")
  183. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_014.mp3", 466957863, 1448898790)
  184. Dialog.AddOption("...haunt us. Yes, I know. I'll take care of the scythe.")
  185. Dialog.Start()
  186. end
  187. function Option13(NPC, Spawn)
  188. FaceTarget(NPC, Spawn)
  189. Dialog.New(NPC, Spawn)
  190. Dialog.AddDialog("That's one less thing for me to worry about. Thank you! The undead continue to stir, though, which disturbs me. You're sure you destroyed all pieces of Pestilence?")
  191. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_015.mp3", 2386335568, 649326615)
  192. Dialog.AddOption("Of course.", "Option14")
  193. Dialog.AddOption("Well...no, I'm not sure.", "Option14")
  194. Dialog.Start()
  195. end
  196. function Option14(NPC, Spawn)
  197. SetStepComplete(Spawn, LordGrimrotsScythe, 8)
  198. FaceTarget(NPC, Spawn)
  199. Dialog.New(NPC, Spawn)
  200. Dialog.AddDialog("Either way, there's no denying that the undead are restless over in Firemyst Gully -- that's where untold numbers of 'em were buried in the War of Plagues. In fact, maybe you could go over and see if the dwarven centurion at the Firemyst gate needs anything. I'm afraid my lot is to stay here. Go find glory in battle, farewell.")
  201. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_016.mp3", 2368455288, 1132389514)
  202. Dialog.AddOption("I'll take a look.")
  203. Dialog.Start()
  204. end
  205. function Quest_Completed(NPC, Spawn)
  206. FaceTarget(NPC, Spawn)
  207. Dialog.New(NPC, Spawn)
  208. Dialog.AddDialog("I keep telling myself this is an important part of the battle -- to stay here and gather data. Ah, well. I appreciate your visits.")
  209. PlayFlavor(NPC,"","","nod", 0, 0,Spawn)
  210. Dialog.AddOption("Farewell.")
  211. Dialog.Start()
  212. end
  213. function refuse1(NPC, Spawn)
  214. Dialog.New(NPC, Spawn)
  215. Dialog.AddDialog("That is a shame. Please leave me to my prayers.")
  216. Dialog.AddVoiceover("voiceover/english/ignar_steadirt/antonica/quest/045_dwarf_ignar_steadirt_g1_shame_b6fbc6ba.mp3", 2730895874, 3053314534)
  217. Dialog.AddOption("Farewell.")
  218. Dialog.Start()
  219. end
  220. function refuse2(NPC, Spawn)
  221. PlayFlavor(NPC, "", "Hmm, I'll keep praying then. Good day.", "", 1689589577, 4560189, Spawn)
  222. end
  223. function refuse3(NPC, Spawn)
  224. PlayFlavor(NPC, "", "Return when you are ready, but be quick. They grow stronger by the hour.", "", 1689589577, 4560189, Spawn)
  225. end
  226. function offer(NPC, Spawn)
  227. OfferQuest(NPC, Spawn, LordGrimrotsScythe)
  228. end