IgnarSteadirt.lua 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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. local LordGrimrotsScythe = 5522
  9. local greetingsTable = { "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3",
  10. "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3",
  11. "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3"};
  12. function spawn(NPC)
  13. ProvidesQuest(NPC, LordGrimrotsScythe)
  14. end
  15. function respawn(NPC)
  16. spawn(NPC)
  17. end
  18. function hailed(NPC, Spawn)
  19. FaceTarget(NPC, Spawn)
  20. if not HasQuest(Spawn, LordGrimrotsScythe) and not HasCompletedQuest(Spawn, LordGrimrotsScythe) then
  21. Option0(NPC, Spawn)
  22. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 1 or GetQuestStep(Spawn, LordGrimrotsScythe) == 2 or GetQuestStep(Spawn, LordGrimrotsScythe) == 3 or GetQuestStep(Spawn, LordGrimrotsScythe) == 4 then
  23. Reports_Progress(NPC, Spawn)
  24. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 6 then
  25. Reports_Progress2(NPC, Spawn)
  26. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 7 and GetQuestStep(Spawn, LordGrimrotsScythe) == 8 then
  27. Reports_Progress3(NPC, Spawn)
  28. elseif GetQuestStep(Spawn, LordGrimrotsScythe) == 9 then
  29. 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)
  30. elseif HasCompletedQuest(Spawn, LordGrimrotsScythe) then
  31. Quest_Completed(NPC, Spawn)
  32. end
  33. end
  34. function Option0(NPC, Spawn)
  35. local conversation = CreateConversation()
  36. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_001.mp3", "", "", 3940456845, 1439505698, Spawn)
  37. AddConversationOption(conversation, "Is that why you are here?", "Option1")
  38. AddConversationOption(conversation, "Well, not me. At least, not right now.", "refuse")
  39. StartConversation(conversation, NPC, Spawn, "The great Qeynos Claymore -- folks come from all over to pray here.")
  40. end
  41. function Reports_Progress(NPC, Spawn)
  42. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_020.mp3", "", "", 3807663927, 1877102207, Spawn)
  43. local conversation = CreateConversation()
  44. if GetQuestStep(Spawn, LordGrimrotsScythe) == 4 or GetQuestStep(Spawn, LordGrimrotsScythe) == 5 then
  45. AddConversationOption(conversation, "Yes, I've spoken with your three knights.", "Option5")
  46. end
  47. AddConversationOption(conversation, "Not yet, I'll be back when I've spoken to all three knights.")
  48. StartConversation(conversation, NPC, Spawn, "Got all three reports for me, eh?")
  49. end
  50. function Reports_Progress2(NPC, Spawn)
  51. local conversation = CreateConversation()
  52. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_018.mp3", "", "", 831646540, 4011481449, Spawn)
  53. AddConversationOption(conversation, "I fought the Sabertooth rune casters, but found only part of Lord Grimrot's war scythe.", "Option10")
  54. AddConversationOption(conversation, "Not yet. I will return when I've done as you asked.")
  55. StartConversation(conversation, NPC, Spawn, "What news do you have? And speak up, will you? I can barely hear you with all the noise around this monument!")
  56. end
  57. function Reports_Progress3(NPC, Spawn)
  58. local conversation = CreateConversation()
  59. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_019.mp3", "", "", 4267108172, 3030270970, Spawn)
  60. if GetQuestStep(Spawn, LordGrimrotsScythe) == 8 then
  61. AddConversationOption(conversation, "I found the remaining piece of Lord Grimrot's scythe.", "Option13")
  62. end
  63. AddConversationOption(conversation, "Not yet. I will continue the fight!")
  64. StartConversation(conversation, NPC, Spawn, "Yes? Oh, it's you again! Have you gotten the final piece of the scythe?")
  65. end
  66. function Option1(NPC, Spawn)
  67. FaceTarget(NPC, Spawn)
  68. local conversation = CreateConversation()
  69. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_002.mp3", "", "", 2644345501, 1145343451, Spawn)
  70. AddConversationOption(conversation, "Who are your enemies?", "Option2")
  71. StartConversation(conversation, NPC, Spawn, "I came here seeking strength to defeat my enemies.")
  72. end
  73. function Option2(NPC, Spawn)
  74. FaceTarget(NPC, Spawn)
  75. local conversation = CreateConversation()
  76. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_003.mp3", "", "", 714312882, 209965713, Spawn)
  77. AddConversationOption(conversation, "Do you need help?", "Option3")
  78. AddConversationOption(conversation, "Wish I had time to help. Perhaps later.", "refuse2")
  79. StartConversation(conversation, NPC, Spawn, "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!")
  80. end
  81. function Option3(NPC, Spawn)
  82. FaceTarget(NPC, Spawn)
  83. local conversation = CreateConversation()
  84. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_004.mp3", "", "", 1571069760, 2691480931, Spawn)
  85. AddConversationOption(conversation, "I could be persuaded.", "Option4")
  86. AddConversationOption(conversation, "No, I'd rather not.")
  87. StartConversation(conversation, NPC, Spawn, "That's why I'm praying. Perhaps my prayers have been answered. Are you here to help me?")
  88. end
  89. function Option4(NPC, Spawn)
  90. FaceTarget(NPC, Spawn)
  91. local conversation = CreateConversation()
  92. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_005.mp3", "", "", 346565467, 222391193, Spawn)
  93. AddConversationOption(conversation, "Start what?", "offer")
  94. AddConversationOption(conversation, "No, not right now.", "refuse3")
  95. StartConversation(conversation, NPC, Spawn, "Excellent. Are you ready to start?")
  96. end
  97. function Option5(NPC, Spawn)
  98. FaceTarget(NPC, Spawn)
  99. local conversation = CreateConversation()
  100. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_007.mp3", "", "", 2410599990, 3294676277, Spawn)
  101. if GetQuestStep(Spawn, LordGrimrotsScythe) == 4 then
  102. AddConversationOption(conversation, "The gnolls have Lord Grimrot's war scythe and are using it to resurrect him for a new undead battle against Qeynos.", "Option7")
  103. AddConversationOption(conversation, "Morte's a human! You didn't tell me that!", "Option6")
  104. end
  105. AddConversationOption(conversation, "I'll be right back.")
  106. StartConversation(conversation, NPC, Spawn, "Anything interesting? The last reports were hardly worth waiting for, but a good soldier never lets his guard down -- ever!")
  107. end
  108. function Option6(NPC, Spawn)
  109. FaceTarget(NPC, Spawn)
  110. local conversation = CreateConversation()
  111. AddConversationOption(conversation, "I have the reports, before I forget to tell you.", "Option5")
  112. AddConversationOption(conversation, "I suppose so.")
  113. StartConversation(conversation, NPC, Spawn, "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.")
  114. end
  115. function Option7(NPC, Spawn)
  116. FaceTarget(NPC, Spawn)
  117. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_008.mp3", "", "boggle", 4075114721, 1890413048, Spawn)
  118. local conversation = CreateConversation()
  119. AddConversationOption(conversation, "What can I do to help you?", "Option8")
  120. AddConversationOption(conversation, "I'll have to continue this later.")
  121. StartConversation(conversation, NPC, Spawn, "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!")
  122. end
  123. function Option8(NPC, Spawn)
  124. FaceTarget(NPC, Spawn)
  125. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_009.mp3", "", "shakefist", 1966007191, 2165025805, Spawn)
  126. local conversation = CreateConversation()
  127. AddConversationOption(conversation, "I'll destroy the scythe.", "Option9")
  128. StartConversation(conversation, NPC, Spawn, "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. ")
  129. end
  130. function Option9(NPC, Spawn)
  131. FaceTarget(NPC, Spawn)
  132. local conversation = CreateConversation()
  133. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_011.mp3", "", "", 2337997349, 1621243577, Spawn)
  134. SetStepComplete(Spawn, LordGrimrotsScythe, 4)
  135. PlayAnimation(NPC, 121)
  136. AddConversationOption(conversation, "Don't worry -- I will be back.")
  137. StartConversation(conversation, NPC, Spawn, "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.")
  138. end
  139. function Option10(NPC, Spawn)
  140. FaceTarget(NPC, Spawn)
  141. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_012.mp3", "", "", 3015059264, 2600919408, Spawn)
  142. local conversation = CreateConversation()
  143. AddConversationOption(conversation, "So I need to find the other part with the Darkpaws?", "Option11")
  144. StartConversation(conversation, NPC, Spawn, "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.")
  145. end
  146. function Option11(NPC, Spawn)
  147. FaceTarget(NPC, Spawn)
  148. local conversation = CreateConversation()
  149. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_013.mp3", "", "", 57458037, 1125197577, Spawn)
  150. AddConversationOption(conversation, "And then...?", "Option12")
  151. StartConversation(conversation, NPC, Spawn, "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...")
  152. end
  153. function Option12(NPC, Spawn)
  154. SetStepComplete(Spawn, LordGrimrotsScythe, 6)
  155. FaceTarget(NPC, Spawn)
  156. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_014.mp3", "", "", 466957863, 1448898790, Spawn)
  157. local conversation = CreateConversation()
  158. AddConversationOption(conversation, "...haunt us. Yes, I know. I'll take care of the scythe.")
  159. StartConversation(conversation, NPC, Spawn, "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...")
  160. end
  161. function Option13(NPC, Spawn)
  162. FaceTarget(NPC, Spawn)
  163. local conversation = CreateConversation()
  164. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_015.mp3", "", "", 2386335568, 649326615, Spawn)
  165. AddConversationOption(conversation, "Well...no, I'm not sure.", "Option14")
  166. StartConversation(conversation, NPC, Spawn, "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?")
  167. end
  168. function Option14(NPC, Spawn)
  169. SetStepComplete(Spawn, LordGrimrotsScythe, 8)
  170. FaceTarget(NPC, Spawn)
  171. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_016.mp3", "", "", 2368455288, 1132389514, Spawn)
  172. local conversation = CreateConversation()
  173. AddConversationOption(conversation, "I'll take a look.")
  174. StartConversation(conversation, NPC, Spawn, "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.")
  175. end
  176. function Quest_Completed(NPC, Spawn)
  177. FaceTarget(NPC, Spawn)
  178. local conversation = CreateConversation()
  179. PlayAnimation(NPC, 121)
  180. AddConversationOption(conversation, "Farewell.")
  181. StartConversation(conversation, NPC, Spawn, "I keep telling myself this is an important part of the battle -- to stay here and gather data. Ah, well. I appreciate your visits.")
  182. end
  183. function refuse1(NPC, Spawn)
  184. PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quest/045_dwarf_ignar_steadirt_g1_shame_b6fbc6ba.mp3", "That is a shame. Please leave me to my prayers.", "", 2730895874, 3053314534, Spawn)
  185. end
  186. function refuse2(NPC, Spawn)
  187. PlayFlavor(NPC, "", "Hmm, I'll keep praying then. Good day.", "", 1689589577, 4560189, Spawn)
  188. end
  189. function refuse3(NPC, Spawn)
  190. PlayFlavor(NPC, "", "Return when you are ready, but be quick. They grow stronger by the hour.", "", 1689589577, 4560189, Spawn)
  191. end
  192. function offer(NPC, Spawn)
  193. OfferQuest(NPC, Spawn, LordGrimrotsScythe)
  194. end