FlibbitQuagmarr.lua 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. --[[
  2. Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua
  3. Script Purpose : Flibbit Quagmarr
  4. Script Author : theFoof
  5. Script Date : 2013.05.21
  6. Script Notes :
  7. --]]
  8. local IcemanesCometh = 18
  9. local UnbearableProblem = 25
  10. local LostFroglok = 26
  11. local AbsentEffigy = 27
  12. local BarteringCrystals = 28
  13. local Pelted = 29
  14. local GreatShelf = 30
  15. function spawn(NPC)
  16. AddSpawnAccess(NPC, NPC)
  17. ProvidesQuest(NPC, UnbearableProblem)
  18. ProvidesQuest(NPC, LostFroglok)
  19. ProvidesQuest(NPC, AbsentEffigy)
  20. ProvidesQuest(NPC, BarteringCrystals)
  21. ProvidesQuest(NPC, Pelted)
  22. ProvidesQuest(NPC, GreatShelf)
  23. SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess")
  24. end
  25. function respawn(NPC)
  26. spawn(NPC)
  27. end
  28. function SpawnAccess(NPC, Spawn)
  29. if not HasCompletedQuest(Spawn, GreatShelf) then
  30. AddSpawnAccess(NPC, Spawn)
  31. end
  32. end
  33. function hailed(NPC, Spawn)
  34. FaceTarget(NPC, Spawn)
  35. conversation = CreateConversation()
  36. if HasCompletedQuest(Spawn, UnbearableProblem) == false and HasQuest(Spawn, UnbearableProblem) == false then
  37. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_001.mp3", "", "", 3105180851, 2650595838, Spawn)
  38. AddConversationOption(conversation, "Indeed I have. I am " .. GetName(Spawn) .. ".", "Quest1Chat_1")
  39. AddConversationOption(conversation, "No, I am not a disciple of Marr. My name's " .. GetName(Spawn) .. ".", "Quest1Chat_2")
  40. StartConversation(conversation, NPC, Spawn, "Good day, traveler. I am Flibbit Quagmarr and this is my son, Splorpy. Have you come to Erollis Isle to pay tribute to the Marrs?")
  41. elseif GetQuestStep(Spawn, UnbearableProblem) == 1 then
  42. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_002.mp3", "", "", 524114756, 2569165165, Spawn)
  43. AddConversationOption(conversation, "No, I cannot say that the path is safe. Where can I find the blizzard grizzlies?", "Quest1Chat_6")
  44. StartConversation(conversation, NPC, Spawn, "Have you cleared a safe path for the pilgrims?")
  45. elseif GetQuestStep(Spawn, UnbearableProblem) == 2 then
  46. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_003.mp3", "", "", 2615004659, 1301088947, Spawn)
  47. AddConversationOption(conversation, "I have killed many grizzlies and have made the path to New Halas much safer for the pilgrims.", "Quest1Chat_7")
  48. StartConversation(conversation, NPC, Spawn, "Have you killed the pilgrim-eating grizzlies, " .. GetName(Spawn) .. "?")
  49. elseif HasCompletedQuest(Spawn, UnbearableProblem) and HasCompletedQuest(Spawn, LostFroglok) == false and HasQuest(Spawn, LostFroglok) == false then
  50. Quest2Chat_2(NPC, Spawn)
  51. elseif HasQuest(Spawn, LostFroglok) and GetQuestStep(Spawn, LostFroglok) < 3 then
  52. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_005.mp3", "", "", 1521546792, 2428780589, Spawn)
  53. AddConversationOption(conversation, "Not yet, I am still gathering information.", "Quest2Chat_6")
  54. StartConversation(conversation, NPC, Spawn, "Have you found my son?")
  55. elseif GetQuestStep(Spawn, LostFroglok) == 3 then
  56. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_006.mp3", "", "", 2660653144, 1586161380, Spawn)
  57. AddConversationOption(conversation, "I found him southwest of here. He said he was scared off by a large man with a beard.", "Quest2Chat_7")
  58. StartConversation(conversation, NPC, Spawn, "Splorpy! You have returned my son to me, " .. GetName(Spawn) .. "!")
  59. elseif HasCompletedQuest(Spawn, LostFroglok) and not HasCompletedQuest(Spawn, AbsentEffigy) and not HasQuest(Spawn, AbsentEffigy) then
  60. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_007.mp3", "", "", 226527743, 1076016282, Spawn)
  61. AddConversationOption(conversation, "I'm finding enough work to keep myself busy for a little while. How are you and Splorpy faring?", "Quest3Chat_2")
  62. StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", how are you finding Gwenevyn's Cove?")
  63. elseif GetQuestStep(Spawn, AbsentEffigy) == 1 then
  64. AddConversationOption(conversation, "Not yet. Where do you suppose I should look?", "Quest3Chat_4")
  65. StartConversation(conversation, "Have you had any luck finding the Effigy of Mithaniel?")
  66. elseif GetQuestStep(Spawn, AbsentEffigy) == 2 then
  67. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_009.mp3", "", "", 3889781371, 2180434460, Spawn)
  68. AddConversationOption(conversation, "I do! I found it in a frigid whirlstorm, just as you suspected.", "Quest3Chat_5")
  69. StartConversation(conversation, NPC, Spawn, "I don't suppose you have any word about the Effigy of Mithaniel?")
  70. elseif HasCompletedQuest(Spawn, AbsentEffigy) and not HasCompletedQuest(Spawn, BarteringCrystals) and not HasQuest(Spawn, BarteringCrystals) then
  71. Quest4Chat_2(NPC, Spawn)
  72. elseif GetQuestStep(Spawn, BarteringCrystals) == 1 then
  73. AddConversationOption(conversation, "No, I haven't. Where can I find them again?", "Quest4Chat_7")
  74. StartConversation(conversation, NPC, Spawn, "Have you found any of the strange ice crystals?")
  75. elseif GetQuestStep(Spawn, BarteringCrystals) == 2 then
  76. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_012.mp3", "", "", 664563942, 2094087421, Spawn)
  77. AddConversationOption(conversation, "I did find some of the strange ice crystals. Oddly enough, they do not melt from heat and while I am no alchemist, I think it means they are not made of ice.", "Quest4Chat_8")
  78. StartConversation(conversation, NPC, Spawn, "Have you had any luck finding the ice crystals?")
  79. elseif HasCompletedQuest(Spawn, BarteringCrystals) and not HasCompletedQuest(Spawn, Pelted) and not HasQuest(Spawn, Pelted) then
  80. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_013.mp3", "", "", 1522544075, 2501686362, Spawn)
  81. AddConversationOption(conversation, "Hello, Flibbit.", "Quest5Chat_1")
  82. StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ", hero of Gwenevyn's Cove!")
  83. elseif GetQuestStep(Spawn, Pelted) == 1 then
  84. AddConversationOption(conversation, "I have not yet collected all of the pelts. Where can I find the cubs?", "Quest5Chat_5")
  85. StartConversation(conversation, NPC, Spawn, "Do you have the icemane cub pelts?")
  86. elseif GetQuestStep(Spawn, Pelted) == 2 then
  87. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_015.mp3", "", "", 2399568158, 1310414572, Spawn)
  88. AddConversationOption(conversation, "I have collected the icemane cub pelts that you requested.", "Quest5Chat_6")
  89. StartConversation(conversation, NPC, Spawn, "Do you have any news for me?")
  90. elseif HasCompletedQuest(Spawn, Pelted) and not HasCompletedQuest(Spawn, IcemanesCometh) then
  91. PlayFlavor(NPC, "", "Our fellow pilgrim, Verien Skysigh, has been asking for your attention. I think he requires your aid, brave one.", "", 0, 0, Spawn)
  92. elseif HasCompletedQuest(Spawn, Pelted) and HasCompletedQuest(Spawn, IcemanesCometh) and not HasCompletedQuest(Spawn, GreatShelf) and not HasQuest(Spawn, GreatShelf) then
  93. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_016.mp3", "", "", 3282158766, 1454461175, Spawn)
  94. AddConversationOption(conversation, "That's great news, Flibbit!", "Quest6Chat_1")
  95. StartConversation(conversation, NPC, Spawn, "The time has finally come for my son Splorpy and I to leave Gwenevyn's Cove and continue on our pilgrimage to New Halas.")
  96. elseif GetQuestStep(Spawn, GreatShelf) == 1 then
  97. Quest6Chat_6(NPC, Spawn)
  98. elseif GetQuestStep(Spawn, GreatShelf) == 2 then
  99. PlayFlavor(NPC, "", "I will meet you at the Great Shelf!", "", 0, 0, Spawn)
  100. end
  101. end
  102. function Quest1Chat_1(NPC, Spawn)
  103. FaceTarget(NPC, Spawn)
  104. conversation = CreateConversation()
  105. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_019.mp3", "", "", 3157384930, 341257107, Spawn)
  106. AddConversationOption(conversation, "What is wrong with the path?", "Quest1Chat_3")
  107. StartConversation(conversation, NPC, Spawn, "Ah! Your name we have heard, " .. GetName(Spawn) .."! News of your exploits has traveled far. My son and I have made the pilgrimage to Erollis Isle and we plan on finding a place to live in New Halas. Unfortunately, we cannot continue on to New Halas until the path is made safe once again.")
  108. end
  109. function Quest1Chat_2(NPC, Spawn)
  110. FaceTarget(NPC, Spawn)
  111. conversation = CreateConversation()
  112. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_020.mp3", "", "", 3443691770, 4044378382, Spawn)
  113. AddConversationOption(conversation, "My reasons are my own, but I will help any pilgrims in need.", "Quest1Chat_3")
  114. StartConversation(conversation, NPC, Spawn, "Then what is your purpose here?")
  115. end
  116. function Quest1Chat_3(NPC, Spawn)
  117. FaceTarget(NPC, Spawn)
  118. conversation = CreateConversation()
  119. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_021.mp3", "", "", 2518687003, 3994330850, Spawn)
  120. AddConversationOption(conversation, "What would you have me do?", "Quest1Chat_4")
  121. StartConversation(conversation, NPC, Spawn, "Many pilgrims that have tried to make their way to New Halas have sadly fallen along the way. The grizzlies are eating their remains. Though it may be the natural way of life, it has accustomed the bears to the taste of the pilgrims' flesh, making the bears very dangerous to travelers in this area.")
  122. end
  123. function Quest1Chat_4(NPC, Spawn)
  124. FaceTarget(NPC, Spawn)
  125. conversation = CreateConversation()
  126. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_022.mp3", "", "", 2370229113, 461588246, Spawn)
  127. AddConversationOption(conversation, "I understand. I shall clear a safe path for the pilgrims and return to you once I have finished.", "OfferUnbearableProblem")
  128. AddConversationOption(conversation, "What's the Cairn of the Huntress?", "Quest1Chat_5")
  129. AddConversationOption(conversation, "I'm not going to fight bears!")
  130. StartConversation(conversation, NPC, Spawn, "Please clear out the blizzard grizzlies around Gwenevyn's Cove so that the pilgrims traveling through this area are not hunted by the grizzly bears. It is unfortunate that the grizzlies must be killed, but the pilgrimage to the Cairn of The Huntress is of more importance.")
  131. end
  132. function Quest1Chat_5(NPC, Spawn)
  133. FaceTarget(NPC, Spawn)
  134. conversation = CreateConversation()
  135. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_062.mp3", "", "", 2223435732, 36629853, Spawn)
  136. AddConversationOption(conversation, "No wonder it is so important that I clear a safe path for the pilgrims.", "OfferUnbearableProblem")
  137. AddConversationOption(conversation, "Forget it. I'm not going to fight bears!")
  138. StartConversation(conversation, NPC, Spawn, "The Cairn of The Huntress is the temple erected by Mithaniel Marr, god of valor, in honor of his fallen sister, Erollisi Marr, The Loving Huntress. It awaits us within the city of New Halas!")
  139. end
  140. function Quest1Chat_6(NPC, Spawn)
  141. FaceTarget(NPC, Spawn)
  142. conversation = CreateConversation()
  143. AddConversationOption(conversation, "I shall continue to hunt the pilgrim-eating grizzlies.")
  144. StartConversation(conversation, NPC, Spawn, "They hunt and roam southwest of here.")
  145. end
  146. function Quest1Chat_7(NPC, Spawn)
  147. SetStepComplete(Spawn, UnbearableProblem, 2)
  148. FaceTarget(NPC, Spawn)
  149. conversation = CreateConversation()
  150. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_025.mp3", "", "", 2597773991, 3326444156, Spawn)
  151. AddConversationOption(conversation, "Thank you, Flibbit.", "Quest2Chat_1")
  152. StartConversation(conversation, NPC, Spawn, "I am glad to hear it! Now my son and I can prepare to break camp and continue on our pilgrimage. I cannot spare much coin, so please take one of the helms that I have been mending.")
  153. end
  154. function Quest2Chat_1(NPC, Spawn)
  155. FaceTarget(NPC, Spawn)
  156. conversation = CreateConversation()
  157. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_063.mp3", "", "", 1125643024, 3387202205, Spawn)
  158. AddConversationOption(conversation, "What is it? Who?", "Quest2Chat_2")
  159. AddConversationOption(conversation, "I'll leave you alone now.")
  160. StartConversation(conversation, NPC, Spawn, "Wait! Where did he go?!")
  161. end
  162. function Quest2Chat_2(NPC, Spawn)
  163. FaceTarget(NPC, Spawn)
  164. conversation = CreateConversation()
  165. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_004.mp3", "", "", 2980400722, 2578144339, Spawn)
  166. AddConversationOption(conversation, "Someone has taken Splorpy?", "Quest2Chat_3")
  167. StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "! Help me! My son has been taken!")
  168. end
  169. function Quest2Chat_3(NPC, Spawn)
  170. FaceTarget(NPC, Spawn)
  171. conversation = CreateConversation()
  172. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_026.mp3", "", "", 2928995229, 3951798794, Spawn)
  173. AddConversationOption(conversation, "What can I do to help?", "Quest2Chat_4")
  174. AddConversationOption(conversation, "Good luck finding him.")
  175. StartConversation(conversation, NPC, Spawn, "I cannot find him! I left our tent to go and collect some more wood for the fire, as it was my turn to do so, and now he is gone!")
  176. end
  177. function Quest2Chat_4(NPC, Spawn)
  178. FaceTarget(NPC, Spawn)
  179. conversation = CreateConversation()
  180. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_027.mp3", "", "", 3820799248, 3563722850, Spawn)
  181. AddConversationOption(conversation, "Is there anyone I can ask at Gwenevyn's Cove that might know where Splorpy has gone?", "Quest2Chat_5")
  182. StartConversation(conversation, NPC, Spawn, "You must find him! Oh, if he has been eaten by a blizzard grizzly I will never forgive myself!")
  183. end
  184. function Quest2Chat_5(NPC, Spawn)
  185. FaceTarget(NPC, Spawn)
  186. conversation = CreateConversation()
  187. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_028.mp3", "", "", 968886797, 3430688549, Spawn)
  188. AddConversationOption(conversation, "I will ask Sigbrith if she has seen Splorpy and then I will go out and look for him.", "OfferLostFroglok")
  189. StartConversation(conversation, NPC, Spawn, "You could ask Sigbrith MacInnes. She is friendly towards us pilgrims. Perhaps she saw something while I was getting firewood.")
  190. end
  191. function Quest2Chat_6(NPC, Spawn)
  192. FaceTarget(NPC, Spawn)
  193. conversation = CreateConversation()
  194. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_029.mp3", "", "", 1372379832, 3108068275, Spawn)
  195. AddConversationOption(conversation, "I will return once I have found Splorpy.")
  196. StartConversation(conversation, NPC, Spawn, "Please hurry!")
  197. end
  198. function Quest2Chat_7(NPC, Spawn)
  199. FaceTarget(NPC, Spawn)
  200. conversation = CreateConversation()
  201. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_031.mp3", "", "", 1539671456, 2276621725, Spawn)
  202. AddConversationOption(conversation, "He said it was not a barbarian.", "Quest2Chat_8")
  203. StartConversation(conversation, NPC, Spawn, "A barbarian?")
  204. end
  205. function Quest2Chat_8(NPC, Spawn)
  206. FaceTarget(NPC, Spawn)
  207. conversation = CreateConversation()
  208. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_032.mp3", "", "", 1459827383, 2517890106, Spawn)
  209. AddConversationOption(conversation, "I am planning on ending up there myself.", "Quest2Chat_9")
  210. StartConversation(conversation, NPC, Spawn, "How odd. I wonder what it was he saw. The wilderness is no place for children! I will be glad when we have safely arrived in New Halas.")
  211. end
  212. function Quest2Chat_9(NPC, Spawn)
  213. FaceTarget(NPC, Spawn)
  214. conversation = CreateConversation()
  215. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_033.mp3", "", "", 2748996768, 1461112434, Spawn)
  216. AddConversationOption(conversation, "I could not stand by and do nothing.", "Quest2Chat_10")
  217. StartConversation(conversation, NPC, Spawn, "Perhaps we could go together when the time comes. I am but a poor pilgrim and could use your fighting skill. You never know what other dangers are out there on the ice shelf. Anyway, I thank you for finding my son and returning him to me safe and sound.")
  218. end
  219. function Quest2Chat_10(NPC, Spawn)
  220. SetStepComplete(Spawn, LostFroglok, 3)
  221. Despawn(GetSpawn(Spawn, 4701835))
  222. AddSpawnAccess(GetSpawnByLocationID(GetZone(NPC), 5217), Spawn)
  223. FaceTarget(NPC, Spawn)
  224. conversation = CreateConversation()
  225. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_034.mp3", "", "", 54813479, 1970991654, Spawn)
  226. AddConversationOption(conversation, "Thank you, Flibbit.")
  227. StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I know it isn't much, but I have some coin to give. Please take them as a token of my thanks.")
  228. end
  229. function Quest3Chat_2(NPC, Spawn)
  230. FaceTarget(NPC, Spawn)
  231. conversation = CreateConversation()
  232. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_035.mp3", "", "", 3761564927, 3120365260, Spawn)
  233. AddConversationOption(conversation, "What do you need help with?", "Quest3Chat_3")
  234. AddConversationOption(conversation, "I'm a bit busy right now, perhaps later.")
  235. StartConversation(conversation, NPC, Spawn, "We are doing very well. I have been taking stock of our supplies, and while they have been depleted during our long stay in Gwenevyn's Cove, I hope that we can restock soon and be on our way. Say, can you spare a moment to help us?")
  236. end
  237. function Quest3Chat_3(NPC, Spawn)
  238. FaceTarget(NPC, Spawn)
  239. conversation = CreateConversation()
  240. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_036.mp3", "", "", 357106938, 4264008220, Spawn)
  241. AddConversationOption(conversation, "I could keep an eye out for it.", "OfferAbsentEffigy")
  242. StartConversation(conversation, NPC, Spawn, "Splorpy had a little metal Effigy of Mithaniel that he always carried in his pocket. Unfortunately he has lost it somewhere on the ice shelf.")
  243. end
  244. function Quest3Chat_4(NPC, Spawn)
  245. FaceTarget(NPC, Spawn)
  246. conversation = CreateConversation()
  247. AddConversationOption(conversation, "I shall look for it amongst the frigid whirlstorms, then.")
  248. StartConversation(conversation, "I figure it's probably been picked up in an eddy of one of those frigid whirlstorms you see ripping about across the ice shelf.")
  249. end
  250. function Quest3Chat_5(NPC, Spawn)
  251. SetStepComplete(Spawn, AbsentEffigy, 2)
  252. FaceTarget(NPC, Spawn)
  253. conversation = CreateConversation()
  254. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_039.mp3", "", "", 3267108505, 3934101762, Spawn)
  255. AddConversationOption(conversation, "I am glad to be able to return it to Splorpy.", "Quest4Chat_1")
  256. StartConversation(conversation, NPC, Spawn, "You are good to my son and me. I shall not forget your kindness, " .. GetName(Spawn) .. ".")
  257. end
  258. function Quest4Chat_1(NPC, Spawn)
  259. FaceTarget(NPC, Spawn)
  260. conversation = CreateConversation()
  261. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_064.mp3", "", "", 1699103453, 3563523529, Spawn)
  262. AddConversationOption(conversation, "Yes, I am. Do you need anything else for your pilgrimage?", "Quest4Chat_3")
  263. AddConversationOption(conversation, "No, I am not.")
  264. StartConversation(conversation, NPC, Spawn, "Are you free to help us, further?")
  265. end
  266. function Quest4Chat_2(NPC, Spawn)
  267. FaceTarget(NPC, Spawn)
  268. conversation = CreateConversation()
  269. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_010.mp3", "", "", 3573239731, 1050060111, Spawn)
  270. AddConversationOption(conversation, "Hello, Flibbit. Do you need anything else for your pilgrimage?", "Quest4Chat_3")
  271. StartConversation(conversation, NPC, Spawn, "Good day, brave " .. GetName(Spawn) .. ".")
  272. end
  273. function Quest4Chat_3(NPC, Spawn)
  274. FaceTarget(NPC, Spawn)
  275. conversation = CreateConversation()
  276. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_040.mp3", "", "", 893544611, 973431140, Spawn)
  277. AddConversationOption(conversation, "Is there anything I can help with?", "Quest4Chat_4")
  278. AddConversationOption(conversation, "Me too! I really must be going.")
  279. StartConversation(conversation, NPC, Spawn, "Actually I do. There are still a few things I must do before Splorpy and I can continue on our pilgrimage.")
  280. end
  281. function Quest4Chat_4(NPC, Spawn)
  282. FaceTarget(NPC, Spawn)
  283. conversation = CreateConversation()
  284. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_041.mp3", "", "", 3728599078, 2071611089, Spawn)
  285. AddConversationOption(conversation, "I could head out that way and collect them for you.", "Quest4Chat_5")
  286. StartConversation(conversation, NPC, Spawn, "Well, I saw some mercenaries carrying a strange ice crystal. When I inquired where they got it from, I was informed that they grow on the Icemane Plains. Unfortunately, I am no warrior so I cannot venture out there to collect them myself.")
  287. end
  288. function Quest4Chat_5(NPC, Spawn)
  289. FaceTarget(NPC, Spawn)
  290. conversation = CreateConversation()
  291. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_042.mp3", "", "", 641871546, 1699897380, Spawn)
  292. AddConversationOption(conversation, "What do you hope to do with them?", "Quest4Chat_6")
  293. StartConversation(conversation, NPC, Spawn, "If you would be so kind, I would greatly appreciate it.")
  294. end
  295. function Quest4Chat_6(NPC, Spawn)
  296. FaceTarget(NPC, Spawn)
  297. conversation = CreateConversation()
  298. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_043.mp3", "", "", 972157207, 757922985, Spawn)
  299. AddConversationOption(conversation, "I will look for these strange ice crystals upon the Icemane Plains.", "OfferBarteringCrystals")
  300. AddConversationOption(conversation, "On second thought, this is not a task I want to do.")
  301. StartConversation(conversation, NPC, Spawn, "Assuming they have no alchemical properties, I shall try to use them to trade for goods, room and board in New Halas. I hope that it will give us a better start there.")
  302. end
  303. function Quest4Chat_7(NPC, Spawn)
  304. FaceTarget(NPC, Spawn)
  305. conversation = CreateConversation()
  306. AddConversationOption(conversation, "I shall continue my search for the ice crystals.")
  307. StartConversation(conversation, NPC, Spawn, "You can find the crystals south of here, on the Icemane Plains.")
  308. end
  309. function Quest4Chat_8(NPC, Spawn)
  310. FaceTarget(NPC, Spawn)
  311. conversation = CreateConversation()
  312. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_046.mp3", "", "", 1845183249, 3762123225, Spawn)
  313. AddConversationOption(conversation, "Good luck with your experiments.", "Quest4Chat_9")
  314. StartConversation(conversation, NPC, Spawn, "That is odd indeed. I shall have to study these further. Unfortunately, my field kit is not up to this level of work, but perhaps I can discover the most basic properties of these crystals.")
  315. end
  316. function Quest4Chat_9(NPC, Spawn)
  317. SetStepComplete(Spawn, BarteringCrystals, 2)
  318. FaceTarget(NPC, Spawn)
  319. conversation = CreateConversation()
  320. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_047.mp3", "", "", 235665494, 154066582, Spawn)
  321. AddConversationOption(conversation, "It was no problem for me to collect the crystals.", "Quest5Chat_1")
  322. StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". Please accept this as a token of my gratitude.")
  323. end
  324. function Quest5Chat_1(NPC, Spawn)
  325. FaceTarget(NPC, Spawn)
  326. conversation = CreateConversation()
  327. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_048.mp3", "", "", 146466973, 1233162393, Spawn)
  328. AddConversationOption(conversation, "And what is that?", "Quest5Chat_2")
  329. AddConversationOption(conversation, "Unfortunately, I am too busy to help you, right now.")
  330. StartConversation(conversation, NPC, Spawn, "I only have one final task to complete before Splorpy and I can continue on our pilgrimage.")
  331. end
  332. function Quest5Chat_2(NPC, Spawn)
  333. FaceTarget(NPC, Spawn)
  334. conversation = CreateConversation()
  335. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_049.mp3", "", "", 1000986096, 336825003, Spawn)
  336. AddConversationOption(conversation, "What do you need to repair it?", "Quest5Chat_3")
  337. StartConversation(conversation, NPC, Spawn, "Splorpy’s jacket has become torn. He cannot go across the ice shelf with a hole in his jacket, and so we are delayed until I can repair it.")
  338. end
  339. function Quest5Chat_3(NPC, Spawn)
  340. FaceTarget(NPC, Spawn)
  341. conversation = CreateConversation()
  342. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_050.mp3", "", "", 2187218830, 3343226771, Spawn)
  343. AddConversationOption(conversation, "I wish you would have told me this before; I could have gotten you pelts while I was collecting the ice crystals.", "Quest5Chat_4")
  344. StartConversation(conversation, NPC, Spawn, "I need the pelts from icemane cubs. Their fur is soft and the leather will be supple enough to make a coat jacket small enough for Splorpy.")
  345. end
  346. function Quest5Chat_4(NPC, Spawn)
  347. FaceTarget(NPC, Spawn)
  348. conversation = CreateConversation()
  349. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_051.mp3", "", "", 1105807509, 509218310, Spawn)
  350. AddConversationOption(conversation, "I shall collect the icemane cub pelts so that you may repair Splorpy's jacket.", "OfferPelted")
  351. AddConversationOption(conversation, "Maybe I can help you later.")
  352. StartConversation(conversation, NPC, Spawn, "I do apologize, had I discovered the tear earlier I would have asked you then.")
  353. end
  354. function Quest5Chat_5(NPC, Spawn)
  355. FaceTarget(NPC, Spawn)
  356. conversation = CreateConversation()
  357. AddConversationOption(conversation, "I will return with the pelts you requested.")
  358. StartConversation(conversation, NPC, Spawn, "They are south of here, on the Icemane Plains.")
  359. end
  360. function Quest5Chat_6(NPC, Spawn)
  361. FaceTarget(NPC, Spawn)
  362. conversation = CreateConversation()
  363. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_054.mp3", "", "", 3723222510, 1362601367, Spawn)
  364. AddConversationOption(conversation, "Thank you, Flibbit.", "Quest5Chat_7")
  365. StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. "! Now I can finish Splorpy's jacket as well as something else I have been working on. I have salvaged some accessories, perhaps you can find a use for one of them?")
  366. end
  367. function Quest5Chat_7(NPC, Spawn)
  368. SetStepComplete(Spawn, Pelted, 2)
  369. FaceTarget(NPC, Spawn)
  370. conversation = CreateConversation()
  371. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_055.mp3", "", "", 160665426, 3368306133, Spawn)
  372. AddConversationOption(conversation, "I am glad that I was able to help you and your son on your pilgrimage.")
  373. StartConversation(conversation, NPC, Spawn, "You deserve so much more! This trinket was the least I could do to repay you for all the help you have given my son and me.")
  374. end
  375. function Quest6Chat_1(NPC, Spawn)
  376. FaceTarget(NPC, Spawn)
  377. conversation = CreateConversation()
  378. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_056.mp3", "", "", 1415595156, 2895327505, Spawn)
  379. AddConversationOption(conversation, "What do you need me to do?", "Quest6Chat_2")
  380. StartConversation(conversation, NPC, Spawn, "It is great news indeed. I would ask for your help one last time, " .. GetName(Spawn) .. ".")
  381. end
  382. function Quest6Chat_2(NPC, Spawn)
  383. FaceTarget(NPC, Spawn)
  384. conversation = CreateConversation()
  385. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_057.mp3", "", "", 3437714001, 1568066083, Spawn)
  386. AddConversationOption(conversation, "Why would you split up with your son?", "Quest6Chat_4")
  387. AddConversationOption(conversation, "Wait, where is the Great Shelf?", "Quest6Chat_3")
  388. StartConversation(conversation, NPC, Spawn, "I need you to protect my son, Splorpy. I am no fighter and the ice shelf is a dangerous place. If you would escort my son to the next stop along the pilgrimage, the Great Shelf, I would be most appreciative.")
  389. end
  390. function Quest6Chat_3(NPC, Spawn)
  391. FaceTarget(NPC, Spawn)
  392. conversation = CreateConversation()
  393. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_065.mp3", "", "", 4039927754, 4221565751, Spawn)
  394. AddConversationOption(conversation, "Thanks for the directions. Why would you split up with your son?", "Quest6Chat_4")
  395. StartConversation(conversation, NPC, Spawn, "The Great Shelf is west of here, across the Icemane Planes. There is a small cave full of other pilgrims, its entrance is marked with small torch beacons.")
  396. end
  397. function Quest6Chat_4(NPC, Spawn)
  398. FaceTarget(NPC, Spawn)
  399. conversation = CreateConversation()
  400. PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_058.mp3", "", "", 749342367, 3777170220, Spawn)
  401. AddConversationOption(conversation, "Okay, I will take little Splorpy to the Great Shelf.", "OfferGreatShelf")
  402. AddConversationOption(conversation, "Oh, no! I am not going to be responsible for this little guy.")
  403. StartConversation(conversation, NPC, Spawn, "I know that he will be safer with you. You have the experience, the skills and the knowledge necessary to escort him safely to the Great Shelf.")
  404. end
  405. function Quest6Chat_5(NPC, Spawn)
  406. FaceTarget(NPC, Spawn)
  407. conversation = CreateConversation()
  408. AddConversationOption(conversation, "I am. Is Splorpy ready to go?", "Quest6Chat_6")
  409. StartConversation(conversation, NPC, Spawn, "Are you ready, " .. GetName(Spawn) .. "?")
  410. end
  411. function Quest6Chat_6(NPC, Spawn)
  412. FaceTarget(NPC, Spawn)
  413. conversation = CreateConversation()
  414. AddConversationOption(conversation, "See you there!", "Quest6Chat_7")
  415. StartConversation(conversation, NPC, Spawn, "He is. Take care, I shall see you both at the Great Shelf!")
  416. end
  417. function Quest6Chat_7(NPC, Spawn)
  418. SetStepComplete(Spawn, GreatShelf, 1)
  419. RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5217), Spawn)
  420. RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5221), Spawn)
  421. local pet = SpawnMob(GetZone(Spawn), 4701835, 0, 70.45, 28.55, -347.46, 84)
  422. SetTempVariable(Spawn, "splorp", pet)
  423. SetFollowTarget(pet, Spawn)
  424. ToggleFollow(pet)
  425. end
  426. function OfferAbsentEffigy(NPC, Spawn)
  427. OfferQuest(Spawn, AbsentEffigy)
  428. end
  429. function OfferUnbearableProblem(NPC, Spawn)
  430. OfferQuest(NPC, Spawn, UnbearableProblem)
  431. end
  432. function OfferLostFroglok(NPC, Spawn)
  433. OfferQuest(NPC, Spawn, LostFroglok)
  434. end
  435. function OfferAbsentEffigy(NPC, Spawn)
  436. OfferQuest(NPC, Spawn, AbsentEffigy)
  437. end
  438. function OfferBarteringCrystals(NPC, Spawn)
  439. OfferQuest(NPC, Spawn, BarteringCrystals)
  440. end
  441. function OfferPelted(NPC, Spawn)
  442. OfferQuest(NPC, Spawn, Pelted)
  443. end
  444. function OfferGreatShelf(NPC, Spawn)
  445. OfferQuest(NPC, Spawn, GreatShelf)
  446. end