Ambushed.lua 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --[[
  2. Script Name : Ambushed.lua
  3. Script Purpose : Handles the quest, "Ambushed"
  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 : Mysterious Machine
  10. Followed by : On The Move
  11. --]]
  12. local LIEUTENANT_DAWSON_ID = 1980012
  13. local ENTITY_COMMAND_INSPECT = 61
  14. local AMBUSHED_QUEST_ID = 509
  15. function Init(Quest)
  16. AddQuestStepSpell(Quest, 1, "I need to investigate the ambush site west of Two Logs Pond, which is south of the sewer grate.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 11, ENTITY_COMMAND_INSPECT)
  17. AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
  18. AddQuestStepSpell(Quest, 2, "I need to investigate the ambush site in the north eastern corner of the area east of Two Logs Pond.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 11, ENTITY_COMMAND_INSPECT)
  19. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  20. AddQuestStepSpell(Quest, 3, "I need to investigate the ambush site in the south end of the area east of Two Logs Pond.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 11, ENTITY_COMMAND_INSPECT)
  21. AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
  22. end
  23. function CheckProgress(Quest, QuestGiver, Player)
  24. if QuestStepIsComplete(Player, AMBUSHED_QUEST_ID, 1) and QuestStepIsComplete(Player, AMBUSHED_QUEST_ID, 2) and QuestStepIsComplete(Player, AMBUSHED_QUEST_ID, 3) then
  25. UpdateQuestTaskGroupDescription(Quest, 1, "I have investigated all three ambush sites.")
  26. AddQuestStepChat(Quest, 4, "I need to return to Lieutenant Dawson.", 1, "I need to tell Lieutenant Dawson of what I found at one of the ambush sites.", 11, ENTITY_COMMAND_INSPECT)
  27. AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
  28. end
  29. end
  30. function Step1Complete(Quest, QuestGiver, Player)
  31. UpdateQuestStepDescription(Quest, 1, "I have investigated the ambush site near Two Logs Pond.")
  32. CheckProgress(Quest, QuestGiver, Player)
  33. end
  34. function Step2Complete(Quest, QuestGiver, Player)
  35. UpdateQuestStepDescription(Quest, 2, "I have investigated the ambush site in the area east of Two Logs Pond.")
  36. CheckProgress(Quest, QuestGiver, Player)
  37. end
  38. function Step3Complete(Quest, QuestGiver, Player)
  39. UpdateQuestStepDescription(Quest, 3, "I have investigated the ambush site in the southern end of the area east of Two Logs Pond.")
  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 found evidence of gnolls at one of the ambush sites.")
  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