From 3393eb4c9dfbb14511560eac99c2b26c8150baae Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Thu, 24 Feb 2022 00:54:03 -0500 Subject: [PATCH] Trading Tongueflaps is done! --- Data/scripts/quests/wld/wld0l1.lua | 93 ++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Data/scripts/quests/wld/wld0l1.lua diff --git a/Data/scripts/quests/wld/wld0l1.lua b/Data/scripts/quests/wld/wld0l1.lua new file mode 100644 index 00000000..117423c7 --- /dev/null +++ b/Data/scripts/quests/wld/wld0l1.lua @@ -0,0 +1,93 @@ +require ("global") + +--[[ + +Quest Script + +Name: Trading Tongueflaps +Code: Wld0l1 +Id: 110771 +Prereq: Level 5, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Ryssfloh. +SEQ_001 = 1; -- Talk to Sweetnix Rosycheeks. + +-- Actor Class Ids +SWEETNIX = 1001573; +RYSSFLOH = 1000359; + +-- Quest Markers +MRKR_RYSSFLOH = 11110001; +MRKR_SWEETNIX = 11110002; + +function onStart(player, quest) + quest:StartSequence(SEQ_000); +end + +function onFinish(player, quest) +end + +function onStateChange(player, quest, sequence) + if (sequence == SEQ_ACCEPT) then + quest:SetENpc(SWEETNIX, QFLAG_PLATE); + end + + if (sequence == SEQ_000) then + quest:SetENpc(SWEETNIX); + quest:SetENpc(RYSSFLOH, QFLAG_PLATE); + elseif (sequence == SEQ_001) then + quest:SetENpc(RYSSFLOH); + quest:SetENpc(SWEETNIX, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == SWEETNIX and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventSweetnixStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + if (seq == SEQ_000) then + if (npcClassId == SWEETNIX) then + callClientFunction(player, "delegateEvent", player, quest, "followEvent005"); + elseif (npcClassId == RYSSFLOH) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + quest:StartSequence(SEQ_001); + end + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == SWEETNIX) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + elseif (npcClassId == RYSSFLOH) then + callClientFunction(player, "delegateEvent", player, quest, "followEvent015"); + quest:StartSequence(SEQ_001); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_RYSSFLOH; + elseif (sequence == SEQ_001) then + return MRKR_SWEETNIX; + end +end \ No newline at end of file