123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 |
- --[[
- Script Name : TasksaboardtheFarJourney.lua
- Script Purpose : Handles the quest, "Tasks aboard the Far Journey"
- Script Author : Cynnar
- Script Date : 2/23/2020
- Script Notes :
- Zone : Hallmark
- Quest Giver :
- Preceded by : None
- Followed by : None
- --]]
- local Waulon = 270002
- local CaptainVarlos = 270000
- local Ingrid = 270001
- local ARat = 270009
- local Goblin = 270008
- local WaulonsHat = 15354
- local ShardOfLucin = 12565
- function Init(Quest)
- AddQuestStepChat(Quest, 1, "I should speak to Waulon.", 1, "Captain Varlos has asked me to speak to Waulon.", 11, Waulon)
- AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
- end
- function Step2Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 1, "I spoke to Waulon.")
- UpdateQuestTaskGroupDescription(Quest, 1, "I spoke to Waulon as Captain Varlos had asked of me.")
- AddQuestStepObtainItem(Quest, 2, "I should start by opening boxes on the deck.", 1, 100, "Waulon has asked me to look for his hat in one of the boxes on the deck.", 11, WaulonsHat)
- AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
- end
- function Step3Init(Quest, QuestGiver, Player)
- SetTutorialStep(Player, 17)
- UpdateQuestStepDescription(Quest, 2, "I found Waulon's hat.")
- UpdateQuestTaskGroupDescription(Quest, 2, "I found Waulon's hat in one of the boxes.")
- AddQuestStepChat(Quest, 3, "I should speak to Waulon.", 1, "Now that I found Waulon's hat, I should return it.", 258, Waulon)
- AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
- end
- function Step4Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 3, "I returned Waulon's hat to him.")
- UpdateQuestTaskGroupDescription(Quest, 3, "I returned Waulon's hat.")
-
- AddQuestStepChat(Quest, 4, "I should speak to Ingrid.", 1, "Waulon has asked me to speak to Ingrid.", 11, Ingrid)
- AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
- end
- function Step5Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 4, "I have spoken to Ingrid as Waulon had asked.")
- UpdateQuestTaskGroupDescription(Quest, 4, "I have spoken to Ingrid.")
- AddQuestStepObtainItem(Quest, 5, "I should find a way to buy the shard from Merchant Vim.", 1, 100, "Ingrid would like me to buy her a Shard of Luclin.", 11, ShardOfLucin)
- AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
- SetTutorialStep(Player, 24)
- -- while HasItem(Player,12565,1) do
- -- SetStepComplete(Player,524,5)
- -- end
- end
- function Step6Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 5, "I have purchased a Shard of Luclin.")
- UpdateQuestTaskGroupDescription(Quest, 5, "I purchased a Shard of Luclin.")
- AddQuestStepChat(Quest, 6, "Return to Ingrid.", 1, "Ingrid would like me to give her the Shard of Luclin.", 183, Ingrid)
- AddQuestStepCompleteAction(Quest, 6, "Step6Complete")
- SetTutorialStep(Player, 30)
- end
- function Step7Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 6, "I gave the Shard of Luclin to Ingrid.")
- UpdateQuestTaskGroupDescription(Quest, 6, "I gave the Shard of Luclin to Ingrid.")
-
- AddQuestStepChat(Quest, 7, "I should speak to Captain Varlos again.", 1, "Captain Varlos is trying to get my attention.", 11, CaptainVarlos)
- AddQuestStepCompleteAction(Quest, 7, "Step7Complete")
- end
- function Step8Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 7, "I spoke with Captain Varlos as Ingrid has asked of me.")
- UpdateQuestTaskGroupDescription(Quest, 7, "I have spoken to Captain Varlos.")
- AddQuestStepKill(Quest, 8, "I must kill the rats on the deck.", 2, 100, "Captain Varlos has asked me to kill the rats on the deck.", 99, ARat)
- AddQuestStepCompleteAction(Quest, 8, "Step8Complete")
- end
- function Step9Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 8, "I have killed the rats.")
- UpdateQuestTaskGroupDescription(Quest, 8, "I killed the rats that Captain Varlos requested.")
- AddQuestStepChat(Quest, 9, "I should speak to Captain Varlos.", 1, "Inform Captain Varlos that you have exterminated the vermin.", 11, CaptainVarlos)
- AddQuestStepCompleteAction(Quest, 9, "Step9Complete")
- end
- function Step10Init(Quest, QuestGiver, Player)
- UpdateQuestStepDescription(Quest, 9, "I spoke to Captain Varlos.")
- UpdateQuestTaskGroupDescription(Quest, 9, "I spoke to Captain Varlos.") --this this is not 100% like Live but seeing the same entry in your journal for step 9 and 10 like Live is dumb
- AddQuestStepKill(Quest, 10, "I must kill the goblin.", 1, 100, "Captain Varlos has ordered you to kill the escaped goblin.", 11, Goblin)
- AddQuestStepCompleteAction(Quest, 10, "QuestComplete")
- end
- function CurrentStep(Quest, QuestGiver, Player)
- if GetQuestStepProgress(Player, 524,2) == 0 and GetQuestStep(Player, 524) == 2 then
- i = 1
- spawns = GetSpawnListBySpawnID(Player, 270010)
- repeat
- spawn = GetSpawnFromList(spawns, i-1)
- if spawn then
- ChangeHandIcon(spawn, 1)
- AddPrimaryEntityCommand(nil, spawn)
- SpawnSet(NPC, "targetable", 1, true, true)
- end
- i = i + 1
- until spawn == Nil
- InstructionWindow(Player, -1.0, "You completed the first part of the quest. As you complete quests and defeat enemies, you earn experience points. This is represented in your experience point display. Filling your experience point display is always a requirement to gain your next level. As you gain levels, you will gain access to more powerful skills and abilities.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_011_f16aa848.mp3", 1702963584, 3318288731, "tutorial_stage_15", "", "continue")
- -- InstructionWindow(Player, -1.0, "You completed the first part of the quest. As you complete quests and defeat enemies, you earn experience points. This is represented in your experience point display. Filling your experience point display is always a requirement to gain your next level. As you gain levels, you will gain access to more powerful skills and abilities.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_011_f16aa848.mp3", 1702963584, 3318288731, "", "", "continue")
- if GetClientVersion(Player)<=546 then
- FlashWindow(Player, "MainHUD.Experience", 15.0)
- end
- SetTutorialStep(Player, 14)
- AddPrimaryEntityCommandAllSpawns(Player, 270010, "open", 10, "open")
- chest = GetRandomSpawnByID(Player, 270010)
- GiveLoot(chest, Player, 0, 185427)
- GiveLoot(chest, Player, 0, 20902)
- GiveLoot(chest, Player, 0, 15354)
- elseif GetQuestStep(Player, 524) == 3 then
- InstructionWindow(Player, -1.0, "The items are now in your inventory.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_014_eaa89ef7.mp3", 361706387, 1106127199, "tutorial_stage_18", "", "continue")
- SetTutorialStep(Player, 16)
- elseif GetQuestStep(Player, 524) == 5 then
- InstructionWindowClose(Player)
- InstructionWindow(Player, -1.0, "A merchant is a special type of character who buys and sells things. Find and double left click on Merchant Vim to start a transaction.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_020_6ea052d3.mp3", 4250953579, 3003156164, "tutorial_stage_24", "Double left click on Merchant Vim.", "server")
- elseif GetQuestStep(Player, 524) == 6 then
- InstructionWindowClose(Player)
- InstructionWindow(Player, -1.0, "You have made the first of many purchases. Now close the merchant window and speak to Ingrid to complete the quest.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_026_d484fa8d.mp3", 4213145594, 1811880905, "tutorial_stage_31", "Return to Ingrid and speak to her.", "server")
- elseif GetQuestStep(Player, 524) == 7 then
- InstructionWindowClose(Player)
- captain = GetSpawn(Player, 270000)
- AddTimer(captain, 2000, "get_attention_init", 1, Player)
- elseif GetQuestStep(Player, 524) == 8 then
- AddPrimaryEntityCommandAllSpawns(Player, 270009, "attack", 10000.0, "attack")
- i=1
- spawns = GetSpawnListBySpawnID(Player, 270009)
- repeat
- rat = GetSpawnFromList(spawns, i-1)
- if rat then
- SetAttackable(rat, 1)
- if HasLootItem(rat, 11615) == false then
- AddLootItem(rat, 11615)
- end
- end
- i = i + 1
- until rat == Nil
- if GetQuestStepProgress(Player, 524, 8) == 1 then -- if we already have credit for a kill, remove one rat
- delrat = GetRandomSpawnByID(Player, 270009)
- Despawn(delrat)
- end
- if HasItem(Player, 88140) == false and GetClass(Player)>0 then
- GiveQuestItem(Quest, Player, "", 88140)
- elseif HasItem(Player, 1070013) == false then
- GiveQuestItem(Quest, Player, "", 1070013)
- end
- if HasItemEquipped(Player, 88140) == false then
- ShowWindow(Player, "Inventory.Inventory", 0)
- InstructionWindow(Player, -1.0, "Open your inventory by clicking the inventory button, then right click on the club the Captain just gave you.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_028_458903e8.mp3", 4151437794, 834827635, "equipping_weapons", "Open your inventory. (click on the inventory button)", "open Inventory")
- ShowWindow(Player, "MainHUD.StartMenu", 1)
- FlashWindow(Player, "MainHUD.StartMenu.inventory", 20.0)
- end
- elseif GetQuestStep(Player, 524) == 9 then
- SetTutorialStep(Player, 49)
- InstructionWindow(Player, -1.0, "You have earned enough experience to gain a level. Congratulations.", "voiceover/english/narrator/boat_06p_tutorial02/narrator_046_7e59cd54.mp3", 3272157184, 1454283978, "tutorial_stage_50", "", "continue")
- i=1
- spawns = GetSpawnListBySpawnID(Player, 270009)
- repeat
- delrat = GetSpawnFromList(spawns, i-1)
- if IsAlive(delrat) then
- Despawn(delrat)
- end
- i = i + 1
- until delrat == Nil
- elseif GetQuestStep(Player, 524) == 10 then
- AddPrimaryEntityCommandAllSpawns(Player, 270008, "attack", 10000.0, "attack")
- i=1
- spawns = GetSpawnListBySpawnID(Player, 270011)
- repeat
- cage = GetSpawnFromList(spawns, i-1)
- if cage then
- Despawn(cage)
- end
- i = i + 1
- until cage == Nil
- i=1
- spawns = GetSpawnListBySpawnID(Player, 270009)
- repeat
- delrat = GetSpawnFromList(spawns, i-1)
- if delrat then
- Despawn(delrat)
- end
- i = i + 1
- until delrat == Nil
- end
- end
- function Step1Complete(Quest, QuestGiver, Player)
- GiveExp(Player, 110)
- Step2Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step2Complete(Quest, QuestGiver, Player)
- Step3Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step3Complete(Quest, QuestGiver, Player)
- RemoveItem(Player, WaulonsHat)
- GiveQuestItem(Quest, Player, "", 9357)
- Step4Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step4Complete(Quest, QuestGiver, Player)
- Step5Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step5Complete(Quest, QuestGiver, Player)
- Step6Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step6Complete(Quest, QuestGiver, Player)
- Step7Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step7Complete(Quest, QuestGiver, Player)
- Step8Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step8Complete(Quest, QuestGiver, Player)
- Step9Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function Step9Complete(Quest, QuestGiver, Player)
- Step10Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- end
- function QuestComplete(Quest, QuestGiver, Player)
- -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
- UpdateQuestStepDescription(Quest, 10, "I have killed the goblin.")
- UpdateQuestTaskGroupDescription(Quest, 10, "I killed the escaped goblin.")
- UpdateQuestDescription(Quest, "I completed all the tasks assigned to me by Captain Varlos aboard the Far Journey.")
- GiveQuestReward(Quest, Player)
- end
- function Reload(Quest, QuestGiver, Player, Step)
- if Step == 1 then
- Step2Init(Quest, QuestGiver, Player)
- CurrentStep(Quest, QuestGiver, Player)
- elseif Step == 2 then
- Step3Init(Quest, QuestGiver, Player)
- elseif Step == 3 then
- Step4Init(Quest, QuestGiver, Player)
- elseif Step == 4 then
- Step5Init(Quest, QuestGiver, Player)
- elseif Step == 5 then
- Step6Init(Quest, QuestGiver, Player)
- elseif Step == 6 then
- Step7Init(Quest, QuestGiver, Player)
- elseif Step == 7 then
- Step8Init(Quest, QuestGiver, Player)
- elseif Step == 8 then
- Step9Init(Quest, QuestGiver, Player)
- elseif Step == 9 then
- Step10Init(Quest, QuestGiver, Player)
- elseif Step == 10 then
- QuestComplete(Quest, QuestGiver, Player)
- end
- end
- function Accepted(Quest, QuestGiver, Player)
- FaceTarget(QuestGiver, Player)
- conversation = CreateConversation()
- PlayFlavor(QuestGiver, "voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_009.mp3", "", "point", 3537393303, 2188767436, Player)
- AddConversationOption(conversation, "Okay.")
- StartConversation(conversation, QuestGiver, Player, "Whoa there, the seas are gettin' a bit angry. Go speak ta' me first mate, Waulon. He might have something for ya' ta' do.")
-
- local Waulon = GetSpawn(QuestGiver, 270002)
- FaceTarget(QuestGiver, Waulon)
- -- local Ingred = GetSpawn(Player, 270001)
- -- WalkToGeredo(Ingred, Player)
- end
- function Declined(Quest, QuestGiver, Player)
- -- Add dialog here for when the quest is declined
- end
|