mage_training.lua 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. --[[
  2. Script Name : Quests/Hallmark/mage_training.lua
  3. Script Author : Dorbin
  4. Script Date : 2023.09.29 03:09:21
  5. Script Purpose :
  6. Zone : Hallmark
  7. Quest Giver:
  8. Preceded by: None
  9. Followed by:
  10. --]]
  11. require "SpawnScripts/Generic/DialogModule"
  12. function Init(Quest)
  13. UpdateQuestZone(Quest,"Thieves' Way")
  14. AddQuestStepKill(Quest, 1, "I must collect some usable sewer slime.", 5, 80, "The Arcanist has directed me to the Thieves Way sewers below Freeport to collect five usable Slimes. The best way to approach this will be to harness the primal arcane energies to destroy them.", 343, 8430030,1540003)
  15. AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
  16. end
  17. function Accepted(Quest, QuestGiver, Player)
  18. FaceTarget(QuestGiver, Player)
  19. Dialog.New(QuestGiver, Player)
  20. Dialog.AddDialog("You need that attitude to control the secrets of the universe. Your first test is mastering your sorcery skills. Harness the primal power of the arcane energies, and command these energies to snuff the life from the Slimes in the sewers. After you destroy the Slimes, collect samples of their flesh and bring them to me. This shall be the first of many lessons.")
  21. Dialog.AddVoiceover("voiceover/english/arcanist_sonius/fprt_north/arcanistsonius003.mp3", 574179385, 379662539)
  22. PlayFlavor(QuestGiver, "", "", "agree", 0, 0, Player)
  23. Dialog.AddOption("It shall be done, Arcanist.")
  24. Dialog.Start()
  25. end
  26. function Declined(Quest, QuestGiver, Player)
  27. -- Add dialog here for when the quest is declined
  28. end
  29. function Deleted(Quest, QuestGiver, Player)
  30. -- Remove any quest specific items here when the quest is deleted
  31. end
  32. function Step1Complete(Quest, QuestGiver, Player)
  33. UpdateQuestStepDescription(Quest, 1, "I have collected some usable sewer slime.")
  34. UpdateQuestTaskGroupDescription(Quest, 1, "I have collected five usable Slimes using everything in my arsenal and have gathered samples of what would be considered their flesh.")
  35. UpdateQuestZone(Quest,"North Freeport")
  36. AddQuestStepChat(Quest, 2, "I need to speak with the Arcanist", 1, "I should bring these samples to the Arcanist as she asked so that I may complete this lesson.", 11, 1440463)
  37. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  38. end
  39. function Step2Complete(Quest, QuestGiver, Player)
  40. UpdateQuestStepDescription(Quest, 2, "I have spoken with the Arcanist")
  41. UpdateQuestTaskGroupDescription(Quest, 2, "The Arcanist has taught me the lesson that knowledge comes before everything else.")
  42. AddQuestStepChat(Quest, 3, "I need to speak with Aulus Crispian and have the price of ink lowered.", 1, "The Arcanist has instructed me to speak with Aulus Crispian and have the price of ink lowered for her. I should approach this in the manner an Enchanter would.", 11, 1440010)
  43. AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
  44. end
  45. function Step3Complete(Quest, QuestGiver, Player)
  46. UpdateQuestStepDescription(Quest, 3, "I have spoken with Aulus Crispian.")
  47. UpdateQuestTaskGroupDescription(Quest, 3, "I have lowered the price of ink by playing on Aulus Crispian's greed. Beguiling a person as an Enchanter doesn't seem to be too hard. With spells at my command, it would be even easier.")
  48. UpdateQuestZone(Quest,"North Freeport")
  49. AddQuestStepChat(Quest, 4, "I need to speak with the Arcanist", 1, "I should inform the Arcanist that I have completed my lesson.", 11, 1440463)
  50. AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
  51. end
  52. function Step4Complete(Quest, QuestGiver, Player)
  53. UpdateQuestStepDescription(Quest, 4, "I have spoken with Arcanist Sonius")
  54. UpdateQuestTaskGroupDescription(Quest, 4, "Arcanist Sonius was rather pleased by the deal I worked out. She has agreed to teach me more concerning the arcane arts.")
  55. UpdateQuestZone(Quest,"North Freeport")
  56. AddQuestStepChat(Quest, 5, "I should see what else the Arcanist needs", 1, "Once I'm ready, I should speak with the Arcanist again.", 11, 1440463)
  57. AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
  58. end
  59. function Step5Complete(Quest, QuestGiver, Player)
  60. UpdateQuestStepDescription(Quest, 5, "I have spoken with Arcanist Sonius")
  61. UpdateQuestTaskGroupDescription(Quest, 4, "Arcanist Sonius has agreed to continue my lessons.")
  62. UpdateQuestZone(Quest,"Multiple Zones")
  63. AddQuestStepChat(Quest, 6, "I need to speak with Molg, the ogress who sells her wares on the streets of Big Bend.", 1, "I need to speak with some people in the Districts regarding an incident involving a rogue summoning. The Arcanist has given me a list of who saw the event.", 11, 1340021 )
  64. AddQuestStepChat(Quest, 7, "I need to speak with Reana Astia, a lonely merchant in Beggar's Court.", 1, "I need to speak with some people in the Districts regarding an incident involving a rogue summoning. The Arcanist has given me a list of who saw the event.", 11, 1370007)
  65. AddQuestStepChat(Quest, 8, "I need to speak with Skal Vethiz, a person caught up in nostalgia in Scale Yard.", 1, "I need to speak with some people in the Districts regarding an incident involving a rogue summoning. The Arcanist has given me a list of who saw the event.", 11, 1390012)
  66. AddQuestStepCompleteAction(Quest, 6, "Step6Complete")
  67. AddQuestStepCompleteAction(Quest, 7, "Step7Complete")
  68. AddQuestStepCompleteAction(Quest, 8, "Step8Complete")
  69. end
  70. function Step6Complete(Quest, QuestGiver, Player)
  71. UpdateQuestStepDescription(Quest, 6, "Molg claimed to have been draped in a sheet of leather.")
  72. CheckProgress(Quest, QuestGiver, Player)
  73. end
  74. function Step7Complete(Quest, QuestGiver, Player)
  75. UpdateQuestStepDescription(Quest, 7, "Reana claims to have been stuck with a spear.")
  76. CheckProgress(Quest, QuestGiver, Player)
  77. end
  78. function Step8Complete(Quest, QuestGiver, Player)
  79. UpdateQuestStepDescription(Quest, 8, "Skal claims to have been attacked by a snake.")
  80. CheckProgress(Quest, QuestGiver, Player)
  81. end
  82. function CheckProgress(Quest, QuestGiver, Player)
  83. if QuestStepIsComplete(Player, 5902, 6) and QuestStepIsComplete(Player, 5902, 7) and QuestStepIsComplete(Player, 5902, 8)then
  84. UpdateQuestTaskGroupDescription(Quest, 6, "I have collected the information on what was summoned. It looks like three different things were summoned into existence.")
  85. UpdateQuestZone(Quest,"North Freeport")
  86. AddQuestStepChat(Quest, 9, "I need to speak with the Arcanist.", 1, "I should let the Arcanist know what I have learned.", 11, 1440463)
  87. AddQuestStepCompleteAction(Quest,9, "QuestComplete")
  88. end
  89. end
  90. function QuestComplete(Quest, QuestGiver, Player)
  91. -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
  92. UpdateQuestStepDescription(Quest, 9, "I have spoken with the Arcanist.")
  93. UpdateQuestTaskGroupDescription(Quest, 7, "With the help of the Arcanist, I was able to see that the Summoner brought forth an elephant.")
  94. UpdateQuestDescription(Quest, "I have graduated from Arcanist Sonius's courses and chose which dedicated study I will pursue. Though I have seen what a Sorcerer, Enchanter, and Summoner studies... I know which one I will devote myself to. Grasping the mysteries of arcane knowledge will be a daunting task, but the reward of power will drive me to learn as much as I can. ")
  95. GiveQuestReward(Quest, Player)
  96. end
  97. function Reload(Quest, QuestGiver, Player, Step)
  98. if Step == 1 then
  99. Step1Complete(Quest, QuestGiver, Player)
  100. elseif Step == 2 then
  101. Step2Complete(Quest, QuestGiver, Player)
  102. elseif Step == 3 then
  103. Step3Complete(Quest, QuestGiver, Player)
  104. elseif Step == 4 then
  105. Step4Complete(Quest, QuestGiver, Player)
  106. elseif Step == 5 then
  107. Step5Complete(Quest, QuestGiver, Player)
  108. elseif Step == 6 then
  109. Step6Complete(Quest, QuestGiver, Player)
  110. elseif Step == 7 then
  111. Step7Complete(Quest, QuestGiver, Player)
  112. elseif Step == 8 then
  113. Step8Complete(Quest, QuestGiver, Player)
  114. elseif Step == 9 then
  115. QuestComplete(Quest, QuestGiver, Player)
  116. end
  117. end
  118. --]]