unnatural_lesson.lua 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. --[[
  2. Script Name : unnatural_lesson.lua
  3. Script Purpose : Handles the quest, "Unnatural Lesson"
  4. Script Author : Dorbin
  5. Script Date : 5/4/2022
  6. Script Notes : Auto generated with QuestParser.
  7. Zone : The City of Qeynos
  8. Quest Giver : Lookout Venylle
  9. Preceded by : None
  10. Followed by : None
  11. --]]
  12. require "SpawnScripts/Generic/DialogModule"
  13. function Init(Quest)
  14. AddQuestStepKill(Quest, 1, "I must kill six decaying skeletons.", 6, 100, "I need to find the mausoleum that rests on a small island just off Antonica near the gates of North Qeynos, and put to rest decaying skeleton's and risen protector's.", 611, 120450)
  15. AddQuestStepKill(Quest, 2, "I must kill risen protectors.", 6, 100, "I need to find the mausoleum that rests on a small island just off Antonica near the gates of North Qeynos, and put to rest decaying skeleton's and risen protector's.", 611, 120449)
  16. AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
  17. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  18. UpdateQuestZone(Quest,"Antonica")
  19. end
  20. function Accepted(Quest, QuestGiver, Player)
  21. FaceTarget(QuestGiver, Player)
  22. Dialog.New(QuestGiver, Player)
  23. Dialog.AddDialog("Too many unatural dangers thrive to name them in one sitting. You'd learn more of the undead if you served Qeynos in a civic manner. A mausoleum rests on a small island in Antonica near the north gates of Qeynos. Venture to the crypt and confront it's protector's decaying filthy skeletons. Put to rest a dozen of these unnatural guardians who walk the earth.")
  24. Dialog.AddVoiceover("voiceover/english/lookout_venylle/qey_elddar/lookoutvenylle003.mp3",166316836, 1644056019)
  25. PlayFlavor(QuestGiver, "", "", "thank", 0, 0, Player)
  26. Dialog.AddOption( "Alright. I'll return once I've dealt with a dozen of these undead.")
  27. Dialog.Start()
  28. end
  29. function Declined(Quest, QuestGiver, Player)
  30. -- Add dialog here for when the quest is declined
  31. end
  32. function Deleted(Quest, QuestGiver, Player)
  33. -- Remove any quest specific items here when the quest is deleted
  34. end
  35. function Step1Complete(Quest, QuestGiver, Player)
  36. UpdateQuestStepDescription(Quest, 1, "I have killed six decaying skeletons.")
  37. CheckProgress(Quest, QuestGiver, Player)
  38. end
  39. function Step2Complete(Quest, QuestGiver, Player)
  40. UpdateQuestStepDescription(Quest, 2, "I have killed six risen protectors.")
  41. CheckProgress(Quest, QuestGiver, Player)
  42. end
  43. function CheckProgress(Quest, QuestGiver, Player)
  44. if QuestStepIsComplete(Player, 5516, 1) and QuestStepIsComplete(Player, 5517, 2) then
  45. UpdateQuestZone(Quest,"The Elddar Grove")
  46. UpdateQuestTaskGroupDescription(Quest, 1, "I've settled decaying skeleton's and risen protector's as Lookout Venylle had requested.")
  47. AddQuestStepChat(Quest, 3, "I must speak to Lookout Venylle in The Elddar Grove.", 1, "I must go to the Elddar Grove to inform Lookout Venylle about my success against the undead.", 0, 2070049)
  48. AddQuestStepCompleteAction(Quest, 3, "QuestComplete")
  49. end
  50. end
  51. function QuestComplete(Quest, QuestGiver, Player)
  52. -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
  53. UpdateQuestStepDescription(Quest, 3, "I reported my deed to Lookout Venylle.")
  54. UpdateQuestTaskGroupDescription(Quest, 1, "I reported to Lookout Venylle about destroying the unanatural dangers in Antonica.")
  55. UpdateQuestDescription(Quest, "I've put to rest the decaying skeletons and risen protectors that Lookout Venylle had requested. Venylle told me that this was but one of many lessons to come, I have a feeling she's right.")
  56. GiveQuestReward(Quest, Player)
  57. end
  58. function Reload(Quest, QuestGiver, Player, Step)
  59. if Step == 1 then
  60. Step1Complete(Quest, QuestGiver, Player)
  61. elseif Step == 2 then
  62. Step2Complete(Quest, QuestGiver, Player)
  63. elseif Step ==3 then
  64. CheckProgress(Quest, QuestGiver, Player)
  65. end
  66. end