DolurAxebeard.lua 66 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076
  1. --[[
  2. Script Name : SpawnScripts/FrostfangSea/DolurAxebeard.lua
  3. Script Purpose : Dolur Axebeard
  4. Script Author : theFoof
  5. Script Date : 2013.05.25
  6. Script Notes :
  7. --]]
  8. local GlimmerOrc = 31
  9. local MurkyMystery = 32
  10. local ScatteringAshes = 33
  11. local TotemAnnihilation = 34
  12. local CallingBack = 35
  13. local TheGauntlet = 36
  14. local OffOssuary = 71
  15. local SeveringHead = 72
  16. local NightmareOver = 73
  17. function spawn(NPC)
  18. ProvidesQuest(NPC, GlimmerOrc)
  19. ProvidesQuest(NPC, MurkyMystery)
  20. ProvidesQuest(NPC, ScatteringAshes)
  21. ProvidesQuest(NPC, TotemAnnihilation)
  22. ProvidesQuest(NPC, CallingBack)
  23. ProvidesQuest(NPC, TheGauntlet)
  24. ProvidesQuest(NPC, OffOssuary)
  25. ProvidesQuest(NPC, SeveringHead)
  26. ProvidesQuest(NPC, NightmareOver)
  27. end
  28. function respawn(NPC)
  29. spawn(NPC)
  30. end
  31. function hailed(NPC, Spawn)
  32. FaceTarget(NPC, Spawn)
  33. conversation = CreateConversation()
  34. if not HasQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, GlimmerOrc) then
  35. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard001.mp3", "", "", 1652895933, 4056769103, Spawn)
  36. AddConversationOption(conversation, "What's wrong?", "Quest1Chat_1")
  37. AddConversationOption(conversation, "I don't want to get involved. Goodbye.")
  38. StartConversation(conversation, NPC, Spawn, "We've got a big problem on our hands, " .. GetName(Spawn) .. ". And by big, I mean disastrous.")
  39. elseif GetQuestStep(Spawn, GlimmerOrc) == 1 then
  40. PlayFlavor(NPC, "", "Perhaps the orcs are using the power from luminous snowflurries for their camouflage.", "think", 0, 0, Spawn)
  41. elseif GetQuestStep(Spawn, GlimmerOrc) == 2 then
  42. Quest1Chat_11(NPC, Spawn)
  43. elseif HasCompletedQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, MurkyMystery) and not HasQuest(Spawn, MurkyMystery) then
  44. Quest2Chat_1(NPC, Spawn)
  45. elseif GetQuestStep(Spawn, MurkyMystery) == 1 then
  46. PlayFlavor(NPC, "", "The deepice miasmas aren't far from here. Look up the hill above the battlefield, near Herga's Choke.", "point", 1689589577, 4560189, Spawn)
  47. elseif GetQuestStep(Spawn, MurkyMystery) == 2 then
  48. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard021.mp3", "", "", 1915346257, 1839627430, Spawn)
  49. AddConversationOption(conversation, "I've got my fingers crossed.", "Quest2Chat_5")
  50. AddConversationOption(conversation, "[Wait]", "Quest2Chat_5")
  51. StartConversation(conversation, NPC, Spawn, "There ye be, " .. GetName(Spawn) .. "! And ye've brought back the deepice crystals. Let's see if this works in conjunction with the glimmer powder.")
  52. elseif HasCompletedQuest(Spawn, MurkyMystery) and not HasCompletedQuest(Spawn, ScatteringAshes) and not HasQuest(Spawn, ScatteringAshes) then
  53. Quest3Chat_1(NPC, Spawn)
  54. elseif GetQuestStep(Spawn, ScatteringAshes) == 1 then
  55. PlayFlavor(NPC, "", "I've trusted ye to scatter my brethren's ashes. Don't let me down.", "", 0, 0, Spawn)
  56. elseif GetQuestStep(Spawn, ScatteringAshes) == 2 then
  57. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard031.mp3", "", "", 1406448236, 1748110963, Spawn)
  58. AddConversationOption(conversation, "Glad to have helped.", "Quest3Chat_9")
  59. AddConversationOption(conversation, "I heard nothing, but I did the job as you asked.", "Quest3Chat_8")
  60. AddConversationOption(conversation, "I didn't hear chanting, but I do hear superstitious nonsense.", "Quest3Chat_8")
  61. StartConversation(conversation, NPC, Spawn, "Did ye hear that chanting on the wind when you strewed the ashes out from the crest of the Overlook? That was the spirits of the coldain warriors, who are still standing their ground out there against the Ry'Gorr, singing yer praises.")
  62. elseif HasCompletedQuest(Spawn, ScatteringAshes) and not HasCompletedQuest(Spawn, TotemAnnihilation) and not HasQuest(Spawn, TotemAnnihilation) then
  63. Quest4Chat_1(NPC, Spawn)
  64. elseif GetQuestStep(Spawn, TotemAnnihilation) == 1 then
  65. PlayFlavor(NPC, "", "Don't expect the Ry'Gorr to let you destroy those totems without putting up a fight.", "no", 0, 0, Spawn)
  66. elseif GetQuestStep(Spawn, TotemAnnihilation) == 2 then
  67. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard045.mp3", "", "", 505634536, 3864498567, Spawn)
  68. AddConversationOption(conversation, "Completed, as promised.", "Quest4Chat_11")
  69. AddConversationOption(conversation, "Dirty work, but someone had to do it.", "Quest4Chat_11")
  70. AddConversationOption(conversation, "I did as you asked. Thank goodness this foul business is over.", "Quest4Chat_11")
  71. StartConversation(conversation, NPC, Spawn, "Ach! Ye've the stench of death upon ye, " .. GetName(Spawn) .. ". I suppose this means the task of dealing with the totems is complete?")
  72. elseif HasCompletedQuest(Spawn, TotemAnnihilation) and not HasCompletedQuest(Spawn, CallingBack) and not HasQuest(Spawn, CallingBack) then
  73. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard047.mp3", "", "", 4084660884, 3109121115, Spawn)
  74. AddConversationOption(conversation, "What are these wards?", "Quest5Chat_1")
  75. AddConversationOption(conversation, "I don't feel like my efforts are improving the overall situation. Goodbye.")
  76. StartConversation(conversation, NPC, Spawn, "I've some bad news, " .. GetName(Spawn) .. ". The Ry'Gorr's scouts have been disabling our wards just as ye had been destroying their totems.")
  77. elseif HasQuest(Spawn, CallingBack) and GetQuestStep(Spawn, CallingBack) ~= 6 then
  78. PlayFlavor(NPC, "", "Placing those wards should tip the scales back in our favor.", "", 0, 0, Spawn)
  79. elseif GetQuestStep(Spawn, CallingBack) == 6 then
  80. AddConversationOption(conversation, "The wards have been placed where they'll be most effective.", "Quest5Chat_12")
  81. AddConversationOption(conversation, "It was a trivial task.", "Quest5Chat_12")
  82. StartConversation(conversation, NPC, Spawn, "I was expecting yer return, and ye never disappoint. How did it go?")
  83. elseif HasCompletedQuest(Spawn, CallingBack) and not HasCompletedQuest(Spawn, TheGauntlet) and not HasQuest(Spawn, TheGauntlet) then
  84. Quest6Chat_1(NPC, Spawn)
  85. elseif GetQuestStep(Spawn, TheGauntlet) == 1 then
  86. PlayFlavor(NPC, "", "Find those bone piles, and grind them to dust.", "point", 0, 0, Spawn)
  87. elseif GetQuestStep(Spawn, TheGauntlet) == 2 then
  88. AddConversationOption(conversation, "It's understandable.", "Quest7Chat_1")
  89. AddConversationOption(conversation, "Perhaps there's a better way to handle this problem.", "Quest7Chat_1")
  90. AddConversationOption(conversation, "Maybe we should strike out against the Ry'Gorr necromancers instead.", "Quest7Chat_1")
  91. StartConversation(conversation, NPC, Spawn, "Perhaps this was... not the best tactic. I'm sorry fer sending ye on a fool's errand, " .. GetName(Spawn) .. ". My zeal got the better of me.")
  92. elseif HasCompletedQuest(Spawn, TheGauntlet) and not HasCompletedQuest(Spawn, OffOssuary) and not HasQuest(Spawn, OffOssuary) then
  93. Quest7Chat_1(NPC, Spawn)
  94. elseif HasQuest(Spawn, OffOssuary) and GetQuestStep(Spawn, OffOssuary) < 3 then
  95. PlayFlavor(NPC, "", "Give those necromancers the sharp side of an axe, if ye find any.", "", 0, 0, Spawn)
  96. elseif GetQuestStep(Spawn, OffOssuary) == 3 then
  97. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard086.mp3", "", "", 4050788260, 2621206375, Spawn)
  98. AddConversationOption(conversation, "Your information was correct.", "Quest7Chat_14")
  99. AddConversationOption(conversation, "Yes, the necromancers were holed up in a cave in the Ossuary of Ice. ", "Quest7Chat_15")
  100. StartConversation(conversation, NPC, Spawn, "I'm hoping for good news, and yet expecting the worst. Tell me, " .. GetName(Spawn) .. ", did ye find them?")
  101. elseif HasCompletedQuest(Spawn, OffOssuary) and not HasCompletedQuest(Spawn, SeveringHead) and not HasQuest(Spawn, SeveringHead) then
  102. Quest8Chat_1(NPC, Spawn)
  103. elseif HasQuest(Spawn, SeveringHead) and GetQuestStep(Spawn, SeveringHead) < 3 then
  104. PlayFlavor(NPC, "", "Destroy the source of those totems by breaking the dark crystal.", "", 0, 0, Spawn)
  105. elseif GetQuestStep(Spawn, SeveringHead) == 3 then
  106. PlayFlavor(NPC, "", "", "cheer", 0, 0, Spawn)
  107. AddConversationOption(conversation, "I shattered the crystal, and slew their leader.", "Quest8Chat_10")
  108. AddConversationOption(conversation, "I severed your wurm's head, as promised.", "Quest8Chat_10")
  109. StartConversation(conversation, NPC, Spawn, "Ye've returned, and not a minute too soon! The orcs are worked up into a frenzy over whatever ye just did.")
  110. elseif HasCompletedQuest(Spawn, SeveringHead) and not HasCompletedQuest(Spawn, NightmareOver) and not HasQuest(Spawn, NightmareOver) then
  111. Quest9Chat_1(NPC, Spawn)
  112. elseif GetQuestStep(Spawn, NightmareOver) == 1 then
  113. PlayFlavor(NPC, "", "Head to Cragged Spine. They're waiting for ye.", "point", 0, 0, Spawn)
  114. elseif HasCompletedQuest(Spawn, NightmareOver) then
  115. PlayFlavor(NPC, "", "Are ye sure ye don't have any blood of the Frostraver in ye?", "laugh", 0, 0, Spawn)
  116. end
  117. end
  118. function Quest1Chat_1(NPC, Spawn)
  119. FaceTarget(NPC, Spawn)
  120. conversation = CreateConversation()
  121. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard002.mp3", "", "", 3776851500, 329099171, Spawn)
  122. AddConversationOption(conversation, "How are they ambushing you, especially out in the open?", "Quest1Chat_2")
  123. AddConversationOption(conversation, "But... Erollis isn't very large. You must know this place like the back of your hand.", "Quest1Chat_7")
  124. AddConversationOption(conversation, "I don't want your helplessness to rub off on me. I must be going.")
  125. AddConversationOption(conversation, "Ambushing orcs? I'm out of here!")
  126. StartConversation(conversation, NPC, Spawn, "The Ry'Gorr are ambushing our forces. A dwarf can take an orc, toe to toe, in a fair fight, but there's nothing fair about catching us unawares. A coldain caught in an ambush is at a distinct disadvantage. Their surprise attacks are killing us out there, literally!")
  127. end
  128. function Quest1Chat_2(NPC, Spawn)
  129. FaceTarget(NPC, Spawn)
  130. conversation = CreateConversation()
  131. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard003.mp3", "", "", 505371253, 1091559275, Spawn)
  132. AddConversationOption(conversation, "Go on.", "Quest1Chat_3")
  133. AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.")
  134. StartConversation(conversation, NPC, Spawn, "That's what I was getting at. And ye won't believe it.")
  135. end
  136. function Quest1Chat_3(NPC, Spawn)
  137. FaceTarget(NPC, Spawn)
  138. conversation = CreateConversation()
  139. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard005.mp3", "", "", 2412101907, 2364424304, Spawn)
  140. AddConversationOption(conversation, "What do they say?", "Quest1Chat_4")
  141. AddConversationOption(conversation, "It sounds like you're about to tell me.", "Quest1Chat_4")
  142. AddConversationOption(conversation, "Why are we still talking? Just point me in the right direction.", "Quest1Chat_9")
  143. AddConversationOption(conversation, "Ambushing orcs? I'm out of here!")
  144. StartConversation(conversation, NPC, Spawn, "They've engineered a method to render themselves impossible to see against the snow and ice; it's some kind of camouflage. My soldiers are too afraid to go back out there. You know what my men are saying?")
  145. end
  146. function Quest1Chat_4(NPC, Spawn)
  147. FaceTarget(NPC, Spawn)
  148. conversation = CreateConversation()
  149. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard007.mp3", "", "", 1117927681, 3213137385, Spawn)
  150. AddConversationOption(conversation, "It's a fear tactic, for sure.", "Quest1Chat_5")
  151. AddConversationOption(conversation, "No wonder your men don't want to go back out there.", "Quest1Chat_8")
  152. AddConversationOption(conversation, "Glimmer orcs? I'm out of here!")
  153. StartConversation(conversation, NPC, Spawn, "They say, 'There'd be nothing but snow and ice, then a glimmer... then, you'd be dead!'")
  154. end
  155. function Quest1Chat_5(NPC, Spawn)
  156. FaceTarget(NPC, Spawn)
  157. conversation = CreateConversation()
  158. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard008.mp3", "", "", 3224987077, 1613729835, Spawn)
  159. AddConversationOption(conversation, "Agreed. ", "Quest1Chat_6")
  160. AddConversationOption(conversation, "You do what you have to in war.", "Quest1Chat_6")
  161. AddConversationOption(conversation, "Cowardice against cowardice? I'm done here.")
  162. StartConversation(conversation, NPC, Spawn, "It's a cowardly tactic. Unfortunately there's no way around this. We're going to have to fight ice with ice.")
  163. end
  164. function Quest1Chat_6(NPC, Spawn)
  165. FaceTarget(NPC, Spawn)
  166. conversation = CreateConversation()
  167. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard010.mp3", "", "", 1224830968, 3279150133, Spawn)
  168. AddConversationOption(conversation, "Of course.", "OfferGlimmerOrc")
  169. AddConversationOption(conversation, "I'm not putting myself in danger, based solely on a hunch.")
  170. StartConversation(conversation, NPC, Spawn, "We believe they're using the powder of the luminous snowflurries as makeshift camouflage. If ye can collect some of the powder, perhaps we could replicate this. Then we would have a fighting chance out there. Think ye could bring some back?")
  171. end
  172. function Quest1Chat_7(NPC, Spawn)
  173. FaceTarget(NPC, Spawn)
  174. conversation = CreateConversation()
  175. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard004.mp3", "", "", 2795765225, 2030897405, Spawn)
  176. AddConversationOption(conversation, "What? Are they invisible?", "Quest1Chat_3")
  177. AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.")
  178. StartConversation(conversation, NPC, Spawn, "Aye, we do. We know every rock, every hill, every nook, and every cranny of this frozen wasteland, which is what makes these ambushes so troubling.")
  179. end
  180. function Quest1Chat_8(NPC, Spawn)
  181. FaceTarget(NPC, Spawn)
  182. conversation = CreateConversation()
  183. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard009.mp3", "", "", 3087697550, 2303509094, Spawn)
  184. AddConversationOption(conversation, "I do, and I see what must be done.", "Quest1Chat_6")
  185. AddConversationOption(conversation, "What's the plan?", "Quest1Chat_6")
  186. AddConversationOption(conversation, "It's your problem, not mine. Goodbye.")
  187. StartConversation(conversation, NPC, Spawn, "Aye, ye see the problem we're facing now?")
  188. end
  189. function Quest1Chat_9(NPC, Spawn)
  190. FaceTarget(NPC, Spawn)
  191. conversation = CreateConversation()
  192. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard006.mp3", "", "", 2420317196, 2002155131, Spawn)
  193. AddConversationOption(conversation, "I'm brave AND capable.", "Quest1Chat_10")
  194. AddConversationOption(conversation, "Don't underestimate me.", "Quest1Chat_10")
  195. AddConversationOption(conversation, "Don't insult my intelligence. I'm leaving.")
  196. StartConversation(conversation, NPC, Spawn, "Oh, yer a go-getter, are ye? Well, I hope yer filled with bravery and not stupidity, though can be hard to distinguish one from t'other.")
  197. end
  198. function Quest1Chat_10(NPC, Spawn)
  199. FaceTarget(NPC, Spawn)
  200. conversation = CreateConversation()
  201. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard011.mp3", "", "", 2906385969, 2703354949, Spawn)
  202. AddConversationOption(conversation, "None taken. So what's the plan?", "Quest1Chat_6")
  203. AddConversationOption(conversation, "I find that hard to believe. Goodbye.")
  204. StartConversation(conversation, NPC, Spawn, "No need to get defensive now, " .. GetName(Spawn) .. ". No offense was meant.")
  205. end
  206. function Quest1Chat_11(NPC, Spawn)
  207. FaceTarget(NPC, Spawn)
  208. converation = CreateConversation()
  209. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard013.mp3", "", "", 4055438067, 163416310, Spawn)
  210. AddConversationOption(conversation, "It wasn't easy.", "Quest1Chat_12")
  211. AddConversationOption(conversation, "Here's the glimmer dust.", "Quest1Chat_12")
  212. StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. "! Now, let's have a look-see at that glimmer powder ye've collected.")
  213. end
  214. function Quest1Chat_12(NPC, Spawn)
  215. SetStepComplete(Spawn, GlimmerOrc, 2)
  216. FaceTarget(NPC, Spawn)
  217. conversation = CreateConversation()
  218. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard014.mp3", "", "", 4267001042, 1944501293, Spawn)
  219. AddConversationOption(conversation, "I do whatever it takes to solve the problem.", "Quest1Chat_13")
  220. AddConversationOption(conversation, "I'm curious to find out if it works.", "Quest1Chat_13")
  221. StartConversation(conversation, NPC, Spawn, "This is exactly what we need, and plenty of it. Oh, I've missed having someone like ye around. So many young folks today just won't go that extra mile.")
  222. end
  223. function Quest1Chat_13(NPC, Spawn)
  224. FaceTarget(NPC, Spawn)
  225. conversation = CreateConversation()
  226. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard015.mp3", "", "", 3387435129, 3863442024, Spawn)
  227. AddConversationOption(conversation, "Take your time.")
  228. AddConversationOption(conversation, "Time is one thing we don't have.", "Quest2Chat_1")
  229. StartConversation(conversation, NPC, Spawn, "What am I? The Amazing Randi? We have tests to run. It will take time.")
  230. end
  231. function Quest2Chat_1(NPC, Spawn)
  232. FaceTarget(NPC, Spawn)
  233. conversation = CreateConversation()
  234. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard016.mp3", "", "", 3724550793, 3434645453, Spawn)
  235. AddConversationOption(conversation, "The orcs figured out how to solve that problem.", "Quest2Chat_2")
  236. AddConversationOption(conversation, "You must need a binding agent.", "Quest2Chat_4")
  237. AddConversationOption(conversation, "I feel like I did all that work for nothing. Goodbye.")
  238. StartConversation(conversation, NPC, Spawn, "Well, this has solved half of our problem. Flurry powder renders one nearly invisible in this environment, but the stuff doesn't stick. Yer lucky if a gust of wind doesn't blow it clean off. This won't do. No, this won't do at all.")
  239. end
  240. function Quest2Chat_2(NPC, Spawn)
  241. FaceTarget(NPC, Spawn)
  242. conversation = CreateConversation()
  243. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard017.mp3", "", "", 4140277139, 3688959754, Spawn)
  244. AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3")
  245. AddConversationOption(conversation, "I don't need your help. I'm done here.")
  246. StartConversation(conversation, NPC, Spawn, "Aye, good thinking. So we need to consider what the Ry'Gorr have been up to lately. Unfortunately, our attentions have been focused on meeting them on the battlefield, when we should have been paying attention to their other activities.")
  247. end
  248. function Quest2Chat_3(NPC, Spawn)
  249. FaceTarget(NPC, Spawn)
  250. conversation = CreateConversation()
  251. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard019.mp3", "", "", 1879917767, 2648322812, Spawn)
  252. AddConversationOption(conversation, "Just show me where to find them.", "OfferMurkyMystery")
  253. AddConversationOption(conversation, "That's our best bet? It's worth a try.", "OfferMurkyMystery")
  254. AddConversationOption(conversation, "This is another shot in the dark. I'm done here.")
  255. StartConversation(conversation, NPC, Spawn, "We've noticed that the orcs have been aggressive towards deepice miasmas. There didn't appear to be any logical reason for it, until now. The miasmas could hold another clue to the method of crafting this camouflage.")
  256. end
  257. function Quest2Chat_4(NPC, Spawn)
  258. FaceTarget(NPC, Spawn)
  259. conversation = CreateConversation()
  260. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard018.mp3", "", "", 829232573, 947350296, Spawn)
  261. AddConversationOption(conversation, "So where could we find that?", "Quest2Chat_3")
  262. AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3")
  263. AddConversationOption(conversation, "I don't need your help. I'm done here.")
  264. StartConversation(conversation, NPC, Spawn, "So, yer an adventurer and a scholar! I bet a binding agent is exactly what we need.")
  265. end
  266. function Quest2Chat_5(NPC, Spawn)
  267. SetStepComplete(Spawn, MurkyMystery, 2)
  268. FaceTarget(NPC, Spawn)
  269. conversation = CreateConversation()
  270. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard022.mp3", "", "", 4152966005, 2385582175, Spawn)
  271. AddConversationOption(conversation, "Now you're on even footing with the Ry'Gorr!", "Quest3Chat_1")
  272. AddConversationOption(conversation, "Your scouts will be able to pinpoint their ambushers.", "Quest3Chat_3")
  273. StartConversation(conversation, NPC, Spawn, "By Brell, it does work! Yer a genius!")
  274. end
  275. function Quest3Chat_1(NPC, Spawn)
  276. FaceTarget(NPC, Spawn)
  277. conversation = CreateConversation()
  278. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard023.mp3", "", "", 3394689570, 853009244, Spawn)
  279. AddConversationOption(conversation, "That is unfortunate, but you have to balance your priorities.", "Quest3Chat_2")
  280. AddConversationOption(conversation, "Is this something I can help with?", "Quest3Chat_2")
  281. AddConversationOption(conversation, "I'll leave you to your grief. Goodbye.")
  282. StartConversation(conversation, NPC, Spawn, "And now that we're on even footing with the Ry'Gorr, we can afford to direct our attention to something a little more spiritual. Unfortunately, the needs of our deceased have had to wait for a lull in the action.")
  283. end
  284. function Quest3Chat_2(NPC, Spawn)
  285. FaceTarget(NPC, Spawn)
  286. conversation = CreateConversation()
  287. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard024.mp3", "", "", 888604358, 2919686664, Spawn)
  288. AddConversationOption(conversation, "I don't understand. What do you mean by 'spirits'?", "Quest3Chat_3")
  289. AddConversationOption(conversation, "Of course. You've done all you can.", "Quest3Chat_4")
  290. StartConversation(conversation, NPC, Spawn, "Aye, or else there would be more fallen coldain. And as valiant as our brethren's spirits have been in the fight against the Ry'Gorr, it's an outcome we'd certainly prefer to avoid.")
  291. end
  292. function Quest3Chat_3(NPC, Spawn)
  293. FaceTarget(NPC, Spawn)
  294. conversation = CreateConversation()
  295. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard026.mp3", "", "", 3211985278, 3808356977, Spawn)
  296. AddConversationOption(conversation, "You want me to honor the dead?", "Quest3Chat_5")
  297. AddConversationOption(conversation, "Shouldn't one of the coldain honor them?")
  298. AddConversationOption(conversation, "One of the coldain should handle this. Goodbye.")
  299. StartConversation(conversation, NPC, Spawn, "Many of the coldain that fall in battle against the Ry'Gorr rise up again as spirits. Instead of going to see Brell, they rejoin the fight. This decision is a permanent one, which means they can never go to the Halls of the Creator once they come back here. Their act of self-sacrifice and valor should not go unnoticed.")
  300. end
  301. function Quest3Chat_4(NPC, Spawn)
  302. FaceTarget(NPC, Spawn)
  303. conversation = CreateConversation
  304. AddConversationOption(conversation, "Tell me more.", "Quest3Chat_3")
  305. AddConversationOption(conversation, "Your burdens are yours alone. Goodbye.")
  306. StartConversation(conversation, NPC, Spawn, "I'm not certain we've done everything we can, but then again I've always taken on more burdens than I can easily carry. There's someting else we can do, right now. If ye'll hear me out, maybe ye could even lend a hand.")
  307. end
  308. function Quest3Chat_5(NPC, Spawn)
  309. FaceTarget(NPC, Spawn)
  310. conversation = CreateConversation()
  311. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard027.mp3", "", "", 1974991098, 1800835214, Spawn)
  312. AddConversationOption(conversation, "I'd be honored to scatter their ashes.", "Quest3Chat_6")
  313. AddConversationOption(conversation, "You should have someone else honor your dead.", "Quest3Chat_7")
  314. StartConversation(conversation, NPC, Spawn, "Aye, it's the least we could do to respect their sacrifice.")
  315. end
  316. function Quest3Chat_6(NPC, Spawn)
  317. FaceTarget(NPC, Spawn)
  318. conversation = CreateConversation()
  319. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard029.mp3", "", "", 1909973600, 750947925, Spawn)
  320. AddConversationOption(conversation, "I will do as you ask.", "OfferScatteringAshes")
  321. AddConversationOption(conversation, "I've changed my mind. Goodbye.")
  322. StartConversation(conversation, NPC, Spawn, "This urn contains the ashes of the recently deceased. I'd like ye to take them to the peak of Pride Overlook and scatter 'em to the winds. The ashes will be carried out to sea. Maybe part of them will find their way back to Velious, if it still exists.")
  323. end
  324. function Quest3Chat_7(NPC, Spawn)
  325. FaceTarget(NPC, Spawn)
  326. conversation = CreateConversation()
  327. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard028.mp3", "", "", 564515719, 107243017, Spawn)
  328. AddConversationOption(conversation, "Thank you. I'd be happy to help.", "Quest3Chat_6")
  329. AddConversationOption(conversation, "Like the Dain? That's a wild exaggeration, but I appreciate the compliment.", "Quest3Chat_6")
  330. AddConversationOption(conversation, "I'd rather see a coldain honor his brethren.")
  331. StartConversation(conversation, NPC, Spawn, "I'd be perfectly happy to give this job to one of my brothers, but I'd rather you do it, " .. GetName(Spawn) .. ". I trust ye. Yer capable and ye fight like the Dain himself.")
  332. end
  333. function Quest3Chat_8(NPC, Spawn)
  334. FaceTarget(NPC, Spawn)
  335. conversation = CreateConversation()
  336. AddConversationOption(conversation, "Fair enough.", "Quest3Chat_9")
  337. AddConversationOption(conversation, "Whatever. If you say so.", "Quest3Chat_9")
  338. StartConversation(conversation, NPC, Spawn, "Have a little faith. The spirits believe in us, or else they wouldn't be here. It's only fair to believe in them, in return.")
  339. end
  340. function Quest3Chat_9(NPC, Spawn)
  341. SetStepComplete(Spawn, ScatteringAshes, 2)
  342. FaceTarget(NPC, Spawn)
  343. conversation = CreateConversation()
  344. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard033.mp3", "", "", 935575101, 1863151637, Spawn)
  345. AddConversationOption(conversation, "You can deduce a lot about a people by how they revere their dead.", "Quest4Chat_1")
  346. AddConversationOption(conversation, "Let's hope that day is a long way off, Dolur.", "Quest4Chat_1")
  347. StartConversation(conversation, NPC, Spawn, "Ye stuck by yer word, " .. GetName(Spawn) .. ". When the day comes, I wouldn't mind if ye were the one to lay my remains to rest.")
  348. end
  349. function Quest4Chat_1(NPC, Spawn)
  350. FaceTarget(NPC, Spawn)
  351. conversation = CreateConversation()
  352. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard034.mp3", "", "", 4183445940, 2191855130, Spawn)
  353. AddConversationOption(conversation, "If you need to kill skeletons, I'm in.", "Quest4Chat_2")
  354. AddConversationOption(conversation, "How can I help?", "Quest4Chat_3")
  355. StartConversation(conversation, NPC, Spawn, "And now that ye've helped honor the spirits of the fallen, perhaps we can assist them in a more practical way. The sooner our men have laid those Ry'Gorr skeletons to rest, the sooner they can rest themselves.")
  356. end
  357. function Quest4Chat_2(NPC, Spawn)
  358. FaceTarget(NPC, Spawn)
  359. conversation = CreateConversation()
  360. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard036.mp3", "", "", 183860181, 4160128753, Spawn)
  361. AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy? ", "Quest4Chat_6")
  362. AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4")
  363. AddConversationOption(conversation, "Headache?", "Quest4Chat_5")
  364. AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.")
  365. StartConversation(conversation, NPC, Spawn, "Aye, I was hoping ye'd say that. But, perhaps more important than killing... er... re-killing them, is keeping the blasted things down. Those necromancers are causing us a real headache.")
  366. end
  367. function Quest4Chat_3(NPC, Spawn)
  368. FaceTarget(NPC, Spawn)
  369. conversation = CreateConversation()
  370. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard035.mp3", "", "", 3130799113, 3083892992, Spawn)
  371. AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy?", "Quest4Chat_6")
  372. AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4")
  373. AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.")
  374. StartConversation(conversation, NPC, Spawn, "The Ry'Gorr necromancers are making sure that we have our work cut out for us. Their skeletal minions won't stay down. But we think there's a way we can deal with that.")
  375. end
  376. function Quest4Chat_4(NPC, Spawn)
  377. FaceTarget(NPC, Spawn)
  378. conversation = CreateConversation()
  379. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard038.mp3", "", "", 407410462, 3645301818, Spawn)
  380. AddConversationOption(conversation, "How do the totems affect the piles of bones?", "Quest4Chat_10")
  381. AddConversationOption(conversation, "The totems are used to raise the dead, aren't they?", "Quest4Chat_10")
  382. AddConversationOption(conversation, "I've heard enough. Goodbye.")
  383. StartConversation(conversation, NPC, Spawn, "Allow me to explain. The orcs' dark art practitioners have whittled crude necromantic totems out of an unusually opaque black crystal. They place these totems near piles of their dead, after they've burned all the flesh from their bones.")
  384. end
  385. function Quest4Chat_5(NPC, Spawn)
  386. FaceTarget(NPC, Spawn)
  387. conversation = CreateConversation()
  388. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard042.mp3", "", "", 4130815346, 134791613, Spawn)
  389. AddConversationOption(conversation, "Please, no more details!")
  390. AddConversationOption(conversation, "That's too much information.")
  391. AddConversationOption(conversation, "For Brell's sake, stop right there!")
  392. StartConversation(conversation, NPC, Spawn, "And that's saying a lot, considering I once woke up behind the Velium Keg with a splitting headache and a snow bunny tattoo inked in an awkward place.")
  393. end
  394. function Quest4Chat_6(NPC, Spawn)
  395. FaceTarget(NPC, Spawn)
  396. conversation = CreateConversation()
  397. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard037.mp3", "", "", 3050869770, 2588737006, Spawn)
  398. AddConversationOption(conversation, "I'd never heard of it, either.", "Quest4Chat_7")
  399. AddConversationOption(conversation, "Orcs are bad enough as it is.", "Quest4Chat_7")
  400. AddConversationOption(conversation, "I've heard enough. Goodbye.")
  401. StartConversation(conversation, NPC, Spawn, "Since now! Until recently, we'd never even heard of an orcish necromancer. Shaman or warrior types, certainly, but they've never been ones to dabble with the dead. ")
  402. end
  403. function Quest4Chat_7(NPC, Spawn)
  404. FaceTarget(NPC, Spawn)
  405. conversation = CreateConversation()
  406. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard039.mp3", "", "", 655322932, 2844698799, Spawn)
  407. AddConversationOption(conversation, "What do you think?", "Quest4Chat_8")
  408. AddConversationOption(conversation, "Sounds reasonable.", "Quest4Chat_9")
  409. AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.")
  410. StartConversation(conversation, NPC, Spawn, "Unfortunately fer us, it looks like the orcs have picked up on the technique since becoming isolated on Erollis. Rakan posited that they may have turned to necromancy as a direct response to seeing our coldain brethren return from the afterlife to fight them.")
  411. end
  412. function Quest4Chat_8(NPC, Spawn)
  413. FaceTarget(NPC, Spawn)
  414. conversation = CreateConversation()
  415. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard040.mp3", "", "", 951980673, 4228422662, Spawn)
  416. AddConversationOption(conversation, "They are more resourceful than I had imagined.", "Quest4Chat_9")
  417. AddConversationOption(conversation, "Orcs are deplorable.", "Quest4Chat_9")
  418. AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.")
  419. StartConversation(conversation, NPC, Spawn, "Hrmph. Well, it's possible that they petitioned to one of the darker gods to grant them the ability. Whatever the means, it stinks of an act of desperation. There isn't much opportunity to grow and replenish their ranks without resorting to raising their dead.")
  420. end
  421. function Quest4Chat_9(NPC, Spawn)
  422. FaceTarget(NPC, Spawn)
  423. conversation = CreateConversation()
  424. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard043.mp3", "", "", 845201538, 1152092745, Spawn)
  425. AddConversationOption(conversation, "How do you propose we 'deal' with them?", "Quest4Chat_4")
  426. AddConversationOption(conversation, "I can think of a reason to leave. Goodbye.")
  427. StartConversation(conversation, NPC, Spawn, "In the end, I don't suppose the reason matters much. There are no depths they won't sink to in order to win this battle. It is what it is, and we have to deal with what's in front of us. ")
  428. end
  429. function Quest4Chat_10(NPC, Spawn)
  430. FaceTarget(NPC, Spawn)
  431. conversation = CreateConversation()
  432. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard041.mp3", "", "", 2628510482, 3371068278, Spawn)
  433. AddConversationOption(conversation, "I can do that.", "OfferTotemAnnihilation")
  434. AddConversationOption(conversation, "That's a sound plan.", "OfferTotemAnnihilation")
  435. AddConversationOption(conversation, "This is a temporary solution, at best. I'll be going.")
  436. StartConversation(conversation, NPC, Spawn, "And sure as Brell is my maker, dreadful skeletons rise up out of the piles, ready to fight again. I expect that destroying those totems will slow down the production of undead.")
  437. end
  438. function Quest4Chat_11(NPC, Spawn)
  439. SetStepComplete(Spawn, TotemAnnihilation, 2)
  440. FaceTarget(NPC, Spawn)
  441. conversation = CreateConversation()
  442. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard046.mp3", "", "", 1320158668, 3505958307, Spawn)
  443. AddConversationOption(conversation, "Very funny.")
  444. AddConversationOption(conversation, "That's not much of a consolation.")
  445. AddConversationOption(conversation, "There's a silver lining in every cloud, eh?")
  446. StartConversation(conversation, NPC, Spawn, "I suppose we should be thankful that the weather isn't warm here, or ye'd really stink.")
  447. end
  448. function Quest5Chat_1(NPC, Spawn)
  449. FaceTarget(NPC, Spawn)
  450. conversation = CreateConversation()
  451. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard048.mp3", "", "", 1791567214, 1786988911, Spawn)
  452. AddConversationOption(conversation, "That sounds very similar to the Ry'Gorr's necromantic totems.", "Quest5Chat_2")
  453. AddConversationOption(conversation, "Do the coldain spirits have any choice in the matter?", "Quest5Chat_7")
  454. AddConversationOption(conversation, "Speaking of which, my assistance is needed elsewhere. Goodbye.")
  455. StartConversation(conversation, NPC, Spawn, "The wards are beacons that allow a coldain's spirit to return to this world, and remain here, so long as their assistance is needed on the battlefield.")
  456. end
  457. function Quest5Chat_2(NPC, Spawn)
  458. FaceTarget(NPC, Spawn)
  459. conversation = CreateConversation()
  460. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard049.mp3", "", "", 2886126619, 111361298, Spawn)
  461. AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3")
  462. AddConversationOption(conversation, "This discussion tires me. Goodbye.")
  463. StartConversation(conversation, NPC, Spawn, "The important difference being that the coldain spirits retain their will and conscience. They aren't controlled by dark magic.")
  464. end
  465. function Quest5Chat_3(NPC, Spawn)
  466. FaceTarget(NPC, Spawn)
  467. conversation = CreateConversation()
  468. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard051.mp3", "", "", 3697109059, 807407603, Spawn)
  469. AddConversationOption(conversation, "It doesn't sound like abandoning their surviving allies is a choice at all.", "Quest5Chat_4")
  470. AddConversationOption(conversation, "I'm glad to hear that it isn't forced servitude.", "Quest5Chat_8")
  471. AddConversationOption(conversation, "What is and what isn't 'dark magic' is all a matter of perspective.", "Quest5Chat_10")
  472. AddConversationOption(conversation, "Sounds like we're arguing over semantics, which is a waste of my time and yours. Goodbye.")
  473. StartConversation(conversation, NPC, Spawn, "Our brethren don't have to return to the field of battle unless they choose to do so. Of course, valor in the face of overwhelming opposition isn't unusual for the coldain. Most dwarves opt to follow the light from the ward's beacon and return to Norrath.")
  474. end
  475. function Quest5Chat_4(NPC, Spawn)
  476. FaceTarget(NPC, Spawn)
  477. conversation = CreateConversation()
  478. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard052.mp3", "", "", 2567924057, 453022525, Spawn)
  479. AddConversationOption(conversation, "You know I wish to help.", "Quest5Chat_5")
  480. AddConversationOption(conversation, "I help because we're both getting something out of this.", "Quest5Chat_11")
  481. AddConversationOption(conversation, "I'm walking. Goodbye.")
  482. StartConversation(conversation, NPC, Spawn, "There's always a choice, " .. GetName(Spawn) .. ". Just as you could choose to help us again, or choose to walk away.")
  483. end
  484. function Quest5Chat_5(NPC, Spawn)
  485. FaceTarget(NPC, Spawn)
  486. conversation = CreateConversation()
  487. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard056.mp3", "", "", 721262634, 1165992998, Spawn)
  488. AddConversationOption(conversation, "How will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6")
  489. AddConversationOption(conversation, "How were the wards disabled?", "Quest5Chat_9")
  490. AddConversationOption(conversation, "If I continue working tasks for you, I'm certain to find the spirit realm, myself. Goodbye.")
  491. StartConversation(conversation, NPC, Spawn, "The wards that were disabled need to be replaced. Furthermore, they must be placed in areas where the barrier between our world and the spirit realm is 'thin'.")
  492. end
  493. function Quest5Chat_6(NPC, Spawn)
  494. FaceTarget(NPC, Spawn)
  495. conversation = CreateConversation()
  496. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard057.mp3", "", "", 3375420535, 3459651835, Spawn)
  497. AddConversationOption(conversation, "The sooner I begin, the better.", "OfferCallingBack")
  498. AddConversationOption(conversation, "I am no longer interested. Goodbye.")
  499. StartConversation(conversation, NPC, Spawn, "The coldain spirits have indicated as such. They've etched designs in the snow indicating the best locations for the wards. The spirits have seen both sides, after all, so they would know.")
  500. end
  501. function Quest5Chat_7(NPC, Spawn)
  502. FaceTarget(NPC, Spawn)
  503. conversation = CreateConversation()
  504. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard050.mp3", "", "", 1997222652, 757650652, Spawn)
  505. AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3")
  506. AddConversationOption(conversation, "This discussion tires me. Goodbye.")
  507. StartConversation(conversation, NPC, Spawn, "Of course. This isn't dark magic. The wards merely allow the dwarves' spirits to return by showing them the way.")
  508. end
  509. function Quest5Chat_8(NPC, Spawn)
  510. FaceTarget(NPC, Spawn)
  511. conversation = CreateConversation()
  512. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard053.mp3", "", "", 61355934, 928420648, Spawn)
  513. AddConversationOption(conversation, "Tell me how I can help.", "Quest5Chat_5")
  514. AddConversationOption(conversation, "I'll be the judge of that. Goodbye.")
  515. StartConversation(conversation, NPC, Spawn, "Of course it isn't.")
  516. end
  517. function Quest5Chat_9(NPC, Spawn)
  518. FaceTarget(NPC, Spawn)
  519. conversation = CreateConversation()
  520. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard058.mp3", "", "", 865813729, 1073348208, Spawn)
  521. AddConversationOption(conversation, "I see. And how will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6")
  522. AddConversationOption(conversation, "So you need these wards replaced, then?", "OfferCallingBack")
  523. AddConversationOption(conversation, "I have no wish to assist in raising the dead. Goodbye.")
  524. StartConversation(conversation, NPC, Spawn, "Hmm... I can't say for sure, but I imagine they were disabled in much the same way that you destroyed their necromancers' totems: the orcs broke them. Our wards were probably smashed under some Ry'Gorr's hammer.")
  525. end
  526. function Quest5Chat_10(NPC, Spawn)
  527. FaceTarget(NPC, Spawn)
  528. conversation = CreateConversation()
  529. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard054.mp3", "", "", 3731109771, 1471852014, Spawn)
  530. AddConversationOption(conversation, "Fine. I'll be leaving.")
  531. AddConversationOption(conversation, "You're awfully touchy. Goodbye.")
  532. StartConversation(conversation, NPC, Spawn, "Says ye. I think ye'd best be leaving, " .. GetName(Spawn) .. ", before I lose my temper.")
  533. end
  534. function Quest5Chat_11(NPC, Spawn)
  535. FaceTarget(NPC, Spawn)
  536. conversation = CreateConversation()
  537. AddConversationOption(conversation, "Of course not. How can I help?", "Quest5Chat_5")
  538. AddConversationOption(conversation, "The jury is still out on that, but I'm willing to help today.", "Quest5Chat_5")
  539. AddConversationOption(conversation, "I do feel underappreciated. Goodbye.")
  540. StartConversation(conversation, NPC, Spawn, "It's a mutually beneficial relationship, certainly. I just hope ye don't feel I'm taking advantage of yer kindness, or vice versa.")
  541. end
  542. function Quest5Chat_12(NPC, Spawn)
  543. SetStepComplete(Spawn, CallingBack, 6)
  544. FaceTarget(NPC, Spawn)
  545. conversation = CreateConversation()
  546. AddConversationOption(conversation, "I hope we can tip the scales even futher.", "Quest5Chat_13")
  547. AddConversationOption(conversation, "Is there anything else I can do to help, Dolur?", "Quest6Chat_1")
  548. AddConversationOption(conversation, "I hope you have some real work for me, next time.", "Quest5Chat_13")
  549. StartConversation(conversation, NPC, Spawn, "That'll tip the scales back in our favor! Well done, " .. GetName(Spawn) .. "")
  550. end
  551. function Quest5Chat_13(NPC, Spawn)
  552. FaceTarget(NPC, Spawn)
  553. conversation = CreateConversation()
  554. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard062.mp3", "", "", 1933886797, 2300926566, Spawn)
  555. AddConversationOption(conversation, "Tell me more.", "Quest6Chat_1")
  556. AddConversationOption(conversation, "What nightmares?", "Quest6Chat_1")
  557. StartConversation(conversation, NPC, Spawn, "I hope so too, " .. GetName(Spawn) .. ". There's the business of my nightmares I'd like to speak to ye about.")
  558. end
  559. function Quest6Chat_1(NPC, Spawn)
  560. FaceTarget(NPC, Spawn)
  561. conversation = CreateConversation()
  562. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard063.mp3", "", "", 3479422497, 420666487, Spawn)
  563. AddConversationOption(conversation, "Ah, that would be frightful.", "Quest6Chat_2")
  564. AddConversationOption(conversation, "It's only a dream, right?", "Quest6Chat_2")
  565. AddConversationOption(conversation, "I have no time to analyze your dreams. Goodbye.")
  566. StartConversation(conversation, NPC, Spawn, "I'm in constant fear for our unseasoned coldain fighters, " .. GetName(Spawn) .. ". When I close my eyes, I can see them faltering. ")
  567. end
  568. function Quest6Chat_2(NPC, Spawn)
  569. FaceTarget(NPC, Spawn)
  570. conversation = CreateConversation()
  571. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard064.mp3", "", "", 884503499, 3365458147, Spawn)
  572. AddConversationOption(conversation, "What else do you see in your dreams?", "Quest6Chat_3")
  573. AddConversationOption(conversation, "Can I do something to help?", "Quest6Chat_4")
  574. AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.")
  575. StartConversation(conversation, NPC, Spawn, "In my dreaming sleep, I stand frozen in the midst of the fracas, watching helplessly as another green warrior is about to die.")
  576. end
  577. function Quest6Chat_3(NPC, Spawn)
  578. FaceTarget(NPC, Spawn)
  579. conversation = CreateConversation()
  580. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard065.mp3", "", "", 1112528692, 1589230613, Spawn)
  581. AddConversationOption(conversation, "That's not far from what's actually happening.", "Quest6Chat_6")
  582. AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4")
  583. AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.")
  584. StartConversation(conversation, NPC, Spawn, "I'm in a maze of long hallways. There are mounds of bone, strewn about haphazardly. Scores of cackling undead spawn from the piles and mill about.")
  585. end
  586. function Quest6Chat_4(NPC, Spawn)
  587. FaceTarget(NPC, Spawn)
  588. conversation = CreateConversation()
  589. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard066.mp3", "", "", 2614901969, 1124964549, Spawn)
  590. AddConversationOption(conversation, "How would I go about doing that? ", "Quest6Chat_5")
  591. AddConversationOption(conversation, "Destroying a pile of ossified bone isn't easy.", "Quest6Chat_5")
  592. AddConversationOption(conversation, "Perhaps I'm not the right person for the job, after all.")
  593. StartConversation(conversation, NPC, Spawn, "Aye. Someone should get out there and destroy the monster generators. Does this mean yer volunteering, " .. GetName(Spawn) .. "?")
  594. end
  595. function Quest6Chat_5(NPC, Spawn)
  596. FaceTarget(NPC, Spawn)
  597. conversation = CreateConversation()
  598. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard068.mp3", "", "", 3330795351, 440398686, Spawn)
  599. AddConversationOption(conversation, "You don't have to worry anymore.", "OfferTheGauntlet")
  600. AddConversationOption(conversation, "Of course. I'd love to help.", "OfferTheGauntlet")
  601. AddConversationOption(conversation, "This is a really bad idea.")
  602. StartConversation(conversation, NPC, Spawn, "Use yer weaponry, a heavy rock, or your bare fists, if that's all ye have on hand. I don't care, so long as they've been ground into a dust-like powder. Only then will the Ry'Gorr skeletons trouble us no longer.")
  603. end
  604. function Quest6Chat_6(NPC, Spawn)
  605. FaceTarget(NPC, Spawn)
  606. conversation = CreateConversation()
  607. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard067.mp3", "", "", 3225906480, 630261154, Spawn)
  608. AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4")
  609. AddConversationOption(conversation, "I must be leaving.")
  610. StartConversation(conversation, NPC, Spawn, "And that's what disturbs me the most, " .. GetName(Spawn) .. ".")
  611. end
  612. function Quest7Chat_1(NPC, Spawn)
  613. SetStepComplete(Spawn, TheGauntlet, 2)
  614. FaceTarget(NPC, Spawn)
  615. conversation = CreateConversation()
  616. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard072.mp3", "", "", 1784529, 3849185180, Spawn)
  617. AddConversationOption(conversation, "What about disabling the totems?","Quest7Chat_2")
  618. AddConversationOption(conversation, "Even replacing the spirit wards didn't help?", "Quest7Chat_10")
  619. AddConversationOption(conversation, "I managed to smash several skeletons into tiny bits.", "Quest7Chat_13")
  620. AddConversationOption(conversation, "Well, if my efforts haven't been helpful, I'll go be of more use elsewhere.")
  621. StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", the worst part of this nightmare is feeling utterly helpless. The Ry'Gorr forces are as strong as ever. And to be completely honest, yer efforts haven't helped us gain much ground.")
  622. end
  623. function Quest7Chat_2(NPC, Spawn)
  624. FaceTarget(NPC, Spawn)
  625. conversation = CreateConversation()
  626. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard073.mp3", "", "", 2943845017, 2205345789, Spawn)
  627. AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3")
  628. AddConversationOption(conversation, "This is helpless! I quit.")
  629. StartConversation(conversation, NPC, Spawn, "What about it? The orcs took to disabling our wards while ye were smashing up their totems, and they're making more of the blasted things as we speak.")
  630. end
  631. function Quest7Chat_3(NPC, Spawn)
  632. FaceTarget(NPC, Spawn)
  633. conversation = CreateConversation()
  634. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard076.mp3", "", "", 3845015927, 2518600901, Spawn)
  635. AddConversationOption(conversation, "What did you have in mind?", "Quest7Chat_4")
  636. AddConversationOption(conversation, "I could look for the necromancers.", "Quest7Chat_11")
  637. AddConversationOption(conversation, "I've already bled enough for your goals. Count me out.")
  638. StartConversation(conversation, NPC, Spawn, "Yer efforts, while valiant, aren't having a lasting impact on their skeletal horde. And the constant assault of undead is wearing us down. We've gone about this plan of attack all sideways, if ye ask me. A more precision strike is in order.")
  639. end
  640. function Quest7Chat_4(NPC, Spawn)
  641. FaceTarget(NPC, Spawn)
  642. conversation = CreateConversation()
  643. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard077.mp3", "", "", 3800804769, 3084250948, Spawn)
  644. AddConversationOption(conversation, "Makes sense.", "Quest7Chat_5")
  645. AddConversationOption(conversation, "But where are they hiding?", "Quest7Chat_5")
  646. AddConversationOption(conversation, "I'd rather not venture into the proverbial lion's den. Goodbye.")
  647. StartConversation(conversation, NPC, Spawn, "The orcish necromancers are the ultimate source of the undead army. Ye need to locate them.")
  648. end
  649. function Quest7Chat_5(NPC, Spawn)
  650. FaceTarget(NPC, Spawn)
  651. conversation = CreateConversation()
  652. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard079.mp3", "", "", 4093864666, 2060412696, Spawn)
  653. AddConversationOption(conversation, "Any other reports?", "Quest7Chat_6")
  654. AddConversationOption(conversation, "I'll figure this out without their help. Goodbye.")
  655. StartConversation(conversation, NPC, Spawn, "My scouts are giving me conflicting information. Mapin thinks they're back behind a snowdrift on Ry'Gorr Isle. Letke thought he saw a cadre of necromancer types gathering on a floating chunk of ice off to the northwest.")
  656. end
  657. function Quest7Chat_6(NPC, Spawn)
  658. FaceTarget(NPC, Spawn)
  659. conversation = CreateConversation()
  660. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard080.mp3", "", "", 1837622160, 4089784009, Spawn)
  661. AddConversationOption(conversation, "Ugh. So which is it?", "Quest7Chat_7")
  662. AddConversationOption(conversation, "Ol' Blizzardbeard?", "Quest7Chat_12")
  663. AddConversationOption(conversation, "When you get your intelligence in order, let me know. Goodbye.")
  664. StartConversation(conversation, NPC, Spawn, "Aye. Ol' Blizzardbeard is under the impression that they're simply working their dark magic out in the open, carving the totems under cover of night when we're not looking.")
  665. end
  666. function Quest7Chat_7(NPC, Spawn)
  667. FaceTarget(NPC, Spawn)
  668. conversation = CreateConversation()
  669. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard082.mp3", "", "", 4103645790, 7293030, Spawn)
  670. AddConversationOption(conversation, "That sounds more plausible.", "Quest7Chat_8")
  671. AddConversationOption(conversation, "No wonder it's been hard to find.", "Quest7Chat_8")
  672. AddConversationOption(conversation, "This sounds like a waste of my time.")
  673. StartConversation(conversation, NPC, Spawn, "The most reliable reconnoitering we have, as confirmed by scout Dansk and scout Clawhammer, indicates that the necromancers have holed up in a natural cavern. The cave is on an island off the coast to the southwest.")
  674. end
  675. function Quest7Chat_8(NPC, Spawn)
  676. FaceTarget(NPC, Spawn)
  677. conversation = CreateConversation()
  678. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard083.mp3", "", "", 2366031645, 641653492, Spawn)
  679. AddConversationOption(conversation, "These orcs are wily. Their behavior defies expectations.", "Quest7Chat_9")
  680. AddConversationOption(conversation, "They've had more than enough time to fortify the area and make it inhabitable.", "Quest7Chat_9")
  681. AddConversationOption(conversation, "The last place you'd look will be the first place they'd hide.", "Quest7Chat_9")
  682. AddConversationOption(conversation, "If you're not even certain the Ry'Gorr necromancers are in there, I'll spend my time elsewhere.")
  683. StartConversation(conversation, NPC, Spawn, "It's the last place I would have expected to find them. Even if it weren't orcish territory, that area is treacherously difficult to navigate, and prone to cave-ins. We had considered it too dangerous to explore.")
  684. end
  685. function Quest7Chat_9(NPC, Spawn)
  686. FaceTarget(NPC, Spawn)
  687. conversation = CreateConversation()
  688. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard084.mp3", "", "", 4243043314, 1523140445, Spawn)
  689. AddConversationOption(conversation, "Of course.", "OfferOffOssuary")
  690. AddConversationOption(conversation, "I'll see this through to the end.", "OfferOffOssuary")
  691. AddConversationOption(conversation, "Though your scouts' information may not be accurate, it's still the best lead we've got.", "OfferOffOssuary")
  692. AddConversationOption(conversation, "If you're not certain the Ry'Gorr necromancers are in there, I'll not waste my time.")
  693. StartConversation(conversation, NPC, Spawn, "Aye, the lead is solid. I'm sorry to burden ye with another grim task, especially when the outcome is uncertain, but could I count on ye to explore this cavern?")
  694. end
  695. function Quest7Chat_10(NPC, Spawn)
  696. FaceTarget(NPC, Spawn)
  697. conversation = CreateConversation()
  698. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard074.mp3", "", "", 3668194887, 51910928, Spawn)
  699. AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3")
  700. AddConversationOption(conversation, "This is helpless! I quit.")
  701. StartConversation(conversation, NPC, Spawn, "It kept us on equal footing with them, at best.")
  702. end
  703. function Quest7Chat_11(NPC, Spawn)
  704. FaceTarget(NPC, Spawn)
  705. conversation = CreateConversation()
  706. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard078.mp3", "", "", 571602465, 4229451174, Spawn)
  707. AddConversationOption(conversation, "As always, we're on the same page.", "Quest7Chat_5")
  708. AddConversationOption(conversation, "Any idea where they could be hiding?", "Quest7Chat_5")
  709. AddConversationOption(conversation, "I'll figure this out on my own. Goodbye.")
  710. StartConversation(conversation, NPC, Spawn, "That was my thought, precisely.")
  711. end
  712. function Quest7Chat_12(NPC, Spawn)
  713. FaceTarget(NPC, Spawn)
  714. conversation = CreateConversation()
  715. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard081.mp3", "", "", 3792358161, 1911808576, Spawn)
  716. AddConversationOption(conversation, "Sounds like he's what you'd call a drunkard.", "Quest7Chat_7")
  717. AddConversationOption(conversation, "Well, do you have any reliable information?", "Quest7Chat_7")
  718. AddConversationOption(conversation, "Oh, this is such a waste of time! Goodbye.")
  719. StartConversation(conversation, NPC, Spawn, "Well, heh. That's not his real name. We just took to calling him that since he has ale suds in his beard more often than not. He's not what ye'd call reliable.")
  720. end
  721. function Quest7Chat_13(NPC, Spawn)
  722. FaceTarget(NPC, Spawn)
  723. conversation = CreateConversation()
  724. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard075.mp3", "", "", 2950142669, 2951966236, Spawn)
  725. AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3")
  726. AddConversationOption(conversation, "This is helpless! I quit.")
  727. StartConversation(conversation, NPC, Spawn, "Aye, and there will be plenty extra where those came from. Point of fact, there are more bones on the battlefield than ice floes in Iceclad.")
  728. end
  729. function Quest7Chat_14(NPC, Spawn)
  730. FaceTarget(NPC, Spawn)
  731. conversation = CreateConversation()
  732. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard087.mp3", "", "", 2455437379, 1149838635, Spawn)
  733. AddConversationOption(conversation, "I did, but there will be more of them.", "Quest7Chat_15")
  734. AddConversationOption(conversation, "Yes, but there are necromancers all over the Ossuary of Ice.", "Quest7Chat_15")
  735. StartConversation(conversation, NPC, Spawn, "Aye! So it was correct. It looks like I owe Dansk and Clawhammer a whole keg of ale for their keen eyes. Brell bless 'em. And were ye able to give the necromancers a sound beating?")
  736. end
  737. function Quest7Chat_15(NPC, Spawn)
  738. SetStepComplete(Spawn, OffOssuary, 3)
  739. FaceTarget(NPC, Spawn)
  740. conversation = CreateConversation()
  741. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard088.mp3", "", "", 191733965, 1473786520, Spawn)
  742. AddConversationOption(conversation, "Figuratively speaking, of course.", "Quest8Chat_1")
  743. AddConversationOption(conversation, "So, I'll be heading back to the Ossuary?", "Quest8Chat_1")
  744. StartConversation(conversation, NPC, Spawn, "Well then. How about we cut off the head of the frost wurm?")
  745. end
  746. function Quest8Chat_1(NPC, Spawn)
  747. FaceTarget(NPC, Spawn)
  748. conversation = CreateConversation()
  749. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard089.mp3", "", "", 1399173958, 925064684, Spawn)
  750. AddConversationOption(conversation, "We need to sever the head of this frost wurm.", "Quest8Chat_2")
  751. AddConversationOption(conversation, "We need to find and slay their leader.", "Quest8Chat_2")
  752. AddConversationOption(conversation, "I've already been in there once. Count me out.")
  753. StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", ye've managed to pinpoint the heart of the Ry'Gorr's operations. This is a most fortunate turn of events. Armed with this information, we stand a chance to take back Erollis from the orcs for good. But before we start celebrating...")
  754. end
  755. function Quest8Chat_2(NPC, Spawn)
  756. FaceTarget(NPC, Spawn)
  757. conversation = CreateConversation()
  758. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard090.mp3", "", "", 3782002158, 339970398, Spawn)
  759. AddConversationOption(conversation, "What should I look for?", "Quest8Chat_3")
  760. AddConversationOption(conversation, "How will I know when I've found the leader?", "Quest8Chat_3")
  761. AddConversationOption(conversation, "I've already been in there once and I'd rather not go back. Count me out.")
  762. StartConversation(conversation, NPC, Spawn, "And that means heading back to the Ossuary of Ice. But this time, ye'll be on the lookout for their leader and whatever tools he's using to manufacture the totems.")
  763. end
  764. function Quest8Chat_3(NPC, Spawn)
  765. FaceTarget(NPC, Spawn)
  766. conversation = CreateConversation()
  767. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard091.mp3", "", "", 1275705451, 1277532421, Spawn)
  768. AddConversationOption(conversation, "What are they doing?", "Quest8Chat_4")
  769. AddConversationOption(conversation, "Why would they stand around the crystal?", "Quest8Chat_4")
  770. AddConversationOption(conversation, "I never really liked Dark Crystal. Goodbye.")
  771. StartConversation(conversation, NPC, Spawn, "I've had this recurring vision, and now it makes sense. In my dreams, I see an unholy crystal, jutting out of the ice like a festering claw. The Ry'Gorr necromancers stand around the crystal. ")
  772. end
  773. function Quest8Chat_4(NPC, Spawn)
  774. FaceTarget(NPC, Spawn)
  775. conversation = CreateConversation()
  776. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard092.mp3", "", "", 420466205, 1714342326, Spawn)
  777. AddConversationOption(conversation, "And you think their leader can be found near the crystal?", "Quest8Chat_5")
  778. AddConversationOption(conversation, "Your dreams give me the creeps.")
  779. StartConversation(conversation, NPC, Spawn, "They worship it, day and night. From that dark crystal have they hewn out their dark totems, for dark purposes.")
  780. end
  781. function Quest8Chat_5(NPC, Spawn)
  782. FaceTarget(NPC, Spawn)
  783. conversation = CreateConversation()
  784. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard093.mp3", "", "", 4158777866, 37202239, Spawn)
  785. AddConversationOption(conversation, "He must be driven.", "Quest8Chat_6")
  786. AddConversationOption(conversation, "He must be mad.", "Quest8Chat_6")
  787. AddConversationOption(conversation, "I must be going. Goodbye.")
  788. StartConversation(conversation, NPC, Spawn, "Aye. Now that ye've found the crystal, he needs to protect it. He stands over it, tirelessly. He never sleeps. I can see his reflection in the crystal. His eyes burn with purpose.")
  789. end
  790. function Quest8Chat_6(NPC, Spawn)
  791. FaceTarget(NPC, Spawn)
  792. conversation = CreateConversation()
  793. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard094.mp3", "", "", 4080806581, 1372886220, Spawn)
  794. AddConversationOption(conversation, "While I'm there, I may as well destroy that crystal.", "Quest8Chat_7")
  795. AddConversationOption(conversation, "Anything else?", "Quest8Chat_7")
  796. AddConversationOption(conversation, "I don't feel like my efforts are appreciated. Goodbye.")
  797. StartConversation(conversation, NPC, Spawn, "He must be eliminated. Only by dealing with their fearless leader will we see any reprieve out here on the battlefield. Ye've seen firsthand that other tactics are ultimately ineffective.")
  798. end
  799. function Quest8Chat_7(NPC, Spawn)
  800. FaceTarget(NPC, Spawn)
  801. conversation = CreateConversation()
  802. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard095.mp3", "", "", 4108326370, 3849804225, Spawn)
  803. AddConversationOption(conversation, "What do you think the crystal is made of?", "Quest8Chat_8")
  804. AddConversationOption(conversation, "What is the crystal?", "Quest8Chat_8")
  805. AddConversationOption(conversation, "I don't want to touch the foul thing. Goodbye.")
  806. StartConversation(conversation, NPC, Spawn, "Yes. After ye've dealt with the source of their leadership, ye'll want to destroy the source of those totems. Break the crystal.")
  807. end
  808. function Quest8Chat_8(NPC, Spawn)
  809. FaceTarget(NPC, Spawn)
  810. conversation = CreateConversation()
  811. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard096.mp3", "", "", 568891414, 964093809, Spawn)
  812. AddConversationOption(conversation, "That's terrifying.", "Quest8Chat_9")
  813. AddConversationOption(conversation, "Whatever it is, it must be destroyed.", "Quest8Chat_9")
  814. AddConversationOption(conversation, "On second thought, perhaps this isn't the job for me.")
  815. StartConversation(conversation, NPC, Spawn, "I'm not certain, but if I had to guess... I'd say it's a piece of the sky that came raining down upon us that fateful day that we were separated from the rest of Velious. I'd say it's a piece of Luclin.")
  816. end
  817. function Quest8Chat_9(NPC, Spawn)
  818. FaceTarget(NPC, Spawn)
  819. conversation = CreateConversation()
  820. PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard097.mp3", "", "", 1964889828, 3937802389, Spawn)
  821. AddConversationOption(conversation, "I'll put an end to your nightmares.", "OfferSeveringHead")
  822. AddConversationOption(conversation, "I'll sever the head of this wurm, as you put it.", "OfferSeveringHead")
  823. AddConversationOption(conversation, "It sounds like another waste of time. Goodbye. ")
  824. StartConversation(conversation, NPC, Spawn, "How does that sound?")
  825. end
  826. function Quest8Chat_10(NPC, Spawn)
  827. SetStepComplete(Spawn, SeveringHead, 3)
  828. FaceTarget(NPC, Spawn)
  829. conversation = CreateConversation()
  830. AddConversationOption(conversation, "I'm glad to have helped.", "Quest9Chat_1")
  831. AddConversationOption(conversation, "So, do you need any more help?", "Quest9Chat_1")
  832. StartConversation(conversation, NPC, Spawn, "I wish I could have been there to see the looks on thier tooth-grinned faces. Haha! It must have been a sight to behold. And now their forced run around like helpless, leaderless, axe-fodder.")
  833. end
  834. function Quest9Chat_1(NPC, Spawn)
  835. FaceTarget(NPC, Spawn)
  836. conversation = CreateConversation()
  837. AddConversationOption(conversation, "I'm fairly sure.", "Quest9Chat_2")
  838. AddConversationOption(conversation, "Your flattery will be the death of me, Dolur.", "Quest9Chat_2")
  839. StartConversation(conversation, NPC, Spawn, "Are ye sure ye don't have any Frostreaver blood in ye, " .. GetName(Spawn) .. "?")
  840. end
  841. function Quest9Chat_2(NPC, Spawn)
  842. FaceTarget(NPC, Spawn)
  843. conversation = CreateConversation()
  844. AddConversationOption(conversation, "I'm just glad it's over.", "Quest9Chat_3")
  845. AddConversationOption(conversation, "A few missteps are to be expected.", "Quest9Chat_3")
  846. AddConversationOption(conversation, "War is rarely clean or predictable.", "Quest9Chat_3")
  847. AddConversationOption(conversation, 'What you call "trial and error," I call "dangerous and sloppy."')
  848. StartConversation(conversation, NPC, Spawn, "I've got an itching to make ye an honorary member of my family! Ye've turned this whole battle around, and though there was a bit of trial and error to the process, 'tis the end result that matters.")
  849. end
  850. function Quest9Chat_3(NPC, Spawn)
  851. FaceTarget(NPC, Spawn)
  852. conversation = CreateConversation()
  853. AddConversationOption(conversation, "I'd be happy to help.", "OfferNightmareOver")
  854. AddConversationOption(conversation, "I will head over right away.", "OfferNightmareOver")
  855. AddConversationOption(conversation, "I could use a break, actually. Goodbye.")
  856. StartConversation(conversation, NPC, Spawn, "Yer welcome to stay here and celebrate, but I'd say yer handiwork will be needed more elsewhere. The men in Cragged Spine could use someone with yer tenacity. What do ye say?")
  857. end
  858. function OfferGlimmerOrc(NPC, Spawn)
  859. OfferQuest(NPC, Spawn, GlimmerOrc)
  860. end
  861. function OfferMurkyMystery(NPC, Spawn)
  862. OfferQuest(NPC, Spawn, MurkyMystery)
  863. end
  864. function OfferScatteringAshes(NPC, Spawn)
  865. OfferQuest(NPC, Spawn, ScatteringAshes)
  866. end
  867. function OfferTotemAnnihilation(NPC, Spawn)
  868. OfferQuest(NPC, Spawn, TotemAnnihilation)
  869. end
  870. function OfferCallingBack(NPC, Spawn)
  871. OfferQuest(NPC, Spawn, CallingBack)
  872. end
  873. function OfferTheGauntlet(NPC, Spawn)
  874. OfferQuest(NPC, Spawn, TheGauntlet)
  875. end
  876. function OfferOffOssuary(NPC, Spawn)
  877. OfferQuest(NPC, Spawn, OffOssuary)
  878. end
  879. function OfferSeveringHead(NPC, Spawn)
  880. OfferQuest(NPC, Spawn, SeveringHead)
  881. end
  882. function OfferNightmareOver(NPC, Spawn)
  883. OfferQuest(NPC, Spawn, NightmareOver)
  884. end