fighter_training.lua 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. --[[
  2. Script Name : Quests/Hallmark/fighter_training.lua
  3. Script Author : Dorbin
  4. Script Date : 2023.09.29 03:09:39
  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,"The Sprawl")
  14. AddQuestStepKill(Quest, 1, "I must kill some Dervish Crooks.", 5, 100, "The Commandant wants me to kill five (5) Guttersnipe Crooks in the Sprawl. If I can handle that many, I'll have shown I can hold my own as a Warrior.", 611,8400010)
  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("Hmph ... Well, you got a soldier's attitude. Maybe you're not as much of a milksop as I thought. Okay, listen up: If you want to be a warrior, you have to prove your strength. Take your weapon and head to the Sprawl.")
  21. Dialog.AddOption("How do I prove myself there, sir?","Dialog1b")
  22. Dialog.Start()
  23. end
  24. function Declined(Quest, QuestGiver, Player)
  25. -- Add dialog here for when the quest is declined
  26. end
  27. function Deleted(Quest, QuestGiver, Player)
  28. -- Remove any quest specific items here when the quest is deleted
  29. end
  30. function Step1Complete(Quest, QuestGiver, Player)
  31. UpdateQuestStepDescription(Quest, 1, "I have killed some Dervish Crooks.")
  32. UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the Guttersnipe Crooks in the manner any Warrior would do it. I may choose to become one in the future, but I'd like to see the styles of other Fighters first.")
  33. UpdateQuestZone(Quest,"North Freeport")
  34. AddQuestStepChat(Quest, 2, "I need to return to the Commandant.", 1, "While I still have their blood on my weapon, I should return to the Commandant to inform him that I carried out his orders.", 11, 1440465)
  35. AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
  36. end
  37. function Step2Complete(Quest, QuestGiver, Player)
  38. UpdateQuestStepDescription(Quest, 2, "I have been debriefed by the Commandant.")
  39. UpdateQuestTaskGroupDescription(Quest, 2, "The Commandant was surprised that I made it back alive. He was mildly impressed, enough to continue my training.")
  40. UpdateQuestZone(Quest,"Multiple Zones")
  41. AddQuestStepChat(Quest, 3, "I need to give the bartender Elma Lowe at the Jade Tiger's Den a message from Lucan.", 1, "I've now been ordered to speak with the tavern owners who have been serving the Guttersnipes. I'll speak to them the way a Brawler would.", 11, 1440059)
  42. AddQuestStepChat(Quest, 4, "I need to let Ranik Calman of the Seafarer's Roost know what Lucan thinks about serving the Guttersnipes.", 1, "I've now been ordered to speak with the tavern owners who have been serving the Guttersnipes. I'll speak to them the way a Brawler would.", 11, 1280029)
  43. AddQuestStepChat(Quest, 5, "I need to inform Grum Zoomly of the Back Alley Brewhouse of Lucan's displeasure.", 1, "I've now been ordered to speak with the tavern owners who have been serving the Guttersnipes. I'll speak to them the way a Brawler would.", 11, 1680080)
  44. AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
  45. AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
  46. AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
  47. end
  48. function Step3Complete(Quest, QuestGiver, Player)
  49. UpdateQuestStepDescription(Quest, 3, "I've suckerpunched Elma Lowe, the bartender of the Jade Tiger's Den.")
  50. CheckProgress(Quest, QuestGiver, Player)
  51. end
  52. function Step4Complete(Quest, QuestGiver, Player)
  53. UpdateQuestStepDescription(Quest, 4, "Ranik Calman, the owner of the Seafarer's Roost, has been kicked in the groin.")
  54. CheckProgress(Quest, QuestGiver, Player)
  55. end
  56. function Step5Complete(Quest, QuestGiver, Player)
  57. UpdateQuestStepDescription(Quest, 5, "I've punched the owner of the Brewhouse, Grum Zoomly, in the gut a few times.")
  58. CheckProgress(Quest, QuestGiver, Player)
  59. end
  60. function CheckProgress(Quest, QuestGiver, Player)
  61. if QuestStepIsComplete(Player, 5898, 3) and QuestStepIsComplete(Player, 5898, 4) and QuestStepIsComplete(Player, 5898, 5)then
  62. UpdateQuestTaskGroupDescription(Quest, 3, "I've given each of the tavern owners Lucan's message in the way a Brawler talks to other people.")
  63. AddQuestStepChat(Quest, 6, "I need to return to the Commandant", 1, "Before the blood dries on my knuckles, I should let the Commandant know that the tavern owners were listening.", 11, 1440465)
  64. AddQuestStepCompleteAction(Quest, 6, "Step6Complete")
  65. end
  66. end
  67. function Step6Complete(Quest, QuestGiver, Player)
  68. UpdateQuestStepDescription(Quest, 6, "I have been debriefed by the Commandant")
  69. UpdateQuestTaskGroupDescription(Quest, 4, "The Commandant has approved of the way I handled the situation.")
  70. UpdateQuestZone(Quest,"Multiple Zones")
  71. AddQuestStepChat(Quest, 7, "I need to speak with a human named Favonius Seneca in Beggar's Court. He should have some goons nearby.", 1, "The Commandant wants me to persuade some people in the districts that they should refrain from associating with the Guttersnipes. I should approach this in the way a Crusader would deal with these people.", 11, 1370028)
  72. AddQuestStepChat(Quest, 8, "I need to speak with an Iksar named Savas Dranak in Scale Yard who doesn't treat his servants well.", 1, "The Commandant wants me to persuade some people in the districts that they should refrain from associating with the Guttersnipes. I should approach this in the way a Crusader would deal with these people.", 11, 1390037)
  73. AddQuestStepChat(Quest, 9, "I need to speak with a dark elf named Lynsia T'Kanix in Longshadow Alley who runs a drinking establishment.", 1, "The Commandant wants me to persuade some people in the districts that they should refrain from associating with the Guttersnipes. I should approach this in the way a Crusader would deal with these people.", 11, 1380013 )
  74. AddQuestStepCompleteAction(Quest, 7, "Step7Complete")
  75. AddQuestStepCompleteAction(Quest, 8, "Step8Complete")
  76. AddQuestStepCompleteAction(Quest, 9, "Step9Complete")
  77. end
  78. function Step7Complete(Quest, QuestGiver, Player)
  79. UpdateQuestStepDescription(Quest, 7, "I have persuaded Favonius Seneca in Beggar's Court.")
  80. CheckProgress2(Quest, QuestGiver, Player)
  81. end
  82. function Step8Complete(Quest, QuestGiver, Player)
  83. UpdateQuestStepDescription(Quest, 8, "I have persuaded Savas Dranak Scale Yard.")
  84. CheckProgress2(Quest, QuestGiver, Player)
  85. end
  86. function Step9Complete(Quest, QuestGiver, Player)
  87. UpdateQuestStepDescription(Quest, 9, "I have persuaded Lynsia T'Kanix in Longshadow Alley.")
  88. CheckProgress2(Quest, QuestGiver, Player)
  89. end
  90. function CheckProgress2(Quest, QuestGiver, Player)
  91. if QuestStepIsComplete(Player, 5898, 7) and QuestStepIsComplete(Player, 5898, 8) and QuestStepIsComplete(Player, 5898, 9)then
  92. UpdateQuestZone(Quest,"North Freeport")
  93. UpdateQuestTaskGroupDescription(Quest, 5, "I've convinced the people in the districts to no longer associate with the Guttersnipes.")
  94. AddQuestStepChat(Quest, 10, "I need to speak with the Commandant.", 1, "I need to let the Commandant know that the Guttersnipes won't be a problem any longer.", 11, 1440465)
  95. AddQuestStepCompleteAction(Quest, 10, "QuestComplete")
  96. end
  97. end
  98. function QuestComplete(Quest, QuestGiver, Player)
  99. -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
  100. UpdateQuestStepDescription(Quest, 10, "I've spoken to the Commandant.")
  101. UpdateQuestTaskGroupDescription(Quest, 6, "The Commandant has approved of the way I handled the situation.")
  102. UpdateQuestDescription(Quest, "I have graduated from Commandant Tychus' personal academy. Through his training, I've learned the ways of different classes of Fighter. At the end of my training, the Commandant had let me choose which classification of fighter I wanted to become. ")
  103. GiveQuestReward(Quest, Player)
  104. end
  105. function Reload(Quest, QuestGiver, Player, Step)
  106. if Step == 1 then
  107. Step1Complete(Quest, QuestGiver, Player)
  108. elseif Step == 2 then
  109. Step2Complete(Quest, QuestGiver, Player)
  110. elseif Step == 3 then
  111. Step3Complete(Quest, QuestGiver, Player)
  112. elseif Step == 4 then
  113. Step4Complete(Quest, QuestGiver, Player)
  114. elseif Step == 5 then
  115. Step5Complete(Quest, QuestGiver, Player)
  116. elseif Step == 6 then
  117. Step6Complete(Quest, QuestGiver, Player)
  118. elseif Step == 7 then
  119. Step7Complete(Quest, QuestGiver, Player)
  120. elseif Step == 8 then
  121. Step8Complete(Quest, QuestGiver, Player)
  122. elseif Step == 9 then
  123. Step9Complete(Quest, QuestGiver, Player)
  124. elseif Step == 10 then
  125. QuestComplete(Quest, QuestGiver, Player)
  126. end
  127. end