ZaenKalystir.lua 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. --[[
  2. Script Name : SpawnScripts/VerminSnye/ZaenKalystir.lua
  3. Script Author : Premierio015
  4. Script Date : 2020.05.03 03:05:34
  5. Script Purpose :
  6. :
  7. --]]
  8. local roviotm = 532 -- Ruins of Varsoon: Investigation Of The Mausoleum
  9. local rovrte = 534 -- Ruins of Varsoon: Revealing the Entrance
  10. function spawn(NPC)
  11. SetPlayerProximityFunction(NPC, 10, "InRange", Spawn)
  12. end
  13. function respawn(NPC)
  14. spawn(NPC)
  15. end
  16. function hailed(NPC, Spawn)
  17. FaceTarget(NPC, Spawn)
  18. conversation = CreateConversation()
  19. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir000.mp3", "", "", 2139010176, 3598277774, Spawn)
  20. AddConversationOption(conversation, "I'll get going then if you don't want my help. ")
  21. if not HasQuest(Spawn, roviotm) and not HasCompletedQuest(Spawn, roviotm) then
  22. AddConversationOption(conversation, "I just wanted to find out if you needed help down here.", "dlg01")
  23. elseif GetQuestStep(Spawn, roviotm) == 2 then
  24. AddConversationOption(conversation, "Yeah, thanks a ton for letting me know about the undead.", "dlg01_03")
  25. elseif HasCompletedQuest(Spawn, roviotm) and not HasCompletedQuest (Spawn, rovrte) then
  26. AddConversationOption(conversation, "I'm willing to work for you now.", "dlg01_05")
  27. elseif GetQuestStep(Spawn, rovrte) == 2 then
  28. AddConversationOption(conversation, "Even more undead... but I found the area you were looking for.", "dlg02")
  29. elseif GetQuestStep(Spawn, rovrte) == 4 then
  30. AddConversationOption(conversation, "The key you requested now hangs from my own neck.", "dlg02_03")
  31. end
  32. StartConversation(conversation, NPC, Spawn, "Who are you, and why are you interrupting my work? As if it's not bad enough in the catacombs, beset by beasts on all sides, I have to listen to your prattle as well?")
  33. end
  34. function dlg01(NPC, Spawn)
  35. FaceTarget(NPC, Spawn)
  36. conversation = CreateConversation()
  37. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir001.mp3", "", "", 4133661300, 3305124382, Spawn)
  38. AddConversationOption(conversation, "What would you have me do to prove that I am trustworthy, Zaen?", "dlg01_02")
  39. AddConversationOption(conversation, "No thanks.")
  40. StartConversation(conversation, NPC, Spawn, "That depends ... I have need of someone, but I do not know if I can trust you ... perhaps if you prove you're trustworthy then I can speak with you of more important events and their significance. I suppose I should actually introduce myself, though. I am Zaen Kalystir, a ... long time ... resident ... of Qeynos.")
  41. end
  42. function dlg01_02(NPC, Spawn)
  43. FaceTarget(NPC, Spawn)
  44. OfferQuest(NPC, Spawn, roviotm)
  45. conversation = CreateConversation()
  46. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir002.mp3", "", "", 2969583789, 4109517252, Spawn)
  47. AddConversationOption(conversation, "Very well, I shall do so.")
  48. StartConversation(conversation, NPC, Spawn, "There is an ancient crypt just north of Qeynos, which held a once-powerful lich named Varsoon. If you go to this place, it is said the dead will speak with the living about events past and present. Mostly believed to be a rumor, I now think there may be more to this than was previously thought. Go, and go quickly. Do not forget what is said.")
  49. end
  50. function dlg01_03(NPC, Spawn)
  51. FaceTarget(NPC, Spawn)
  52. conversation = CreateConversation()
  53. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir003.mp3", "", "", 206522910, 1176970855, Spawn)
  54. AddConversationOption(conversation, "They spoke of their master, researching in peace.", "dlg01_04")
  55. StartConversation(conversation, NPC, Spawn, "So you did... meet them? I thought I mentioned that to you... I guess I must have left it out. Purely accidental, I assure you. Now... what did they say? Out with it, and I'll let you in on what you can do for me if I can trust you.")
  56. end
  57. function dlg01_04(NPC, Spawn)
  58. FaceTarget(NPC, Spawn)
  59. SetStepComplete(Spawn, roviotm, 2)
  60. conversation = CreateConversation()
  61. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir004.mp3", "", "", 857926629, 2251167415, Spawn)
  62. AddConversationOption(conversation, "Yes, I believe we can perhaps help each other here...", "dlg01_05")
  63. AddConversationOption(conversation, "I think this is a bit too dangerous for me. ")
  64. StartConversation(conversation, NPC, Spawn, "Excellent... I trust you don't believe any of their misleading information... it would be a shame that the dead convinced you their lich-master was up to no good... The lich we are speaking of is of course Varsoon, one of the greatest enemies of this fair city. He must not be allowed to rise. Are you willing to work for me?")
  65. end
  66. function dlg01_05(NPC, Spawn)
  67. FaceTarget(NPC, Spawn)
  68. OfferQuest(NPC, Spawn, rovrte)
  69. conversation = CreateConversation()
  70. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir005.mp3", "", "", 3727042667, 450556516, Spawn)
  71. AddConversationOption(conversation, "I'll find it.")
  72. StartConversation(conversation, NPC, Spawn, "Then go swiftly to the Thundering Steppes. I believe it is there that you shall find Varsoon's new lair. A previous stronghold of his, the Keep of Immortality, lays in ruins there. My... informants... report a much larger number of undead than is usual for the area. You must find the entrance to his new dwelling and return to me with this information.")
  73. end
  74. function dlg02(NPC, Spawn)
  75. FaceTarget(NPC, Spawn)
  76. SetStepComplete(Spawn, rovrte, 2)
  77. conversation = CreateConversation()
  78. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir006.mp3", "", "", 2478413998, 2228458144, Spawn)
  79. AddConversationOption(conversation, "Here we go again...", "dlg02_02")
  80. StartConversation(conversation, NPC, Spawn, "You don't disappoint, that's for certain. One last task I have for you now... Certainly it will not be a challenge for you...")
  81. end
  82. function dlg02_02(NPC,Spawn)
  83. FaceTarget(NPC, Spawn)
  84. conversation = CreateConversation()
  85. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir007.mp3", "", "", 894539318, 4057027116, Spawn)
  86. AddConversationOption(conversation, "I'm not so sure... but I suppose I don't have a choice.")
  87. StartConversation(conversation, NPC, Spawn, "In the next level of the catacombs, you'll find the ancient skeletal remains of one of the original druids to imprison Varsoon. Around its neck, it wears a key to the keep, pulled from the lich-king's body before it was entombed. Get that key and return to me. Do not disturb me until you are able to retrieve it.")
  88. end
  89. function dlg02_03(NPC, Spawn)
  90. FaceTarget(NPC, Spawn)
  91. SetStepComplete(Spawn, rovrte, 4)
  92. conversation = CreateConversation()
  93. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaenkalystir008.mp3", "", "", 81391876, 574533119, Spawn)
  94. AddConversationOption(conversation, "I'll do what I can.")
  95. StartConversation(conversation, NPC, Spawn, "Splendid... you have done quite well. You must interfere with Varsoon's plans. That key you now possess will allow you access to his lair. Let him know... that Qeynos shall once again prevent his evil from spreading!")
  96. end
  97. function InRange(NPC, Spawn)
  98. PlayFlavor(NPC, "voiceover/english/zaen_kalystir/qey_catacomb02/zaen_kalystir_zaen_intro_fd754eff.mp3", "Blasted beetles, snakes, undead, and Bloodsabers! Now you? Outta here!", "", 3736586527, 92716793, Spawn)
  99. if not HasQuest(Spawn, roviotm) and not HasCompletedQuest(Spawn, roviotm) then
  100. ProvidesQuest(NPC, roviotm)
  101. SetInfoFlag(NPC)
  102. SetVisualFlag(NPC)
  103. elseif HasCompletedQuest(Spawn, roviotm) then
  104. ProvidesQuest(NPC, rovrte)
  105. SetInfoFlag(NPC)
  106. SetVisualFlag(NPC)
  107. end
  108. end