IlmtarDViervs.lua 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. --[[
  2. Script Name : IlmtarDviervs.lua
  3. Script Purpose : Ilmtar D'Viervs
  4. Script Author : ParserGenerated (Replace this)
  5. Script Date : 06/24/2018
  6. Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner
  7. --]]
  8. -- Quest ID's
  9. local WHATS_IN_DEMAND = 142
  10. local ONE_MANS_WASTE = 143
  11. local USEFUL_MATERIALS = 144
  12. local SORCEROUS_NECESSITIES = 145
  13. local TIPPING_THE_SCALES_OF_POWER = 146
  14. local A_SNAKE_MADE_SERUM = 147
  15. local THE_MOTHER_LODE = 148
  16. function spawn(NPC)
  17. ProvidesQuest(NPC, WHATS_IN_DEMAND)
  18. ProvidesQuest(NPC, ONE_MANS_WASTE)
  19. ProvidesQuest(NPC, USEFUL_MATERIALS)
  20. ProvidesQuest(NPC, SORCEROUS_NECESSITIES)
  21. ProvidesQuest(NPC, TIPPING_THE_SCALES_OF_POWER)
  22. ProvidesQuest(NPC, A_SNAKE_MADE_SERUM)
  23. ProvidesQuest(NPC, THE_MOTHER_LODE)
  24. end
  25. function respawn(NPC)
  26. spawn(NPC)
  27. end
  28. function hailed(NPC, Spawn)
  29. FaceTarget(NPC, Spawn)
  30. local con = CreateConversation()
  31. if CanReceiveQuest(Spawn, WHATS_IN_DEMAND) then
  32. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1048.mp3", "", "", 0, 0, Spawn)
  33. AddConversationOption(con, "Others like myself.", "dlg_2")
  34. StartConversation(con, NPC, Spawn, "Greetings. I am Ilmtar D'Viervs, Quartermaster for the Dread Guard. Ever since the recent Thexian attacks on Hate's Envy, I've been at my wit's end finding adequate supplies for those stationed here at T'Vatar Outpost. My chief responsibility is supplying general goods, or paying others to find them for me.")
  35. elseif HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) >= 1 and GetQuestStep(Spawn, WHATS_IN_DEMAND) <= 2 then
  36. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn)
  37. if HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) == 2 then
  38. AddConversationOption(con, "Yes, here you are.", "dlg_6")
  39. end
  40. if HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) == 1 then
  41. AddConversationOption(con, "Not yet.")
  42. end
  43. StartConversation(con, NPC, Spawn, "Do you have the bone fragments?")
  44. elseif HasCompletedQuest(Spawn, WHATS_IN_DEMAND) and CanReceiveQuest(Spawn, ONE_MANS_WASTE) then
  45. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn)
  46. AddConversationOption(con, "Yes, here you are.", "dlg_6")
  47. StartConversation(con, NPC, Spawn, "Do you have the bone fragments?")
  48. elseif HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) >= 1 and GetQuestStep(Spawn, ONE_MANS_WASTE) <= 2 then
  49. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn)
  50. if HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) == 2 then
  51. AddConversationOption(con, "Yes, I have them.", "dlg_10")
  52. end
  53. if HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) == 1 then
  54. AddConversationOption(con, "Not yet.")
  55. end
  56. StartConversation(con, NPC, Spawn, "Have you the weapons?")
  57. elseif HasCompletedQuest(Spawn, ONE_MANS_WASTE) and CanReceiveQuest(Spawn, USEFUL_MATERIALS) then
  58. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn)
  59. if HasQuest(Spawn, USEFUL_MATERIALS) and GetQuestStep(Spawn, USEFUL_MATERIALS) == 2 then
  60. AddConversationOption(con, "I did. Here you go.", "dlg_14")
  61. end
  62. if HasQuest(Spawn, USEFUL_MATERIALS) and GetQuestStep(Spawn, USEFUL_MATERIALS) == 1 then
  63. AddConversationOption(con, "I haven't yet.")
  64. end
  65. StartConversation(con, NPC, Spawn, "Did you gather the wood?")
  66. elseif HasCompletedQuest(Spawn, USEFUL_MATERIALS) and CanReceiveQuest(Spawn, SORCEROUS_NECESSITIES) then
  67. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn)
  68. if HasQuest(Spawn, SORCEROUS_NECESSITIES) and GetQuestStep(Spawn, SORCEROUS_NECESSITIES) == 2 then
  69. AddConversationOption(con, "I did.", "dlg_18")
  70. end
  71. if HasQuest(Spawn, SORCEROUS_NECESSITIES) and GetQuestStep(Spawn, SORCEROUS_NECESSITIES) == 1 then
  72. AddConversationOption(con, "I haven't yet.")
  73. end
  74. StartConversation(con, NPC, Spawn, "Did you collect the bat wings?")
  75. elseif HasCompletedQuest(Spawn, SORCEROUS_NECESSITIES) and CanReceiveQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) then
  76. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn)
  77. if HasQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and GetQuestStep(Spawn, TIPPING_THE_SCALES_OF_POWER) == 2 then
  78. AddConversationOption(con, "I did, here you go.", "dlg_21")
  79. end
  80. if HasQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and GetQuestStep(Spawn, TIPPING_THE_SCALES_OF_POWER) == 1 then
  81. AddConversationOption(con, "Not yet.")
  82. end
  83. StartConversation(con, NPC, Spawn, "Did you collect the scales?")
  84. elseif HasCompletedQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and CanReceiveQuest(Spawn, A_SNAKE_MADE_SERUM) then
  85. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn)
  86. if HasQuest(Spawn, A_SNAKE_MADE_SERUM) and GetQuestStep(Spawn, A_SNAKE_MADE_SERUM) == 2 then
  87. AddConversationOption(con, "Yes, I did.", "dlg_27")
  88. end
  89. if HasQuest(Spawn, A_SNAKE_MADE_SERUM) and GetQuestStep(Spawn, A_SNAKE_MADE_SERUM) == 1 then
  90. AddConversationOption(con, "Not yet.")
  91. end
  92. StartConversation(con, NPC, Spawn, "Did you bring me back the wurm corpses?")
  93. elseif HasCompletedQuest(Spawn, A_SNAKE_MADE_SERUM) then
  94. if HasQuest(Spawn, THE_MOTHER_LODE) and GetQuestStep(Spawn, THE_MOTHER_LODE) == 1 then
  95. AddConversationOption(con, "Not yet.")
  96. end
  97. StartConversation(con, NPC, Spawn, "Did you get her skin?")
  98. elseif HasCompletedQuest(Spawn, A_SNAKE_MADE_SERUM) then
  99. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn)
  100. if HasQuest(Spawn, THE_MOTHER_LODE) and GetQuestStep(Spawn, THE_MOTHER_LODE) == 2 then
  101. AddConversationOption(con, "Yes.", "dlg_34")
  102. end
  103. StartConversation(con, NPC, Spawn, "Did you get her?")
  104. end
  105. --[[ Say() from this NPC
  106. Say(NPC, "You've helped me a great deal, and I am thankful.", Spawn)
  107. Orphaned PlayFlavors
  108. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn)
  109. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  110. --]]
  111. end
  112. function dlg_2(NPC, Spawn)
  113. FaceTarget(NPC, Spawn)
  114. local con = CreateConversation()
  115. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  116. AddConversationOption(con, "Sure.", "dlg_3")
  117. AddConversationOption(con, "Not right now.")
  118. StartConversation(con, NPC, Spawn, "Precisely. Would you happen to be looking for work?")
  119. end
  120. function dlg_3(NPC, Spawn)
  121. FaceTarget(NPC, Spawn)
  122. local con = CreateConversation()
  123. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  124. AddConversationOption(con, "I'll collect the bone chips.", "OfferQuest1")
  125. AddConversationOption(con, "Find someone else to do your work.")
  126. StartConversation(con, NPC, Spawn, "I thought so. Currently I'm collecting bone fragments for the necromancers to use as reagents for their reanimating spells. This field we're in is home to a great number of undead, with fresh numbers rising daily. They're a perfect source for the bone fragments I'm after. So, if you're still willing to help...")
  127. end
  128. function OfferQuest1(NPC, Spawn)
  129. OfferQuest(NPC, Spawn, WHATS_IN_DEMAND)
  130. --[[ Move the following conversation to the Accepted function of the quest script
  131. FaceTarget(NPC, Spawn)
  132. local con = CreateConversation()
  133. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  134. StartConversation(con, NPC, Spawn, "Then I await your return.")
  135. --]]
  136. end
  137. function dlg_6(NPC, Spawn)
  138. FaceTarget(NPC, Spawn)
  139. local con = CreateConversation()
  140. SetStepComplete(Spawn, WHATS_IN_DEMAND, 2)
  141. AddConversationOption(con, "Yes.", "dlg_7")
  142. AddConversationOption(con, "Not right now.")
  143. StartConversation(con, NPC, Spawn, "Well done, well done. The whisperers were right about you, Sygman. There's more collecting to be done. Are you in?")
  144. end
  145. function dlg_7(NPC, Spawn)
  146. FaceTarget(NPC, Spawn)
  147. local con = CreateConversation()
  148. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  149. AddConversationOption(con, "I'll collect some for you.", "OfferQuest2")
  150. AddConversationOption(con, "You'll have to collect them yourself.")
  151. StartConversation(con, NPC, Spawn, "In the same field that these bones came from you'll find a great many weapons that once belonged to the soldiers who fought here. We arm our own legions of undead minions with them, thus saving the higher quality weapons for those of us still breathing.")
  152. end
  153. function OfferQuest2(NPC, Spawn)
  154. OfferQuest(NPC, Spawn, ONE_MANS_WASTE)
  155. --[[ Move the following conversation to the Accepted function of the quest script
  156. FaceTarget(NPC, Spawn)
  157. local con = CreateConversation()
  158. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  159. AddConversationOption(con, "I'll see what can I dig up.")
  160. StartConversation(con, NPC, Spawn, "Once you've collected a decent number of weapons return them to me.")
  161. --]]
  162. end
  163. function dlg_10(NPC, Spawn)
  164. FaceTarget(NPC, Spawn)
  165. local con = CreateConversation()
  166. SetStepComplete(Spawn, ONE_MANS_WASTE, 2)
  167. AddConversationOption(con, "Certainly.", "dlg_11")
  168. AddConversationOption(con, "Not right now.")
  169. StartConversation(con, NPC, Spawn, "Again, I am impressed, Sygman. You may be surprised to know how hard it is to find good workers around here. Let's see here... bone fragments, weapons, ah, wood. Care for another job?")
  170. end
  171. function dlg_11(NPC, Spawn)
  172. FaceTarget(NPC, Spawn)
  173. local con = CreateConversation()
  174. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  175. AddConversationOption(con, "I can do that.", "OfferQuest4")
  176. AddConversationOption(con, "Not right now.")
  177. StartConversation(con, NPC, Spawn, "North of here are the remnants of recent attempts to construct upon the Field of Ruin. Never mind the fools who thought it was a good idea. Their building materials can be used to construct barricades and strengthen our preexisting dwellings. Specifically, I speak of the wood they've left laying around. I'd like you to retrieve it.")
  178. end
  179. function OfferQuest4(NPC, Spawn)
  180. OfferQuest(NPC, Spawn, USEFUL_MATERIALS)
  181. --[[ Move the following conversation to the Accepted function of the quest script
  182. FaceTarget(NPC, Spawn)
  183. local con = CreateConversation()
  184. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  185. StartConversation(con, NPC, Spawn, "Good.")
  186. --]]
  187. end
  188. function dlg_14(NPC, Spawn)
  189. FaceTarget(NPC, Spawn)
  190. local con = CreateConversation()
  191. SetStepComplete(Spawn, USEFUL_MATERIALS, 2)
  192. AddConversationOption(con, "I have no intention of doing that.", "dlg_15")
  193. AddConversationOption(con, "Sorry, but I am needed elsewhere.")
  194. StartConversation(con, NPC, Spawn, "Your help is most appreciated, Sygman. Most appreciated. There may yet be hope for this outpost. That is unless... you chose to abandon us now.")
  195. end
  196. function dlg_15(NPC, Spawn)
  197. FaceTarget(NPC, Spawn)
  198. local con = CreateConversation()
  199. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  200. AddConversationOption(con, "I can do that.", "OfferQuest5")
  201. AddConversationOption(con, "Bat wings? I'm not interested.")
  202. StartConversation(con, NPC, Spawn, "I thought not. By now I'm sure you've begun to understand the reputation you're garnering back in Neriak. Speaking of which, I've just received a request from a Neriak sorcerer of some repute. He's requesting fresh bat wings. Apparently they're a chief reagent used in a levitation spell he's working on. Would you be willing to bring me some?")
  203. end
  204. function OfferQuest5(NPC, Spawn)
  205. OfferQuest(NPC, Spawn, SORCEROUS_NECESSITIES)
  206. --[[ Move the following conversation to the Accepted function of the quest script
  207. FaceTarget(NPC, Spawn)
  208. local con = CreateConversation()
  209. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  210. AddConversationOption(con, "I'll be back.")
  211. StartConversation(con, NPC, Spawn, "Good, very good. You can find a colony of bats due west from T'Vatar Outpost.")
  212. --]]
  213. end
  214. function dlg_18(NPC, Spawn)
  215. FaceTarget(NPC, Spawn)
  216. local con = CreateConversation()
  217. SetStepComplete(Spawn, SORCEROUS_NECESSITIES, 2)
  218. AddConversationOption(con, "I will bring you snake scales presently.", "OfferQuest6")
  219. AddConversationOption(con, "This doesn't interest me.")
  220. StartConversation(con, NPC, Spawn, "Ah, of course you did, Sygman. You've earned me, er.. us quite a bit of favor with the powers that be. But why stop there? If you travel farther west you'll find serpents slithering along the banks of the Searing Tendril River. Their scales are said to heighten the potency of a shadowknight's abilities. Go, bring me their scales.")
  221. end
  222. function OfferQuest6(NPC, Spawn)
  223. OfferQuest(NPC, Spawn, TIPPING_THE_SCALES_OF_POWER)
  224. --[[ Move the following conversation to the Accepted function of the quest script
  225. FaceTarget(NPC, Spawn)
  226. local con = CreateConversation()
  227. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  228. AddConversationOption(con, "I will return when I get the scales.")
  229. StartConversation(con, NPC, Spawn, "Good, good.")
  230. --]]
  231. end
  232. function dlg_21(NPC, Spawn)
  233. FaceTarget(NPC, Spawn)
  234. local con = CreateConversation()
  235. SetStepComplete(Spawn, TIPPING_THE_SCALES_OF_POWER, 2)
  236. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  237. AddConversationOption(con, "What breakthrough is that?", "dlg_22")
  238. StartConversation(con, NPC, Spawn, "Yes, these will do nicely. Now then, I have a bit of good news to share with you. It seems we've made a breakthrough in our battle with the Thexian curs.")
  239. end
  240. function dlg_22(NPC, Spawn)
  241. FaceTarget(NPC, Spawn)
  242. local con = CreateConversation()
  243. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  244. AddConversationOption(con, "Where do the pheromones come from?", "dlg_23")
  245. StartConversation(con, NPC, Spawn, "A highly valued target has been captured... alive! Thus far he's said little, despite our torturers' best efforts. Queen Cristanos, however, feels that there are other methods of making the truth spill from our captive's lips. If a particular pheromone is harvested, it can, in the right hands, be distilled into a powerful truth serum.")
  246. end
  247. function dlg_23(NPC, Spawn)
  248. FaceTarget(NPC, Spawn)
  249. local con = CreateConversation()
  250. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  251. AddConversationOption(con, "Of course.", "dlg_24")
  252. StartConversation(con, NPC, Spawn, "They come from flying snakes, the scar wurms. They glide about in Innoruuk's Scar just east of here. You'll have to hit them with something to catch their attention. Once that happens, though, they're quite aggressive--it's mating season.")
  253. end
  254. function dlg_24(NPC, Spawn)
  255. FaceTarget(NPC, Spawn)
  256. local con = CreateConversation()
  257. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  258. AddConversationOption(con, "I can do that.", "OfferQuest7")
  259. AddConversationOption(con, "No thanks.")
  260. StartConversation(con, NPC, Spawn, "Bring me back several of these wurm corpses so I can harvest their pheromone sacs. With any luck we'll have enough to make the truth serum Queen Cristanos has demanded.")
  261. end
  262. function OfferQuest7(NPC, Spawn)
  263. OfferQuest(NPC, Spawn, A_SNAKE_MADE_SERUM)
  264. --[[ Move the following conversation to the Accepted function of the quest script
  265. FaceTarget(NPC, Spawn)
  266. local con = CreateConversation()
  267. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  268. StartConversation(con, NPC, Spawn, "Great. I'll be here preparing the additional ingredients needed for the serum.")
  269. --]]
  270. end
  271. function dlg_27(NPC, Spawn)
  272. FaceTarget(NPC, Spawn)
  273. local con = CreateConversation()
  274. SetStepComplete(Spawn, A_SNAKE_MADE_SERUM, 2)
  275. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  276. AddConversationOption(con, "What do you have in mind?", "dlg_28")
  277. StartConversation(con, NPC, Spawn, "Curses, this is not the result that I expected! These pheromones are far too weak to be used in the manner we need. We'll need a much stronger sample to draw from.")
  278. end
  279. function dlg_28(NPC, Spawn)
  280. FaceTarget(NPC, Spawn)
  281. local con = CreateConversation()
  282. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  283. AddConversationOption(con, "So that work was for nothing?", "dlg_29")
  284. StartConversation(con, NPC, Spawn, "The corpses you've brought me are all males. We need the pheromone of a female, the wurm mother.")
  285. end
  286. function dlg_29(NPC, Spawn)
  287. FaceTarget(NPC, Spawn)
  288. local con = CreateConversation()
  289. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  290. AddConversationOption(con, "Sure.", "dlg_30")
  291. AddConversationOption(con, "No. Definitely not.")
  292. StartConversation(con, NPC, Spawn, "Absolutely not! We will use their pheromones to attract and ultimately kill the brood mother. With her corpse, we can make a potent version of the serum. Are you game?")
  293. end
  294. function dlg_30(NPC, Spawn)
  295. FaceTarget(NPC, Spawn)
  296. local con = CreateConversation()
  297. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  298. AddConversationOption(con, "I'll return with her corpse.", "OfferQuest8")
  299. AddConversationOption(con, "Maybe later.")
  300. StartConversation(con, NPC, Spawn, "Excellent. I've made this small device that will disperse the pheromone. This should call forth the wurm mother. Go back to Innoruuk's Scar and use it on the bridge. Once the wurm mother comes forth to spawn... kill her.")
  301. end
  302. function OfferQuest8(NPC, Spawn)
  303. OfferQuest(NPC, Spawn, THE_MOTHER_LODE)
  304. --[[ Move the following conversation to the Accepted function of the quest script
  305. FaceTarget(NPC, Spawn)
  306. local con = CreateConversation()
  307. AddConversationOption(con, "That's reassuring.")
  308. StartConversation(con, NPC, Spawn, "Good luck, Sygman. Be sure you don't spray any of that stuff on yourself, ha!")
  309. --]]
  310. end
  311. function dlg_34(NPC, Spawn)
  312. FaceTarget(NPC, Spawn)
  313. local con = CreateConversation()
  314. SetStepComplete(Spawn, THE_MOTHER_LODE, 2)
  315. AddConversationOption(con, "Good-bye.")
  316. StartConversation(con, NPC, Spawn, "Ah, lovely! This is quite impressive, Sygman. I've almost finished the serum. Now I just need to add the essences distilled from the wurm mother's internal organs! Well done, Sygman. With this truth serum, our Queen is that much closer to bringing the Thexians to their knees. On behalf of the Queen, I offer you many thanks. Now, if you'll excuse me, I must concentrate on finishing my work here.")
  317. end