kallons_revenge.lua 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. --[[
  2. Script Name : Quests/TheSinkingSands/kallons_revenge.lua
  3. Script Author : premierio015
  4. Script Date : 2023.12.16 04:12:18
  5. Script Purpose : qscript for Kallon's Vengeance quest
  6. Zone : The Sinking Sands(DoF)
  7. Quest Giver: Kallon Ebbtide
  8. Preceded by: None
  9. Followed by:
  10. --]]
  11. require "SpawnScripts/Generic/DialogModule"
  12. function Init(Quest)
  13. AddQuestStepChat(Quest, 1, "I should locate a guide named Jaza in the crocodile hunter camp.", 1, "Kallon has asked me to find and slay the bandit that was responsible for his comrades' demise. I should check the crocodile hunter camp for a guide named Jaza.", 11, 730157)
  14. AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
  15. end
  16. function Accepted(Quest, QuestGiver, Player)
  17. Dialog.New(QuestGiver, Player)
  18. Dialog.AddDialog("Thank you! My comrades' spirits will be able to rest and this area might be safer. Fasul uses a guide at the hunter camp as bait for unwary travelers. Search around the crocodile hunters' camp for a man named Jaza. This man leads unwary travelers to Fasul's bandits. Play along, and find Fasul!")
  19. Dialog.AddOption("I will do so, but first, may I hear more of your tales?")
  20. Dialog.AddOption("I will find this Fasul and exact vengeance for you.")
  21. Dialog.Start()
  22. end
  23. function Declined(Quest, QuestGiver, Player)
  24. -- Add dialog here for when the quest is declined
  25. end
  26. function Deleted(Quest, QuestGiver, Player)
  27. -- Remove any quest specific items here when the quest is deleted
  28. end
  29. function Step1Complete(Quest, QuestGiver, Player)
  30. UpdateQuestStepDescription(Quest, 1, "I found Jaza and falsely agreed to let him guide me to Maj'Dul.")
  31. AddQuestStepChat(Quest, 2, "Jaza wants to meet in the Oasis of Marr near the beginning of the trade route to Maj'Dul.", 1, "Kallon has asked me to find and slay the bandit that was responsible for his comrades' demise. I should check the crocodile hunter camp for a guide named Jaza.", 11, 730157)
  32. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  33. end
  34. function Step2Complete(Quest, QuestGiver, Player)
  35. UpdateQuestStepDescription(Quest, 2, "I found Jaza by a large palm tree right at the northern edge of the Oasis of Marr.")
  36. AddQuestStepKill(Quest, 3, "I should speak with Jaza and continue playing along with the ruse to hopefully lure out Fasul.", 1, 100, "Kallon has asked me to find and slay the bandit that was responsible for his comrades' demise. I should check the crocodile hunter camp for a guide named Jaza.", 11, 730485)
  37. AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
  38. end
  39. function Step3Complete(Quest, QuestGiver, Player)
  40. UpdateQuestStepDescription(Quest, 3, "Fasul and his bandits have been slain! I bet Kallon will be happy.")
  41. AddQuestStepChat(Quest, 4, "I should have some final words with Jaza and end this legacy of betrayal.", 1, "Kallon has asked me to find and slay the bandit that was responsible for his comrades' demise. I should check the crocodile hunter camp for a guide named Jaza.", 11, 730157)
  42. AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
  43. end
  44. function Step4Complete(Quest, QuestGiver, Player)
  45. UpdateQuestStepDescription(Quest, 4, "I relented and let Jaza live. I am confident he will legitimately help travelers now.")
  46. UpdateQuestTaskGroupDescription(Quest, 1, "I have found and slain Fasul. I am looking forward to letting Kallon know the news.")
  47. AddQuestStepChat(Quest, 5, "I need to return to Kallon at the docks and let him know that Fasul is dead.", 1, "Now that I have slain Fasul, I need to return to Kallon and tell him the good news.", 11, 730125)
  48. AddQuestStepCompleteAction(Quest, 5, "QuestComplete")
  49. end
  50. function QuestComplete(Quest, QuestGiver, Player)
  51. -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
  52. UpdateQuestStepDescription(Quest, 5, "I let Kallon know that his comrades have been avenged.")
  53. UpdateQuestTaskGroupDescription(Quest, 2, "I have informed Kallon of Fasul's death. He seemed relieved.")
  54. UpdateQuestDescription(Quest, "I've avenged Kallon's comrades by slaying Fasul and terrifying Jaza into submission. Kallon can now rest easy and work towards getting back to his homeland.")
  55. GiveQuestReward(Quest, Player)
  56. end
  57. function Reload(Quest, QuestGiver, Player, Step)
  58. if Step == 1 then
  59. Step1Complete(Quest, QuestGiver, Player)
  60. elseif Step == 2 then
  61. Step2Complete(Quest, QuestGiver, Player)
  62. elseif Step == 3 then
  63. Step3Complete(Quest, QuestGiver, Player)
  64. elseif Step == 4 then
  65. Step4Complete(Quest, QuestGiver, Player)
  66. elseif Step == 5 then
  67. QuestComplete(Quest, QuestGiver, Player)
  68. end
  69. end