SneelValiyn.lua 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. --[[
  2. Script Name : SpawnScripts/Freeport/SneelValiyn.lua
  3. Script Author : Premierio015
  4. Script Date : 2020.07.15 06:07:50
  5. Script Purpose : Dialogues for Ratonga Freeport Racial Questlines
  6. :
  7. --]]
  8. QUEST1 = 574
  9. QUEST2 = 575
  10. QUEST3 = 576
  11. function spawn(NPC)
  12. ProvidesQuest(NPC, QUEST1)
  13. ProvidesQuest(NPC, QUEST2)
  14. ProvidesQuest(NPC, QUEST3)
  15. end
  16. function hailed(NPC, Spawn)
  17. FaceTarget(NPC, Spawn)
  18. local conversation = CreateConversation()
  19. if GetRace(Spawn) == 13 then
  20. if not HasQuest(Spawn, QUEST1) and not HasCompletedQuest(Spawn, QUEST1) then
  21. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "hello", 0, 0, Spawn)
  22. AddConversationOption(conversation, "Apologies, friend. What is it you were doing?", "dlg1")
  23. AddConversationOption(conversation, "Ah, perhaps I should leave you be, then.")
  24. StartConversation(conversation, NPC, Spawn, "Oh, why, hello! I'm sorry, you startled me a bit.")
  25. elseif HasQuest(Spawn, QUEST1) then
  26. quest1progress(NPC, Spawn)
  27. elseif HasCompletedQuest(Spawn, QUEST1) and not HasCompletedQuest(Spawn, QUEST2) then
  28. dlg2_1(NPC, Spawn)
  29. elseif HasQuest(Spawn, QUEST2) and not GetQuestStep(Spawn, QUEST2) == 3 then
  30. quest2progress(NPC, Spawn)
  31. elseif GetQuestStep(Spawn, QUEST2) == 3 or GetQuestStep(Spawn, QUEST2) == 6 then
  32. quest2progress1(NPC, Spawn)
  33. elseif GetQuestStep(Spawn, QUEST2) == 7 or GetQuestStep(Spawn, QUEST2) == 8 then
  34. quest2progress2(NPC, Spawn)
  35. elseif HasCompletedQuest(Spawn, QUEST2) and not HasQuest(Spawn, QUEST3) then
  36. dlg4_6(NPC, Spawn)
  37. elseif HasQuest(Spawn, QUEST3) and GetQuestStep(Spawn, QUEST2) < 4 then
  38. quest3progress(NPC, Spawn)
  39. end
  40. if HasQuest(Spawn, QUEST3) and GetQuestStep(Spawn, QUEST3) >= 5 then
  41. quest3progress1(NPC, Spawn)
  42. elseif HasCompletedQuest(Spawn, QUEST3) then
  43. PlayFlavor(NPC, "", "Those treacherous Thexians paid dearly for what they did, as was just!", "shakefish", 1689589577, 4560189, Spawn)
  44. end
  45. elseif GetRace(Spawn) ~= 13 then
  46. PlayFlavor(NPC, "", "The Grand Inquisitor speaks for Sir Lucan in all matters regarding the Dismal Rage.", "bow", 1689589577, 4560189, Spawn)
  47. end
  48. end
  49. -- QUEST IN PROGRESS DIALOGUES
  50. function quest3progress1(NPC, Spawn)
  51. FaceTarget(NPC, Spawn)
  52. conversation = CreateConversation()
  53. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  54. if HasQuest(Spawn, QUEST3) and GetQuestStep(Spawn, QUEST3) < 8 then
  55. AddConversationOption(conversation, "I'm still searching, but I will let you know soon.")
  56. elseif GetQuestStep(Spawn, QUEST3) == 8 then
  57. AddConversationOption(conversation, "It isn't good, Sneel. The true roekillik, the masters of the Dark Agenda, are here in Freeport. Or they were, until I destroyed them.", "5_2")
  58. end
  59. StartConversation(conversation, NPC, Spawn, "Oh, "..GetName(Spawn).." You're here! What did you find out?")
  60. end
  61. function quest3progress(NPC, Spawn)
  62. FaceTarget(NPC, Spawn)
  63. conversation = CreateConversation()
  64. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  65. if HasQuest(Spawn, QUEST3) and GetQuestStep(Spawn, QUEST3) < 4 then
  66. AddConversationOption(conversation, "No, I am still looking for them all. I'll come back when I've found them.")
  67. elseif HasQuest(Spawn, QUEST3) and GetQuestStep(Spawn, QUEST3) == 4 then
  68. AddConversationOption(conversation, "Yes, I believe I found them. I couldn't tell you what they were sick with, but they all had the same symptoms. Shallow breath, burning with fever, non-responsive to touch, and a green mist around them. They looked like death itself had already taken them.", "dlg4_8")
  69. end
  70. StartConversation(conversation, NPC, Spawn, "Hello, "..GetName(Spawn)..". I have been looking forward to you coming back. Did you find the sickened citizens?")
  71. end
  72. function quest2progress2(NPC, Spawn)
  73. FaceTarget(NPC, Spawn)
  74. conversation = CreateConversation()
  75. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  76. if HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 7 then
  77. AddConversationOption(conversation, "I haven't found any yet, but I haven't searched the whole city. Give me some more time.")
  78. elseif HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 8 then
  79. AddConversationOption(conversation, "No, you were right. The false roekillik are indeed within Freeport. But what does that mean?", "dlg4_0")
  80. end
  81. StartConversation(conversation, NPC, Spawn, "I'm been waiting for you to come back. Please tell me that the impostor roekillik aren't within Freeport's walls.")
  82. end
  83. function quest2progress1(NPC, Spawn)
  84. FaceTarget(NPC, Spawn)
  85. conversation = CreateConversation()
  86. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  87. if HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 3 then
  88. AddConversationOption(conversation, "I haven't finished speaking with them yet. Give me a little while longer.")
  89. elseif HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 6 then
  90. AddConversationOption(conversation, "A few things, none of which was very comforting.", "dlg3_5")
  91. end
  92. StartConversation(conversation, NPC, Spawn, "Well? I've been waiting for you. What did they have to say?")
  93. end
  94. function quest2progress(NPC, Spawn)
  95. FaceTarget(NPC, Spawn)
  96. conversation = CreateConversation()
  97. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  98. if HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 1 then
  99. AddConversationOption(conversation, "No, I'm still searching for them. I'll return soon.")
  100. elseif HasQuest(Spawn, QUEST2) and GetQuestStep(Spawn, QUEST2) == 2 then
  101. AddConversationOption(conversation, "I was. Here they are.", "dlg2_9")
  102. end
  103. StartConversation(conversation, NPC, Spawn, "You've come back! Excellent, were you able to get the slates?")
  104. end
  105. function quest1progress(NPC, Spawn)
  106. FaceTarget(NPC, Spawn)
  107. conversation = CreateConversation()
  108. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1032.mp3", "", "bow", 0, 0, Spawn)
  109. if HasQuest(Spawn, QUEST1) and GetQuestStep(Spawn, QUEST1) < 6 then
  110. AddConversationOption(conversation, "I'm still working on it - these gnomes can be maddening! I'll come back when I have it done.")
  111. elseif HasQuest(Spawn, QUEST1) and GetQuestStep(Spawn, QUEST1) == 6 then
  112. AddConversationOption(conversation, "I sure did. It was even easier than I thought it would be!", "dlg7")
  113. end
  114. StartConversation(conversation, NPC, Spawn, "Welcome back, "..GetName(Spawn).." ! Were you able to decipher the gnomish equations?")
  115. end
  116. -- QUEST 1 PART
  117. function dlg1(NPC, Spawn)
  118. FaceTarget(NPC, Spawn)
  119. conversation = CreateConversation()
  120. PlayAnimation(NPC, 11882)
  121. AddConversationOption(conversation, "Is that so? What's so funny?", "dlg2")
  122. AddConversationOption(conversation, "I'll bet they are! I'll leave you to figure them out then. Farewell.")
  123. StartConversation(conversation, NPC, Spawn, "I was going over some of these equations that another friend of mine, Deelsi, brought me from Temple Street. Apparently they were made by gnomes - they're hilarious!")
  124. end
  125. function dlg2(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. conversation = CreateConversation()
  128. AddConversationOption(conversation, "Why do we even care? Those gnomes will blow themselves up one of these days, anyway.", "dlg3")
  129. AddConversationOption(conversation, "Well, best of luck! I have places to be!")
  130. StartConversation(conversation, NPC, Spawn, "They have good fundamentals, but their expressions are all wrong. I'm not surprised that they aren't finishing these - they couldn't solve them the way they are!")
  131. end
  132. function dlg3(NPC, Spawn)
  133. FaceTarget(NPC, Spawn)
  134. conversation = CreateConversation()
  135. PlayAnimation(NPC, 12030)
  136. AddConversationOption(conversation, "Let me do it! This sounds like a bit of fun!", "dlg4")
  137. AddConversationOption(conversation, "Well, let me know if you find anything out, then. Farewell.")
  138. StartConversation(conversation, NPC, Spawn, "Well, I'm curious. I think these are formulas for operating some of the strange machines the gnomes build... but I'm willing to bet that one of us could build them better, if we could work through these confusing formulas...")
  139. end
  140. function dlg4(NPC, Spawn)
  141. FaceTarget(NPC, Spawn)
  142. conversation = CreateConversation()
  143. PlayAnimation(NPC, 20601)
  144. AddConversationOption(conversation, "Oh? What is that?", "dlg5")
  145. AddConversationOption(conversation, "Eh, you know what? I have some other things to do. Maybe another time.")
  146. StartConversation(conversation, NPC, Spawn, "Well, who am I to stop you if you're so eager... besides, I've got other things to worry about anyway.")
  147. end
  148. function dlg5(NPC, Spawn)
  149. FaceTarget(NPC, Spawn)
  150. conversation = CreateConversation()
  151. PlayAnimation(NPC, 12030)
  152. AddConversationOption(conversation, "All right. I'll head into Temple Street and make some copies of the equations, then. It's probably safer than trying to solve them there.", "dlg6")
  153. AddConversationOption(conversation, "I'm pretty sure solving gnomish equations would drive me insane. Maybe another time.")
  154. StartConversation(conversation, NPC, Spawn, "Mmm... you know what, you might be useful. I don't want to send you to just get killed, so consider this a test. Go ahead and see if you can figure out those gnomish equations. You might need some of the tomes in the library to help decipher their insanity.")
  155. end
  156. function dlg6(NPC, Spawn)
  157. FaceTarget(NPC, Spawn)
  158. conversation = CreateConversation()
  159. PlayAnimation(NPC, 11882)
  160. AddConversationOption(conversation, "I don't think that'll be a problem. I'll let you know how it goes.", "offer1")
  161. StartConversation(conversation, NPC, Spawn, "Well, if you can get those solved, you might be able to take over one of their own machines. We've had to live for so long with those insane creations over there, I'd love to see you take one and smash theirs with it!")
  162. end
  163. function dlg7(NPC, Spawn)
  164. FaceTarget(NPC, Spawn)
  165. conversation = CreateConversation()
  166. PlayAnimation(NPC, 20601)
  167. AddConversationOption(conversation, "It was no trouble. Once I had the formulas down, I was able to use the machine I found to destroy the ones the gnomes had working. Very simple.", "complete1")
  168. StartConversation(conversation, NPC, Spawn, "Of course it was! I had a feeling you would get through it quickly. And the machine? How did that go?")
  169. end
  170. function complete1(NPC, Spawn)
  171. FaceTarget(NPC, Spawn)
  172. SetStepComplete(Spawn, QUEST1, 6)
  173. conversation = CreateConversation()
  174. AddConversationOption(conversation, "What is it you need me for?", "dlg2_1")
  175. StartConversation(conversation, NPC, Spawn, "Excellent work. However, the next foe is not going to be so easy. I think, though, with your aptitude, maybe you can help us.")
  176. end
  177. -- QUEST 2 PART
  178. function dlg2_1(NPC, Spawn)
  179. FaceTarget(NPC, Spawn)
  180. conversation = CreateConversation()
  181. AddConversationOption(conversation, "I have seen that, but I figured it was because of the civil unrest in the city. But now that Sir Lucan is back, that shouldn't be a problem any more, right?", "dlg2_2")
  182. StartConversation(conversation, NPC, Spawn, "Before we get started, there's something you need to know. I'm not sure if you've noticed, but many of us have been keeping a wary eye over our shoulders.")
  183. end
  184. function dlg2_2(NPC, Spawn)
  185. FaceTarget(NPC, Spawn)
  186. conversation = CreateConversation()
  187. AddConversationOption(conversation, "Why is that?", "dlg2_3")
  188. StartConversation(conversation, NPC, Spawn, "That isn't it. A few of us believe the danger to Freeport, and indeed, all of Norrath, goes much, much deeper than that.")
  189. end
  190. function dlg2_3(NPC, Spawn)
  191. FaceTarget(NPC, Spawn)
  192. conversation = CreateConversation()
  193. AddConversationOption(conversation, "In Freeport? We've been here since the Age of Cataclysms. We can live freely here - this city suits our personality well.", "dlg2_4")
  194. StartConversation(conversation, NPC, Spawn, "I think you'll need a little bit of background first. Let me ask you a question... do you know why the ratonga are here?")
  195. end
  196. function dlg2_4(NPC, Spawn)
  197. FaceTarget(NPC, Spawn)
  198. conversation = CreateConversation()
  199. AddConversationOption(conversation, "Ah, you mean the roekillik?", "dlg2_5")
  200. StartConversation(conversation, NPC, Spawn, "It does. But I didn't mean Freeport itself, I meant the surface of Norrath entirely.")
  201. end
  202. function dlg2_5(NPC, Spawn)
  203. FaceTarget(NPC, Spawn)
  204. local conversation = CreateConversation()
  205. AddConversationOption(conversation, "How does that affect us, though? Aren't they still trapped?", "dlg2_6")
  206. StartConversation(conversation, NPC, Spawn, "Shh!! Don't say that name too loudly! But yes, you're right... the roekillik, and their Dark Agenda.")
  207. end
  208. function dlg2_6(NPC, Spawn)
  209. FaceTarget(NPC, Spawn)
  210. local conversation = CreateConversation()
  211. AddConversationOption(conversation, "I know what I've heard. What more should I know?", "dlg2_7")
  212. StartConversation(conversation, NPC, Spawn, "What do you know about the roekillik?")
  213. end
  214. function dlg2_7(NPC, Spawn)
  215. FaceTarget(NPC, Spawn)
  216. conversation = CreateConversation()
  217. AddConversationOption(conversation, "So what can we do?", "dlg2_8")
  218. StartConversation(conversation, NPC, Spawn, "The roekillik are no longer trapped within the Underfoot! We've had reports of them showing up in the land of Odus, and we fear they might have found a way from there to Norrath. If that's the case... then all of us are in danger.")
  219. end
  220. function dlg2_8(NPC, Spawn)
  221. FaceTarget(NPC, Spawn)
  222. OfferQuest(NPC, Spawn, QUEST2)
  223. conversation = CreateConversation()
  224. AddConversationOption(conversation, "All right, I'll see what I can find. Should I just meet you back here?", "offer2")
  225. StartConversation(conversation, NPC, Spawn, "It's up to us to see what we can find out, and verify if the roekillik really have come here. I'll see what I can find out, but I'll need you to go back into Temple Street, and pick up some writing of ours that was left behind there... some of those slates are hundreds of years old, and might have information we need.")
  226. end
  227. function dlg2_9(NPC, Spawn)
  228. FaceTarget(NPC, Spawn)
  229. conversation = CreateConversation()
  230. AddConversationOption(conversation, "What is written on those?", "dlg3_0")
  231. StartConversation(conversation, NPC, Spawn, "Ah yes... give me a moment to look through these.")
  232. end
  233. function dlg3_0(NPC, Spawn)
  234. FaceTarget(NPC, Spawn)
  235. conversation = CreateConversation()
  236. AddConversationOption(conversation, "What split are you talking about?", "dlg3_1")
  237. StartConversation(conversation, NPC, Spawn, "I'll need some time to really go through these, but I know they talk a bit about the split in the ratonga.")
  238. end
  239. function dlg3_1(NPC, Spawn)
  240. FaceTarget(NPC, Spawn)
  241. conversation = CreateConversation()
  242. AddConversationOption(conversation, "Ah yes... you mean the ratonga who call themselves, ''roekillik''? ", "dlg3_2")
  243. StartConversation(conversation, NPC, Spawn, "The split between those of us who fled the roekillik and came to the surface, and those who chose to stay and serve them. It's those ratonga who chose to continue their enslavement who have been the main threat up until now.")
  244. end
  245. function dlg3_2(NPC, Spawn)
  246. FaceTarget(NPC, Spawn)
  247. conversation = CreateConversation()
  248. AddConversationOption(conversation, "They aren't here in Freeport though, right? We're safe within its walls, as we always have been.", "dlg3_3")
  249. StartConversation(conversation, NPC, Spawn, "That's right. They called themselves ''roekillik'' as an homage to their masters, and have been doing their bidding here on the surface. They act as spies and informants for the roekillik, and can easily infiltrate the surface cities, since they blend in with other ratonga.")
  250. end
  251. function dlg3_3(NPC, Spawn)
  252. FaceTarget(NPC, Spawn)
  253. conversation = CreateConversation()
  254. AddConversationOption(conversation, "I'll search around the city and see what I can find, then. Maybe I should speak with some of the other ratonga and see if they have heard anything?", "dlg3_4")
  255. StartConversation(conversation, NPC, Spawn, "Are we? I know they were doing some digging out in the Commonlands, but since they can blend in so easily, can we really know... hmm... I think we should find out.")
  256. end
  257. function dlg3_4(NPC, Spawn)
  258. FaceTarget(NPC, Spawn)
  259. SetStepComplete(Spawn, QUEST2, 2)
  260. PlayAnimation(NPC, 12028)
  261. conversation = CreateConversation()
  262. AddConversationOption(conversation, "I will. Farewell.")
  263. StartConversation(conversation, NPC, Spawn, "I have a few friends here that might be able to help. Salla was once a scout for the Militia, and has good eyes and ears. Feepsin works with the Coalition of Tradesfolke, using the sudden boom of crafting work to earn a pretty gold coin. Cles works with the Academy, and fills his days with research. Speak with them, and see what they might know.")
  264. end
  265. function dlg3_5(NPC, Spawn)
  266. FaceTarget(NPC, Spawn)
  267. conversation = CreateConversation()
  268. AddConversationOption(conversation, "Cles and Salla were completely convinced that the followers of the roekillik are here in Freeport. They seemed... I don't know... jumpy and frightened.", "dlg3_6")
  269. StartConversation(conversation, NPC, Spawn, "I was afraid of that. What did they tell you?")
  270. end
  271. function dlg3_6(NPC, Spawn)
  272. FaceTarget(NPC, Spawn)
  273. conversation = CreateConversation()
  274. AddConversationOption(conversation, "It appeared that he believed the roekillik were recruiting somehow. He mentioned that associates of his have disappeared, only to reappear later, seemingly out of their minds.", "dlg3_7")
  275. StartConversation(conversation, NPC, Spawn, "What about Feepsin? What did he have to say?")
  276. end
  277. function dlg3_7(NPC, Spawn)
  278. FaceTarget(NPC, Spawn)
  279. conversation = CreateConversation()
  280. AddConversationOption(conversation, "Why don't I look for the roekillik? All of the evidence points to them in the shadows of Freeport. I can begin searching the city and seeing what I can find.", "dlg3_8")
  281. StartConversation(conversation, NPC, Spawn, "This is troubling - if the roekillik are here, and ''recruiting'', as it were, the implications could be dire. We need to know for sure if this is possible, and if they are here.")
  282. end
  283. function dlg3_8(NPC, Spawn)
  284. FaceTarget(NPC, Spawn)
  285. SetStepComplete(Spawn, QUEST2, 6)
  286. conversation = CreateConversation()
  287. AddConversationOption(conversation, "I'll watch out. Farewell for now.", "dlg3_9")
  288. StartConversation(conversation, NPC, Spawn, "All right, but be careful. If the followers of the roekillik realize they've been spotted, they aren't going to hesitate to attack. They will not answer to the laws of Freeport, only to their roekillik masters.")
  289. end
  290. function dlg3_9(NPC, Spawn)
  291. FaceTarget(NPC, Spawn)
  292. PlayAnimation(NPC, 10745)
  293. conversation = CreateConversation()
  294. AddConversationOption(conversation, "I haven't found any yet, but I haven't searched the whole city. Give me some more time.")
  295. StartConversation(conversation, NPC, Spawn, "I'm been waiting for you to come back. Please tell me that the impostor roekillik aren't within Freeport's walls.")
  296. end
  297. function dlg4_0(NPC, Spawn)
  298. FaceTarget(NPC, Spawn)
  299. conversation = CreateConversation()
  300. AddConversationOption(conversation, "I had that sense as well. These false roekillik weren't just scouting.", "dlg4_1")
  301. StartConversation(conversation, NPC, Spawn, "I don't think it means anything good. I fear... I fear there is much more to this.")
  302. end
  303. function dlg4_1(NPC, Spawn)
  304. FaceTarget(NPC, Spawn)
  305. PlayAnimation(NPC, 12030)
  306. conversation = CreateConversation()
  307. AddConversationOption(conversation, "What? What are you thinking?" , "dlg4_2")
  308. StartConversation(conversation, NPC, Spawn, "Actually... I think... oh no...")
  309. end
  310. function dlg4_2(NPC, Spawn)
  311. FaceTarget(NPC, Spawn)
  312. PlayAnimation(NPC, 12028)
  313. conversation = CreateConversation()
  314. AddConversationOption(conversation, "Certainly. What is it that you need?", "dlg4_3")
  315. StartConversation(conversation, NPC, Spawn, "I just made a connection, but I need to do some research. Can you do me a favor?")
  316. end
  317. function dlg4_3(NPC, Spawn)
  318. FaceTarget(NPC, Spawn)
  319. PlayAnimation(NPC, 11882)
  320. conversation = CreateConversation()
  321. AddConversationOption(conversation, "I will. What am I looking for?", "dlg4_5")
  322. StartConversation(conversation, NPC, Spawn, "I've heard of a few people falling ill around the city. This is nothing too alarming - it happens all of the time. A few are gravely sick, and I want to know more about their symptoms. Can you look into this?")
  323. end
  324. function dlg4_5(NPC, Spawn)
  325. FaceTarget(NPC, Spawn)
  326. SetStepComplete(Spawn, QUEST2, 8)
  327. PlayAnimation(NPC, 10745)
  328. conversation = CreateConversation()
  329. AddConversationOption(conversation, "I see. All right, I'll look for them and let you know what I find out.", "dlg4_6")
  330. StartConversation(conversation, NPC, Spawn, "There's three I know about. One is in one of the taverns, right where he fell when the sickness took hold. There's another that apparently tried to seek help at the Temple of War, but their magic did not help. And I've heard of one who simply fell in the streets near the docks, and was left there.")
  331. end
  332. -- QUEST 3 PART
  333. function dlg4_6(NPC, Spawn)
  334. FaceTarget(NPC, Spawn)
  335. conversation = CreateConversation()
  336. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1032.mp3", "", "bow", 0, 0, Spawn)
  337. AddConversationOption(conversation, "I will. What am I looking for?", "dlg4_7")
  338. StartConversation(conversation, NPC, Spawn, "I've heard of a few people falling ill around the city. This is nothing too alarming - it happens all of the time. A few are gravely sick, and I want to know more about their symptoms. Can you look into this?")
  339. end
  340. function dlg4_7(NPC, Spawn)
  341. FaceTarget(NPC, Spawn)
  342. conversation = CreateConversation()
  343. AddConversationOption(conversation, "I see. All right, I'll look for them and let you know what I find out." , "offer3")
  344. StartConversation(conversation, NPC, Spawn, "There's three I know about. One is in one of the taverns, right where he fell when the sickness took hold. There's another that apparently tried to seek help at the Temple of War, but their magic did not help. And I've heard of one who simply fell in the streets near the docks, and was left there.")
  345. end
  346. function dlg4_8(NPC, Spawn)
  347. FaceTarget(NPC, Spawn)
  348. conversation = CreateConversation()
  349. AddConversationOption(conversation, "Of course! It really couldn't be missed.", "dlg4_9")
  350. StartConversation(conversation, NPC, Spawn, "A green haze? Are you certain?")
  351. end
  352. function dlg4_9(NPC, Spawn)
  353. FaceTarget(NPC, Spawn)
  354. conversation = CreateConversation()
  355. AddConversationOption(conversation, "What do you mean? You don't suppose this has something to do with the Dark Agenda, do you?", "dlg5_0")
  356. StartConversation(conversation, NPC, Spawn, "Oh no... I don't want to imagine it, but too many things are beginning to add up in a frightening way.")
  357. end
  358. function dlg5_0(NPC, Spawn)
  359. FaceTarget(NPC, Spawn)
  360. conversation = CreateConversation()
  361. AddConversationOption(conversation, "Could the followers of the roekillik really unleash such a thing? I thought the roekillik would do that themselves.", "dlg5_1")
  362. StartConversation(conversation, NPC, Spawn, "I'm afraid it might! Those sickened people were only a sample - the sickness of the Dark Agenda would wipe out all life on Norrath. We'd all suffer and die, while the roekillik laughed and took Norrath as their own. We have to know if this is what is happening!")
  363. end
  364. function dlg5_1(NPC, Spawn)
  365. FaceTarget(NPC, Spawn)
  366. SetStepComplete(Spawn, QUEST3, 4)
  367. conversation = CreateConversation()
  368. AddConversationOption(conversation, "I will. I'll come back once I know what's happening.")
  369. StartConversation(conversation, NPC, Spawn, "I don't know. We need to find out, though. The followers must be hiding out here someplace. Find them! See what they are hiding! I need to warn others of the danger!")
  370. end
  371. function dlg5_2(NPC, Spawn)
  372. FaceTarget(NPC, Spawn)
  373. conversation = CreateConversation()
  374. AddConversationOption(conversation, "There was no mistaking it. I fought them myself. The roekillik are here, on the surface of Norrath.", "dlg5_3")
  375. StartConversation(conversation, NPC, Spawn, "This... this is impossible!! They've come to Norrath? Are you certain? It was the roekillik themselves??")
  376. end
  377. function dlg5_3(NPC, Spawn)
  378. FaceTarget(NPC, Spawn)
  379. conversation = CreateConversation()
  380. AddConversationOption(conversation, "Who will we tell? We've tried to explain this to the other races of this world several times, and it always goes unheard!", "dlg5_4")
  381. StartConversation(conversation, NPC, Spawn, "If what you say is true, then we must begin preparations. I have no doubt this incursion was little more than a test - but I have a feeling it was a successful test. Cucumbo, we need to warn the city that the roekillik are here.")
  382. end
  383. function dlg5_4(NPC, Spawn)
  384. FaceTarget(NPC, Spawn)
  385. conversation = CreateConversation()
  386. AddConversationOption(conversation, "Indeed, we must watch after ourselves.", "complete")
  387. StartConversation(conversation, NPC, Spawn, "Well, this is part of the reason some of us left for Qeynos. If nothing else, we ratonga will do all we can to survive if the roekillik do finally emerge from the Underfoot, and begin the Dark Agenda. If the races of Norrath do not heed our warning before then, they will find themselves on their own.")
  388. end
  389. function complete(NPC, Spawn)
  390. FaceTarget(NPC, Spawn)
  391. SetStepComplete(Spawn, QUEST3, 8)
  392. conversation = CreateConversation()
  393. AddConversationOption(conversation, "My thoughts exactly - the fall of the other races will be their own doing in that case. Watch your back, as I will watch mine. Farewell.")
  394. StartConversation(conversation, NPC, Spawn, "I will begin speaking to the other ratonga, and spreading the word. I'll see about getting someone to speak to Sir Lucan as well, but I suspect the outcome will be largely the same. In spite of this, I do appreciate your help - at least we can do what we must to save ourselves if the time comes to it.")
  395. end
  396. -- OFFERING THE QUESTS
  397. function offer2(NPC, Spawn)
  398. FaceTarget(NPC, Spawn)
  399. OfferQuest(NPC, Spawn, QUEST2)
  400. end
  401. function offer1(NPC, Spawn)
  402. FaceTarget(NPC, Spawn)
  403. OfferQuest(NPC, Spawn, QUEST1)
  404. end
  405. function offer3(NPC, Spawn)
  406. FaceTarget(NPC, Spawn)
  407. OfferQuest(NPC, Spawn, QUEST3)
  408. end
  409. function respawn(NPC)
  410. end