OnTheMove.lua 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --[[
  2. Script Name : OntheMove.lua
  3. Script Purpose : Handles the quest, "On the Move"
  4. Script Author : Shatou
  5. Script Date : 1/8/2020
  6. Script Notes :
  7. Zone : Peat Bog
  8. Quest Giver : Lieutenant Dawson
  9. Preceded by : Ambushed
  10. Followed by : A Final Foe
  11. --]]
  12. local LIEUTENANT_DAWSON_ID = 1980012
  13. local ENTITY_COMMAND_INSPECT = 881
  14. local ON_THE_MOVE_QUEST_ID = 510
  15. function Init(Quest)
  16. AddQuestStepSpell(Quest, 1, "I need to destroy the first machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 11, ENTITY_COMMAND_INSPECT)
  17. AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
  18. AddQuestStepSpell(Quest, 2, "I need to destroy the second machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 11, ENTITY_COMMAND_INSPECT)
  19. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  20. AddQuestStepSpell(Quest, 3, "I need to destroy the third machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 11, ENTITY_COMMAND_INSPECT)
  21. AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
  22. end
  23. function CheckProgress(Quest, QuestGiver, Player)
  24. if QuestStepIsComplete(Player, ON_THE_MOVE_QUEST_ID, 1) and QuestStepIsComplete(Player, ON_THE_MOVE_QUEST_ID, 2) and QuestStepIsComplete(Player, ON_THE_MOVE_QUEST_ID, 3) then
  25. UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the gnolls moving the machines.")
  26. AddQuestStepChat(Quest, 4, "I need to return to Lieutenant Dawson.", 1, "Now that the gnolls guarding the machines have been killed I should return to Lieutenant Dawson.", 11, LIEUTENANT_DAWSON_ID)
  27. AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
  28. end
  29. end
  30. function Step1Complete(Quest, QuestGiver, Player)
  31. UpdateQuestStepDescription(Quest, 1, "The first machine has been destroyed.")
  32. CheckProgress(Quest, QuestGiver, Player)
  33. end
  34. function Step2Complete(Quest, QuestGiver, Player)
  35. UpdateQuestStepDescription(Quest, 2, "The second machine has been destroyed.")
  36. CheckProgress(Quest, QuestGiver, Player)
  37. end
  38. function Step3Complete(Quest, QuestGiver, Player)
  39. UpdateQuestStepDescription(Quest, 3, "The third machine has been destroyed.")
  40. CheckProgress(Quest, QuestGiver, Player)
  41. end
  42. function QuestComplete(Quest, QuestGiver, Player)
  43. -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
  44. UpdateQuestStepDescription(Quest, 4, "I have spoken with Lieutenant Dawson.")
  45. UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Lieutenant Dawson.")
  46. UpdateQuestDescription(Quest, "I have killed the gnolls that were trying to get the machines out of the Peat Bog.")
  47. GiveQuestReward(Quest, Player)
  48. end
  49. function Reload(Quest, QuestGiver, Player, Step)
  50. if Step == 1 then
  51. Step1Complete(Quest, QuestGiver, Player)
  52. elseif Step == 2 then
  53. Step2Complete(Quest, QuestGiver, Player)
  54. elseif Step == 3 then
  55. Step3Complete(Quest, QuestGiver, Player)
  56. elseif Step == 4 then
  57. QuestComplete(Quest, QuestGiver, Player)
  58. end
  59. end
  60. function Accepted(Quest, QuestGiver, Player)
  61. -- Add dialog here for when the quest is accepted
  62. end
  63. function Declined(Quest, QuestGiver, Player)
  64. -- Add dialog here for when the quest is declined
  65. end