9
3

PellandraDXatyl.lua 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. --[[
  2. Script Name : SpawnScripts/DarklightWood/PellandraDXatyl.lua
  3. Script Purpose : Pellandra D'Xatyl (340038)
  4. Script Author : Cynnar
  5. Script Date : 2015.07.04
  6. Script Notes : Auto-Generated Conversation from PacketParser Data
  7. --]]
  8. local ASolidifiedFront = 120
  9. local SealingTheRift = 122
  10. local SearchingForSigils = 123
  11. local ReclaimingTheSableveinTear = 124
  12. local AnAuthorityOnHate = 125
  13. function spawn(NPC)
  14. ProvidesQuest(NPC, SealingTheRift)
  15. ProvidesQuest(NPC, SearchingForSigils)
  16. ProvidesQuest(NPC, ReclaimingTheSableveinTear)
  17. ProvidesQuest(NPC, AnAuthorityOnHate)
  18. end
  19. function respawn(NPC)
  20. spawn(NPC)
  21. end
  22. function hailed(NPC, Spawn)
  23. FaceTarget(NPC, Spawn)
  24. conversation = CreateConversation()
  25. if not QuestStepIsComplete(Spawn, ASolidifiedFront, 2) then
  26. SetStepComplete(Spawn, ASolidifiedFront, 2)
  27. end
  28. if HasQuest(Spawn, SealingTheRift) and GetQuestStep(Spawn, SealingTheRift) == 1 then
  29. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra006.mp3", "", "", 1661628815, 3964293147, Spawn)
  30. AddConversationOption(conversation, "I have not yet found a rift.", "dlg_1_1")
  31. StartConversation(conversation, NPC, Spawn, "Ah, you return, and in one piece I might add. Tell me, were you able to seal one of the rifts?")
  32. elseif HasQuest(Spawn, SealingTheRift) and GetQuestStep(Spawn, SealingTheRift) == 2 then --[[ needs an or check here if possible --]]
  33. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra006.mp3", "", "", 1661628815, 3964293147, Spawn)
  34. AddConversationOption(conversation, "I found one and sealed it!", "dlg_2_1")
  35. StartConversation(conversation, NPC, Spawn, "Ah, you return, and in one piece I might add. Tell me, were you able to seal one of the rifts?")
  36. elseif HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and not HasCompletedQuest(Spawn, SearchingForSigils) then
  37. dlg_2_1(NPC, Spawn)
  38. elseif not HasCompletedQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, SearchingForSigils) == 1 then
  39. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra012.mp3", "", "", 4283446564, 112709310, Spawn)
  40. AddConversationOption(conversation, "Not yet...", "dlg_8_1")
  41. StartConversation(conversation, NPC, Spawn, "Did you bring me the Sablevein sigil stones?")
  42. elseif not HasCompletedQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, SearchingForSigils) == 2 then
  43. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra012.mp3", "", "", 4283446564, 112709310, Spawn)
  44. AddConversationOption(conversation, "Yes, I have them here.", "dlg_6_1")
  45. StartConversation(conversation, NPC, Spawn, "Did you bring me the Sablevein sigil stones?")
  46. elseif HasCompletedQuest(Spawn, SearchingForSigils) and not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and not HasQuest(Spawn, ReclaimingTheSableveinTear) then
  47. dlg_6_2(NPC, Spawn)
  48. elseif not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and GetQuestStep(Spawn, ReclaimingTheSableveinTear) == 1 then
  49. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra021.mp3", "", "", 894106996, 369904668, Spawn)
  50. AddConversationOption(conversation, "I'm still searching.", "dlg_5_1")
  51. StartConversation(conversation, NPC, Spawn, "Have you discovered the source of the Sablevein elemental attacks?")
  52. elseif not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and GetQuestStep(Spawn, ReclaimingTheSableveinTear) == 2 then
  53. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra021.mp3", "", "", 894106996, 369904668, Spawn)
  54. AddConversationOption(conversation, "I found a Thexian Occultist inside the cave and slew her.", "dlg_7_1")
  55. StartConversation(conversation, NPC, Spawn, "Have you discovered the source of the Sablevein elemental attacks?")
  56. elseif not HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, ASolidifiedFront) > 0 then
  57. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra001.mp3", "", "", 2805015969, 2303192664, Spawn)
  58. AddConversationOption(conversation, "I've been sent by Verex N'Za to assist you.", "dlg_0_1")
  59. StartConversation(conversation, NPC, Spawn, "Curse these infernal things, there's no end to them in sight! You there, what do you want?")
  60. elseif not HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and HasCompletedQuest(Spawn, ASolidifiedFront) then
  61. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra001.mp3", "", "", 2805015969, 2303192664, Spawn)
  62. AddConversationOption(conversation, "I've been sent by Verex N'Za to assist you.", "dlg_0_1")
  63. StartConversation(conversation, NPC, Spawn, "Curse these infernal things, there's no end to them in sight! You there, what do you want?")
  64. elseif HasCompletedQuest(Spawn, SealingTheRift) and HasCompletedQuest(Spawn, SearchingForSigils) and HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) then
  65. if not HasQuest(Spawn, AnAuthorityOnHate) then
  66. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "bow", 360494739, 4156662992, Spawn)
  67. AddConversationOption(conversation, "I will speak with her at once.", "QuestOffer_AnAuthorityOnHate")
  68. AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_brandish")
  69. StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.")
  70. else
  71. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "bow", 360494739, 4156662992, Spawn)
  72. AddConversationOption(conversation, "I will speak with her at once.", "dlg_9_1")
  73. AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_2")
  74. StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.")
  75. end
  76. elseif not HasCompletedQuest(Spawn, ASolidifiedFront) then
  77. StartConversation(conversation, NPC, Spawn, "The Sablevein elementals must be stopped before they burn down all of Hate's Envy!")
  78. end
  79. end
  80. function dlg_0_1(NPC, Spawn)
  81. FaceTarget(NPC, Spawn)
  82. conversation = CreateConversation()
  83. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra003.mp3", "", "frustrated", 1298376887, 2297284297, Spawn)
  84. AddConversationOption(conversation, "What is it you would have me do?", "dlg_0_2")
  85. StartConversation(conversation, NPC, Spawn, "I told Verex I could handle things here by myself! Bah, no matter. If you think you're cut out for the job, it's no skin off my back whether or not you succeed. Verex can always send another recruit to replace the fallen.")
  86. end
  87. function dlg_0_2(NPC, Spawn)
  88. FaceTarget(NPC, Spawn)
  89. conversation = CreateConversation()
  90. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra004.mp3", "", "", 4198693006, 595147579, Spawn)
  91. AddConversationOption(conversation, "Yes, I will seal one of the rifts.", "QuestOffer_SealingTheRift")
  92. AddConversationOption(conversation, "Not right now.", "PlayerEmote_no")
  93. StartConversation(conversation, NPC, Spawn, "The elementals first started appearing inside Sablevein Tear forcing our miners to retreat. Now they're spewing forth from rifts in the ground! I need you to find one of these rifts and seal it. Are you up to the task?")
  94. end
  95. function PlayerEmote_no(NPC, Spawn)
  96. PlayFlavor(Spawn, "", "", "no", 0, 0, Player)
  97. end
  98. function dlg_1_1(NPC, Spawn)
  99. FaceTarget(NPC, Spawn)
  100. conversation = CreateConversation()
  101. AddConversationOption(conversation, "I will find it.")
  102. StartConversation(conversation, NPC, Spawn, "Do not return until you have found the rift and sealed it!")
  103. end
  104. function QuestOffer_SealingTheRift(NPC, Spawn)
  105. OfferQuest(NPC, Spawn, SealingTheRift)
  106. end
  107. function dlg_2_1(NPC, Spawn)
  108. FaceTarget(NPC, Spawn)
  109. conversation = CreateConversation()
  110. SetStepComplete(Spawn, SealingTheRift, 2)
  111. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra007.mp3", "", "", 3453657784, 2286828041, Spawn)
  112. AddConversationOption(conversation, "The rift may be sealed, but the battlefield is far from clear. Is there more I can do?", "dlg_2_2")
  113. StartConversation(conversation, NPC, Spawn, "Remarkable work, " .. GetName(Spawn) .. "! Your enemies will soon quake upon hearing your name!")
  114. end
  115. function dlg_2_2(NPC, Spawn)
  116. FaceTarget(NPC, Spawn)
  117. conversation = CreateConversation()
  118. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra009.mp3", "", "", 1573554820, 3218022167, Spawn)
  119. AddConversationOption(conversation, "Tell me more.", "dlg_2_3")
  120. StartConversation(conversation, NPC, Spawn, "Indeed there is, rift walker. The Sablevein elementals did not appear here naturally. Something or someone summoned them. To learn more about their creator I have a new mission for you to undertake.")
  121. end
  122. function dlg_2_3(NPC, Spawn)
  123. FaceTarget(NPC, Spawn)
  124. conversation = CreateConversation()
  125. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra010.mp3", "", "", 918403175, 3688051078, Spawn)
  126. AddConversationOption(conversation, "I will collect sigils from the Sablevein pulverizers.", "QuestOffer_SearchingForSigils")
  127. AddConversationOption(conversation, "I cannot assist at this time.", "PlayerEmote_no")
  128. StartConversation(conversation, NPC, Spawn, "I need you to hunt the Sablevein pulverizers found near the entrance of Sablevein Tear. These more superior forms of elemental magic will likely be imbued with a sigil of some sort. Analyzing these sigils will give us insight as to who is really behind these attacks.")
  129. end
  130. function QuestOffer_SearchingForSigils(NPC, Spawn)
  131. OfferQuest(NPC, Spawn, SearchingForSigils)
  132. end
  133. function dlg_4_1(NPC, Spawn)
  134. FaceTarget(NPC, Spawn)
  135. conversation = CreateConversation()
  136. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra016.mp3", "", "", 188105745, 1139692175, Spawn)
  137. AddConversationOption(conversation, "I see. What can we do to stop them?", "dlg_4_2")
  138. StartConversation(conversation, NPC, Spawn, "I haven't the time to give you a comprehensive history lesson, but needless to say, the Thexians are nothing more than the former ruling class of Neriak. An emasculated family who proved themselves too weak to rule Neriak. We Teir'Dal must thank Queen Cristanos for recognizing this weakness and removing it, as one would carve a burrowing tick from the back of a dog.")
  139. end
  140. function dlg_4_2(NPC, Spawn)
  141. FaceTarget(NPC, Spawn)
  142. conversation = CreateConversation()
  143. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra017.mp3", "", "agree", 1551019218, 1492381224, Spawn)
  144. AddConversationOption(conversation, "Nothing will stand in my way!", "dlg_4_5")
  145. AddConversationOption(conversation, "I will defeat all who oppose me!", "dlg_4_5")
  146. AddConversationOption(conversation, "I'm actually not feeling very courageous at this time. Perhaps later.", "PlayerEmote_cringe")
  147. StartConversation(conversation, NPC, Spawn, "It is time we put an end to this attack once and for all. We must confront this threat at its source. You've proven your strength to me, Oamoothao. Now you must prove your rancor toward those who would dare to keep us from our goals.")
  148. end
  149. function PlayerEmote_cringe(NPC, Spawn)
  150. PlayFlavor(Spawn, "", "", "cringe", 0, 0, Player)
  151. end
  152. function dlg_4_5(NPC, Spawn)
  153. FaceTarget(NPC, Spawn)
  154. conversation = CreateConversation()
  155. PlayFlavor(Spawn, "", "", "cheer", 0, 0, Player)
  156. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra018.mp3", "", "", 1441675499, 2064064965, Spawn)
  157. AddConversationOption(conversation, "Go on.", "dlg_4_6")
  158. StartConversation(conversation, NPC, Spawn, "Good, then we shall begin. I believe the source of our problems lies within the depths of Sablevein Tear, the place our miners were recently excavating before the elementals attacked.")
  159. end
  160. function dlg_4_6(NPC, Spawn)
  161. FaceTarget(NPC, Spawn)
  162. conversation = CreateConversation()
  163. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra019.mp3", "", "", 1398439421, 3597583644, Spawn)
  164. AddConversationOption(conversation, "I will put an end to the attacks!", "QuestOffer_ReclaimingTheSableveinTear")
  165. AddConversationOption(conversation, "I cannot assist at this time.", "PlayerEmote_no")
  166. StartConversation(conversation, NPC, Spawn, "I want you to journey inside the cave and remove the one responsible for creating this mayhem. Do this for me, young one, and prove your ruthlessness to be unquestionable.")
  167. end
  168. function QuestOffer_ReclaimingTheSableveinTear(NPC, Spawn)
  169. OfferQuest(NPC, Spawn, ReclaimingTheSableveinTear)
  170. end
  171. function dlg_5_1(NPC, Spawn)
  172. FaceTarget(NPC, Spawn)
  173. conversation = CreateConversation()
  174. AddConversationOption(conversation, "I will find the source of the attacks.")
  175. StartConversation(conversation, NPC, Spawn, "Time is of the essence, " .. GetName(Spawn) .. ". You must continue your search at once!")
  176. end
  177. function dlg_6_1(NPC, Spawn)
  178. FaceTarget(NPC, Spawn)
  179. conversation = CreateConversation()
  180. SetStepComplete(Spawn, SearchingForSigils, 2)
  181. RemoveItem(Spawn, 11837)
  182. RemoveItem(Spawn, 11837)
  183. RemoveItem(Spawn, 11837)
  184. RemoveItem(Spawn, 11837)
  185. PlayFlavor(Spawn, "", "", "agree", 0, 0, Player)
  186. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra013.mp3", "", "", 1325789306, 33394254, Spawn)
  187. AddConversationOption(conversation, "What's that?", "dlg_6_2")
  188. StartConversation(conversation, NPC, Spawn, "Good, let me see them. Hmm, this is just as I thought.")
  189. end
  190. function dlg_6_2(NPC, Spawn)
  191. FaceTarget(NPC, Spawn)
  192. conversation = CreateConversation()
  193. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra015.mp3", "", "", 1970700762, 2434868211, Spawn)
  194. AddConversationOption(conversation, "What can we do to stop them?", "dlg_4_2")
  195. AddConversationOption(conversation, "Who are the Thexians?", "dlg_4_1")
  196. StartConversation(conversation, NPC, Spawn, "The marks on the sigil stones you recovered confirm my suspicions. The Sablevein elementals are no doubt the creation of the cowardly Thexians.")
  197. end
  198. function dlg_7_1(NPC, Spawn)
  199. FaceTarget(NPC, Spawn)
  200. conversation = CreateConversation()
  201. SetStepComplete(Spawn, ReclaimingTheSableveinTear, 2)
  202. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra022.mp3", "", "cheer", 2095462758, 507648174, Spawn)
  203. AddConversationOption(conversation, "Now what?", "dlg_7_2")
  204. StartConversation(conversation, NPC, Spawn, "Skillfully done, " .. GetName(Spawn) .. "! The meddling Thexians should know better than to try to disrupt our grip on these lands. I hope you made her suffer.")
  205. end
  206. function dlg_7_2(NPC, Spawn)
  207. FaceTarget(NPC, Spawn)
  208. conversation = CreateConversation()
  209. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra024.mp3", "", "", 739852284, 4285882362, Spawn)
  210. AddConversationOption(conversation, "What do you mean?", "dlg_7_3")
  211. StartConversation(conversation, NPC, Spawn, "Fortunately the direct threat appears to be abated for now. Udiyitas and the other guards will concentrate on mopping up the rest of the stray Sablevein while others can begin to repair the damage done. Your fate, however, lies elsewhere.")
  212. end
  213. function dlg_7_3(NPC, Spawn)
  214. FaceTarget(NPC, Spawn)
  215. conversation = CreateConversation()
  216. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "", 360494739, 4156662992, Spawn)
  217. AddConversationOption(conversation, "I will speak with her at once.", "QuestOffer_AnAuthorityOnHate")
  218. AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_brandish")
  219. StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.")
  220. end
  221. function PlayerEmote_brandish(NPC, Spawn)
  222. PlayFlavor(Spawn, "", "", "brandish", 0, 0, Player)
  223. end
  224. function QuestOffer_AnAuthorityOnHate(NPC, Spawn)
  225. if not HasCompletedQuest(Spawn, AnAuthorityOnHate) and not HasQuest(Spawn, AnAuthorityOnHate) then
  226. OfferQuest(NPC, Spawn, AnAuthorityOnHate)
  227. end
  228. end
  229. function dlg_8_1(NPC, Spawn)
  230. FaceTarget(NPC, Spawn)
  231. conversation = CreateConversation()
  232. PlayFlavor(Spawn, "", "", "no", 0, 0, Player)
  233. PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra008.mp3", "", "", 4200285970, 1831158049, Spawn)
  234. AddConversationOption(conversation, "I will return with the Sigils!")
  235. StartConversation(conversation, NPC, Spawn, "Do not return until you have collected the sigil stones from the Sablevein pulverizers.")
  236. end