diff --git a/Data/scripts/base/chara/npc/mapobj/MapObjShipPort.lua b/Data/scripts/base/chara/npc/mapobj/MapObjShipPort.lua new file mode 100644 index 00000000..96b8100c --- /dev/null +++ b/Data/scripts/base/chara/npc/mapobj/MapObjShipPort.lua @@ -0,0 +1,9 @@ +require("global"); + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, eventType, eventName) + player:EndEvent(); +end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_thantonoscea.lua b/Data/scripts/base/chara/npc/mapobj/MapObjTutorial.lua similarity index 51% rename from Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_thantonoscea.lua rename to Data/scripts/base/chara/npc/mapobj/MapObjTutorial.lua index ee98a388..bf78cd51 100644 --- a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_thantonoscea.lua +++ b/Data/scripts/base/chara/npc/mapobj/MapObjTutorial.lua @@ -1,5 +1,5 @@ require ("global") function init(npc) - return false, false, 0, 0, 5143, 326; + return false, false, 0, 0, 0, 0; end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/ElevatorStandard.lua b/Data/scripts/base/chara/npc/object/ElevatorStandard.lua index 08e2ea14..9acf9450 100644 --- a/Data/scripts/base/chara/npc/object/ElevatorStandard.lua +++ b/Data/scripts/base/chara/npc/object/ElevatorStandard.lua @@ -1,5 +1,95 @@ require ("global") -function init(npc) - return false, false, 0, 0; +--[[ + +Elevator Standard Script + +Functions: + +elevatorAskLimsa001(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Crow's Head Lift Lvl 1. +elevatorAskLimsa002(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Crow's Head Lift Lvl 2. +elevatorAskLimsa003(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Crow's Head Lift Lvl 3. +elevatorAskUldah001(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Wellhead Lift Lvl 1. +elevatorAskUldah002(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Wellhead Lift Lvl 2. +elevatorAskUldah003(eventNum) - Shows the ask dialog, and plays the event cutscenes for the Wellhead Lift Lvl 3. +elevatorQuestAskEvent(questId) - Special quest related elevator dialog. + +Notes: + +Script to control the elevators in Limsa Lominsa and Ul'dah. Each elevator entrance has a specific event for it's floor. +The only param is used to either show the ask dialog to the player or player the appropriate cutscene given the choice +made. + +--]] + +function onEventStarted(player, npc, eventType, eventName) + local actorClassId = npc.GetActorClassId(); + + -- Limsa; Crow's Lift Level 1 + if (actorClassId == 1290007) then + local floorChoice = callClientFunction(player, "elevatorAskLimsa001", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskLimsa001", 1); + endEventAndWarp(player, 133, -447, 40, 220, -1.574); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskLimsa001", 2); + endEventAndWarp(player, 133, -458, 92, 175, -0.383); + end + -- Limsa; Crow's Lift Level 2 + elseif (actorClassId == 1290008) then + local floorChoice = callClientFunction(player, "elevatorAskLimsa002", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskLimsa002", 1); + endEventAndWarp(player, 133, -447, 19, 220, -1.574); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskLimsa002", 2); + endEventAndWarp(player, 133, -458, 92, 175, -0.383); + end + -- Limsa; Crow's Lift Level 3 + elseif (actorClassId == 1290009) then + local floorChoice = callClientFunction(player, "elevatorAskLimsa003", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskLimsa003", 1); + endEventAndWarp(player, 133, -447, 19, 220, -1.574); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskLimsa003", 2); + endEventAndWarp(player, 133, -447, 40, 220, -1.574); + end + -- Ul'dah; Wellhead Lift Level 1 + elseif (actorClassId == 1090460) then + local floorChoice = callClientFunction(player, "elevatorAskUldah001", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskUldah001", 1); + endEventAndWarp(player, 209, -116.78, 222, 115.7, 2.85); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskUldah001", 2); + endEventAndWarp(player, 209, -121.60, 269.8, 135.28, -0.268); + end + -- Ul'dah; Wellhead Lift Level 2 + elseif (actorClassId == 1090461) then + local floorChoice = callClientFunction(player, "elevatorAskUldah002", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskUldah002", 1); + endEventAndWarp(player, 175, -116.78, 198, 115.7, -2.8911); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskUldah002", 2); + endEventAndWarp(player, 209, -121.60, 269.8, 135.28, -0.268); + end + -- Ul'dah; Wellhead Lift Level 3 + elseif (actorClassId == 1090462) then + local floorChoice = callClientFunction(player, "elevatorAskUldah003", 0); + if (floorChoice == 1) then + callClientFunction(player, "elevatorAskUldah003", 1); + endEventAndWarp(player, 175, -116.78, 198, 115.7, -2.8911); + elseif (floorChoice == 2) then + callClientFunction(player, "elevatorAskUldah003", 2); + endEventAndWarp(player, 209, -116.78, 222, 115.7, 2.85); + end + end + +end + +function endEventAndWarp(player, zoneId, x, y, z, rotation) + player:EndEvent(); + GetWorldManager():DoZoneChange(player, zoneId, nil, 0, 15, x, y, z, rotation); end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/OpeningStoperF0B1.lua b/Data/scripts/base/chara/npc/object/OpeningStoperF0B1.lua index 44608df4..fd03f924 100644 --- a/Data/scripts/base/chara/npc/object/OpeningStoperF0B1.lua +++ b/Data/scripts/base/chara/npc/object/OpeningStoperF0B1.lua @@ -1,3 +1,5 @@ +require("global"); + function init(npc) return false, false, 0, 0; end @@ -7,7 +9,7 @@ function onEventStarted(player, npc, triggerName) worldMaster = GetWorldMaster(); player:SendGameMessage(player, worldMaster, 34109, 0x20); elseif (triggerName == "exit") then - GetWorldManager():DoPlayerMoveInZone(player, 5); + GetWorldManager():DoPlayerMoveInZone(player, 356.09, 3.74, -701.62, -1.4); end player:EndEvent(); end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/OpeningTown.lua b/Data/scripts/base/chara/npc/object/OpeningTown.lua new file mode 100644 index 00000000..96b8100c --- /dev/null +++ b/Data/scripts/base/chara/npc/object/OpeningTown.lua @@ -0,0 +1,9 @@ +require("global"); + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, eventType, eventName) + player:EndEvent(); +end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/OpeningTownEventKeeper.lua b/Data/scripts/base/chara/npc/object/OpeningTownEventKeeper.lua new file mode 100644 index 00000000..d654d212 --- /dev/null +++ b/Data/scripts/base/chara/npc/object/OpeningTownEventKeeper.lua @@ -0,0 +1,18 @@ +require("global"); + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, eventType, eventName) + + if (eventType == ETYPE_PUSH) then + if (eventName == "caution") then + worldMaster = GetWorldMaster(); + player:SendGameMessage(player, worldMaster, 34109, 0x20); + elseif (eventName == "exit") then + GetWorldManager():DoPlayerMoveInZone(player, 5.36433, 196, 133.656, -2.84938); + end + end + player:EndEvent(); +end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/PrivateAreaPastExit.lua b/Data/scripts/base/chara/npc/object/PrivateAreaPastExit.lua index d7140e37..6149b464 100644 --- a/Data/scripts/base/chara/npc/object/PrivateAreaPastExit.lua +++ b/Data/scripts/base/chara/npc/object/PrivateAreaPastExit.lua @@ -2,11 +2,16 @@ function init(npc) return false, false, 0, 0; end -function onEventStarted(player, npc, triggerName) - if (triggerName == "caution") then - worldMaster = GetWorldMaster(); - player:SendGameMessage(player, worldMaster, 34109, 0x20); - elseif (triggerName == "exit") then - end +function onEventStarted(player, npc, eventType, eventName) player:EndEvent(); + + if (eventName == "caution") then + player:SendGameMessage(player, GetWorldMaster(), 34109, 0x20); + elseif (eventName == "exit") then + local activeQuests = player:GetQuestsForNpc(npc); + print(tostring(#activeQuests)); + if (#activeQuests >= 1) then + activeQuests[1]:OnPush(player, npc, eventName); + end + end end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/aetheryte/AetheryteParent.lua b/Data/scripts/base/chara/npc/object/aetheryte/AetheryteParent.lua index a73eba37..eeb30e98 100644 --- a/Data/scripts/base/chara/npc/object/aetheryte/AetheryteParent.lua +++ b/Data/scripts/base/chara/npc/object/aetheryte/AetheryteParent.lua @@ -41,6 +41,20 @@ function onEventStarted(player, aetheryte, triggerName) callClientFunction(player, "delegateEvent", player, quest, "processEvent025"); quest:StartSequence(SEQ_005); end + elseif (player:HasQuest(110006) == true) then + require ("quests/man/man0g1"); + local quest = player:GetQuest("Man0g1"); + if (quest:GetSequence() == SEQ_005) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent013"); + --quest:StartSequence(???); + end + elseif (player:HasQuest(110010) == true) then + require ("quests/man/man0u1"); + local quest = player:GetQuest("Man0u1"); + if (quest:GetSequence() == SEQ_005) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent013"); + quest:StartSequence(SEQ_010); + end end if (player:GetGuildleveDirector() ~= nil) then diff --git a/Data/scripts/base/chara/npc/populace/PopulaceStandard.lua b/Data/scripts/base/chara/npc/populace/PopulaceStandard.lua index 90d06334..c8150e10 100644 --- a/Data/scripts/base/chara/npc/populace/PopulaceStandard.lua +++ b/Data/scripts/base/chara/npc/populace/PopulaceStandard.lua @@ -22,44 +22,54 @@ function init(npc) end function onEventStarted(player, npc, eventType, eventName) - local defaultTalk = player:GetDefaultTalkQuest(npc); - local tutorialTalk = player:GetTutorialQuest(npc); - local activeQuests = player:GetQuestsForNpc(npc); - local possibleQuests = {}; - - -- Create the switch table for this npc - if (defaultTalk ~= nil and eventType == ETYPE_TALK) then - table.insert(possibleQuests, defaultTalk); - end - if (tutorialTalk ~= nil and eventType == ETYPE_TALK) then - table.insert(possibleQuests, tutorialTalk); - end - if (activeQuests ~= nil) then - table.insert(possibleQuests, unpack(activeQuests)); - end - - -- Either let the player choose the quest or start it if it's the only one. local chosenQuest = nil; - if (#possibleQuests > 1) then - local currentPage = 0; - local numPages = math.floor((#possibleQuests-1)/4) + 1; + + if (eventType == 1) then + local defaultTalk = player:GetDefaultTalkQuest(npc); + local tutorialTalk = player:GetTutorialQuest(npc); + local activeQuests = player:GetQuestsForNpc(npc); + local possibleQuests = {}; - while (true) do - local page, index = callClientFunction(player, "switchEvent", possibleQuests[currentPage * 4 + 1], possibleQuests[currentPage * 4 + 2], possibleQuests[currentPage * 4 + 3], possibleQuests[currentPage * 4 + 4], currentPage + 1, numPages, 0x3F1); - - if (page == 0) then - chosenQuest = possibleQuests[(currentPage * 4) + index]; - break; - elseif (page > 0) then - currentPage = page - 1; - else - player:EndEvent(); - return; + -- Create the switch table for this npc + if (defaultTalk ~= nil and eventType == ETYPE_TALK) then + table.insert(possibleQuests, defaultTalk); + end + if (tutorialTalk ~= nil and eventType == ETYPE_TALK) then + table.insert(possibleQuests, tutorialTalk); + end + if (activeQuests ~= nil) then + for i=1,#activeQuests do + table.insert(possibleQuests, activeQuests[i]); end - end - elseif (#possibleQuests == 1) then - chosenQuest = possibleQuests[1]; - end + end + + -- Either let the player choose the quest or start it if it's the only one. + if (#possibleQuests > 1) then + local currentPage = 0; + local numPages = math.floor((#possibleQuests-1)/4) + 1; + + while (true) do + local page, index = callClientFunction(player, "switchEvent", possibleQuests[currentPage * 4 + 1], possibleQuests[currentPage * 4 + 2], possibleQuests[currentPage * 4 + 3], possibleQuests[currentPage * 4 + 4], currentPage + 1, numPages, 0x3F1); + + if (page == 0) then + chosenQuest = possibleQuests[(currentPage * 4) + index]; + break; + elseif (page > 0) then + currentPage = page - 1; + else + player:EndEvent(); + return; + end + end + elseif (#possibleQuests == 1) then + chosenQuest = possibleQuests[1]; + end + else + local activeQuests = player:GetQuestsForNpc(npc); + if (#activeQuests != 0) then + chosenQuest = activeQuests[1]; + end + end -- Run the quest event or tell the devs it's missing. if (chosenQuest ~= nil) then diff --git a/Data/scripts/base/chara/npc/populace/instanceraidguide/InstanceRaidGuide.lua b/Data/scripts/base/chara/npc/populace/instanceraidguide/InstanceRaidGuide.lua new file mode 100644 index 00000000..50801a26 --- /dev/null +++ b/Data/scripts/base/chara/npc/populace/instanceraidguide/InstanceRaidGuide.lua @@ -0,0 +1,17 @@ +--[[ + +InstanceRaidGuide Script + +Functions; + +--]] + +require ("global") + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, eventType, eventName) + player:EndEvent(); +end \ No newline at end of file diff --git a/Data/scripts/commands/EmoteStandardCommand.lua b/Data/scripts/commands/EmoteStandardCommand.lua index 16ec9280..89f71fef 100644 --- a/Data/scripts/commands/EmoteStandardCommand.lua +++ b/Data/scripts/commands/EmoteStandardCommand.lua @@ -66,7 +66,7 @@ emoteTable = { }; -function onEventStarted(player, actor, eventType, eventName, emoteId, showText, arg2, arg3, targetId) +function onEventStarted(player, actor, eventType, triggerName, emoteId, showText, arg2, arg3, targetId) if (targetId == nil) then targetId = 0; diff --git a/Data/scripts/commands/PlaceDrivenCommand.lua b/Data/scripts/commands/PlaceDrivenCommand.lua index 1d9fe8ba..f49203f0 100644 --- a/Data/scripts/commands/PlaceDrivenCommand.lua +++ b/Data/scripts/commands/PlaceDrivenCommand.lua @@ -8,7 +8,7 @@ Notes: --]] require("global") -function onEventStarted(player, actor, triggerName, pushCommand, unk1, unk2, unk3, ownerActorId, unk4, unk5, unk6, unk7) +function onEventStarted(player, actor, eventType, eventName, pushCommand, unk1, unk2, unk3, ownerActorId, unk4, unk5, unk6, unk7) actor = player:GetActorInInstance(ownerActorId); print("TESSSSSSSSSSSSSST"); @@ -17,7 +17,7 @@ function onEventStarted(player, actor, triggerName, pushCommand, unk1, unk2, unk if (actor:GetActorClassId() == 1200052) then player:KickEventSpecial(harvestCommand, 0, "commandJudgeMode", 0, 0, 0, 0, 0x4E26, 0, nil, 0xF, actor, nil, nil, nil, nil); else - --player:kickEvent(actor, "pushCommand", false); + player:kickEvent(actor, "pushCommand", false); end else player:endEvent(); diff --git a/Data/scripts/commands/gm/giveexp.lua b/Data/scripts/commands/gm/giveexp.lua index 5ac50b62..f8b87c75 100644 --- a/Data/scripts/commands/gm/giveexp.lua +++ b/Data/scripts/commands/gm/giveexp.lua @@ -26,8 +26,8 @@ function onTrigger(player, argc, qty, name, lastName) currency = 1000001; qty = tonumber(qty) or 1; location = INVENTORY_CURRENCY; - - actionList = player:AddExp(qty, player.charaWork.parameterSave.state_mainSkill[0], 0); + print("ASDASDASDASDASD"); + actionList = player:AddExp(qty, player.charaWork.parameterSave.state_mainSkill[1], 0); player:DoBattleAction(0, 0, actionList); else print(sender.."unable to add experience, ensure player name is valid."); diff --git a/Data/scripts/commands/gm/testmapobj.lua b/Data/scripts/commands/gm/testmapobj.lua index d8f6f2f9..feff9672 100644 --- a/Data/scripts/commands/gm/testmapobj.lua +++ b/Data/scripts/commands/gm/testmapobj.lua @@ -6,17 +6,17 @@ properties = { description = "" } -function onTrigger(player, argc, animation, regionId, layoutId, maxLayoutId) - layoutId = tonumber(layoutId); +function onTrigger(player, argc, animation, layoutId, instanceId, maxInstanceId) + instanceId = tonumber(instanceId); - if (maxLayoutId ~= nil) then - maxLayoutId = tonumber(maxLayoutId); + if (maxInstanceId ~= nil) then + maxInstanceId = tonumber(maxInstanceId); else - maxLayoutId = layoutId; + maxInstanceId = instanceId; end actorClassId = 5900001; - while (layoutId <= maxLayoutId) do + while (instanceId <= maxInstanceId) do if (actorClassId == nil) then player:SendMessage(0x20, "", "No actor class id provided."); return; @@ -32,16 +32,16 @@ function onTrigger(player, argc, animation, regionId, layoutId, maxLayoutId) if (actorClassId ~= nil) then zone = player.CurrentArea; - actor = zone:SpawnActor(actorClassId, "mapobj", pos[1], pos[2], pos[3], tonumber(regionId), tonumber(layoutId)); + actor = zone:SpawnActor(actorClassId, "mapobj", pos[1], pos[2], pos[3], tonumber(layoutId), tonumber(instanceId)); print("test"); - wait(0.8); + wait(2); actor:PlayMapObjAnimation(player, animation); zone:DespawnActor("mapobj"); wait(0.5); - player:SendMessage(0x20, "", "Layout ID: "..layoutId); + player:SendMessage(0x20, "", "Playing animation for instance: " .. instanceId); end - layoutId=layoutId+1; + instanceId = instanceId + 1; end end; --!testmapobj 5900001 421 2810 2820 diff --git a/Data/scripts/directors/OpeningDirector.lua b/Data/scripts/directors/OpeningDirector.lua index e93fd628..131a9c84 100644 --- a/Data/scripts/directors/OpeningDirector.lua +++ b/Data/scripts/directors/OpeningDirector.lua @@ -20,34 +20,4 @@ function onEventStarted(player, actor, eventTrigger, eventName) end function main() -end - -function onTalkEvent(player, npc) - - if (player:HasQuest(110001) == true) then - man0l0Quest = player:GetQuest("man0l0"); - - if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE1) == true and man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == true and man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3) == true) then - doorNpc = GetWorldManager():GetActorInWorldByUniqueId("exit_door"); - player:SetEventStatus(doorNpc, "pushDefault", true, 0x2); - doorNpc:SetQuestGraphic(player, 0x3); - end - elseif (player:HasQuest(110005) == true) then - man0g0Quest = player:GetQuest("man0g0"); - if (man0g0Quest:GetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT) == true and man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == false) then - papalymo = GetWorldManager():GetActorInWorldByUniqueId("papalymo"); - papalymo:SetQuestGraphic(player, 0x2); - elseif (man0g0Quest:GetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT) == true and man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == true) then - yda = GetWorldManager():GetActorInWorldByUniqueId("yda"); - yda:SetQuestGraphic(player, 0x2); - end - elseif (player:HasQuest(110009) == true) then - man0u0Quest = player:GetQuest("man0u0"); - if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == true) then - exitTriggerNpc = GetWorldManager():GetActorInWorldByUniqueId("exit_trigger"); - player:SetEventStatus(exitTriggerNpc, "pushDefault", true, 0x2); - exitTriggerNpc:SetQuestGraphic(player, 0x2); - end - end - -end +end \ No newline at end of file diff --git a/Data/scripts/directors/Quest/QuestDirectorMan0l101.lua b/Data/scripts/directors/Quest/QuestDirectorMan0l101.lua new file mode 100644 index 00000000..39233748 --- /dev/null +++ b/Data/scripts/directors/Quest/QuestDirectorMan0l101.lua @@ -0,0 +1,29 @@ +require ("global") +require ("quests/man/man0l1") + +function init() + return "/Director/Quest/QuestDirectorMan0l101"; +end + +function onCreateContentArea(players, director, contentArea, contentGroup) + + sisipu = contentArea:SpawnActor(2290007, "sisipu", -49, 36.43, 162, 2.2); + + for _, player in pairs(players) do + contentGroup:AddMember(player); + end; + + contentGroup:AddMember(director); + contentGroup:AddMember(sisipu); + +end + +function onEventStarted(player, director, triggerName) + + player:EndEvent(); + + +end + +function main() +end \ No newline at end of file diff --git a/Data/scripts/global.lua b/Data/scripts/global.lua index e3eaa18d..6f247e03 100644 --- a/Data/scripts/global.lua +++ b/Data/scripts/global.lua @@ -159,6 +159,10 @@ QFLAG_PLATE = 2; QFLAG_MAP = 3; QFLAG_REWARD = 4; +-- SPECIAL SEQUENCE CONSTANTS +SEQ_ACCEPT = 65535; +SEQ_COMPLETE = 65534; + -- MUSIC MUSIC_IMMEDIATE = 1; MUSIC_CROSSFADE = 2; diff --git a/Data/scripts/quests/etc/etc1g5.lua b/Data/scripts/quests/etc/etc1g5.lua new file mode 100644 index 00000000..3a3bba1e --- /dev/null +++ b/Data/scripts/quests/etc/etc1g5.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: The Search for Sicksa +Code: Etc1g5 +Id: 110659 +Prereq: Level 10, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Bristletail Marmots. +SEQ_001 = 1; -- Talk to Beli. + +-- Actor Class Ids +ENPC_BELI = 1001077; +BNPC_BRISTLETAIL_MARMOT = 2104022; + +-- Quest Markers +MRKR_BRISTLETAIL_AREA = 11065901; +MRKR_BELI = 11065902; + +-- Counters +COUNTER_MARMOTHIDE = 0; + +-- Quest Details +OBJECTIVE_MARMOTHIDE = 8; + +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(ENPC_BELI, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_BELI); + quest:SetENpc(BNPC_BRISTLETAIL_MARMOT); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_BELI, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_BELI and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventLahonoStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_BELI) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFree"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_BELI) then + callClientFunction(player, "delegateEvent", player, quest, "processEventAfter"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_BRISTLETAIL_MARMOT) then + local counterAmount = quest:GetData():IncCounter(COUNTER_MARMOTHIDE); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_MARMOTHIDE) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_MARMOTHIDE); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_BRISTLETAIL_AREA; + elseif (sequence == SEQ_001) then + return MRKR_BELI; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l0.lua b/Data/scripts/quests/etc/etc1l0.lua new file mode 100644 index 00000000..f65d550a --- /dev/null +++ b/Data/scripts/quests/etc/etc1l0.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Assessing the Damage +Code: Etc1l0 +Id: 110633 +Prereq: Level 20, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Toll Puks. +SEQ_001 = 1; -- Talk to HALDBERK. + +-- Actor Class Ids +ENPC_HALDBERK = 1000160; +BNPC_JETSAM_JELLIES = 2105409; + +-- Quest Markers +MRKR_JELLIES_AREA = 11063301; +MRKR_HALDBERK = 11063302; + +-- Counters +COUNTER_RINGS = 0; + +-- Quest Details +OBJECTIVE_RINGS = 8; + +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(ENPC_HALDBERK, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_HALDBERK); + quest:SetENpc(BNPC_JETSAM_JELLIES); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_HALDBERK, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_HALDBERK and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventHaldberkStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_HALDBERK) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_HALDBERK) then + callClientFunction(player, "delegateEvent", player, quest, "Etc1l0.processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_JETSAM_JELLIES) then + local counterAmount = quest:GetData():IncCounter(COUNTER_RINGS); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_RINGS) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_RINGS); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_JELLIES_AREA; + elseif (sequence == SEQ_001) then + return MRKR_HALDBERK; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l1.lua b/Data/scripts/quests/etc/etc1l1.lua new file mode 100644 index 00000000..4a9cbe04 --- /dev/null +++ b/Data/scripts/quests/etc/etc1l1.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Bridging the Gap +Code: Etc1l1 +Id: 110634 +Prereq: Level 10, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Toll Puks. +SEQ_001 = 1; -- Talk to Hihine. + +-- Actor Class Ids +ENPC_HIHINE = 1000267; +BNPC_TOLL_PUK = 2100113; + +-- Quest Markers +MRKR_TOLLPUK_AREA = 11063401; +MRKR_HIHINE = 11063402; + +-- Counters +COUNTER_KILLS = 0; + +-- Quest Details +OBJECTIVE_KILLS = 8; + +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(ENPC_HIHINE, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_HIHINE); + quest:SetENpc(BNPC_TOLL_PUK); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_HIHINE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_HIHINE and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventHihineStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_HIHINE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_2"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_HIHINE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_TOLL_PUK) then + local counterAmount = quest:GetData():IncCounter(COUNTER_SLUMBERNUT); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_SLUMBERNUT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_SLUMBERNUT); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_TOLLPUK_AREA; + elseif (sequence == SEQ_001) then + return MRKR_HIHINE; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l3.lua b/Data/scripts/quests/etc/etc1l3.lua new file mode 100644 index 00000000..a6f58c8e --- /dev/null +++ b/Data/scripts/quests/etc/etc1l3.lua @@ -0,0 +1,108 @@ +require ("global") + +--[[ + +Quest Script + +Name: Revenge on the Reavers +Code: Etc1l3 +Id: 110636 +Prereq: Level 45, Any DoW/DoM + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Reavers. +SEQ_001 = 1; -- Talk to Chaunollet. + +-- Actor Class Ids +ENPC_CHAUNOLLET = 1000125; +BNPC_REAVER_CLAWS = 2180301; +BNPC_REAVER_FINS = 2180302; +BNPC_REAVER_EYES = 2180303; + +-- Quest Markers +MRKR_REAVER_AREA = 11063601; +MRKR_CHAUNOLLET = 11063602; + +-- Counters +COUNTER_QUESTITEM = 0; + +-- Quest Details +OBJECTIVE_AMOUNT = 8; + +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(ENPC_CHAUNOLLET, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_CHAUNOLLET); + quest:SetENpc(BNPC_REAVER_EYES); + quest:SetENpc(BNPC_REAVER_FINS); + quest:SetENpc(BNPC_REAVER_CLAWS); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_CHAUNOLLET, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_CHAUNOLLET and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventChaunolletStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_CHAUNOLLET) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000Chaunollet"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_CHAUNOLLET) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010Chaunollet"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_REAVER_EYES or bnpc == BNPC_REAVER_FINS or bnpc == BNPC_REAVER_CLAWS) then + local counterAmount = quest:GetData():IncCounter(COUNTER_QUESTITEM); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_AMOUNT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_QUESTITEM); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_REAVER_AREA; + elseif (sequence == SEQ_001) then + return MRKR_CHAUNOLLET; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l5.lua b/Data/scripts/quests/etc/etc1l5.lua new file mode 100644 index 00000000..46e69825 --- /dev/null +++ b/Data/scripts/quests/etc/etc1l5.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Till Death Do Us Part +Code: Etc1l5 +Id: 110638 +Prereq: Level 20, Any DoW/DoM + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Musk Roselings. +SEQ_001 = 1; -- Talk to H'lahono. + +-- Actor Class Ids +ENPC_HLAHONO = 1000250; +BNPC_MUSK_ROSELING = 2102717; + +-- Quest Markers +MRKR_ROSELING_AREA = 11063801; +MRKR_HLAHONO = 11063802; + +-- Counters +COUNTER_QUESTITEM = 0; + +-- Quest Details +OBJECTIVE_AMOUNT = 8; + +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(ENPC_HLAHONO, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_HLAHONO); + quest:SetENpc(BNPC_MUSK_ROSELING); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_HLAHONO, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_HLAHONO and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventLahonoStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_HLAHONO) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFree"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_HLAHONO) then + callClientFunction(player, "delegateEvent", player, quest, "processEventAfter"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_MUSK_ROSELING) then + local counterAmount = quest:GetData():IncCounter(COUNTER_QUESTITEM); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_AMOUNT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_QUESTITEM); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_ROSELING_AREA; + elseif (sequence == SEQ_001) then + return MRKR_HLAHONO; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l6.lua b/Data/scripts/quests/etc/etc1l6.lua new file mode 100644 index 00000000..ce29c0cc --- /dev/null +++ b/Data/scripts/quests/etc/etc1l6.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Beryl Overboard +Code: Etc1l6 +Id: 110639 +Prereq: Level 20, Any DoW/DoM, Requires Etc1l5 + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Beryl Crabs. +SEQ_001 = 1; -- Talk to Nanapiri. + +-- Actor Class Ids +ENPC_NANAPIRI = 1000136; +BNPC_BERYL_CRAB = 2107613; + +-- Quest Markers +MRKR_CRAB_AREA = 11063901; +MRKR_NANAPIRI = 11063902; + +-- Counters +COUNTER_QUESTITEM = 0; + +-- Quest Details +OBJECTIVE_AMOUNT = 8; + +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(ENPC_NANAPIRI, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_NANAPIRI); + quest:SetENpc(BNPC_BERYL_CRAB); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_NANAPIRI, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_NANAPIRI and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventNanapiriStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_NANAPIRI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_2"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_NANAPIRI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_BERYL_CRAB) then + local counterAmount = quest:GetData():IncCounter(COUNTER_QUESTITEM); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_AMOUNT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_QUESTITEM); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_CRAB_AREA; + elseif (sequence == SEQ_001) then + return MRKR_NANAPIRI; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l7.lua b/Data/scripts/quests/etc/etc1l7.lua new file mode 100644 index 00000000..1679a1e8 --- /dev/null +++ b/Data/scripts/quests/etc/etc1l7.lua @@ -0,0 +1,133 @@ +require ("global") + +--[[ + +Quest Script + +Name: Have You Seen My Son +Code: Etc1l7 +Id: 110640 +Prereq: Level 30, Any DoW/DoM + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Yuyubesu. +SEQ_001 = 1; -- Kill Bomb Embers. +SEQ_002 = 2; -- Return to Yuyubesu. +SEQ_003 = 3; -- Talk to Hildie. + +-- Actor Class Ids +ENPC_IMANIA = 1001567; +ENPC_YUYUBESU = 1001166; +ENPC_HILDIE = 1000787; +BNPC_BOMB_EMBER = 2101609; + +-- Quest Markers +MRKR_YUYUBESU = 11064001; +MRKR_HILDIE = 11064002; +MRKR_BOMB_AREA = 11064003; + +-- Counters +COUNTER_QUESTITEM = 0; + +-- Quest Details +OBJECTIVE_AMOUNT = 8; + +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(ENPC_IMANIA, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_IMANIA); + quest:SetENpc(ENPC_YUYUBESU, QFLAG_REWARD); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_YUYUBESU); + quest:SetENpc(BNPC_BOMB_EMBER); + elseif (sequence == SEQ_002) then + quest:SetENpc(ENPC_YUYUBESU, QFLAG_REWARD); + elseif (sequence == SEQ_003) then + quest:SetENpc(ENPC_YUYUBESU); + quest:SetENpc(ENPC_HILDIE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_IMANIA and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventImaniaStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_IMANIA) then + callClientFunction(player, "delegateEvent", player, quest, "processEventImaniaFree"); + elseif (npcClassId == ENPC_YUYUBESU) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000"); + quest:StartSequence(SEQ_001); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_YUYUBESU) then + callClientFunction(player, "delegateEvent", player, quest, "processEventYuyubesuFree"); + end + elseif (seq == SEQ_002) then + if (npcClassId == ENPC_YUYUBESU) then + callClientFunction(player, "delegateEvent", player, quest, "processEventYuyubesuAfter"); + quest:StartSequence(SEQ_003); + end + elseif (seq == SEQ_003) then + if (npcClassId == ENPC_YUYUBESU) then + callClientFunction(player, "delegateEvent", player, quest, "processEventYuyubesuAfterFree"); + elseif (npcClassId == ENPC_HILDIE) then + callClientFunction(player, "delegateEvent", player, quest, "processEventHildie"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_BOMB_EMBER) then + local counterAmount = quest:GetData():IncCounter(COUNTER_QUESTITEM); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_AMOUNT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_002); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_QUESTITEM); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_YUYUBESU; + elseif (sequence == SEQ_001) then + return MRKR_BOMB_AREA; + elseif (sequence == SEQ_002) then + return MRKR_YUYUBESU; + elseif (sequence == SEQ_003) then + return MRKR_HILDIE; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1l8.lua b/Data/scripts/quests/etc/etc1l8.lua new file mode 100644 index 00000000..3bf7d57c --- /dev/null +++ b/Data/scripts/quests/etc/etc1l8.lua @@ -0,0 +1,213 @@ +require ("global") + +--[[ + +Quest Script + +Name: Food for Thought +Code: Etc1l8 +Id: 110641 +Prereq: Level 20, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Spread rumors to all, must perform /psych. +SEQ_001 = 1; -- Return to Dympna. + +-- Actor Class Ids +DYMPNA = 1000331; +AERGWNYT = 1000347; +FERDILLAIX = 1000344; +BUBUROON = 1000219; +RBAHARRA = 1000340; +FUFUNA = 1000345; + +-- Quest Markers +MRKR_DYMPNA = 11064101; +MRKR_AERGWNYT = 11064102; +MRKR_FERDILLAIX = 11064103; +MRKR_BUBUROON = 11064104; +MRKR_RBAHARRA = 11064105; +MRKR_FUFUNA = 11064106; + +-- Quest Flags +FLAG_TALKED_AERGWNYT = 0; +FLAG_TALKED_FERDILLAIX = 1; +FLAG_TALKED_BUBUROON = 2; +FLAG_TALKED_RBAHARRA = 3; +FLAG_TALKED_FUFUNA = 4; + +-- Quest Counters +COUNTER_TALKED = 0; + +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(DYMPNA, QFLAG_NORM); + end + + local data = quest:GetData(); + if (sequence == SEQ_000) then + quest:SetENpc(DYMPNA); + quest:SetENpc(AERGWNYT, (not data:GetFlag(FLAG_TALKED_AERGWNYT) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(FERDILLAIX, (not data:GetFlag(FLAG_TALKED_FERDILLAIX) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(BUBUROON, (not data:GetFlag(FLAG_TALKED_BUBUROON) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(RBAHARRA, (not data:GetFlag(FLAG_TALKED_RBAHARRA) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(FUFUNA, (not data:GetFlag(FLAG_TALKED_FUFUNA) and QFLAG_NORM or QFLAG_NONE)); + elseif (sequence == SEQ_001) then + quest:SetENpc(DYMPNA, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == DYMPNA and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventOffersStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + local data = quest:GetData(); + if (seq == SEQ_000) then + if (npcClassId == DYMPNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEventOffersAfter"); + elseif (npcClassId == AERGWNYT) then + if (not data:GetFlag(FLAG_TALKED_AERGWNYT)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventAergwyntSpeak"); + else + callClientFunction(player, "delegateEvent", player, quest, "processEventAergwyntAfter"); + end + elseif (npcClassId == FERDILLAIX) then + if (not data:GetFlag(FLAG_TALKED_FERDILLAIX)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFerdillaixSpeak"); + else + callClientFunction(player, "delegateEvent", player, quest, "processEventFerdillaixAfter"); + end + elseif (npcClassId == BUBUROON) then + if (not data:GetFlag(FLAG_TALKED_BUBUROON)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventBuburoonSpeak"); + else + callClientFunction(player, "delegateEvent", player, quest, "processEventBuburoonAfter"); + end + elseif (npcClassId == RBAHARRA) then + if (not data:GetFlag(FLAG_TALKED_RBAHARRA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventBaharraSpeak"); + else + callClientFunction(player, "delegateEvent", player, quest, "processEventBaharraAfter"); + end + elseif (npcClassId == FUFUNA) then + if (not data:GetFlag(FLAG_TALKED_FUFUNA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFufunaSpeak"); + else + callClientFunction(player, "delegateEvent", player, quest, "processEventFufunaAfter"); + end + end + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == DYMPNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEventClear"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + quest:UpdateENPCs(); + player:EndEvent(); +end + +function onEmote(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + local data = quest:GetData(); + local incCounter = false; + + if (seq == SEQ_000 and eventName == "emoteDefault1") then + if (npcClassId == AERGWNYT) then + if (not data:GetFlag(FLAG_TALKED_AERGWNYT)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventAergwynt"); + data:SetFlag(FLAG_TALKED_AERGWNYT); + incCounter = true; + end + elseif (npcClassId == FERDILLAIX) then + if (not data:GetFlag(FLAG_TALKED_FERDILLAIX)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFerdillaix"); + data:SetFlag(FLAG_TALKED_FERDILLAIX); + incCounter = true; + end + elseif (npcClassId == BUBUROON) then + if (not data:GetFlag(FLAG_TALKED_BUBUROON)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventBuburoon"); + data:SetFlag(FLAG_TALKED_BUBUROON); + incCounter = true; + end + elseif (npcClassId == RBAHARRA) then + if (not data:GetFlag(FLAG_TALKED_RBAHARRA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventBaharra"); + data:SetFlag(FLAG_TALKED_RBAHARRA); + incCounter = true; + end + elseif (npcClassId == FUFUNA) then + if (not data:GetFlag(FLAG_TALKED_FUFUNA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFufuna"); + data:SetFlag(FLAG_TALKED_FUFUNA); + incCounter = true; + end + end + + -- Increase objective counter & play relevant messages + if (incCounter == true) then + local counterAmount = data:IncCounter(COUNTER_TALKED); + + attentionMessage(player, 51059, 0, counterAmount, 5); -- You have helped spread Dympna's rumor. (... of 5) + + if (seq000_checkCondition(data)) then -- All informants spoken to + attentionMessage(player, 25225, quest.GetQuestId()); -- objectives complete! + quest:UpdateENPCs(); -- Band-aid for a QFLAG_NORM issue + quest:StartSequence(SEQ_001); + end + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- Check if all informants are talked to +function seq000_checkCondition(data) + return (data:GetFlag(FLAG_TALKED_AERGWNYT) and + data:GetFlag(FLAG_TALKED_FERDILLAIX) and + data:GetFlag(FLAG_TALKED_BUBUROON) and + data:GetFlag(FLAG_TALKED_RBAHARRA) and + data:GetFlag(FLAG_TALKED_FUFUNA)); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + local data = quest:GetData(); + local possibleMarkers = {}; + + if (sequence == SEQ_000) then + if (not data:GetFlag(FLAG_TALKED_AERGWNYT)) then table.insert(possibleMarkers, MRKR_AERGWNYT); end + if (not data:GetFlag(FLAG_TALKED_FERDILLAIX)) then table.insert(possibleMarkers, MRKR_FERDILLAIX); end + if (not data:GetFlag(FLAG_TALKED_BUBUROON)) then table.insert(possibleMarkers, MRKR_BUBUROON); end + if (not data:GetFlag(FLAG_TALKED_RBAHARRA)) then table.insert(possibleMarkers, MRKR_RBAHARRA); end + if (not data:GetFlag(FLAG_TALKED_FUFUNA)) then table.insert(possibleMarkers, MRKR_FUFUNA); end + elseif (sequence == SEQ_001) then + table.insert(possibleMarkers, MRKR_DYMPNA); + end + + return unpack(possibleMarkers) +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc1u1.lua b/Data/scripts/quests/etc/etc1u1.lua new file mode 100644 index 00000000..d5c13804 --- /dev/null +++ b/Data/scripts/quests/etc/etc1u1.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Sleepless in Eorzea +Code: Etc1u1 +Id: 110676 +Prereq: Level 10, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Nutgrabber Marmots. +SEQ_001 = 1; -- Talk to Kukusi. + +-- Actor Class Ids +ENPC_KUKUSI = 1001463; +BNPC_NUTGRABBER_MARMOT = 2104021; + +-- Quest Markers +MRKR_NUTGRABBER_AREA = 11067601; +MRKR_KUKUSI = 11067602; + +-- Counters +COUNTER_SLUMBERNUT = 0; + +-- Quest Details +OBJECTIVE_SLUMBERNUT = 8; + +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(ENPC_KUKUSI, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_KUKUSI); + quest:SetENpc(BNPC_NUTGRABBER_MARMOT); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_KUKUSI, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_KUKUSI and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventKukusiStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_KUKUSI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_KUKUSI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_3"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_NUTGRABBER_MARMOT) then + local counterAmount = quest:GetData():IncCounter(COUNTER_SLUMBERNUT); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_SLUMBERNUT) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_SLUMBERNUT); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_NUTGRABBER_AREA; + elseif (sequence == SEQ_001) then + return MRKR_KUKUSI; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc3g0.lua b/Data/scripts/quests/etc/etc3g0.lua index ce3ea520..598e6d76 100644 --- a/Data/scripts/quests/etc/etc3g0.lua +++ b/Data/scripts/quests/etc/etc3g0.lua @@ -49,7 +49,7 @@ function onFinish(player, quest) end function onStateChange(player, quest, sequence) - if (sequence == 65535) then + if (sequence == SEQ_ACCEPT) then quest:SetENpc(KINNISON, QFLAG_PLATE); end @@ -135,7 +135,7 @@ function onTalk(player, quest, npc, eventName) attentionMessage(player, 51061, 0, counterAmount, 5); -- You have heard word of the Seedseers. (... of 5) if (seq000_checkCondition(data)) then -- All Seers spoken to - attentionMessage(player, 25225, 110674); -- "Seeing the Seers" objectives complete! + attentionMessage(player, 25225, quest:GetQuestId()); -- "Seeing the Seers" objectives complete! quest:UpdateENPCs(); -- Band-aid for a QFLAG_PLATE issue quest:StartSequence(SEQ_001); end @@ -166,6 +166,7 @@ end function getJournalMapMarkerList(player, quest) local sequence = quest:getSequence(); + local data = quest:GetData(); local possibleMarkers = {}; local data = quest:GetData(); diff --git a/Data/scripts/quests/etc/etc3l0.lua b/Data/scripts/quests/etc/etc3l0.lua new file mode 100644 index 00000000..7ea9372f --- /dev/null +++ b/Data/scripts/quests/etc/etc3l0.lua @@ -0,0 +1,181 @@ +require ("global") + +--[[ + +Quest Script + +Name: The Tug of the Whorl +Code: Etc3l0 +Id: 110653 +Prereq: Level 5, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to all the citizens. +SEQ_001 = 1; -- Return to Ginnade. + +-- Actor Class Ids +GINNADE = 1000132; +ZONGGO = 1000057; +WHAHTOA = 1000475; +FERDILLAIX = 1000344; +FRAILOISE = 1000065; +ARNEGIS = 1000227; + +-- Quest Markers +MRKR_ZONGGO = 11070001 +MRKR_WHAHTOA = 11070002 +MRKR_FERDILLAIX = 11070003 +MRKR_FRAILOISE = 11070004 +MRKR_ARNEGIS = 11070005 +MRKR_GINNADE = 11070006 + +-- Quest Flags +FLAG_TALKED_ZONGGO = 0; +FLAG_TALKED_WHAHTOA = 1; +FLAG_TALKED_FERDILLAIX = 2; +FLAG_TALKED_FRAILOISE = 3; +FLAG_TALKED_ARNEGIS = 4; + +-- Quest Counters +COUNTER_TALKED = 0; + +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(GINNADE, QFLAG_NORM); + end + + local data = quest:GetData(); + if (sequence == SEQ_000) then + quest:SetENpc(GINNADE); + quest:SetENpc(ZONGGO, (not data:GetFlag(FLAG_TALKED_ZONGGO) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(WHAHTOA, (not data:GetFlag(FLAG_TALKED_WHAHTOA) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(FERDILLAIX, (not data:GetFlag(FLAG_TALKED_FERDILLAIX) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(FRAILOISE, (not data:GetFlag(FLAG_TALKED_FRAILOISE) and QFLAG_NORM or QFLAG_NONE)); + quest:SetENpc(ARNEGIS, (not data:GetFlag(FLAG_TALKED_ARNEGIS) and QFLAG_NORM or QFLAG_NONE)); + elseif (sequence == SEQ_001) then + quest:SetENpc(GINNADE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + local incCounter = false; + + -- Offer the quest + if (npcClassId == GINNADE and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventGinnadeStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + local data = quest:GetData(); + if (seq == SEQ_000) then + if (npcClassId == GINNADE) then + callClientFunction(player, "delegateEvent", player, quest, "followEvent005"); + elseif (npcClassId == ZONGGO) then + if (not data:GetFlag(FLAG_TALKED_ZONGGO)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + data:SetFlag(FLAG_TALKED_ZONGGO); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "followEvent010"); + end + elseif (npcClassId == WHAHTOA) then + if (not data:GetFlag(FLAG_TALKED_WHAHTOA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + data:SetFlag(FLAG_TALKED_WHAHTOA); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "followEvent020"); + end + elseif (npcClassId == FERDILLAIX) then + if (not data:GetFlag(FLAG_TALKED_FERDILLAIX)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent030"); + data:SetFlag(FLAG_TALKED_FERDILLAIX); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "followEvent030"); + end + elseif (npcClassId == FRAILOISE) then + if (not data:GetFlag(FLAG_TALKED_FRAILOISE)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent040"); + data:SetFlag(FLAG_TALKED_FRAILOISE); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "followEvent040"); + end + elseif (npcClassId == ARNEGIS) then + if (not data:GetFlag(FLAG_TALKED_ARNEGIS)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent050"); + data:SetFlag(FLAG_TALKED_ARNEGIS); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "followEvent050"); + end + end + + -- Increase objective counter & play relevant messages + if (incCounter == true) then + local counterAmount = data:IncCounter(COUNTER_TALKED); + + attentionMessage(player, 51060, 0, counterAmount, 5); -- You have spoken with a Barracuda informant. (... of 5) + + if (seq000_checkCondition(data)) then -- All informants spoken to + attentionMessage(player, 25225, quest.GetQuestId()); -- "The Tug of the Whorl" objectives complete! + quest:UpdateENPCs(); -- Band-aid for a QFLAG_NORM issue + quest:StartSequence(SEQ_001); + end + end + + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == GINNADE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- Check if all informants are talked to +function seq000_checkCondition(data) + return (data:GetFlag(FLAG_TALKED_ZONGGO) and + data:GetFlag(FLAG_TALKED_WHAHTOA) and + data:GetFlag(FLAG_TALKED_FERDILLAIX) and + data:GetFlag(FLAG_TALKED_FRAILOISE) and + data:GetFlag(FLAG_TALKED_ARNEGIS)); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + local data = quest:GetData(); + local possibleMarkers = {}; + + if (sequence == SEQ_000) then + if (not data:GetFlag(FLAG_TALKED_ZONGGO)) then table.insert(possibleMarkers, MRKR_ZONGGO); end + if (not data:GetFlag(FLAG_TALKED_WHAHTOA)) then table.insert(possibleMarkers, MRKR_WHAHTOA); end + if (not data:GetFlag(FLAG_TALKED_FERDILLAIX)) then table.insert(possibleMarkers, MRKR_FERDILLAIX); end + if (not data:GetFlag(FLAG_TALKED_FRAILOISE)) then table.insert(possibleMarkers, MRKR_FRAILOISE); end + if (not data:GetFlag(FLAG_TALKED_ARNEGIS)) then table.insert(possibleMarkers, MRKR_ARNEGIS); end + elseif (sequence == SEQ_001) then + table.insert(possibleMarkers, MRKR_GINNADE); + end + + return unpack(possibleMarkers) +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc3u0.lua b/Data/scripts/quests/etc/etc3u0.lua new file mode 100644 index 00000000..5399e143 --- /dev/null +++ b/Data/scripts/quests/etc/etc3u0.lua @@ -0,0 +1,183 @@ +require ("global") + +--[[ + +Quest Script + +Name: A Call to Arms +Code: Etc3u0 +Id: 110695 +Prereq: Level 5, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to all the ___. +SEQ_001 = 1; -- Return to Fruhybolg. + +-- Actor Class Ids +FRUHYBOLG = 1000964; +ZOENGTERBIN = 1000784; +LETTICE = 1000788; +THIMM = 1001439; +VANNES = 1001464; +JEGER = 1000655; + +-- Quest Markers +MRKR_FRUHYBOLG = 11090001; +MRKR_ZOENGTERBIN = 11090002; +MRKR_LETTICE = 11090003; +MRKR_THIMM = 11090004; +MRKR_VANNES = 11090005; +MRKR_JEGER = 11090006; + +-- Quest Flags +FLAG_TALKED_VANNES = 1; +FLAG_TALKED_JEGER = 2; +FLAG_TALKED_LETTICE = 3; +FLAG_TALKED_ZOENGTERBIN = 4; +FLAG_TALKED_THIMM = 5; + +-- Quest Counters +COUNTER_TALKED = 0; + +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(FRUHYBOLG, QFLAG_PLATE); + end + + local data = quest:GetData(); + if (sequence == SEQ_000) then + quest:SetENpc(FRUHYBOLG); + quest:SetENpc(VANNES, (not data:GetFlag(FLAG_TALKED_VANNES) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(JEGER, (not data:GetFlag(FLAG_TALKED_JEGER) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(LETTICE, (not data:GetFlag(FLAG_TALKED_LETTICE) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(ZOENGTERBIN, (not data:GetFlag(FLAG_TALKED_ZOENGTERBIN) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(THIMM, (not data:GetFlag(FLAG_TALKED_THIMM) and QFLAG_PLATE or QFLAG_NONE)); + elseif (sequence == SEQ_001) then + quest:SetENpc(FRUHYBOLG, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + local incCounter = false; + + -- Offer the quest + if (npcClassId == FRUHYBOLG and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventFhruybolgStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + local data = quest:GetData(); + if (seq == SEQ_000) then + if (npcClassId == FRUHYBOLG) then + callClientFunction(player, "delegateEvent", player, quest, "processEventOffersAfter"); + elseif (npcClassId == VANNES) then + if (not data:GetFlag(FLAG_TALKED_VANNES)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_V"); + data:SetFlag(FLAG_TALKED_VANNES); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_V_2"); + end + elseif (npcClassId == JEGER) then + if (not data:GetFlag(FLAG_TALKED_JEGER)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_J"); + data:SetFlag(FLAG_TALKED_JEGER); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_J_2"); + end + elseif (npcClassId == LETTICE) then + if (not data:GetFlag(FLAG_TALKED_LETTICE)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_L"); + data:SetFlag(FLAG_TALKED_LETTICE); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_L_2"); + end + elseif (npcClassId == ZOENGTERBIN) then + if (not data:GetFlag(FLAG_TALKED_ZOENGTERBIN)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_Z"); + data:SetFlag(FLAG_TALKED_ZOENGTERBIN); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_Z_2"); + end + elseif (npcClassId == THIMM) then + if (not data:GetFlag(FLAG_TALKED_THIMM)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_T"); + data:SetFlag(FLAG_TALKED_THIMM); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_T_2"); + end + end + + -- Increase objective counter & play relevant messages + if (incCounter == true) then + local counterAmount = data:IncCounter(COUNTER_TALKED); + + attentionMessage(player, 51062, 0, counterAmount, 5); -- You have passed on word of the rite. (... of 5) + + if (seq000_checkCondition(data)) then -- All people spoken to + attentionMessage(player, 25225, quest:GetQuestId()); -- "A Call to Arms" objectives complete! + quest:UpdateENPCs(); -- Band-aid for a QFLAG_PLATE issue + quest:StartSequence(SEQ_001); + end + end + + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == FRUHYBOLG) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + quest:UpdateENPCs(); + player:EndEvent(); +end + + +-- Check if all people are talked to +function seq000_checkCondition(data) + return (data:GetFlag(FLAG_TALKED_VANNES) and + data:GetFlag(FLAG_TALKED_JEGER) and + data:GetFlag(FLAG_TALKED_LETTICE) and + data:GetFlag(FLAG_TALKED_ZOENGTERBIN) and + data:GetFlag(FLAG_TALKED_THIMM)); +end + + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + local data = quest:GetData(); + local possibleMarkers = {}; + + if (sequence == SEQ_000) then + if (not data:GetFlag(FLAG_TALKED_VANNES)) then table.insert(possibleMarkers, MRKR_VANNES); end + if (not data:GetFlag(FLAG_TALKED_JEGER)) then table.insert(possibleMarkers, MRKR_JEGER); end + if (not data:GetFlag(FLAG_TALKED_LETTICE)) then table.insert(possibleMarkers, MRKR_LETTICE); end + if (not data:GetFlag(FLAG_TALKED_ZOENGTERBIN)) then table.insert(possibleMarkers, MRKR_ZOENGTERBIN); end + if (not data:GetFlag(FLAG_TALKED_THIMM)) then table.insert(possibleMarkers, MRKR_THIMM); end + elseif (sequence == SEQ_001) then + table.insert(possibleMarkers, MRKR_FRUHYBOLG); + end + + return unpack(possibleMarkers) +end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc5g0.lua b/Data/scripts/quests/etc/etc5g0.lua index 08893374..5ab4d179 100644 --- a/Data/scripts/quests/etc/etc5g0.lua +++ b/Data/scripts/quests/etc/etc5g0.lua @@ -13,8 +13,8 @@ Notes: Rewards 200 gil ]] -- Sequence Numbers -SEQ_000 = 0; -- Talk to Pfarahr -SEQ_001 = 1; -- Return to V'korolon +SEQ_000 = 0; -- Talk to Pfarahr. +SEQ_001 = 1; -- Return to V'korolon. -- Actor Class Ids VKOROLON = 1000458; @@ -27,10 +27,7 @@ ITEM_WELL_WORN_BAG = 11000224; MRKR_PFARAHR = 11082001; MRKR_VKOROLON = 11082002; - - function onStart(player, quest) - -- processEventVKOROLONStart -- No means of properly accepting quests yet quest:StartSequence(SEQ_000); player:SendGameMessage(GetWorldMaster(), 25246, MESSAGE_TYPE_SYSTEM, ITEM_WELL_WORN_BAG, 1); end @@ -38,9 +35,11 @@ end function onFinish(player, quest) end - - function onStateChange(player, quest, sequence) + if (sequence == SEQ_ACCEPT) then + quest:SetENpc(VKOROLON, QFLAG_PLATE); + end + if (sequence == SEQ_000) then quest:SetENpc(VKOROLON); quest:SetENpc(PFARAHR, QFLAG_PLATE); @@ -54,20 +53,26 @@ function onTalk(player, quest, npc) local sequence = quest:getSequence(); local classId = npc:GetActorClassId(); - if (sequence == SEQ_000) then + if (sequence == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventVKOROLONStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + elseif (sequence == SEQ_000) then if (classId == VKOROLON) then callClientFunction(player, "delegateEvent", player, quest, "processEvent_000_1"); elseif (classId == PFARAHR) then callClientFunction(player, "delegateEvent", player, quest, "processEvent_010"); quest:StartSequence(SEQ_001); - quest:DoComplete(); -- Need ref since it feels out of place. Just placing it here since original script had it. end elseif (sequence == SEQ_001) then if (classId == VKOROLON) then callClientFunction(player, "delegateEvent", player, quest, "processEvent_020"); - --callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1); -- Reward window, shouldn't be handled by quest script - player:CompleteQuest(quest:GetQuestId()); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1) + player:CompleteQuest(quest); elseif (classId == PFARAHR) then callClientFunction(player, "delegateEvent", player, quest, "processEvent_010_1"); end @@ -76,27 +81,21 @@ function onTalk(player, quest, npc) quest:UpdateENPCs(); end - function getJournalInformation(player, quest) - local sequence = quest:getSequence(); - + local sequence = quest:getSequence(); if (sequence == SEQ_000) then return ITEM_WELL_WORN_BAG; end end - function getJournalMapMarkerList(player, quest) local sequence = quest:getSequence(); - local possibleMarkers = {}; if (sequence == SEQ_000) then - table.insert(possibleMarkers, MRKR_PFARAHR); + return MRKR_PFARAHR; elseif (sequence == SEQ_001) then - table.insert(possibleMarkers, MRKR_VKOROLON); - end - - return unpack(possibleMarkers) + return MRKR_VKOROLON; + end end diff --git a/Data/scripts/quests/man/man0g0.lua b/Data/scripts/quests/man/man0g0.lua index fd80f4c2..84f44ebc 100644 --- a/Data/scripts/quests/man/man0g0.lua +++ b/Data/scripts/quests/man/man0g0.lua @@ -10,49 +10,27 @@ Id: 110005 Prereq: None (Given on chara creation) Notes: - +Using PrivateAreaMasterPast Type 1 ]] ---[[ - SEQS - [@IF($E4($E8(1),0),  - [@SHEET(xtx/journalxtxFst,177,1)] - ,)] - [@IF($E4($E8(1),5),  - [@SHEET(xtx/journalxtxFst,178,1)] - ,)] - [@IF($E4($E8(1),10),  - [@SHEET(xtx/journalxtxFst,179,1)] - ,)] - - - qItem - [@IF($E0($E8(1),10), - [@SHEET(xtx/itemName,11000088,5)][@CR] - ,)] ---]] - - - -- Sequence Numbers SEQ_000 = 0; -- Intro with Yda & Papalymo SEQ_005 = 5; -- Combat tutorial SEQ_010 = 10; -- Gridania section -- Actor Class Ids -YDA = 1000009; -PAPALYMO = 1000010; +YDA = 1000009; +PAPALYMO = 1000010; -FARRIMOND = 1000017; -CECILIA = 1000683; -SWETHYNA = 1000680; -TKEBBE = 1000876; -LONSYGG = 1000951; -GUILD_ENTRANCE = 1099046; -BLOCKER1 = 1099047; +FARRIMOND = 1000017; +CECILIA = 1000683; +SWETHYNA = 1000680; +TKEBBE = 1000876; +LONSYGG = 1000951; +PUSH_ADV_GUILD = 1099046; +BLOCKER1 = 1099047; -- Non-interactive NPCs - GUILD_ANENE = 1000427; GUILD_SYLBERT = 1000428; -- No source GUILD_HONGA_VUNGA = 1000429; @@ -70,27 +48,18 @@ GUILD_EMONI = 1001183; GUILD_GYLES = 1001184; GUILD_PENELOPE = 1700001; -- No source - - - --- PrivateAreaMasterPast 1 - -- Quest Markers -MRKR_LONSYGG = 11000501; -- Obsolete. Pre-1.19 location for this npc -MRKR_YDA = 11000502; -MRKR_PAPALYMO = 11000503; -MRKR_GUILD = 11000504; +MRKR_LONSYGG = 11000501; -- Obsolete. Pre-1.19 location for this npc +MRKR_YDA = 11000502; +MRKR_PAPALYMO = 11000503; +MRKR_GUILD = 11000504; -- Quest Flags -FLAG_SEQ000_MINITUT0 = 0; -- Talked to YDA -FLAG_SEQ000_MINITUT1 = 1; -- Talked to PAPALYMO -FLAG_SEQ000_MINITUT2 = 2; -- Talked to YDA again - +FLAG_SEQ000_MINITUT0 = 0; -- Talked to Yda. +FLAG_SEQ000_MINITUT1 = 1; -- Talked to Papalymo. +FLAG_SEQ000_MINITUT2 = 2; -- Talked to Yda again. FLAG_SEQ010_TKEBBE = 0; -- Talked to T'kebbe (optional) - - - --[[ processEvent000_0 processEvent000_1 @@ -122,9 +91,6 @@ processTtrBtl004 processInformDialogAsQuest --]] - - - function onStart(player, quest) quest:StartSequence(SEQ_000); end @@ -133,7 +99,6 @@ function onFinish(player, quest) end function onStateChange(player, quest, sequence) - if (sequence == SEQ_000) then -- Setup states incase we loaded in. local data = quest:GetData(); @@ -172,7 +137,6 @@ function onStateChange(player, quest, sequence) end end - function onTalk(player, quest, npc) local sequence = quest:getSequence(); local classId = npc:GetActorClassId(); @@ -185,8 +149,6 @@ function onTalk(player, quest, npc) quest:UpdateENPCs(); end - - function onPush(player, quest, npc) local sequence = quest:getSequence(); local classId = npc:GetActorClassId(); @@ -263,7 +225,6 @@ function seq010_onTalk(player, quest, npc, classId) player:EndEvent(); end - function getJournalMapMarkerList(player, quest) local sequence = quest:getSequence(); local possibleMarkers = {}; @@ -286,9 +247,6 @@ function getJournalMapMarkerList(player, quest) return unpack(possibleMarkers) end - - - function doContentArea(player, quest, npc) quest:GetData():ClearData(); quest:StartSequence(SEQ_005); diff --git a/Data/scripts/quests/man/man0g1.lua b/Data/scripts/quests/man/man0g1.lua index 315b3185..eeb5c0e4 100644 --- a/Data/scripts/quests/man/man0g1.lua +++ b/Data/scripts/quests/man/man0g1.lua @@ -1,5 +1,5 @@ require("global"); - +require("tutorial"); --[[ Quest Script @@ -17,6 +17,7 @@ Notes: -- Sequence Numbers SEQ_000 = 0; +SEQ_003 = 3; -- Actor Class Ids @@ -28,7 +29,8 @@ MOROSE_MERCHANT = 1001058; NARROW_EYED_ADVENTURER = 1001059; BEAMING_ADVENTURER = 1001062; WELL_BUNDLED_ADVENTURER = 1001060; -UNCONCERNED_PASSERBY = 1001648; -- I don't think this was used? +UNCONCERNED_PASSERBY = 1001648; +--BLOCKER = ; -- Quest Markers MRKR_MIOUNNE = 11000601; @@ -77,11 +79,11 @@ function onTalk(player, quest, npc) local sequence = quest:getSequence(); local classId = npc:GetActorClassId(); - if (sequence == SEQ_000) then + --if (sequence == SEQ_000) then seq000_onTalk(player, quest, npc, classId); - elseif (sequence == SEQ_005) then - seq005_onTalk(player, quest, npc, classId); - end + -- elseif (sequence == SEQ_005) then + -- seq005_onTalk(player, quest, npc, classId); + -- end quest:UpdateENPCs(); end @@ -100,21 +102,49 @@ end function onNotice(player, quest, target) - callClientFunction(player, "delegateEvent", player, quest, "processEvent000_1"); -- Describes what an Instance is player:EndEvent(); - quest:UpdateENPCs(); + player:SendMessage(0x20, "", "Test"); + callClientFunction(player, "delegateEvent", player, quest, "processEventTu_001"); + player:EndEvent(); +end + + +-- Copy-pasted from man0l1 for now, fix later +function onNpcLS(player, quest, npcLSId) + local sequence = quest:getSequence(); + + if (npcLSId == 1) then + player:SetNpcLS(1, 1); + player:SendGameMessageLocalizedDisplayName(quest, 330, 39, 1300018, nil); + showTutorialSuccessWidget(player, 9080); + wait(3); + closeTutorialWidget(player); + endTutorialMode(player); + + end end function seq000_onTalk(player, quest, npc, classId) - if (classId == MOMODI) then - callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + if (classId == MIOUNNE) then + + callClientFunction(player, "delegateEvent", player, quest, "processEvent100_1"); player:EndEvent(); - quest:StartSequence(SEQ_005); - GetWorldManager():DoZoneChange(player, 175, nil, 0, 15, player.positionX, player.positionY, player.positionZ, player.rotation); - return; + quest:StartSequence(SEQ_003); + + + local director = GetWorldManager():GetArea(155):CreateDirector("AfterQuestWarpDirector", false); + director:StartDirector(true); + player:AddDirector(director); + --player:SetLoginDirector(director); + player:KickEvent(director, "noticeEvent", true); + + quest:UpdateENPCs(); + --GetWorldManager():WarpToPublicArea(player); + GetWorldManager():DoZoneChange(player, 155, nil, 0, 15, player.positionX, player.positionY, player.positionZ, player.rotation); + elseif (classId == BEAMING_ADVENTURER) then callClientFunction (player, "delegateEvent", player, quest, "processEvent100_6"); elseif (classId == AMIABLE_ADVENTURER) then @@ -126,16 +156,11 @@ function seq000_onTalk(player, quest, npc, classId) elseif (classId == UNCONCERNED_PASSERBY) then callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml001"); --"processEvent100_9"); elseif (classId == VKOROLON) then - callClientFunction(player, "delegateEvent", player, quest, "defaultTalkWithVkorolon_001"); + callClientFunction(player, "delegateEvent", player, GetStaticActor("DftWil"), "defaultTalkWithVkorolon_001"); elseif (classId == WELL_BUNDLED_ADVENTURER) then callClientFunction(player, "delegateEvent", player, quest, "processEvent100_4"); elseif (classId == WISPILY_WHISKERED_WOODWORKER) then callClientFunction(player, "delegateEvent", player, quest, "processEvent100_8"); - elseif (classId == MIOUNNE) then - callClientFunction(player, "delegateEvent", player, quest, "processEvent110"); - player:EndEvent(); - quest:StartSequence(SEQ_005); - GetWorldManager():DoZoneChange(player, 155, nil, 0, 15, player.positionX, player.positionY, player.positionZ, player.rotation); end player:EndEvent(); diff --git a/Data/scripts/quests/man/man0l1.lua b/Data/scripts/quests/man/man0l1.lua index 4c32e5b2..4e43fb27 100644 --- a/Data/scripts/quests/man/man0l1.lua +++ b/Data/scripts/quests/man/man0l1.lua @@ -26,13 +26,14 @@ SEQ_055 = 55; -- Search lighthouse for corpse SEQ_060 = 60; -- Talk to Sisipu SEQ_065 = 65; -- Return to FSH Guild SEQ_070 = 70; -- Contact Baderon on LS -SEQ_075 = 75; -- Go to the ARM and BSM Guilds. +SEQ_075 = 75; -- Go to the ARM and BSM Guilds. Talk to Bodenolf. SEQ_080 = 80; -- Speak with H'naanza SEQ_085 = 85; -- Speak with Bodenolf SEQ_090 = 90; -- Contact Baderon on LS SEQ_092 = 92; -- Return to Baderon. -- Actor Class Ids +-- Echo in Adv Guild YSHTOLA = 1000001; CRAPULOUS_ADVENTURER = 1000075; DUPLICITOUS_TRADER = 1000076; @@ -46,13 +47,16 @@ COCKAHOOP_COCKSWAIN = 1001643; SENTENIOUS_SELLSWORD = 1001649; SOLICITOUS_SELLSWORD = 1001650; +-- Sequence 003 BEARDEDROCK_AETHERYTE = 1280002; +-- Sequence 007 CHARLYS = 1000138; ISANDOREL = 1000152; MERLZIRN = 1000472; MSK_TRIGGER = 1090001; +-- Echo in Mrd Guild NERVOUS_BARRACUDA = 1000096; INTIMIDATING_BARRACUDA = 1000097; OVEREAGER_BARRACUDA = 1000107; @@ -65,12 +69,36 @@ ADVENTURER2 = 1000870; ADVENTURER3 = 1000871; ECHO_EXIT_TRIGGER = 1090003; +-- Fsh Guild +NNMULIKA = 1000153; +SISIPU_EMOTE = 1000155; +ZEPHYR_TRIGGER = 1090004; + +-- Sequence 055, 060, 065 +SISIPU = 1000156; +WINDWORN_CORPSE = 1000091; +GLASSYEYED_CORPSE = 1000092; +FEARSTRICKEN_CORPSE = 1000378; +FSH_TRIGGER = 1090006; + +-- Echo in the Bsm Guild +TATTOOED_PIRATE = 1000111; +IOFA = 1000135; +BODENOLF = 1000144; +HNAANZA = 1000145; +MIMIDOA = 1000176; +JOELLAUT = 1000163; +WERNER = 1000247; +HIHINE = 1000267; +TRINNE = 1000268; +ECHO_EXIT_TRIGGER2 = 1090001; + -- Quest Markers -MRKR_HOB = 11000202; -- Quest Data CNTR_SEQ7_CUL = 1; CNTR_SEQ7_MRD = 2; +CNTR_SEQ40_FSH = 3; function onStart(player, quest) quest:StartSequence(SEQ_000); @@ -140,6 +168,48 @@ function onStateChange(player, quest, sequence) if (subseqCUL == 1 and subseqMRD == 4) then player:SetNpcLS(1, 1); end + elseif (sequence == SEQ_035) then + quest:SetENpc(NNMULIKA, QFLAG_PLATE); + elseif (sequence == SEQ_040) then + quest:SetENpc(SISIPU_EMOTE, QFLAG_PLATE, true, false, true); + quest:SetENpc(NNMULIKA); + elseif (sequence == SEQ_048) then + quest:SetENpc(BADERON); + quest:SetENpc(ZEPHYR_TRIGGER, QFLAG_MAP, false, true); + quest:SetENpc(NNMULIKA); + elseif (sequence == SEQ_055) then + quest:SetENpc(WINDWORN_CORPSE, QFLAG_PLATE); + quest:SetENpc(GLASSYEYED_CORPSE); + quest:SetENpc(FEARSTRICKEN_CORPSE); + quest:SetENpc(SISIPU); + elseif (sequence == SEQ_060) then + quest:SetENpc(SISIPU, QFLAG_PLATE); + quest:SetENpc(WINDWORN_CORPSE); + quest:SetENpc(GLASSYEYED_CORPSE); + quest:SetENpc(FEARSTRICKEN_CORPSE); + elseif (sequence == SEQ_065) then + quest:SetENpc(FSH_TRIGGER, QFLAG_MAP, false, true); + elseif (sequence == SEQ_075) then + quest:SetENpc(BODENOLF, QFLAG_PLATE); + elseif (sequence == SEQ_080) then + quest:SetENpc(HNAANZA, QFLAG_PLATE); + quest:SetENpc(TATTOOED_PIRATE); + quest:SetENpc(IOFA); + quest:SetENpc(BODENOLF); + quest:SetENpc(MIMIDOA); + quest:SetENpc(JOELLAUT); + quest:SetENpc(WERNER); + quest:SetENpc(HIHINE); + quest:SetENpc(TRINNE); + elseif (sequence == SEQ_085) then + quest:SetENpc(HNAANZA); + quest:SetENpc(TATTOOED_PIRATE); + quest:SetENpc(WERNER); + quest:SetENpc(HIHINE); + quest:SetENpc(TRINNE); + quest:SetENpc(ECHO_EXIT_TRIGGER2, QFLAG_MAP, false, true); + elseif (sequence == SEQ_092) then + quest:SetENpc(BADERON, QFLAG_REWARD); end end @@ -158,25 +228,124 @@ function onTalk(player, quest, npc) elseif (sequence == SEQ_005) then if (classId == BADERON) then callClientFunction(player, "delegateEvent", player, quest, "processEvent026"); - quest:StartSequence(SEQ_006); player:EndEvent(); + quest:StartSequence(SEQ_006); end elseif (sequence == SEQ_006) then if (classId == BADERON) then callClientFunction(player, "delegateEvent", player, quest, "processEvent027"); - quest:StartSequence(SEQ_007); player:EndEvent(); + player:SendGameMessage(GetWorldMaster(), 25117, 0x20, 11000125); -- You obtain Baderon's Recommendation + quest:StartSequence(SEQ_007); end elseif (sequence == SEQ_007) then seq007_onTalk(player, quest, npc, classId); + elseif (sequence == SEQ_035) then + if (classId == NNMULIKA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent600"); + quest:StartSequence(SEQ_040); + player:EndEvent(); + GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 5); + end + elseif (sequence == SEQ_040) then + if (classId == SISIPU_EMOTE) then + local emoteTestStep = quest:GetData():GetCounter(CNTR_SEQ40_FSH); + if (emoteTestStep == 0 or emoteTestStep == 1) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_1"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + if (emoteTestStep == 0) then + quest:GetData():IncCounter(CNTR_SEQ40_FSH); + end + elseif (emoteTestStep == 2) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_2"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + elseif (emoteTestStep == 3) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_3"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + elseif (emoteTestStep == 4) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_4"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + elseif (emoteTestStep == 5) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_5"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + elseif (emoteTestStep == 6) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_6"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + end + elseif (classId == NNMULIKA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent600_2"); + end + player:EndEvent(); + elseif (sequence == SEQ_048) then + if (classId == BADERON) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent602_3"); + elseif (classId == NNMULIKA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent602_2"); + end + player:EndEvent(); + elseif (sequence == SEQ_055 or sequence == SEQ_060) then + if (classId == SISIPU) then + if (sequence == SEQ_060) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent615"); + quest:StartSequence(SEQ_065); + player:EndEvent(); + GetWorldManager():WarpToPublicArea(player, -42.0, 37.678, 155.694, -1.25); + return; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent605_2"); + end + elseif (classId == WINDWORN_CORPSE) then + if (sequence == SEQ_055) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent610"); + quest:StartSequence(SEQ_060); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent610_2"); + end + elseif (classId == FEARSTRICKEN_CORPSE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent610_2"); + elseif (classId == GLASSYEYED_CORPSE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent610_2"); + end + player:EndEvent(); + elseif (sequence == SEQ_070) then + if (classId == BADERON) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent615_2"); + end + player:EndEvent(); + elseif (sequence == SEQ_075) then + if (classId == BODENOLF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630"); + player:EndEvent(); + quest:StartSequence(SEQ_080); + GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 4, -504.985, 42.490, 433.712, 2.35); + end + elseif (sequence == SEQ_080) then + if (classId == HNAANZA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent632"); + player:EndEvent(); + quest:StartSequence(SEQ_085); + else + seq080_085_onTalk(player, quest, npc, classId); + end + elseif (sequence == SEQ_085) then + if (classId == HNAANZA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent632_2"); + else + seq080_085_onTalk(player, quest, npc, classId); + end + elseif (sequence == SEQ_092) then + if (classId == BADERON) then + callClientFunction(player, "delegateEvent", player, quest, "processEventComplete"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 300, 1, 1, 2); + player:EndEvent(); + player:CompleteQuest(quest); + return; + end end quest:UpdateENPCs(); end - --- !warp 133 -459.619873 40.0005722 196.370377 PrivateAreaMasterPast 2 - function seq000_onTalk(player, quest, npc, classId) if (classId == CRAPULOUS_ADVENTURER) then callClientFunction(player, "delegateEvent", player, quest, "processEvent010_2"); @@ -279,6 +448,27 @@ function seq007_onTalk(player, quest, npc, classId) player:EndEvent(); end +function seq080_085_onTalk(player, quest, npc, classId) + if (classId == IOFA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_2"); + elseif (classId == TRINNE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_3"); + elseif (classId == HIHINE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_4"); + elseif (classId == MIMIDOA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_5"); + elseif (classId == WERNER) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_6"); + elseif (classId == TATTOOED_PIRATE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_7"); + elseif (classId == JOELLAUT) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_8"); + elseif (classId == BODENOLF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent630_9"); + end + player:EndEvent(); +end + function onPush(player, quest, npc) local data = quest:GetData(); local sequence = quest:getSequence(); @@ -298,9 +488,140 @@ function onPush(player, quest, npc) quest:UpdateENPCs(); GetWorldManager():WarpToPublicArea(player); end + elseif (sequence == SEQ_048) then + if (classId == ZEPHYR_TRIGGER) then + local result = callClientFunction(player, "delegateEvent", player, quest, "contentsJoinAskInBasaClass"); + if (result == 1) then + -- DO ESCORT DUTY HERE + -- startMan0l1Content(player, quest); + -- For now just skip the sequence + quest:StartSequence(SEQ_050); + callClientFunction(player, "delegateEvent", player, quest, "processEvent605"); + player:EndEvent(); + quest:StartSequence(SEQ_055); + GetWorldManager():DoZoneChange(player, 128, "PrivateAreaMasterPast", 2, 15, 137.44, 60.33, 1322.0, -1.60); + return; + end + player:EndEvent(); + end + elseif (sequence == SEQ_065) then + if (classId == FSH_TRIGGER) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent620"); + -- Give 3000 gil + player:EndEvent(); + quest:StartSequence(SEQ_075); + end + elseif (sequence == SEQ_085) then + if (classId == ECHO_EXIT_TRIGGER2) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent635"); + player:EndEvent(); + quest:UpdateENPCs(); + GetWorldManager():WarpToPublicArea(player); + end end end +function onEmote(player, quest, npc, eventName) + local data = quest:GetData(); + local sequence = quest:getSequence(); + local classId = npc:GetActorClassId(); + + -- Play the emote + if (eventName == "emoteDefault1") then -- Bow + player:DoEmote(npc.Id, 5, 21041); + elseif (eventName == "emoteDefault2") then -- Clap + player:DoEmote(npc.Id, 7, 21061); + elseif (eventName == "emoteDefault3") then -- Congratulate + player:DoEmote(npc.Id, 29, 21281); + elseif (eventName == "emoteDefault4") then -- Poke + player:DoEmote(npc.Id, 28, 21271); + elseif (eventName == "emoteDefault5") then -- Joy + player:DoEmote(npc.Id, 18, 21171); + elseif (eventName == "emoteDefault6") then -- Wave + player:DoEmote(npc.Id, 16, 21151); + end + wait(2.5); + + -- Handle the result + if (sequence == SEQ_040) then + if (classId == SISIPU_EMOTE) then + local emoteTestStep = data:GetCounter(CNTR_SEQ40_FSH); + -- Bow + if (emoteTestStep == 1) then + if (eventName == "emoteDefault1") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_7"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_2"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + data:IncCounter(CNTR_SEQ40_FSH); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_1"); + end + -- Clap + elseif (emoteTestStep == 2) then + if (eventName == "emoteDefault2") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_7"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_3"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + data:IncCounter(CNTR_SEQ40_FSH); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_2"); + end + -- Congratulate + elseif (emoteTestStep == 3) then + if (eventName == "emoteDefault3") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_7"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_4"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + data:IncCounter(CNTR_SEQ40_FSH); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_3"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + end + -- Poke + elseif (emoteTestStep == 4) then + if (eventName == "emoteDefault4") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_7"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_5"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + data:IncCounter(CNTR_SEQ40_FSH); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_4"); + end + -- Joy + elseif (emoteTestStep == 5) then + if (eventName == "emoteDefault5") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_7"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_6"); + player:SendGameMessage(GetWorldMaster(), 25083, MESSAGE_TYPE_SYSTEM, 1); + data:IncCounter(CNTR_SEQ40_FSH); + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_5"); + end + -- Wave + elseif (emoteTestStep == 6) then + if (eventName == "emoteDefault6") then + callClientFunction(player, "delegateEvent", player, quest, "processEvent602"); + player:EndEvent(); + GetWorldManager():WarpToPublicArea(player); + quest:StartSequence(SEQ_048); + return; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_8"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent601_6"); + end + end + end + end + + player:EndEvent(); + quest:UpdateENPCs(); +end + function onNotice(player, quest, target) local sequence = quest:getSequence(); @@ -315,9 +636,8 @@ function onNpcLS(player, quest, npcLSId) local sequence = quest:getSequence(); if (npcLSId == 1) then - player:SetNpcLS(1, 1); - - if (sequence == SEQ_003) then + player:SetNpcLS(1, 1); + if (sequence == SEQ_003) then player:SendGameMessageLocalizedDisplayName(quest, 298, 39, 1000015, nil); endTutorialMode(player); elseif (sequence == SEQ_007) then @@ -325,15 +645,39 @@ function onNpcLS(player, quest, npcLSId) player:SendGameMessageLocalizedDisplayName(quest, 81, 39, 1000015, nil); player:SendGameMessageLocalizedDisplayName(quest, 82, 39, 1000015, nil); quest:StartSequence(SEQ_035); + elseif (sequence == SEQ_070) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent625"); + player:EndEvent(); + quest:StartSequence(SEQ_075); + elseif (sequence == SEQ_090) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent637"); + player:EndEvent(); + quest:StartSequence(SEQ_092); end end end +function startMan0l1Content(player, quest) + quest:StartSequence(SEQ_050); + callClientFunction(player, "delegateEvent", player, quest, "processEvent604"); + player:EndEvent(); + + local contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "Man0l101", "SimpleContent30002", "Quest/QuestDirectorMan0l101"); + + if (contentArea == nil) then + return; + end + + local director = contentArea:GetContentDirector(); + player:AddDirector(director); + director:StartDirector(true); + GetWorldManager():DoZoneChangeContent(player, contentArea, -63.25, 33.15, 164.51, 0.8, 16); +end + function getJournalInformation(player, quest) return 0, quest:GetData():GetCounter(CNTR_SEQ7_CUL) * 5, quest:GetData():GetCounter(CNTR_SEQ7_MRD) * 5; end - function getJournalMapMarkerList(player, quest) local sequence = quest:getSequence(); diff --git a/Data/scripts/quests/man/man0u0.lua b/Data/scripts/quests/man/man0u0.lua index 098d766f..acc687c2 100644 --- a/Data/scripts/quests/man/man0u0.lua +++ b/Data/scripts/quests/man/man0u0.lua @@ -104,11 +104,15 @@ function onFinish(player, quest) end function onStateChange(player, quest, sequence) + local data = quest:GetData(); if (sequence == SEQ_000) then -- Setup states incase we loaded in. +<<<<<<< HEAD local data = quest:GetData(); +======= +>>>>>>> origin/ioncannon/quest_system local asciliaCanPush = not data:GetFlag(FLAG_SEQ000_MINITUT0); local asciliaFlag = data:GetFlag(FLAG_SEQ000_MINITUT1) and QFLAG_NONE or QFLAG_PLATE; local fretfulfarmhandFlag = data:GetFlag(FLAG_SEQ000_MINITUT2) and QFLAG_NONE or QFLAG_PLATE; @@ -137,7 +141,10 @@ function onStateChange(player, quest, sequence) quest:SetENpc(OPENING_STOPER_ULDAH, QFLAG_NONE, false, false, true); elseif (sequence == SEQ_010) then +<<<<<<< HEAD local data = quest:GetData(); +======= +>>>>>>> origin/ioncannon/quest_system local yayatokiFlag = data:GetFlag(FLAG_SEQ010_TALK0) and QFLAG_NONE or QFLAG_PLATE; local uldahopeningexitFlag = QFLAG_MAP; quest:SetENpc(KEEN_EYED_MERCHANT); @@ -166,10 +173,14 @@ function onTalk(player, quest, npc) end function onPush(player, quest, npc) - local sequence = quest:getSequence(); local classId = npc:GetActorClassId(); +<<<<<<< HEAD local data = quest:GetData(); +======= + local data = quest:GetData(); + +>>>>>>> origin/ioncannon/quest_system if (sequence == SEQ_000) then if (classId == ASCILIA) then callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal002"); @@ -211,6 +222,7 @@ function onNotice(player, quest, target) end function seq000_onTalk(player, quest, npc, classId) +<<<<<<< HEAD local data = quest:GetData(); if (classId == ASCILIA) then @@ -220,6 +232,17 @@ function seq000_onTalk(player, quest, npc, classId) else callClientFunction(player, "delegateEvent", player, quest, "processTtrMini001"); data:SetFlag(FLAG_SEQ000_MINITUT1); -- Ascilia has now been talked to. +======= + local data = quest:GetData(); + + if (classId == ASCILIA) then + if (not data:GetFlag(FLAG_SEQ000_MINITUT0)) then -- If Talk tutorial + callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal003"); + quest:GetData():SetFlag(FLAG_SEQ000_MINITUT0); -- Used to disable her PushEvent / Allow for her next TalkEvent + else + callClientFunction(player, "delegateEvent", player, quest, "processTtrMini001"); + quest:GetData():SetFlag(FLAG_SEQ000_MINITUT1); -- Ascilia has now been talked to. +>>>>>>> origin/ioncannon/quest_system end elseif (classId == FRETFUL_FARMHAND) then @@ -260,7 +283,10 @@ function seq000_onTalk(player, quest, npc, classId) end function seq010_onTalk(player, quest, npc, classId) +<<<<<<< HEAD local data = quest:GetData(); +======= +>>>>>>> origin/ioncannon/quest_system if (classId == KEEN_EYED_MERCHANT) then callClientFunction(player, "delegateEvent", player, quest, "processEvent020_2"); elseif (classId == HIGH_SPIRITED_FELLOW) then @@ -276,9 +302,15 @@ function seq010_onTalk(player, quest, npc, classId) elseif (classId == FULL_LIPPED_FILLE) then callClientFunction(player, "delegateEvent", player, quest, "processEtc002"); elseif (classId == YAYATOKI) then +<<<<<<< HEAD if (not data:GetFlag(FLAG_SEQ010_TALK0)) then callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8"); data:SetFlag(FLAG_SEQ010_TALK0); +======= + if (not quest:GetData():GetFlag(FLAG_SEQ010_TALK0)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8"); + quest:GetData():SetFlag(FLAG_SEQ010_TALK0); +>>>>>>> origin/ioncannon/quest_system else callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8"); end @@ -289,11 +321,15 @@ end function getJournalMapMarkerList(player, quest) local sequence = quest:getSequence(); + local data = quest:GetData(); local possibleMarkers = {}; local data = quest:GetData(); if (sequence == SEQ_000) then +<<<<<<< HEAD +======= +>>>>>>> origin/ioncannon/quest_system if (data:GetFlag(FLAG_SEQ000_MINITUT0)) then if (not data:GetFlag(FLAG_SEQ000_MINITUT1)) then table.insert(possibleMarkers, MRKR_ASCILIA); end if (not data:GetFlag(FLAG_SEQ000_MINITUT2)) then table.insert(possibleMarkers, MRKR_FRETFUL_FARMHAND); end @@ -313,7 +349,11 @@ end +<<<<<<< HEAD function doExitTrigger(player, quest, npc) +======= +function doExitTrigger(player, quest, npc) +>>>>>>> origin/ioncannon/quest_system quest:GetData():ClearData(); quest:StartSequence(SEQ_005); contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0u01", "SimpleContent30079", "Quest/QuestDirectorMan0u001"); diff --git a/Data/scripts/quests/man/man0u1.lua b/Data/scripts/quests/man/man0u1.lua index 6fc8a6ad..efa2f7aa 100644 --- a/Data/scripts/quests/man/man0u1.lua +++ b/Data/scripts/quests/man/man0u1.lua @@ -59,8 +59,6 @@ Phase: --]] - - -- Sequence Numbers SEQ_000 = 0; -- Ul'dah Adventurer's Guild SEQ_005 = 5; -- Run to Camp Black Brush & Attune @@ -83,7 +81,6 @@ SEQ_100 = 100; SEQ_105 = 105; SEQ_110 = 110; - -- Actor Class Ids OVERCOMPETITIVE_ADVENTURER = 1000807; MOMODI = 1000841; @@ -93,8 +90,6 @@ GREEDY_MERCHANT = 1000937; LIONHEARTED_ADVENTURER = 1000938; SPRY_SALESMAN = 1000939; - - UPBEAT_ADVENTURER = 1000940; SEEMINGLY_CALM_ADVENTURER = 1000941; UNKNOWN1 = 0; diff --git a/Data/scripts/quests/pgl/pgl200.lua b/Data/scripts/quests/pgl/pgl200.lua new file mode 100644 index 00000000..07254c7a --- /dev/null +++ b/Data/scripts/quests/pgl/pgl200.lua @@ -0,0 +1,301 @@ +require ("global") + +--[[ + +Quest Script + +Name: The House Always Wins +Code: Pgl200 +Id: 110060 +Prereq: Level 20, Pugilist + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Titinin. +SEQ_005 = 5; -- Head to the GSM guild and talk to Esperaunce 3 times. +SEQ_010 = 10; -- Warp into a duty; pickup coins. +SEQ_015 = 15; -- Head to the ADV guild and talk to the Wise Miser. Journal Data 3: Set to 1 if talked to Titinin. +SEQ_025 = 25; -- Head to the PGL guild entrence and talk to Lady Lewena. Journal Data 4: Set to 1 if talked to Titinin. +SEQ_030 = 30; -- Head to GLA guild and warp into the duty and fight. Journal Data 5: Set to 1 once you win the fight. +SEQ_035 = 35; -- Return to Titinin. + +-- Actor Class Ids +ENPC_GAGARUNA = 1000862; +ENPC_TITININ = 1000934; +ENPC_NAIDA_ZAMAIDA = 1000955; +ENPC_SINGLETON = 1001445; +ENPC_TRIGGER_GSM = 1090058; +ENPC_TRIGGER_PGL = 1090042; +ENPC_PRIVAREA_EXIT = 1290002; + +-- PGL Actors +ENPC_MELISIE = 1001009; +ENPC_GUNNULF = 1001256; +ENPC_SHAMANI = 1001012; +ENPC_HALSTEIN = 1001007; +ENPC_HEIBERT = 1001257; +ENPC_IPAGHLO = 1001260; + +-- GSM Actors +ENPC_SULTRY_STRUMPET = 1000952; +ENPC_BEAUTEOUS_BEAUTY = 1000953; +ENPC_ESPERAUNCE = 1000954; + +-- Quest Markers +MRKR_TITININ = 11006001; +MRKR_OBJECTIVE = 11006002; +MRKR_ESPERAUNCE1 = 11006003; +MRKR_ESPERAUNCE2 = 11006004; +MRKR_NAIDA_ZAMADIA = 11006005; +MRKR_OBJECTIVE2 = 11006006; +MRKR_SINGLETON = 11006007; +MRKR_TITININ2 = 11006008; + +-- Quest Details +ITEM_PLATINUM_LEDGER = 11000134; +ITEM_KINGOFPLOTS_GIL = 11000097; +ITEM_WISEMISER_GIL = 11000098; +ITEM_LEWENA_GIL = 11000099; +COUNTER_005 = 0; +COUNTER_015 = 1; +COUNTER_025 = 2; +COUNTER_030 = 3; + +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(ENPC_GAGARUNA, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_TITININ, QFLAG_PLATE); + quest:SetENpc(ENPC_GAGARUNA); + quest:SetENpc(ENPC_MELISIE); + quest:SetENpc(ENPC_GUNNULF); + quest:SetENpc(ENPC_SHAMANI); + quest:SetENpc(ENPC_HALSTEIN); + quest:SetENpc(ENPC_HEIBERT); + quest:SetENpc(ENPC_IPAGHLO); + elseif (sequence == SEQ_005) then + quest:SetENpc(ENPC_TITININ); + quest:SetENpc(ENPC_GAGARUNA); + quest:SetENpc(ENPC_SULTRY_STRUMPET); + quest:SetENpc(ENPC_BEAUTEOUS_BEAUTY); + quest:SetENpc(ENPC_ESPERAUNCE, QFLAG_PLATE); + quest:SetENpc(ENPC_TRIGGER_GSM, QFLAG_NONE, false, true); + quest:SetENpc(ENPC_PRIVAREA_EXIT, QFLAG_NONE, false, true); + elseif (sequence == SEQ_010) then + quest:SetENpc(ENPC_SULTRY_STRUMPET); + quest:SetENpc(ENPC_BEAUTEOUS_BEAUTY); + quest:SetENpc(ENPC_ESPERAUNCE); + elseif (sequence == SEQ_015) then + quest:SetENpc(ENPC_TITININ); + quest:SetENpc(ENPC_NAIDA_ZAMAIDA, QFLAG_PLATE); + quest:SetENpc(ENPC_GAGARUNA); + elseif (sequence == SEQ_025) then + quest:SetENpc(ENPC_TITININ); + quest:SetENpc(ENPC_GAGARUNA); + quest:SetENpc(ENPC_TRIGGER_PGL, QFLAG_MAP, false, true); + elseif (sequence == SEQ_030) then + quest:SetENpc(ENPC_TITININ); + quest:SetENpc(ENPC_GAGARUNA); + quest:SetENpc(ENPC_SINGLETON, QFLAG_PLATE); + elseif (sequence == SEQ_035) then + quest:SetENpc(ENPC_TITININ, QFLAG_REWARD); + quest:SetENpc(ENPC_GAGARUNA); + quest:SetENpc(ENPC_MELISIE); + quest:SetENpc(ENPC_GUNNULF); + quest:SetENpc(ENPC_SHAMANI); + quest:SetENpc(ENPC_HALSTEIN); + quest:SetENpc(ENPC_HEIBERT); + quest:SetENpc(ENPC_IPAGHLO); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + local data = quest:GetData(); + + -- Offer the quest + if (npcClassId == ENPC_GAGARUNA and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventGagarunaStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + player:SendGameMessage(GetWorldMaster(), 25246, MESSAGE_TYPE_SYSTEM, ITEM_PLATINUM_LEDGER, 1); + quest:StartSequence(SEQ_005); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_2"); + elseif (npcClassId == ENPC_IPAGHLO) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_3"); + elseif (npcClassId == ENPC_HALSTEIN) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_4"); + elseif (npcClassId == ENPC_MELISIE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_5"); + elseif (npcClassId == ENPC_HEIBERT) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_6"); + elseif (npcClassId == ENPC_GUNNULF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_7"); + elseif (npcClassId == ENPC_SHAMANI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_8"); + end + elseif (seq == SEQ_005) then + if (npcClassId == ENPC_ESPERAUNCE) then + local talkCount = data:IncCounter(COUNTER_005); + if (talkCount == 1) then + player:SendGameMessage(quest, 117, MESSAGE_TYPE_SYSTEM); + elseif (talkCount == 2) then + player:SendGameMessage(quest, 118, MESSAGE_TYPE_SYSTEM); + elseif (talkCount >= 3) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + quest:StartSequence(SEQ_010); -- Temp until Duty is finished. Should go to a duty here. + end + elseif (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_2"); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_3"); + elseif (npcClassId == ENPC_SULTRY_STRUMPET) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_4"); + elseif (npcClassId == ENPC_BEAUTEOUS_BEAUTY) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_5"); + end + elseif (seq == SEQ_010) then + if (npcClassId == ENPC_ESPERAUNCE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020_2"); + callClientFunction(player, "delegateEvent", player, quest, "processEvent030"); + quest:StartSequence(SEQ_015); -- Temp until Duty is finished. + player:SendGameMessage(GetWorldMaster(), 25246, MESSAGE_TYPE_SYSTEM, ITEM_KINGOFPLOTS_GIL, 1); + player:EndEvent(); + GetWorldManager():WarpToPublicArea(player); + return; + elseif (npcClassId == ENPC_SULTRY_STRUMPET) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020_3"); + elseif (npcClassId == ENPC_BEAUTEOUS_BEAUTY) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020_4"); + end + elseif (seq == SEQ_015) then + if (npcClassId == ENPC_NAIDA_ZAMAIDA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent040"); + quest:StartSequence(SEQ_025); + player:SendGameMessage(GetWorldMaster(), 25246, MESSAGE_TYPE_SYSTEM, ITEM_WISEMISER_GIL, 1); + elseif (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent030_2"); + data:SetCounter(COUNTER_015, 1); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent030_3"); + end + elseif (seq == SEQ_025) then + if (npcClassId == ENPC_PUSH_PGL) then + elseif (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent040_2"); + data:SetCounter(COUNTER_025, 1); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent040_3"); + end + elseif (seq == SEQ_030) then + if (npcClassId == ENPC_SINGLETON) then + local enterDuty = callClientFunction(player, "delegateEvent", player, quest, "processEvent050_4"); + if (enterDuty == 1) then + --Enter duty at this point.... + callClientFunction(player, "delegateEvent", player, quest, "processEvent060"); + data:SetCounter(COUNTER_030, 1); + quest:StartSequence(SEQ_035); -- Temp until Duty is finished. + player:SendGameMessage(GetWorldMaster(), 25246, MESSAGE_TYPE_SYSTEM, ITEM_LEWENA_GIL, 1); + GetWorldManager():DoZoneChange(player, 209, nil, 0, 0x2, -192.0, 194.5, 193.785, 3.0); + end + elseif (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent050_2"); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent050_3"); + end + elseif (seq == SEQ_035) then + if (npcClassId == ENPC_TITININ) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent070"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 2) + player:CompleteQuest(quest); + elseif (npcClassId == ENPC_GAGARUNA) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_2"); + elseif (npcClassId == ENPC_IPAGHLO) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_3"); + elseif (npcClassId == ENPC_HALSTEIN) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_4"); + elseif (npcClassId == ENPC_MELISIE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_5"); + elseif (npcClassId == ENPC_HEIBERT) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_6"); + elseif (npcClassId == ENPC_GUNNULF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_7"); + elseif (npcClassId == ENPC_SHAMANI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent060_8"); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +function onPush(player, quest, npc) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + local data = quest:GetData(); + + if (seq == SEQ_005) then + player:EndEvent(); + if (npcClassId == ENPC_TRIGGER_GSM) then + GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 5); + elseif (npcClassId == ENPC_PRIVAREA_EXIT) then + GetWorldManager():WarpToPublicArea(player); + end + elseif (seq == SEQ_025) then + if (npcClassId == ENPC_TRIGGER_PGL) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent050"); + quest:StartSequence(SEQ_030); + player:EndEvent(); + end + end + +end + +function getJournalInformation(player, quest) + local data = quest:GetData(); + return 0, data:GetCounter(COUNTER_015), data:GetCounter(COUNTER_025), data:GetCounter(COUNTER_030); +end + +function getJournalMapMarkerList(player, quest) + local seq = quest:getSequence(); + local data = quest:GetData(); + + if (seq == SEQ_000) then + return MRKR_TITININ; + elseif (seq == SEQ_005) then + return MRKR_ESPERAUNCE1; + elseif (seq == SEQ_010) then + return MRKR_OBJECTIVE; + elseif (seq == SEQ_015) then + if (data:GetCounter(COUNTER_015) == 1) then + return MRKR_NAIDA_ZAMADIA; + end + elseif (seq == SEQ_025) then + if (data:GetCounter(COUNTER_025) == 1) then + return MRKR_OBJECTIVE2; + end + elseif (seq == SEQ_030) then + return MRKR_SINGLETON; + elseif (seq == SEQ_035) then + return MRKR_TITININ2; + end + + return; +end \ No newline at end of file diff --git a/Data/scripts/quests/wld/wld0g1.lua b/Data/scripts/quests/wld/wld0g1.lua new file mode 100644 index 00000000..c04081af --- /dev/null +++ b/Data/scripts/quests/wld/wld0g1.lua @@ -0,0 +1,101 @@ +require ("global") + +--[[ + +Quest Script + +Name: In the Name of Science +Code: Wld0g1 +Id: 110762 +Prereq: Level 10, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Sabletooth Spriggans. +SEQ_001 = 1; -- Talk to Marcette. + +-- Actor Class Ids +ENPC_MARCETTE = 1001583; +BNPC_SABLETOOTH_SPRIGGAN = 2106214; + +-- Quest Markers +MRKR_MARCETTE = 11120001; +MRKR_SPRIGGAN_AREA = 11120002; + +-- Counters +COUNTER_TEETH = 0; + +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(ENPC_MARCETTE, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_MARCETTE); + quest:SetENpc(BNPC_SABLETOOTH_SPRIGGAN); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_MARCETTE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_MARCETTE and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventAtellouneStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_MARCETTE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_MARCETTE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_SABLETOOTH_SPRIGGAN) then + local counterAmount = quest:GetData():IncCounter(COUNTER_TEETH); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You have passed on word of the rite. (... of 5) + if (counterAmount >= 4) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_TEETH); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_SPRIGGAN_AREA; + elseif (sequence == SEQ_001) then + return MRKR_MARCETTE; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/wld/wld0g2.lua b/Data/scripts/quests/wld/wld0g2.lua new file mode 100644 index 00000000..fbad2186 --- /dev/null +++ b/Data/scripts/quests/wld/wld0g2.lua @@ -0,0 +1,164 @@ +require("global"); + +--[[ + +Quest Script + +Name: Hearing Confession +Code: Wld0g2 +Id: 110763 +Prereq: Level 10 on any class. +Notes: Rewards 200 gil + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to the four lost souls. +SEQ_001 = 1; -- Return to Swaenhylt + +-- Actor Class Ids +SWAENHYLT = 1001582; +FLAVIELLE = 1001459; +KEKETO = 1001346; +CEADDA = 1000330; +THIMM = 1001439; + +-- Quest Markers +MRKR_FLAVIELLE = 11120101; +MRKR_KEKETO = 11120102; +MRKR_CEADDA = 11120103; +MRKR_THIMM = 11120104; +MRKR_SWAENHYLT = 11120105; + +-- Quest Flags +FLAG_TALKED_FLAVIELLE = 0; +FLAG_TALKED_KEKETO = 1; +FLAG_TALKED_CEADDA = 2; +FLAG_TALKED_THIMM = 3; + +-- Quest Counters +COUNTER_TALKED = 0; + +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(SWAENHYLT, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + local data = quest:GetData(); + quest:SetENpc(SWAENHYLT); + quest:SetENpc(FLAVIELLE, (not data:GetFlag(FLAG_TALKED_FLAVIELLE) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(KEKETO, (not data:GetFlag(FLAG_TALKED_KEKETO) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(CEADDA, (not data:GetFlag(FLAG_TALKED_CEADDA) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(THIMM, (not data:GetFlag(FLAG_TALKED_THIMM) and QFLAG_PLATE or QFLAG_NONE)); + elseif (sequence == SEQ_001) then + quest:SetENpc(SWAENHYLT, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc) + local sequence = quest:getSequence(); + local classId = npc:GetActorClassId(); + + if (sequence == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventSwaenhyltStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + elseif (sequence == SEQ_000) then + local incCounter = false; + local data = quest:GetData(); + + if (classId == SWAENHYLT) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2"); + elseif (classId == FLAVIELLE) then + if (not data:GetFlag(FLAG_TALKED_FLAVIELLE)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005"); + data:SetFlag(FLAG_TALKED_FLAVIELLE); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_2"); + end + elseif (classId == KEKETO) then + if (not data:GetFlag(FLAG_TALKED_KEKETO)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + data:SetFlag(FLAG_TALKED_KEKETO); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_2"); + end + elseif (classId == CEADDA) then + if (not data:GetFlag(FLAG_TALKED_CEADDA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent015"); + data:SetFlag(FLAG_TALKED_CEADDA); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent015_2"); + end + elseif (classId == THIMM) then + if (not data:GetFlag(FLAG_TALKED_THIMM)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + data:SetFlag(FLAG_TALKED_THIMM); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent020_2"); + end + end + + -- Increase objective counter & play relevant messages + if (incCounter == true) then + local counterAmount = data:IncCounter(COUNTER_TALKED); + + attentionMessage(player, 51063, 0, counterAmount, 4); -- You have heard a lost soul's confession. (... of 5) + + if (seq000_checkCondition(data)) then -- All lost souls spoken to + attentionMessage(player, 25225, quest:GetQuestId()); -- "Hearing Confessions" objectives complete! + quest:UpdateENPCs(); -- Band-aid for a QFLAG_PLATE issue + quest:StartSequence(SEQ_001); + end + end + elseif (sequence == SEQ_001) then + if (classId == SWAENHYLT) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent025"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + player:EndEvent() + quest:UpdateENPCs(); +end + +-- Check if all souls are talked to +function seq000_checkCondition(data) + return (data:GetFlag(FLAG_TALKED_FLAVIELLE) and + data:GetFlag(FLAG_TALKED_KEKETO) and + data:GetFlag(FLAG_TALKED_CEADDA) and + data:GetFlag(FLAG_TALKED_THIMM)); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + local data = quest:GetData(); + local possibleMarkers = {}; + + if (sequence == SEQ_000) then + if (not data:GetFlag(FLAG_TALKED_FLAVIELLE)) then table.insert(possibleMarkers, MRKR_FLAVIELLE); end + if (not data:GetFlag(FLAG_TALKED_KEKETO)) then table.insert(possibleMarkers, MRKR_KEKETO); end + if (not data:GetFlag(FLAG_TALKED_CEADDA)) then table.insert(possibleMarkers, MRKR_CEADDA); end + if (not data:GetFlag(FLAG_TALKED_THIMM)) then table.insert(possibleMarkers, MRKR_THIMM); end + elseif (sequence == SEQ_001) then + table.insert(possibleMarkers, MRKR_SWAENHYLT); + end + + return unpack(possibleMarkers) +end + + + diff --git a/Data/scripts/quests/wld/wld0g3.lua b/Data/scripts/quests/wld/wld0g3.lua new file mode 100644 index 00000000..e7577ccb --- /dev/null +++ b/Data/scripts/quests/wld/wld0g3.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: A Bitter Oil to Swallow +Code: Wld0g3 +Id: 110764 +Prereq: Level 17, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Oilbugs. +SEQ_001 = 1; -- Talk to Eugenaire. + +-- Actor Class Ids +ENPC_EUGENAIRE = 1001190; +BNPC_OILBUG = 2103910; + +-- Quest Markers +MRKR_EUGENAIRE = 11120201; +MRKR_OILBUG_AREA = 11120202; + +-- Counters +COUNTER_OIL = 0; + +-- Quest Details +OBJECTIVE_OIL = 8; + +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(ENPC_EUGENAIRE, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_EUGENAIRE); + quest:SetENpc(BNPC_OILBUG); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_EUGENAIRE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_EUGENAIRE and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventEugenaireStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_EUGENAIRE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent_000"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_EUGENAIRE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent_010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_OILBUG) then + local counterAmount = quest:GetData():IncCounter(COUNTER_OIL); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_OIL) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_OIL); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_OILBUG_AREA; + elseif (sequence == SEQ_001) then + return MRKR_EUGENAIRE; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/wld/wld0g4.lua b/Data/scripts/quests/wld/wld0g4.lua new file mode 100644 index 00000000..ddf27916 --- /dev/null +++ b/Data/scripts/quests/wld/wld0g4.lua @@ -0,0 +1,104 @@ +require ("global") + +--[[ + +Quest Script + +Name: Spores on the Brain +Code: Wld0g4 +Id: 110765 +Prereq: Level 11, Any Class, Requires "In the Name of Science" + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Kill Mature Funguars. +SEQ_001 = 1; -- Talk to Marcette. + +-- Actor Class Ids +ENPC_MARCETTE = 1001583; +BNPC_MATURE_FUNGUAR = 2105916; + +-- Quest Markers +MRKR_MARCETTE = 11120302; +MRKR_FUNGUAR_AREA = 11120301; + +-- Counters +COUNTER_SPORESAC = 0; + +-- Quest Details +OBJECTIVE_SPORESAC = 8; + +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(ENPC_MARCETTE, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + quest:SetENpc(ENPC_MARCETTE); + quest:SetENpc(BNPC_MATURE_FUNGUAR); + elseif (sequence == SEQ_001) then + quest:SetENpc(ENPC_MARCETTE, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == ENPC_MARCETTE and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventMarcetteStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + -- Quest Progress + elseif (seq == SEQ_000) then + if (npcClassId == ENPC_MARCETTE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2"); + end + --Quest Complete + elseif (seq == SEQ_001) then + if (npcClassId == ENPC_MARCETTE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + + quest:UpdateENPCs(); + player:EndEvent(); +end + +-- TODO FINISH THIS +function onKillBNpc(player, quest, bnpc) + if (bnpc == BNPC_MATURE_FUNGUAR) then + local counterAmount = quest:GetData():IncCounter(COUNTER_SPORESAC); + attentionMessage(player, 51062, 0, counterAmount, 4); -- You obtain + if (counterAmount >= OBJECTIVE_SPORESAC) then + attentionMessage(player, 25225, quest:GetQuestId()); -- Objectives complete! + quest:StartSequence(SEQ_001); + end + end +end + +function getJournalInformation(player, quest) + return quest:GetData():GetCounter(COUNTER_SPORESAC); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + + if (sequence == SEQ_000) then + return MRKR_FUNGUAR_AREA; + elseif (sequence == SEQ_001) then + return MRKR_MARCETTE; + end +end \ No newline at end of file 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 diff --git a/Data/scripts/quests/wld/wld0l2.lua b/Data/scripts/quests/wld/wld0l2.lua new file mode 100644 index 00000000..8d86277c --- /dev/null +++ b/Data/scripts/quests/wld/wld0l2.lua @@ -0,0 +1,164 @@ +require("global"); + +--[[ + +Quest Script + +Name: Letting Out Orion's Belt +Code: Wld0l2 +Id: 110772 +Prereq: Level 10 on any class. +Notes: Rewards 200 gil + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to the four gourmands. +SEQ_001 = 1; -- Return to Ahldskyf. + +-- Actor Class Ids +AHLDSKYF = 1000332; +FZHUMII = 1000226; +SHOSHOMA = 1000334; +DACA_JINJAHL = 1000202; +AENTFOET = 1000064; + +-- Quest Markers +MRKR_FZHUMII = 11110101; +MRKR_SHOSHOMA = 11110102; +MRKR_DACA_JINJAHL = 11110103; +MRKR_AENTFOET = 11110104; +MRKR_AHLDSKYF = 11110105; + +-- Quest Flags +FLAG_TALKED_FZHUMII = 0; +FLAG_TALKED_SHOSHOMA = 1; +FLAG_TALKED_DACA_JINJAHL = 2; +FLAG_TALKED_AENTFOET = 3; + +-- Quest Counters +COUNTER_TALKED = 0; + +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(AHLDSKYF, QFLAG_PLATE); + elseif (sequence == SEQ_000) then + local data = quest:GetData(); + quest:SetENpc(AHLDSKYF); + quest:SetENpc(FZHUMII, (not data:GetFlag(FLAG_TALKED_FZHUMII) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(SHOSHOMA, (not data:GetFlag(FLAG_TALKED_SHOSHOMA) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(DACA_JINJAHL, (not data:GetFlag(FLAG_TALKED_DACA_JINJAHL) and QFLAG_PLATE or QFLAG_NONE)); + quest:SetENpc(AENTFOET, (not data:GetFlag(FLAG_TALKED_AENTFOET) and QFLAG_PLATE or QFLAG_NONE)); + elseif (sequence == SEQ_001) then + quest:SetENpc(AHLDSKYF, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc) + local sequence = quest:getSequence(); + local classId = npc:GetActorClassId(); + + if (sequence == SEQ_ACCEPT and classId == AHLDSKYF) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventAhldskyffStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + elseif (sequence == SEQ_000) then + local incCounter = false; + local data = quest:GetData(); + + if (classId == AHLDSKYF) then + callClientFunction(player, "delegateEvent", player, quest, "processEventAhldskyffStart_1"); + elseif (classId == FZHUMII) then + if (not data:GetFlag(FLAG_TALKED_FZHUMII)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000"); + data:SetFlag(FLAG_TALKED_FZHUMII); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent000_1"); + end + elseif (classId == SHOSHOMA) then + if (not data:GetFlag(FLAG_TALKED_SHOSHOMA)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005"); + data:SetFlag(FLAG_TALKED_SHOSHOMA); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_1"); + end + elseif (classId == DACA_JINJAHL) then + if (not data:GetFlag(FLAG_TALKED_DACA_JINJAHL)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + data:SetFlag(FLAG_TALKED_KEKETO); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent010_1"); + end + elseif (classId == AENTFOET) then + if (not data:GetFlag(FLAG_TALKED_AENTFOET)) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent015"); + data:SetFlag(FLAG_TALKED_AENTFOET); + incCounter = true; + else + callClientFunction(player, "delegateEvent", player, quest, "processEvent015_1"); + end + end + + -- Increase objective counter & play relevant messages + if (incCounter == true) then + local counterAmount = data:IncCounter(COUNTER_TALKED); + + attentionMessage(player, 51063, 0, counterAmount, 4); -- ????. (... of 5) + + if (seq000_checkCondition(data)) then -- All lost souls spoken to + attentionMessage(player, 25225, quest:GetQuestId()); -- "Letting Out Orion's Belt" objectives complete! + quest:UpdateENPCs(); -- Band-aid for a QFLAG_PLATE issue + quest:StartSequence(SEQ_001); + end + end + elseif (sequence == SEQ_001) then + if (classId == AHLDSKYF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + end + end + player:EndEvent() + quest:UpdateENPCs(); +end + +-- Check if all souls are talked to +function seq000_checkCondition(data) + return (data:GetFlag(FLAG_TALKED_FZHUMII) and + data:GetFlag(FLAG_TALKED_SHOSHOMA) and + data:GetFlag(FLAG_TALKED_DACA_JINJAHL) and + data:GetFlag(FLAG_TALKED_AENTFOET)); +end + +function getJournalMapMarkerList(player, quest) + local sequence = quest:getSequence(); + local data = quest:GetData(); + local possibleMarkers = {}; + + if (sequence == SEQ_000) then + if (not data:GetFlag(FLAG_TALKED_FZHUMII)) then table.insert(possibleMarkers, MRKR_FZHUMII); end + if (not data:GetFlag(FLAG_TALKED_SHOSHOMA)) then table.insert(possibleMarkers, MRKR_SHOSHOMA); end + if (not data:GetFlag(FLAG_TALKED_DACA_JINJAHL)) then table.insert(possibleMarkers, MRKR_DACA_JINJAHL); end + if (not data:GetFlag(FLAG_TALKED_AENTFOET)) then table.insert(possibleMarkers, MRKR_AENTFOET); end + elseif (sequence == SEQ_001) then + table.insert(possibleMarkers, MRKR_AHLDSKYF); + end + + return unpack(possibleMarkers) +end + + + diff --git a/Data/scripts/quests/wld/wld0l3.lua b/Data/scripts/quests/wld/wld0l3.lua new file mode 100644 index 00000000..f305f194 --- /dev/null +++ b/Data/scripts/quests/wld/wld0l3.lua @@ -0,0 +1,93 @@ +require ("global") + +--[[ + +Quest Script + +Name: Sniffing Out a Profit +Code: Wld0l3 +Id: 110773 +Prereq: Level 17, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Lolojo. +SEQ_001 = 1; -- Talk to Syzfrusk. + +-- Actor Class Ids +SYZFRUSK = 1001306; +LOLOJO = 1001603; + +-- Quest Markers +MRKR_LOLOJO = 11110201; +MRKR_SYZFRUSK = 11110202; + +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(SYZFRUSK, QFLAG_PLATE); + end + + if (sequence == SEQ_000) then + quest:SetENpc(SYZFRUSK); + quest:SetENpc(LOLOJO, QFLAG_PLATE); + elseif (sequence == SEQ_001) then + quest:SetENpc(LOLOJO); + quest:SetENpc(SYZFRUSK, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == SYZFRUSK and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventOffersStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + if (seq == SEQ_000) then + if (npcClassId == SYZFRUSK) then + callClientFunction(player, "delegateEvent", player, quest, "processEventFree"); + elseif (npcClassId == LOLOJO) then + callClientFunction(player, "delegateEvent", player, quest, "processlolojoEvent"); + quest:StartSequence(SEQ_001); + end + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == SYZFRUSK) then + callClientFunction(player, "delegateEvent", player, quest, "processEventClear"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + elseif (npcClassId == LOLOJO) then + callClientFunction(player, "delegateEvent", player, quest, "processlolojoEventFree"); + 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_LOLOJO; + elseif (sequence == SEQ_001) then + return MRKR_SYZFRUSK; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/wld/wld0l4.lua b/Data/scripts/quests/wld/wld0l4.lua new file mode 100644 index 00000000..9d5a7b94 --- /dev/null +++ b/Data/scripts/quests/wld/wld0l4.lua @@ -0,0 +1,93 @@ +require ("global") + +--[[ + +Quest Script + +Name: Sniffing Out a Profit +Code: Wld0l4 +Id: 110774 +Prereq: Level 37, Any Class, Requires "Letting Out Orion's Belt" + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Ryssfloh. +SEQ_001 = 1; -- Talk to Faine. + +-- Actor Class Ids +AHLDSKYF = 1000332; +FAINE = 1001608; + +-- Quest Markers +MRKR_FAINE = 11110301; +MRKR_AHLDSKYF = 11110302; + +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(AHLDSKYF, QFLAG_PLATE); + end + + if (sequence == SEQ_000) then + quest:SetENpc(AHLDSKYF); + quest:SetENpc(FAINE, QFLAG_PLATE); + elseif (sequence == SEQ_001) then + quest:SetENpc(FAINE); + quest:SetENpc(AHLDSKYF, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == AHLDSKYF and not player:HasQuest(quest)) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventAhldskyffStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + if (seq == SEQ_000) then + if (npcClassId == AHLDSKYF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent000"); + elseif (npcClassId == FAINE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005"); + quest:StartSequence(SEQ_001); + end + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == AHLDSKYF) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + elseif (npcClassId == FAINE) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent005_2"); + 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_FAINE; + elseif (sequence == SEQ_001) then + return MRKR_AHLDSKYF; + end +end \ No newline at end of file diff --git a/Data/scripts/quests/wld/wld0u1.lua b/Data/scripts/quests/wld/wld0u1.lua new file mode 100644 index 00000000..9e78fbfb --- /dev/null +++ b/Data/scripts/quests/wld/wld0u1.lua @@ -0,0 +1,93 @@ +require ("global") + +--[[ + +Quest Script + +Name: Of Archons and Muses +Code: Wld0u1 +Id: 110753 +Prereq: Level 10, Any Class + +]] + +-- Sequence Numbers +SEQ_000 = 0; -- Talk to Lyngwaek. +SEQ_001 = 1; -- Talk to Tyago Moui. + +-- Actor Class Ids +TYAGO_MOUI = 1001203; +LYNGWAEK = 1000647; + +-- Quest Markers +MRKR_LYNGWAEK = 11130001; +MRKR_TYAGO_MOUI = 11130002; + +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(TYAGO_MOUI, QFLAG_PLATE); + end + + if (sequence == SEQ_000) then + quest:SetENpc(MRKR_TYAGO_MOUI); + quest:SetENpc(LYNGWAEK, QFLAG_PLATE); + elseif (sequence == SEQ_001) then + quest:SetENpc(LYNGWAEK); + quest:SetENpc(TYAGO_MOUI, QFLAG_REWARD); + end +end + +function onTalk(player, quest, npc, eventName) + local npcClassId = npc.GetActorClassId(); + local seq = quest:GetSequence(); + + -- Offer the quest + if (npcClassId == MRKR_TYAGO_MOUI and seq == SEQ_ACCEPT) then + local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventTyagomouiStart"); + if (questAccepted == 1) then + player:AcceptQuest(quest); + end + player:EndEvent(); + return; + end + + -- Quest Progress + if (seq == SEQ_000) then + if (npcClassId == MRKR_TYAGO_MOUI) then + callClientFunction(player, "delegateEvent", player, quest, "followEvent005"); + elseif (npcClassId == LYNGWAEK) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent010"); + quest:StartSequence(SEQ_001); + end + elseif (seq == SEQ_001) then + --Quest Complete + if (npcClassId == MRKR_TYAGO_MOUI) then + callClientFunction(player, "delegateEvent", player, quest, "processEvent020"); + callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); + player:CompleteQuest(quest); + elseif (npcClassId == LYNGWAEK) 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_LYNGWAEK; + elseif (sequence == SEQ_001) then + return MRKR_TYAGO_MOUI; + end +end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Battle03/Monster/bloodthirsty_wolf.lua b/Data/scripts/unique/fst0Battle03/Monster/bloodthirsty_wolf.lua deleted file mode 100644 index e69de29b..00000000 diff --git a/Data/scripts/unique/fst0Battle03/Monster/papalymo.lua b/Data/scripts/unique/fst0Battle03/Monster/papalymo.lua deleted file mode 100644 index 7ed63cac..00000000 --- a/Data/scripts/unique/fst0Battle03/Monster/papalymo.lua +++ /dev/null @@ -1,28 +0,0 @@ -require ("global") -require ("ally") - -function onSpawn(ally) - ally:SetMaxHP(69420) - ally:SetHP(ally:GetMaxHP()) - ally.isAutoAttackEnabled = false; - ally.neutral = false -end - -function onCombatTick(ally, target, tick, contentGroupCharas) - allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas); -end - - -function onRoam(ally, contentGroupCharas) - ally.detectionType = 0xFF - ally.isMovingToSpawn = false - ally.neutral = false - ally.animationId = 0 - allyGlobal.onCombatTick(ally, nil, nil, contentGroupCharas) -end - - -function tryAggro(ally, contentGroupCharas) - allyGlobal.tryAggro(ally, contentGroupCharas) - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Battle03/Monster/yda.lua b/Data/scripts/unique/fst0Battle03/Monster/yda.lua deleted file mode 100644 index 4462774b..00000000 --- a/Data/scripts/unique/fst0Battle03/Monster/yda.lua +++ /dev/null @@ -1,26 +0,0 @@ -require ("global") - -require ("ally") - -function onSpawn(ally) - ally:SetMaxHP(69420) - ally:SetHP(ally:GetMaxHP()) - ally.isAutoAttackEnabled = false - ally.neutral = false -end - -function onCombatTick(ally, target, tick, contentGroupCharas) - allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas) -end - -function tryAggro(ally, contentGroupCharas) - allyGlobal.tryAggro(ally, contentGroupCharas) -end - -function onRoam(ally, contentGroupCharas) - ally.detectionType = 0xFF - ally.isMovingToSpawn = false - ally.neutral = false - ally.animationId = 0 - --allyGlobal.onCombatTick(ally, contentGroupCharas) -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Battle03/OpeningStoperF0B1/openingstoper_gridania.lua b/Data/scripts/unique/fst0Battle03/OpeningStoperF0B1/openingstoper_gridania.lua deleted file mode 100644 index 2d63e9f0..00000000 --- a/Data/scripts/unique/fst0Battle03/OpeningStoperF0B1/openingstoper_gridania.lua +++ /dev/null @@ -1,12 +0,0 @@ -require ("global") -require ("quests/man/man0g0") - -function onEventStarted(player, npc, triggerName) - if (triggerName == "caution") then - worldMaster = GetWorldMaster(); - player:SendGameMessage(player, worldMaster, 34109, 0x20); - elseif (triggerName == "exit") then - GetWorldManager():DoPlayerMoveInZone(player, 356.09, 3.74, -701.62, -1.4); - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Battle03/PopulaceStandard/papalymo.lua b/Data/scripts/unique/fst0Battle03/PopulaceStandard/papalymo.lua deleted file mode 100644 index eed6a648..00000000 --- a/Data/scripts/unique/fst0Battle03/PopulaceStandard/papalymo.lua +++ /dev/null @@ -1,19 +0,0 @@ -require ("global") -require ("quests/man/man0g0") - -function onEventStarted(player, npc, triggerName) - man0g0Quest = player:GetQuest("Man0g0"); - - if (triggerName == "talkDefault") then - if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == false) then - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_3", nil, nil, nil); - man0g0Quest:SetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1, true); - man0g0Quest:SaveData(); - npc:SetQuestGraphic(player, 0x0); - player:GetDirector("OpeningDirector"):onTalkEvent(player, npc); - else - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_2", nil, nil, nil); - end - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Battle03/PopulaceStandard/yda.lua b/Data/scripts/unique/fst0Battle03/PopulaceStandard/yda.lua deleted file mode 100644 index e0e54fdf..00000000 --- a/Data/scripts/unique/fst0Battle03/PopulaceStandard/yda.lua +++ /dev/null @@ -1,59 +0,0 @@ -require ("global") -require ("quests/man/man0g0") - -function onSpawn(player, npc) - npc:SetQuestGraphic(player, 0x2); -end - -function onEventStarted(player, npc, triggerName) - man0g0Quest = player:GetQuest("Man0g0"); - print("Got Quest Man0g0"); - if (man0g0Quest ~= nil) then - - print("Man0g0Quest is not nil"); - if (triggerName == "pushDefault") then - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrNomal002", nil, nil, nil); - elseif (triggerName == "talkDefault") then - --Is doing talk tutorial? - if (man0g0Quest:GetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT) == false) then - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrNomal003", nil, nil, nil); - player:SetEventStatus(npc, "pushDefault", false, 0x2); - npc:SetQuestGraphic(player, 0x0); - man0g0Quest:SetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT, true); - man0g0Quest:SaveData(); - player:GetDirector("OpeningDirector"):onTalkEvent(player, npc); - --Was she talked to after papalymo? - else - print("Making content area"); - if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == true) then - - player:EndEvent(); - - contentArea = player:GetZone():CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0g01", "SimpleContent30010", "Quest/QuestDirectorMan0g001"); - - if (contentArea == nil) then - player:EndEvent(); - return; - end - - director = contentArea:GetContentDirector(); - --player:AddDirector(director); - director:StartDirector(false); - - player:KickEvent(director, "noticeEvent", true); - player:SetLoginDirector(director); - - print("Content area and director made"); - player:ChangeState(0); - GetWorldManager():DoZoneChangeContent(player, contentArea, 362.4087, 4, -703.8168, 1.5419, 16); - print("Zone Change"); - return; - else - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_1", nil, nil, nil); - end - end - end - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_dauremant.lua b/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_dauremant.lua deleted file mode 100644 index a56b8190..00000000 --- a/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_dauremant.lua +++ /dev/null @@ -1,10 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1eb, 0x2; -end - -function onEventStarted(player, npc) - callClientFunction(player, "askEnterInstanceRaid", 16); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_hodder.lua b/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_hodder.lua deleted file mode 100644 index 7c754fdc..00000000 --- a/Data/scripts/unique/fst0Town01/InstanceRaidGuide/serpent_private_hodder.lua +++ /dev/null @@ -1,10 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1eb, 0x2; -end - -function onEventStarted(player, npc) - callClientFunction(player, "askEnterInstanceRaid", 15); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport.lua b/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport.lua deleted file mode 100644 index 670c0f3c..00000000 --- a/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x141, 0xcde; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport2.lua b/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport2.lua deleted file mode 100644 index 3b372965..00000000 --- a/Data/scripts/unique/fst0Town01/MapObjShipPort/gridania_shipport2.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x187, 0x2; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/Monster/ass.lua b/Data/scripts/unique/fst0Town01/Monster/ass.lua deleted file mode 100644 index 21e27867..00000000 --- a/Data/scripts/unique/fst0Town01/Monster/ass.lua +++ /dev/null @@ -1,2 +0,0 @@ -function onDeath(monster, player, lastAttacker) -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_dauremant.lua b/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_dauremant.lua deleted file mode 100644 index da9b97a5..00000000 --- a/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_dauremant.lua +++ /dev/null @@ -1,7 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - defaultFst = GetStaticActor("DftFst"); - callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSerpent_private_dauremant_001", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_hodder.lua b/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_hodder.lua deleted file mode 100644 index 7d086ce5..00000000 --- a/Data/scripts/unique/fst0Town01/PopulaceStandard/serpent_private_hodder.lua +++ /dev/null @@ -1,7 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - defaultFst = GetStaticActor("DftFst"); - callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSerpent_private_hodder_001", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/DoorStandard/closed_gridania_gate.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/DoorStandard/closed_gridania_gate.lua deleted file mode 100644 index 2d1aa509..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/DoorStandard/closed_gridania_gate.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x141, 0xb79; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/cecilia.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/cecilia.lua deleted file mode 100644 index 2020bef7..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/cecilia.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g0"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent020_3"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/farrimond.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/farrimond.lua deleted file mode 100644 index 774bafb6..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/farrimond.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g0"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent020_4"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_blocker1.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_blocker1.lua deleted file mode 100644 index bd09cea8..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_blocker1.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function init(player, npc) - return false, false, 0, 0; -end - -function onEventStarted(player, npc, triggerName) - man0g0Quest = player:GetQuest("Man0g0"); - if (man0g0Quest ~= nil) then - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBlkNml001", nil, nil, nil); - GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 1, 15, 109.966, 7.559, -1206.117, -2.7916); - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_opening_exit.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_opening_exit.lua deleted file mode 100644 index 5274c759..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gridania_opening_exit.lua +++ /dev/null @@ -1,16 +0,0 @@ -require ("global") -require ("quests/man/man0g0") - -function onSpawn(player, npc) - npc:SetQuestGraphic(player, 0x3); -end - -function onEventStarted(player, npc) - man0g1Quest = GetStaticActor("Man0g1"); - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100"); - player:ReplaceQuest(110005, 110006); - player:SendGameMessage(GetStaticActor("Man0g1"), 353, 0x20); - player:SendGameMessage(GetStaticActor("Man0g1"), 354, 0x20); - GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 2, 15, 67.034, 4, -1205.6497, -1.074); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lonsygg.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lonsygg.lua deleted file mode 100644 index 2d9f2391..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lonsygg.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g0Quest = player:GetQuest("Man0g0"); - - if (man0g0Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent020_6"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/swethyna.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/swethyna.lua deleted file mode 100644 index 079aae45..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/swethyna.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g0"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent020_2"); - - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/tkebbe.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/tkebbe.lua deleted file mode 100644 index a5212001..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/tkebbe.lua +++ /dev/null @@ -1,19 +0,0 @@ -require ("global") - -function onSpawn(player, npc) - npc:SetQuestGraphic(player, 0x2); -end - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g0"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent020_5"); - npc:SetQuestGraphic(player, 0x0); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/amiable_adventurer.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/amiable_adventurer.lua deleted file mode 100644 index 41ab9100..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/amiable_adventurer.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_3"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/beaming_adventurer.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/beaming_adventurer.lua deleted file mode 100644 index 12bf087b..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/beaming_adventurer.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_6"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/miounne.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/miounne.lua deleted file mode 100644 index 4d5e8d23..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/miounne.lua +++ /dev/null @@ -1,26 +0,0 @@ -require ("global") - -function onSpawn(player, npc) - npc:SetQuestGraphic(player, 0x2); -end - -function onEventStarted(player, npc, triggerName) - local man0g1Quest = player:GetQuest("Man0g1"); - local pos = player:GetPos(); - - if (man0g1Quest ~= nil) then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent110"); - player:EndEvent(); - - --[[director = player:GetZone():CreateDirector("AfterQuestWarpDirector"); - player:KickEvent(director, "noticeEvent", true); - player:AddDirector(director); - player:SetLoginDirector(director); - --]] - GetWorldManager():DoZoneChange(player, 155, nil, 0, 15, pos[0], pos[1], pos[2], pos[3]); - return; - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/morose_merchant.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/morose_merchant.lua deleted file mode 100644 index b5a2a206..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/morose_merchant.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_2"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/narrow-eyed_adventurer.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/narrow-eyed_adventurer.lua deleted file mode 100644 index bd46a003..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/narrow-eyed_adventurer.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_7"); - - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/unconcerned_passerby.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/unconcerned_passerby.lua deleted file mode 100644 index 2e0184aa..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/unconcerned_passerby.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_9"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/vkorolon.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/vkorolon.lua deleted file mode 100644 index 7d4b1bf9..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/vkorolon.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - defaultFst = GetStaticActor("DftFst"); - callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithVkorolon_001"); - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/well-bundled_adventurer.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/well-bundled_adventurer.lua deleted file mode 100644 index 02da345a..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/well-bundled_adventurer.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_4"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/wispily_whiskered_woodworker.lua b/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/wispily_whiskered_woodworker.lua deleted file mode 100644 index aaab2b9c..00000000 --- a/Data/scripts/unique/fst0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/wispily_whiskered_woodworker.lua +++ /dev/null @@ -1,14 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0g1Quest = player:GetQuest("Man0g1"); - - if (man0g1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0g1Quest, "processEvent100_8"); - end - end - - player:EndEvent(); - -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/centaurs_eye.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/centaurs_eye.lua deleted file mode 100644 index 4599e553..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/centaurs_eye.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB84; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/fenyll_fineries.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/fenyll_fineries.lua deleted file mode 100644 index 254cc79e..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/fenyll_fineries.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB83; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_arc.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_arc.lua deleted file mode 100644 index 6f8845dc..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_arc.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB81; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_btn.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_btn.lua deleted file mode 100644 index 6ac7c400..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_btn.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB7D; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_cnj.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_cnj.lua deleted file mode 100644 index 5a29b9d2..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_cnj.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x14b, 0x14aa; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_crp.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_crp.lua deleted file mode 100644 index d1ff322a..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_crp.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB7E; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_lnc.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_lnc.lua deleted file mode 100644 index 405f1b66..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_lnc.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB80; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_ltw.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/guild_ltw.lua deleted file mode 100644 index d9bc8bf6..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/guild_ltw.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB7F; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/DoorStandard/whistling_miller.lua b/Data/scripts/unique/fst0Town01a/DoorStandard/whistling_miller.lua deleted file mode 100644 index 9ab7eb7a..00000000 --- a/Data/scripts/unique/fst0Town01a/DoorStandard/whistling_miller.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x141, 0xB82; -end \ No newline at end of file diff --git a/Data/scripts/unique/fst0Town01a/InstanceRaidGuide/louisoix.lua b/Data/scripts/unique/fst0Town01a/InstanceRaidGuide/louisoix.lua deleted file mode 100644 index 7c903a8b..00000000 --- a/Data/scripts/unique/fst0Town01a/InstanceRaidGuide/louisoix.lua +++ /dev/null @@ -1,7 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - defaultFst = GetStaticActor("DftFst"); - callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkLouisoix_001", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/ocn0Battle02/zone.lua b/Data/scripts/unique/ocn0Battle02/zone.lua deleted file mode 100644 index 76bd36db..00000000 --- a/Data/scripts/unique/ocn0Battle02/zone.lua +++ /dev/null @@ -1,11 +0,0 @@ - - -function onZoneInit(zone) -end - -function onZoneIn(player) - -end - -function onZoneOut(zone, player) -end \ No newline at end of file diff --git a/Data/scripts/unique/ocn0Cruise01/ship_route_1.lua b/Data/scripts/unique/ocn0Cruise01/ship_route_1.lua deleted file mode 100644 index 7feb8f7c..00000000 --- a/Data/scripts/unique/ocn0Cruise01/ship_route_1.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1415, 201; -end \ No newline at end of file diff --git a/Data/scripts/unique/ocn0Cruise01/ship_route_2.lua b/Data/scripts/unique/ocn0Cruise01/ship_route_2.lua deleted file mode 100644 index 7feb8f7c..00000000 --- a/Data/scripts/unique/ocn0Cruise01/ship_route_2.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1415, 201; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl1.lua b/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl1.lua deleted file mode 100644 index 4c95e783..00000000 --- a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl1.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskLimsa001", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskLimsa001", 1); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -447, 40, 220, -1.574); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskLimsa001", 2); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -458, 92, 175, -0.383); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl2.lua b/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl2.lua deleted file mode 100644 index c30e0f2e..00000000 --- a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl2.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskLimsa002", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskLimsa002", 1); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -447, 19, 220, -1.574); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskLimsa002", 2); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -458, 92, 175, -0.383); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl3.lua b/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl3.lua deleted file mode 100644 index c88b0d56..00000000 --- a/Data/scripts/unique/sea0Town01/ElevatorStandard/crows_lift_lvl3.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskLimsa003", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskLimsa003", 1); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -447, 19, 220, -1.574); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskLimsa003", 2); - GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -447, 40, 220, -1.574); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/cocksure-cockswain.lua b/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/cocksure-cockswain.lua deleted file mode 100644 index f2dc0640..00000000 --- a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/cocksure-cockswain.lua +++ /dev/null @@ -1,13 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0l1Quest = player:GetQuest("Man0l1"); - - if (man0l1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEtc001"); - player:EndEvent(); - end - end - -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/sententious_sellsword.lua b/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/sententious_sellsword.lua deleted file mode 100644 index 9113a578..00000000 --- a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/sententious_sellsword.lua +++ /dev/null @@ -1,13 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0l1Quest = player:GetQuest("Man0l1"); - - if (man0l1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEtc003"); - player:EndEvent(); - end - end - -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/solicitous_sellsword.lua b/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/solicitous_sellsword.lua deleted file mode 100644 index fad948d7..00000000 --- a/Data/scripts/unique/sea0Town01/PrivateArea/PrivateAreaMasterPast_2/PopulaceStandard/solicitous_sellsword.lua +++ /dev/null @@ -1,13 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - man0l1Quest = player:GetQuest("Man0l1"); - - if (man0l1Quest ~= nil) then - if (triggerName == "talkDefault") then - callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEtc002"); - player:EndEvent(); - end - end - -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_south.lua deleted file mode 100644 index 210840bc..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x96C; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_southsouth.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_southsouth.lua deleted file mode 100644 index 505bee05..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_acn_southsouth.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x96A; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_east.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_east.lua deleted file mode 100644 index 8ecca881..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x96D; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_west.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_west.lua deleted file mode 100644 index 03e587d7..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_bsm_west.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x970; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_nwest.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_nwest.lua deleted file mode 100644 index 2d469516..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_nwest.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x974; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_south.lua deleted file mode 100644 index b0aa7f1b..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_cul_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x972; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_bot.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_bot.lua deleted file mode 100644 index 89be3b49..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_bot.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x83, 0x1B8E; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_mid.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_mid.lua deleted file mode 100644 index ae21d3d3..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_mid.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x83, 0x1B89; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_top.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_top.lua deleted file mode 100644 index 0462b75e..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_mrd_top.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x83, 0x1B90; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk.lua deleted file mode 100644 index c53c3ed8..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x976; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_ne.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_ne.lua deleted file mode 100644 index 1eae8de7..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_ne.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x954; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_nw.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_nw.lua deleted file mode 100644 index 5fa06738..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_nw.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x956; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_se.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_se.lua deleted file mode 100644 index e120aa1a..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_se.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x952; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_sw.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_sw.lua deleted file mode 100644 index 468e6aac..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/guild_msk_se_sw.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x958; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_east.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_east.lua deleted file mode 100644 index 96110c7f..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x960; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_north.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_north.lua deleted file mode 100644 index 58d19093..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_north.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x95A; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_south.lua deleted file mode 100644 index 507ba45c..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x95E; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_west.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_west.lua deleted file mode 100644 index 30809872..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/hyaline_west.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x95C; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/marketward.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/marketward.lua deleted file mode 100644 index 8ecca881..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/marketward.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x96D; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_east.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_east.lua deleted file mode 100644 index 4f024ec5..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x94C; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_north.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_north.lua deleted file mode 100644 index f02ac4b0..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_north.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x94E; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_south.lua deleted file mode 100644 index e7f6cd9e..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x94A; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_west.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_west.lua deleted file mode 100644 index 1097fd72..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/northofseventhsage_west.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x950; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_east.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_east.lua deleted file mode 100644 index d862d0b1..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x944; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_north.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_north.lua deleted file mode 100644 index 8d58b1ab..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_north.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x946; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_south.lua deleted file mode 100644 index d8d32aac..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x942; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_west.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_west.lua deleted file mode 100644 index 593f38eb..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/seventhsage_west.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x948; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_east.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_east.lua deleted file mode 100644 index e5b9827a..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x968; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_north.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_north.lua deleted file mode 100644 index 5fa8fa23..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_north.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x962; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_south.lua b/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_south.lua deleted file mode 100644 index 8fca2d58..00000000 --- a/Data/scripts/unique/sea0Town01a/DoorStandard/thundersquall_south.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x79, 0x966; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport.lua b/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport.lua deleted file mode 100644 index 839a2f7e..00000000 --- a/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0xC4, 0x1C8; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport2.lua b/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport2.lua deleted file mode 100644 index 3b372965..00000000 --- a/Data/scripts/unique/sea0Town01a/MapObjShipPort/limsa_shipport2.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x187, 0x2; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/PrivateAreaPastExit.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/PrivateAreaPastExit.lua deleted file mode 100644 index d7140e37..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/PrivateAreaPastExit.lua +++ /dev/null @@ -1,12 +0,0 @@ -function init(npc) - return false, false, 0, 0; -end - -function onEventStarted(player, npc, triggerName) - if (triggerName == "caution") then - worldMaster = GetWorldMaster(); - player:SendGameMessage(player, worldMaster, 34109, 0x20); - elseif (triggerName == "exit") then - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gert.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gert.lua deleted file mode 100644 index 49259513..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/gert.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_10", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/hob.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/hob.lua deleted file mode 100644 index 627443d9..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/hob.lua +++ /dev/null @@ -1,18 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - choice = callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_9", nil, nil, nil); - - if (choice == 1) then - man0l1Quest = GetStaticActor("Man0l1"); - callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010", nil, nil, nil); - player:ReplaceQuest(110001, 110002); - player:SendGameMessage(GetStaticActor("Man0l1"), 320, 0x20); - player:SendGameMessage(GetStaticActor("Man0l1"), 321, 0x20); - GetWorldManager():DoZoneChange(player, 133, "PrivateAreaMasterPast", 2, 15, -459.619873, 40.0005722, 196.370377, 2.010813); - end - - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lanky_traveler.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lanky_traveler.lua deleted file mode 100644 index 76a89e55..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lanky_traveler.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_8", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lorhzant.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lorhzant.lua deleted file mode 100644 index b894b11a..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/lorhzant.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_11", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/muscle-bound_deckhand.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/muscle-bound_deckhand.lua deleted file mode 100644 index a67adb1d..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/muscle-bound_deckhand.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_2", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pasty-faced_adventurer.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pasty-faced_adventurer.lua deleted file mode 100644 index b894b11a..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pasty-faced_adventurer.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_11", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pearly-toothed_porter.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pearly-toothed_porter.lua deleted file mode 100644 index 4a9e15af..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/pearly-toothed_porter.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_3", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/undignified_adventurer.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/undignified_adventurer.lua deleted file mode 100644 index e555c579..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/undignified_adventurer.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_5", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/voluptuous_vixen.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/voluptuous_vixen.lua deleted file mode 100644 index 3aa84bfb..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/voluptuous_vixen.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_6", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/well-traveled_merchant.lua b/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/well-traveled_merchant.lua deleted file mode 100644 index cdfcb886..00000000 --- a/Data/scripts/unique/sea0Town01a/PrivateArea/PrivateAreaMasterPast_1/PopulaceStandard/well-traveled_merchant.lua +++ /dev/null @@ -1,8 +0,0 @@ -require ("global") -require ("quests/man/man0l0") - -function onEventStarted(player, npc) - man0l0Quest = player:GetQuest("Man0l0"); - callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent020_7", nil, nil, nil); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_nosceatothan.lua b/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_nosceatothan.lua deleted file mode 100644 index 68bf6c78..00000000 --- a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_nosceatothan.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 5142, 323; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_thantonoscea.lua b/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_thantonoscea.lua deleted file mode 100644 index 171b623b..00000000 --- a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door1_thantonoscea.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 5143, 323; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_nosceatothan.lua b/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_nosceatothan.lua deleted file mode 100644 index 244b2ac8..00000000 --- a/Data/scripts/unique/sea1Cruise01/DoorStandard/ferry_door2_nosceatothan.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 5142, 326; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_nosceatothan.lua b/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_nosceatothan.lua deleted file mode 100644 index d9f69ef0..00000000 --- a/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_nosceatothan.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 5145, 252; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_thantonoscea.lua b/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_thantonoscea.lua deleted file mode 100644 index af43e66d..00000000 --- a/Data/scripts/unique/sea1Cruise01/MapObjShipRouteLand/ferry_route_thantonoscea.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 5144, 201; -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_noceatothan.lua b/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_noceatothan.lua deleted file mode 100644 index e2c3ed12..00000000 --- a/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_noceatothan.lua +++ /dev/null @@ -1,7 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - defaultSrt = GetStaticActor("DftSrt"); - callClientFunction(player, "delegateEvent", player, defaultSrt, "defaultTalkWithPilot_001"); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_thantonocea.lua b/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_thantonocea.lua deleted file mode 100644 index e2c3ed12..00000000 --- a/Data/scripts/unique/sea1Cruise01/PopulaceStandard/ferry_man_thantonocea.lua +++ /dev/null @@ -1,7 +0,0 @@ -require ("global") - -function onEventStarted(player, npc, triggerName) - defaultSrt = GetStaticActor("DftSrt"); - callClientFunction(player, "delegateEvent", player, defaultSrt, "defaultTalkWithPilot_001"); - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/DoorStandard/door1.lua b/Data/scripts/unique/wil0Battle01/DoorStandard/door1.lua deleted file mode 100644 index 0640e65f..00000000 --- a/Data/scripts/unique/wil0Battle01/DoorStandard/door1.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 2829; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/DoorStandard/door2.lua b/Data/scripts/unique/wil0Battle01/DoorStandard/door2.lua deleted file mode 100644 index c3d90089..00000000 --- a/Data/scripts/unique/wil0Battle01/DoorStandard/door2.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 2825; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/DoorStandard/door3.lua b/Data/scripts/unique/wil0Battle01/DoorStandard/door3.lua deleted file mode 100644 index c228e206..00000000 --- a/Data/scripts/unique/wil0Battle01/DoorStandard/door3.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 4040; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua b/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua deleted file mode 100644 index 97f1ad42..00000000 --- a/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 4289; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah.lua b/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah.lua deleted file mode 100644 index ab7f52a1..00000000 --- a/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah.lua +++ /dev/null @@ -1,13 +0,0 @@ -function init(npc) - return false, false, 0, 0; -end - -function onEventStarted(player, npc, triggerName) - if (triggerName == "caution") then - worldMaster = GetWorldMaster(); - player:SendGameMessage(player, worldMaster, 34109, 0x20); - elseif (triggerName == "exit") then - GetWorldManager():DoPlayerMoveInZone(player, 5.36433, 196, 133.656, -2.84938); - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah_battle.lua b/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah_battle.lua deleted file mode 100644 index 34601794..00000000 --- a/Data/scripts/unique/wil0Battle01/OpeningStoperW0B1/opening_stoper_uldah_battle.lua +++ /dev/null @@ -1,13 +0,0 @@ -function init(npc) - return false, false, 0, 0; -end - -function onEventStarted(player, npc, triggerName) - if (triggerName == "caution") then - worldMaster = GetWorldMaster(); - player:SendGameMessage(player, worldMaster, 34109, 0x20); - elseif (triggerName == "exit") then - GetWorldManager():DoPlayerMoveInZone(player, 18); - end - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_east.lua b/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_east.lua deleted file mode 100644 index c349fe93..00000000 --- a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_east.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFC8; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_north.lua b/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_north.lua deleted file mode 100644 index 20b34e2f..00000000 --- a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_north.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFC6; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_west.lua b/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_west.lua deleted file mode 100644 index baa3b958..00000000 --- a/Data/scripts/unique/wil0Town01/DoorStandard/adv_guild_west.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFC7; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/DoorStandard/guild_pug.lua b/Data/scripts/unique/wil0Town01/DoorStandard/guild_pug.lua deleted file mode 100644 index 56998447..00000000 --- a/Data/scripts/unique/wil0Town01/DoorStandard/guild_pug.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0x101D; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/ElevatorStandard/wellhead_lift_lvl1.lua b/Data/scripts/unique/wil0Town01/ElevatorStandard/wellhead_lift_lvl1.lua deleted file mode 100644 index c2c00d3f..00000000 --- a/Data/scripts/unique/wil0Town01/ElevatorStandard/wellhead_lift_lvl1.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskUldah001", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskUldah001", 1); - GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -116.78, 222, 115.7, 2.85); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskUldah001", 2); - GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -121.60, 269.8, 135.28, -0.268); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/east_of_goldcourt.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/east_of_goldcourt.lua deleted file mode 100644 index eab2f11d..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/east_of_goldcourt.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFD7; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_alc.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/guild_alc.lua deleted file mode 100644 index 54ba5c66..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_alc.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFCC; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gla.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gla.lua deleted file mode 100644 index 2b1e88dd..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gla.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0x101E; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gsm.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gsm.lua deleted file mode 100644 index cb3caf27..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_gsm.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFCB; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_min.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/guild_min.lua deleted file mode 100644 index 16abe2f3..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_min.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFCA; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_wvr.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/guild_wvr.lua deleted file mode 100644 index 474f0060..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/guild_wvr.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFC9; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/ne_of_eshtaimes.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/ne_of_eshtaimes.lua deleted file mode 100644 index 1cffd8b4..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/ne_of_eshtaimes.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFD9; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/DoorStandard/nw_of_guild_wvr.lua b/Data/scripts/unique/wil0Town01a/DoorStandard/nw_of_guild_wvr.lua deleted file mode 100644 index 4b750a94..00000000 --- a/Data/scripts/unique/wil0Town01a/DoorStandard/nw_of_guild_wvr.lua +++ /dev/null @@ -1,3 +0,0 @@ -function init(npc) - return false, false, 0, 0, 0x1A5, 0xFDB; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl2.lua b/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl2.lua deleted file mode 100644 index 7900baed..00000000 --- a/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl2.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskUldah002", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskUldah002", 1); - GetWorldManager():DoZoneChange(player, 175, nil, 0, 15, -116.78, 198, 115.7, -2.8911); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskUldah002", 2); - GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -121.60, 269.8, 135.28, -0.268); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl3.lua b/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl3.lua deleted file mode 100644 index 7d575a21..00000000 --- a/Data/scripts/unique/wil0Town01a/ElevatorStandard/wellhead_lift_lvl3.lua +++ /dev/null @@ -1,15 +0,0 @@ -require ("global") - -function onEventStarted(player, npc) - floorChoice = callClientFunction(player, "elevatorAskUldah003", 0); - - if (floorChoice == 1) then - callClientFunction(player, "elevatorAskUldah003", 1); - GetWorldManager():DoZoneChange(player, 175, nil, 0, 15, -116.78, 198, 115.7, -2.8911); - elseif (floorChoice == 2) then - callClientFunction(player, "elevatorAskUldah003", 2); - GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -116.78, 222, 115.7, 2.85); - end - - player:EndEvent(); -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_1.lua b/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_1.lua deleted file mode 100644 index efe1e2e5..00000000 --- a/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_1.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1af, 0xDC5; -end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_2.lua b/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_2.lua deleted file mode 100644 index 5cbed1d0..00000000 --- a/Data/scripts/unique/wil0Town01a/MapObjShipPort/uldah_mapshipport_2.lua +++ /dev/null @@ -1,5 +0,0 @@ -require ("global") - -function init(npc) - return false, false, 0, 0, 0x1eb, 0x2; -end \ No newline at end of file diff --git a/Data/sql/gamedata_actor_class.sql b/Data/sql/gamedata_actor_class.sql index 784ba2f4..56727073 100644 --- a/Data/sql/gamedata_actor_class.sql +++ b/Data/sql/gamedata_actor_class.sql @@ -140,7 +140,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000108, '/Chara/Npc/Populace/PopulaceStandard', 4000029, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000109, '/Chara/Npc/Populace/PopulaceStandard', 4000030, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000110, '', 4000031, 0, NULL), - (1000111, '', 4000035, 0, NULL), + (1000111, '/Chara/Npc/Populace/PopulaceStandard', 4000035, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000112, '', 4000032, 0, NULL), (1000113, '', 4000033, 0, NULL), (1000114, '', 4000034, 0, NULL), @@ -174,8 +174,8 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000142, '/Chara/Npc/Populace/PopulaceStandard', 1600112, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000143, '', 1600081, 0, NULL), (1000144, '/Chara/Npc/Populace/PopulaceStandard', 2200064, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), - (1000145, '', 1900029, 0, NULL), - (1000146, '', 1900029, 0, NULL), + (1000145, '/Chara/Npc/Populace/PopulaceStandard', 1900029, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1000146, '/Chara/Npc/Populace/PopulaceStandard', 1900029, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000147, '', 1200108, 0, NULL), (1000148, '', 1100212, 0, NULL), (1000149, '', 1900047, 0, NULL), @@ -184,8 +184,8 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000152, '/Chara/Npc/Populace/PopulaceStandard', 1200100, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000153, '/Chara/Npc/Populace/PopulaceStandard', 1900011, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000154, '', 1400010, 0, NULL), - (1000155, '', 1500024, 0, NULL), - (1000156, '', 1500024, 0, NULL), + (1000155, '/Chara/Npc/Populace/PopulaceStandard', 1500024, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1000156, '/Chara/Npc/Populace/PopulaceStandard', 1500024, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000157, '/Chara/Npc/Populace/Shop/PopulaceGuildShop', 1900050, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000158, '/Chara/Npc/Populace/Shop/PopulaceGuildShop', 1300054, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000159, '/Chara/Npc/Populace/Shop/PopulaceShopSalesman', 1100144, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -205,7 +205,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000173, '/Chara/Npc/Populace/PopulaceStandard', 1100206, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000174, '', 4000257, 0, NULL), (1000175, '', 1500032, 0, NULL), - (1000176, '', 1400012, 0, NULL), + (1000176, '/Chara/Npc/Populace/PopulaceStandard', 1400012, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000177, '/Chara/Npc/Populace/PopulaceStandard', 1600195, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000178, '/Chara/Npc/Populace/PopulaceStandard', 1500031, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000179, '/Chara/Npc/Populace/PopulaceStandard', 1900065, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -276,7 +276,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000244, '', 1000019, 0, NULL), (1000245, '', 1500008, 0, NULL), (1000246, '', 1600250, 0, NULL), - (1000247, '', 1000028, 0, NULL), + (1000247, '/Chara/Npc/Populace/PopulaceStandard', 1000028, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000248, '/Chara/Npc/Populace/PopulaceStandard', 1900062, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000249, '', 1300004, 0, NULL), (1000250, '/Chara/Npc/Populace/PopulaceStandard', 1900024, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -373,7 +373,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000341, '/Chara/Npc/Populace/PopulaceStandard', 1400014, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000342, '/Chara/Npc/Populace/PopulaceStandard', 1900044, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000343, '', 1000084, 0, NULL), - (1000344, '/Chara/Npc/Populace/PopulaceStandard', 1200047, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1000344, '/Chara/Npc/Populace/PopulaceStandard', 1200047, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "emoteEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "emoteId": 130,\r\n "conditionName": "emoteDefault1"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000345, '/Chara/Npc/Populace/PopulaceStandard', 1500033, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000346, '/Chara/Npc/Populace/PopulaceStandard', 1300075, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000347, '/Chara/Npc/Populace/PopulaceStandard', 1600006, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -981,9 +981,9 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1000949, '', 1200166, 0, NULL), (1000950, '/Chara/Npc/Populace/PopulaceStandard', 1300001, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000951, '/Chara/Npc/Populace/PopulaceStandard', 1600102, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), - (1000952, '', 4000335, 0, NULL), - (1000953, '', 4000336, 0, NULL), - (1000954, '', 1000104, 0, NULL), + (1000952, '/Chara/Npc/Populace/PopulaceStandard', 4000335, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1000953, '/Chara/Npc/Populace/PopulaceStandard', 4000336, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1000954, '/Chara/Npc/Populace/PopulaceStandard', 1000104, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000955, '/Chara/Npc/Populace/PopulaceStandard', 1400111, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1000956, '', 1300032, 0, NULL), (1000957, '', 4000509, 0, NULL), @@ -2387,7 +2387,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1080133, '/Chara/Npc/MapObj/Pray12Gods', 4010030, 0, NULL), (1080134, '/Chara/Npc/MapObj/Pray12Gods', 4010031, 0, NULL), (1080135, '/Chara/Npc/MapObj/Pray12Gods', 4010032, 0, NULL), - (1080136, '', 4010033, 0, NULL), + (1080136, '/Chara/Npc/MapObj/Pray12Gods', 4010033, 0, NULL), (1090001, '/Chara/Npc/Populace/PopulaceStandard', 0, 1, '{\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "isEnabled": "false",\r\n "radius": "6.0",\r\n "outwards": "false",\r\n "silent": "false",\r\n "conditionName": "pushDefault"\r\n }\r\n ]\r\n}'), (1090002, '', 0, 0, NULL), (1090003, '/Chara/Npc/Populace/PopulaceStandard', 0, 1, '{\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "isEnabled": "false",\r\n "radius": "6.0",\r\n "outwards": "false",\r\n "silent": "false",\r\n "conditionName": "pushDefault"\r\n }\r\n ]\r\n}'), @@ -2429,7 +2429,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1090039, '', 0, 0, NULL), (1090040, '', 0, 0, NULL), (1090041, '/Chara/Npc/Populace/PopulaceStandard', 0, 0, NULL), - (1090042, '/Chara/Npc/Populace/PopulaceStandard', 0, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1090042, '/Chara/Npc/Populace/PopulaceStandard', 0, 1, '{\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "isEnabled": "false",\r\n "radius": "6.0",\r\n "outwards": "false",\r\n "silent": "false",\r\n "conditionName": "pushDefault"\r\n }\r\n ]\r\n}'), (1090043, '', 0, 0, NULL), (1090044, '/Chara/Npc/Populace/PopulaceStandard', 0, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1090045, '/Chara/Npc/Populace/PopulaceStandard', 0, 0, NULL), @@ -2445,7 +2445,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1090055, '/Chara/Npc/Populace/PopulaceStandard', 0, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1090056, '', 0, 0, NULL), (1090057, '', 0, 0, NULL), - (1090058, '/Chara/Npc/Populace/PopulaceStandard', 0, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (1090058, '/Chara/Npc/Populace/PopulaceStandard', 0, 1, '{\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "isEnabled": "false",\r\n "radius": "6.0",\r\n "outwards": "false",\r\n "silent": "false",\r\n "conditionName": "pushDefault"\r\n }\r\n ]\r\n}'), (1090059, '/Chara/Npc/Populace/PopulaceStandard', 0, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1090060, '', 0, 0, NULL), (1090061, '', 0, 0, NULL), @@ -3533,8 +3533,8 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1280125, '/Chara/Npc/Object/Aetheryte/AetheryteChild', 4010015, 3, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "3.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "3.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), (1280126, '/Chara/Npc/Object/Aetheryte/AetheryteParent', 4010014, 3, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "3.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "3.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), (1280127, '/Chara/Npc/Object/Aetheryte/AetheryteParent', 4010014, 3, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "3.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "3.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), - (1290001, '', 0, 0, NULL), - (1290002, '/Chara/Npc/Object/PrivateAreaPastExit', 0, 1, '{\r\n "talkEventConditions": [],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 1,\r\n "unknown2": 0,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "emoteEventConditions": [],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "conditionName": "exit",\r\n "radius": 60.0,\r\n "silent": true,\r\n "outwards": false\r\n },\r\n {\r\n "conditionName": "caution",\r\n "radius": 50.0,\r\n "silent": true,\r\n "outwards": false\r\n }\r\n ]\r\n}'), + (1290001, '', 0, 1, NULL), + (1290002, '/Chara/Npc/Object/PrivateAreaPastExit', 0, 1, '{\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 1,\r\n "unknown2": 0,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "conditionName": "exit",\r\n "radius": 40.0,\r\n "silent": true,\r\n "outwards": true\r\n },\r\n {\r\n "conditionName": "caution",\r\n "radius": 30.0,\r\n "silent": true,\r\n "outwards": true\r\n }\r\n ]\r\n}'), (1290003, '', 0, 0, NULL), (1290004, '/Chara/Npc/Object/BgKeepout', 0, 1, NULL), (1290005, '', 0, 0, NULL), @@ -3554,7 +3554,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1290019, '', 0, 0, NULL), (1290020, '', 0, 0, NULL), (1290021, '', 0, 0, NULL), - (1290022, '', 0, 0, NULL), + (1290022, '/Chara/Npc/Object/ElevatorStandard', 0, 1, '{\r\n "talkEventConditions": [],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "2.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "2.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), (1290023, '/Chara/Npc/Object/ElevatorStandard', 0, 1, '{\r\n "talkEventConditions": [],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "2.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "2.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), (1290024, '', 0, 0, NULL), (1290025, '', 0, 0, NULL), @@ -3565,7 +3565,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1290030, '', 0, 0, NULL), (1290031, '', 0, 0, NULL), (1290032, '', 0, 0, NULL), - (1290033, '', 0, 0, NULL), + (1290033, '/Chara/Npc/Object/BgKeepout', 0, 1, '{\r\n "talkEventConditions": [],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "pushCommand"\r\n },\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "pushWithCircleEventConditions": [\r\n {\r\n "radius": "3.0",\r\n "outwards": "false",\r\n "silent": "true",\r\n "conditionName": "pushCommandIn"\r\n },\r\n {\r\n "radius": "3.0",\r\n "outwards": "true",\r\n "silent": "true",\r\n "conditionName": "pushCommandOut"\r\n }\r\n ]\r\n}'), (1500001, '/Chara/Npc/Populace/PopulaceGuildlevePublisher', 1200001, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (1500002, '', 1900028, 0, NULL), (1500003, '/Chara/Npc/Populace/PopulaceFlyingShip', 1600069, 19, '{\r\n "talkEventConditions": [\r\n {\r\n "unknown1": 4,\r\n "unknown2": 0,\r\n "conditionName": "talkDefault"\r\n }\r\n ],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -4192,10 +4192,10 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (1700042, '', 1100422, 0, NULL), (1700043, '', 4000570, 0, NULL), (1700044, '', 4000153, 0, NULL), - (2100101, '', 3100101, 0, NULL), + (2100101, '/Chara/Npc/Monster/Winglizard/WinglizardLesserStandard', 3100101, 0, NULL), (2100102, '', 3100102, 0, NULL), - (2100103, '', 3100103, 0, NULL), - (2100104, '', 3100104, 0, NULL), + (2100103, '/Chara/Npc/Monster/Winglizard/WinglizardLesserStandard', 3100103, 0, NULL), + (2100104, '/Chara/Npc/Monster/Winglizard/WinglizardStandard', 3100104, 0, NULL), (2100105, '', 3100105, 0, NULL), (2100106, '', 3100106, 0, NULL), (2100107, '', 3100107, 0, NULL), @@ -4213,7 +4213,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2100119, '', 3100118, 0, NULL), (2100120, '', 3100118, 0, NULL), (2100121, '', 3100118, 0, NULL), - (2100201, '', 3100205, 0, NULL), + (2100201, '/Chara/Npc/Monster/Raptor/RaptorStandard', 3100205, 0, NULL), (2100202, '', 3100206, 0, NULL), (2100203, '', 3100207, 0, NULL), (2100204, '', 3100208, 0, NULL), @@ -4246,9 +4246,9 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2100316, '', 3100313, 0, NULL), (2100317, '', 3100313, 0, NULL), (2100401, '', 3100401, 0, NULL), - (2100402, '', 3100402, 0, NULL), + (2100402, '/Chara/Npc/Monster/Griffin/GriffinStandard', 3100402, 0, NULL), (2100403, '', 3100403, 0, NULL), - (2100404, '', 3100404, 0, NULL), + (2100404, '/Chara/Npc/Monster/Griffin/GriffinStandard', 3100404, 0, NULL), (2100405, '', 3100405, 0, NULL), (2100406, '', 3100406, 0, NULL), (2100407, '', 3100407, 0, NULL), @@ -4258,10 +4258,10 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2100411, '', 3100411, 0, NULL), (2100412, '', 3100411, 0, NULL), (2100413, '', 3100411, 0, NULL), - (2100501, '', 3100501, 0, NULL), + (2100501, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100501, 0, NULL), (2100502, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100502, 0, NULL), - (2100503, '', 3100503, 0, NULL), - (2100504, '', 3100504, 0, NULL), + (2100503, '/Chara/Npc/Monster/Monkey/MonkeyStandard', 3100503, 0, NULL), + (2100504, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100504, 0, NULL), (2100505, '', 3100505, 0, NULL), (2100506, '', 3100506, 0, NULL), (2100507, '', 3100507, 0, NULL), @@ -4273,11 +4273,11 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2100513, '', 3100513, 0, NULL), (2100514, '', 3100513, 0, NULL), (2100515, '', 3100513, 0, NULL), - (2100516, '', 3100514, 0, NULL), - (2100517, '', 3100514, 0, NULL), - (2100518, '', 3100514, 0, NULL), + (2100516, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100514, 0, NULL), + (2100517, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100514, 0, NULL), + (2100518, '/Chara/Npc/Monster/Monkey/MonkeyLesserStandard', 3100514, 0, NULL), (2100519, '', 3100515, 0, NULL), - (2100601, '', 3100601, 0, NULL), + (2100601, '/Chara/Npc/Monster/Fly/FlyStandard', 3100601, 0, NULL), (2100602, '', 3100602, 0, NULL), (2100603, '', 3100603, 0, NULL), (2100604, '', 3100604, 0, NULL), @@ -4322,7 +4322,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2100901, '/Chara/Npc/Monster/Cactus/CactusLesserStandard', 3100901, 0, NULL), (2100902, '/Chara/Npc/Monster/Cactus/CactusLesserStandard', 3100902, 0, NULL), (2100903, '/Chara/Npc/Monster/Cactus/CactusLesserStandard', 3100903, 0, NULL), - (2100904, '/Chara/Npc/Monster/Cactus/CactusLesserStandard', 3100904, 0, NULL), + (2100904, '/Chara/Npc/Monster/Cactus/CactusStandard', 3100904, 0, NULL), (2100905, '/Chara/Npc/Monster/Cactus/CactusNormalStandard', 3100905, 0, NULL), (2100906, '/Chara/Npc/Monster/Cactus/CactusNormalStandard', 3100906, 0, NULL), (2100907, '/Chara/Npc/Monster/Cactus/CactusNormalStandard', 3100907, 0, NULL), @@ -5705,7 +5705,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2201308, '', 3201308, 0, NULL), (2201309, '', 3201309, 0, NULL), (2201401, '', 3201401, 0, NULL), - (2201402, '', 3201402, 0, NULL), + (2201402, '/Chara/Npc/Monster/Hyaena/HyaenaStandard', 3201402, 0, NULL), (2201403, '', 3201403, 0, NULL), (2201404, '/Chara/Npc/Monster/Wolf/WolfStandard', 3201405, 23, '{\r\n "talkEventConditions": [],\r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ],\r\n "emoteEventConditions": [],\r\n "pushWithCircleEventConditions": []\r\n}'), (2201405, '', 3201419, 0, NULL), @@ -5727,28 +5727,28 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2201421, '', 3101403, 0, NULL), (2201422, '', 3201421, 0, NULL), (2201423, '', 3201422, 0, NULL), - (2201424, '', 3201423, 0, NULL), + (2201424, '/Chara/Npc/Monster/Wolf/WolfStandard', 3201423, 0, NULL), (2201425, '', 3201424, 0, NULL), (2201426, '', 3201425, 0, NULL), (2201427, '', 3201426, 0, NULL), (2201428, '', 3201427, 0, NULL), (2201429, '', 3201428, 0, NULL), (2201430, '', 3101424, 0, NULL), - (2201501, '', 3201501, 0, NULL), + (2201501, '/Chara/Npc/Monster/Boar/BoarStandard', 3201501, 0, NULL), (2201502, '', 3201502, 0, NULL), (2201503, '', 3201503, 0, NULL), (2201504, '', 3201504, 0, NULL), (2201505, '', 3201505, 0, NULL), (2201506, '', 3201506, 0, NULL), (2201507, '', 3201507, 0, NULL), - (2201601, '', 3201601, 0, NULL), + (2201601, '/Chara/Npc/Monster/Bomb/BombStandard', 3201601, 0, NULL), (2201602, '', 3201602, 0, NULL), (2201603, '', 3201603, 0, NULL), (2201604, '', 3201604, 0, NULL), (2201605, '', 3201605, 0, NULL), (2201606, '', 3201607, 0, NULL), (2201607, '', 3201608, 0, NULL), - (2201608, '', 3201609, 0, NULL), + (2201608, '/Chara/Npc/Monster/Bomb/BombNormalStandard', 3201609, 0, NULL), (2201609, '', 3201610, 0, NULL), (2201610, '', 3201611, 0, NULL), (2201611, '', 3201612, 0, NULL), @@ -5777,7 +5777,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2201903, '', 3201903, 0, NULL), (2201904, '', 3201904, 0, NULL), (2201905, '', 3201905, 0, NULL), - (2202001, '', 3202001, 0, NULL), + (2202001, '/Chara/Npc/Monster/Dodo/DodoLesserStandard', 3202001, 0, NULL), (2202002, '', 3202002, 0, NULL), (2202003, '', 3202003, 0, NULL), (2202004, '', 3202004, 0, NULL), @@ -5918,7 +5918,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2203906, '', 3203906, 0, NULL), (2203907, '', 3203907, 0, NULL), (2203908, '', 3203908, 0, NULL), - (2204001, '', 3204001, 0, NULL), + (2204001, '/Chara/Npc/Monster/Lemming/LemmingStandard', 3204001, 0, NULL), (2204002, '', 3204002, 0, NULL), (2204003, '', 3204003, 0, NULL), (2204004, '', 3204004, 0, NULL), @@ -5945,8 +5945,8 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2204025, '', 3204025, 0, NULL), (2204026, '', 3204026, 0, NULL), (2204027, '', 3204027, 0, NULL), - (2204101, '', 3204101, 0, NULL), - (2204102, '', 3204102, 0, NULL), + (2204101, '/Chara/Npc/Monster/Bat/BatStandard', 3204101, 0, NULL), + (2204102, '/Chara/Npc/Monster/Bat/BatNormalStandard', 3204102, 0, NULL), (2204103, '', 3204103, 0, NULL), (2204104, '', 3204104, 0, NULL), (2204105, '', 3204105, 0, NULL), @@ -5971,7 +5971,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2204302, '', 3204302, 0, NULL), (2204303, '', 3204303, 0, NULL), (2204304, '', 3204304, 0, NULL), - (2204305, '', 3204305, 0, NULL), + (2204305, '/Chara/Npc/Monster/Petitghost/PetitghostLesserStandard', 3204305, 0, NULL), (2204306, '', 3204306, 0, NULL), (2204307, '', 3204307, 0, NULL), (2204308, '', 3204308, 0, NULL), @@ -6091,7 +6091,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2205519, '', 3205519, 0, NULL), (2205520, '', 3205520, 0, NULL), (2205521, '', 3205521, 0, NULL), - (2205601, '', 3205601, 0, NULL), + (2205601, '/Chara/Npc/Monster/Chigoe/ChigoeStandard', 3205601, 0, NULL), (2205602, '', 3205602, 0, NULL), (2205603, '', 3205603, 0, NULL), (2205604, '', 3205604, 0, NULL), @@ -6105,7 +6105,7 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (2205612, '', 3205611, 0, NULL), (2205613, '', 3205612, 0, NULL), (2205614, '', 3205613, 0, NULL), - (2205701, '', 3205701, 0, NULL), + (2205701, '/Chara/Npc/Monster/Mole/MoleMoleStandard', 3205701, 0, NULL), (2205702, '', 3205702, 0, NULL), (2205703, '', 3205703, 0, NULL), (2205704, '', 3205704, 0, NULL), @@ -7171,10 +7171,10 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (5000089, '/Chara/Npc/MapObj/MarketStand', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), (5000090, '/Chara/Npc/MapObj/MarketStand', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), (5000101, '', 0, 0, NULL), - (5000106, '', 0, 0, NULL), - (5000107, '', 0, 0, NULL), - (5000108, '', 0, 0, NULL), - (5000109, '', 0, 0, NULL), + (5000106, '/Chara/Npc/MapObj/CompanyShip', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), + (5000107, '/Chara/Npc/MapObj/CompanyShip', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), + (5000108, '/Chara/Npc/MapObj/CompanyShip', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), + (5000109, '/Chara/Npc/MapObj/CompanyShip', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}\r\n'), (5000116, '', 0, 0, NULL), (5000117, '', 0, 0, NULL), (5000118, '', 0, 0, NULL), @@ -7185,11 +7185,11 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (5900002, '/Chara/Npc/MapObj/DoorStandard', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900003, '/Chara/Npc/MapObj/DoorStandard', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900004, '/Chara/Npc/MapObj/DoorStandard', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), - (5900005, '', 0, 0, NULL), + (5900005, '/Chara/Npc/MapObj/BarrierTree', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900006, '/Chara/Npc/MapObj/MapObjOnlyShowHide', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900007, '/Chara/Npc/MapObj/MapObjOnlyShowHide', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), - (5900008, '', 0, 0, NULL), - (5900009, '', 0, 0, NULL), + (5900008, '/Chara/Npc/MapObj/MapObjClam', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900009, '/Chara/Npc/MapObj/MapObjClam', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900010, '/Chara/Npc/MapObj/MapObjPortDoor', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900011, '/Chara/Npc/MapObj/MapObjShipPort', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900012, '/Chara/Npc/MapObj/MapObjPortDoor', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), @@ -7200,25 +7200,25 @@ REPLACE INTO `gamedata_actor_class` (`id`, `classPath`, `displayNameId`, `proper (5900017, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900018, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900019, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), - (5900020, '', 0, 0, NULL), - (5900021, '', 0, 0, NULL), - (5900022, '', 0, 0, NULL), - (5900023, '', 0, 0, NULL), - (5900024, '', 0, 0, NULL), - (5900025, '', 0, 0, NULL), - (5900026, '', 0, 0, NULL), - (5900027, '', 0, 0, NULL), - (5900028, '', 0, 0, NULL), + (5900020, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900021, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900022, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900023, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900024, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900025, '/Chara/Npc/MapObj/MapObjTutorial', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900026, '/Chara/Npc/MapObj/MapObjOneWayDoor', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900027, '/Chara/Npc/MapObj/MapObjOneWayDoor', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900028, '/Chara/Npc/MapObj/MapObjOneWayDoor', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (5900029, '', 0, 0, NULL), (5900030, '', 0, 0, NULL), - (5900031, '', 3209510, 0, NULL), - (5900032, '', 3209510, 0, NULL), - (5900033, '', 3209510, 0, NULL), - (5900034, '', 3209510, 0, NULL), - (5900035, '', 3209510, 0, NULL), - (5900036, '', 0, 0, NULL), - (5900037, '', 0, 0, NULL), - (5900038, '', 0, 0, NULL), + (5900031, '/Chara/Npc/MapObj/MapObjStandard', 3209510, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900032, '/Chara/Npc/MapObj/MapObjStandard', 3209510, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900033, '/Chara/Npc/MapObj/MapObjStandard', 3209510, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900034, '/Chara/Npc/MapObj/MapObjStandard', 3209510, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900035, '/Chara/Npc/MapObj/MapObjStandard', 3209510, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900036, '/Chara/Npc/MapObj/MapObjFireworks', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900037, '/Chara/Npc/MapObj/MapObjFireworks', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), + (5900038, '/Chara/Npc/MapObj/MapObjFireworks', 0, 1, '{ \r\n "noticeEventConditions": [\r\n {\r\n "unknown1": 0,\r\n "unknown2": 1,\r\n "conditionName": "noticeEvent"\r\n }\r\n ]\r\n}'), (6000001, '', 1500032, 0, NULL), (6000002, '', 1500032, 0, NULL), (6000003, '', 1500032, 0, NULL), diff --git a/Data/sql/server_eventnpc_mapobj.sql b/Data/sql/server_eventnpc_mapobj.sql new file mode 100644 index 00000000..8caa600a --- /dev/null +++ b/Data/sql/server_eventnpc_mapobj.sql @@ -0,0 +1,104 @@ +-- -------------------------------------------------------- +-- Host: 127.0.0.1 +-- Server version: 5.6.17 - MySQL Community Server (GPL) +-- Server OS: Win64 +-- HeidiSQL Version: 10.1.0.5464 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; + + +-- Dumping database structure for ffxiv_server +CREATE DATABASE IF NOT EXISTS `ffxiv_server` /*!40100 DEFAULT CHARACTER SET latin1 */; +USE `ffxiv_server`; + +-- Dumping structure for table ffxiv_server.server_eventnpc_mapobj +CREATE TABLE IF NOT EXISTS `server_eventnpc_mapobj` ( + `id` int(10) unsigned NOT NULL, + `layoutId` int(10) unsigned NOT NULL, + `instanceId` int(10) unsigned NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- Dumping data for table ffxiv_server.server_eventnpc_mapobj: ~65 rows (approximately) +/*!40000 ALTER TABLE `server_eventnpc_mapobj` DISABLE KEYS */; +REPLACE INTO `server_eventnpc_mapobj` (`id`, `layoutId`, `instanceId`) VALUES + (589, 321, 3294), + (590, 391, 2), + (624, 321, 2948), + (623, 321, 2947), + (564, 321, 2946), + (626, 321, 2945), + (621, 321, 2942), + (552, 321, 2941), + (625, 321, 2944), + (622, 321, 2943), + (627, 331, 5290), + (0, 5141, 201), + (0, 5141, 201), + (494, 121, 2418), + (469, 131, 7054), + (468, 131, 7049), + (496, 121, 2422), + (480, 121, 2388), + (481, 121, 2390), + (479, 121, 2386), + (482, 121, 2392), + (486, 121, 2400), + (483, 121, 2394), + (485, 121, 2398), + (484, 121, 2396), + (497, 121, 2413), + (476, 121, 2380), + (477, 121, 2382), + (475, 121, 2378), + (478, 121, 2384), + (472, 121, 2372), + (473, 121, 2374), + (471, 121, 2370), + (474, 121, 2376), + (489, 121, 2408), + (487, 121, 2402), + (488, 121, 2406), + (491, 121, 2412), + (490, 121, 2410), + (492, 121, 2413), + (493, 121, 2416), + (495, 121, 2420), + (500, 196, 456), + (0, 391, 2), + (146, 141, 4040), + (145, 141, 4125), + (144, 141, 4039), + (143, 141, 4038), + (280, 141, 4044), + (282, 141, 4126), + (283, 141, 4043), + (286, 141, 4042), + (281, 141, 4057), + (285, 141, 4059), + (284, 141, 4041), + (279, 141, 4055), + (287, 431, 3525), + (0, 491, 2), + (730, 5145, 252), + (729, 5144, 201), + (927, 5143, 326), + (926, 5142, 323), + (929, 5142, 326), + (928, 5143, 323), + (470, 131, 7056), + (2047, 421, 4043), + (871, 321, 2937), + (628, 421, 2825), + (629, 421, 2829), + (938, 421, 4040), + (2050, 421, 4289); +/*!40000 ALTER TABLE `server_eventnpc_mapobj` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/Data/sql/server_eventnpc_spawn_locations.sql b/Data/sql/server_eventnpc_spawn_locations.sql index c9eb624e..e93c832f 100644 --- a/Data/sql/server_eventnpc_spawn_locations.sql +++ b/Data/sql/server_eventnpc_spawn_locations.sql @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS `server_eventnpc_spawn_locations` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; --- Dumping data for table ffxiv_server.server_eventnpc_spawn_locations: ~1,058 rows (approximately) +-- Dumping data for table ffxiv_server.server_eventnpc_spawn_locations: ~1,088 rows (approximately) /*!40000 ALTER TABLE `server_eventnpc_spawn_locations` DISABLE KEYS */; REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId`, `zoneId`, `privateAreaName`, `privateAreaLevel`, `positionX`, `positionY`, `positionZ`, `rotation`, `motionPack`) VALUES (1, 2104001, 'wharf_rat', 1, '', 0, -84.628, 54.497, -3.52, 2.491, 0), @@ -280,7 +280,7 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (245, 1090044, '', 209, '', 0, -91.35, 196.02, 323.18, 1.97, 0), (246, 1090051, '', 209, '', 0, 38.29, 195.99, 247.09, 0, 0), (247, 1090055, '', 209, '', 0, -110.2, 224, 212.37, 0, 0), - (248, 1090058, '', 209, '', 0, -121.99, 201.5, 257.62, 0, 0), + (248, 1090058, 'trigger_gld', 209, '', 0, -121.99, 201.5, 257.62, 0, 0), (249, 1090077, '', 209, '', 0, -177.81, 192.56, 209.92, -0.47, 0), (250, 1090119, '', 209, '', 0, -216.38, 229.5, 302.07, 0, 0), (251, 1090123, '', 209, '', 0, -135.965, 201.5, 280.14, 0, 0), @@ -532,17 +532,17 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (498, 5900010, '', 230, '', 0, -811.176, 8.03, 234.815, 0, 0), (499, 5900012, '', 230, '', 0, -806.893, 8.03, 240.885, 0, 0), (500, 5900011, 'limsa_shipport', 230, '', 0, -846.89, 5, 240, 0, 0), - (501, 1000042, 'ascilia', 184, '', 0, -1.5, 196, 124.5, 1.8, 0), - (502, 1000186, 'warburton', 184, '', 0, -0.2, 196, 123.26, -0.8, 0), - (503, 1001644, 'stocky_stranger', 184, '', 0, 12.18, 196, 133.42, -1.26, 1017), - (504, 1000840, 'rururaji', 184, '', 0, 9.07, 196, 126.69, -1.26, 1017), - (505, 1001490, 'big-bellied_barker', 184, '', 0, -19.7, 196, 79.93, -0.38, 1009), - (506, 1001491, 'fretful_farmhand', 184, '', 0, 3.4, 196, 115.5, 2.7, 1021), - (507, 1001492, 'debauched_demoness', 184, '', 0, 0.8, 196, 103.18, -1.13, 1015), - (508, 1001493, 'dapper_dan', 184, '', 0, -33.57, 196, 82.42, 1.63, 1013), - (509, 1001494, 'loutish_lad', 184, '', 0, -9.13, 196, 114.84, 2.33, 1031), - (510, 1001495, 'gil-digging_mistress', 184, '', 0, -19.11, 196, 95.09, 2.13, 1037), - (511, 1001496, 'twittering_tomboy', 184, '', 0, -32.37, 196, 80.75, -0.74, 1101), + (501, 1000042, 'man0u0_ascilia', 184, '', 0, -1.5, 196, 124.5, 1.8, 0), + (502, 1000186, 'man0u0_warburton', 184, '', 0, -0.2, 196, 123.26, -0.8, 0), + (503, 1001644, 'man0u0_stocky_stranger', 184, '', 0, 12.18, 196, 133.42, -1.26, 1017), + (504, 1000840, 'man0u0_rururaji', 184, '', 0, 9.07, 196, 126.69, -1.26, 1017), + (505, 1001490, 'man0u0_big-bellied_barker', 184, '', 0, -19.7, 196, 79.93, -0.38, 1009), + (506, 1001491, 'man0u0_fretful_farmhand', 184, '', 0, 3.4, 196, 115.5, 2.7, 1021), + (507, 1001492, 'man0u0_debauched_demoness', 184, '', 0, 0.8, 196, 103.18, -1.13, 1015), + (508, 1001493, 'man0u0_dapper_dan', 184, '', 0, -33.57, 196, 82.42, 1.63, 1013), + (509, 1001494, 'man0u0_loutish_lad', 184, '', 0, -9.13, 196, 114.84, 2.33, 1031), + (510, 1001495, 'man0u0_gil-digging_mistress', 184, '', 0, -19.11, 196, 95.09, 2.13, 1037), + (511, 1001496, 'man0u0_twittering_tomboy', 184, '', 0, -32.37, 196, 80.75, -0.74, 1101), (512, 1280127, '', 0, '', 0, -400, 19, 338, 0, 0), (513, 1090372, 'exit_trigger', 184, '', 0, -13, 194.91, 76.75, 0, 0), (514, 1000438, 'well-traveled_merchant', 193, '', 0, -0.71, 10.35, -40.51, 0.3, 1035), @@ -658,8 +658,8 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (625, 5900001, 'guild_lnc', 206, '', 0, 172, 28, -1576, 0, 0), (626, 5900001, 'guild_arc', 206, '', 0, 227, 12, -1264, 0, 0), (627, 5900001, 'guild_cnj', 206, '', 0, -325, 8, -1669, 0, 0), - (628, 5900004, 'door1', 184, '', 0, -14, 196, 112, 0, 0), - (629, 5900004, 'door2', 184, '', 0, 12, 196, 184, 0, 0), + (628, 5900004, 'man0u0_door1_closed', 184, '', 0, -14, 196, 112, 0, 0), + (629, 5900004, 'man0u0_door2_closed', 184, '', 0, 12, 196, 184, 0, 0), (630, 5900011, 'uldah_mapshipport_2', 209, '', 0, -127, 271, 157, 0, 0), (631, 1000466, 'frances', 206, '', 0, 11.85, 8.75, -1266.45, 1.48, 1041), (632, 1200288, 'miniaeth_adv', 155, '', 0, 98.77, 3.59, -1213.67, 2.47, 0), @@ -856,47 +856,47 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (827, 1280126, '', 0, '', 0, 484, 19, 672, 0, 0), (828, 1280127, '', 0, '', 0, -400, 19, 338, 0, 0), (832, 1090373, 'opening_stoper_uldah', 184, '', 0, 27.42, 192, 126.94, 0.33, 0), - (835, 1000444, 'undignified_adventurer', 230, 'PrivateAreaMasterPast', 1, -832.36, 6, 209.44, -0.35, 1041), - (836, 1000438, 'well-traveled_merchant', 230, 'PrivateAreaMasterPast', 1, -831.73, 6, 196.77, 0.86, 1035), - (837, 1000447, 'voluptuous_vixen', 230, 'PrivateAreaMasterPast', 1, -863.34, 4, 236.13, 0.93, 1016), - (838, 1000450, 'lanky_traveler', 230, 'PrivateAreaMasterPast', 1, -855.68, 3.1, 258.51, -1.56, 1015), - (839, 1000151, 'hob', 230, 'PrivateAreaMasterPast', 1, -834.77, 6, 241.55, -2.79, 1041), - (840, 1000260, 'pearly-toothed_porter', 230, 'PrivateAreaMasterPast', 1, -823.86, 6, 198.95, 0.13, 1070), - (841, 1000264, 'pasty-faced_adventurer', 230, 'PrivateAreaMasterPast', 1, -829.72, 6, 260.6, -1.07, 1058), - (842, 1000261, 'muscle-bound_deckhand', 230, 'PrivateAreaMasterPast', 1, -823.75, 6, 200.27, -2.7, 1033), - (843, 1500004, 'gert', 230, 'PrivateAreaMasterPast', 1, -809.15, 8, 230.88, 0.4, 1016), - (844, 1500005, 'lorhzant', 230, 'PrivateAreaMasterPast', 1, -809.19, 8, 244.86, -2.78, 1017), + (835, 1000444, 'man0l0_undignified_adventurer', 230, 'PrivateAreaMasterPast', 1, -832.36, 6, 209.44, -0.35, 1041), + (836, 1000438, 'man0l0_well-traveled_merchant', 230, 'PrivateAreaMasterPast', 1, -831.73, 6, 196.77, 0.86, 1035), + (837, 1000447, 'man0l0_voluptuous_vixen', 230, 'PrivateAreaMasterPast', 1, -863.34, 4, 236.13, 0.93, 1016), + (838, 1000450, 'man0l0_lanky_traveler', 230, 'PrivateAreaMasterPast', 1, -855.68, 3.1, 258.51, -1.56, 1015), + (839, 1000151, 'man0l0_hob', 230, 'PrivateAreaMasterPast', 1, -834.77, 6, 241.55, -2.79, 1041), + (840, 1000260, 'man0l0_pearly-toothed_porter', 230, 'PrivateAreaMasterPast', 1, -823.86, 6, 198.95, 0.13, 1070), + (841, 1000264, 'man0l0_pasty-faced_adventurer', 230, 'PrivateAreaMasterPast', 1, -829.72, 6, 260.6, -1.07, 1058), + (842, 1000261, 'man0l0_muscle-bound_deckhand', 230, 'PrivateAreaMasterPast', 1, -823.75, 6, 200.27, -2.7, 1033), + (843, 1500004, 'man0l0_gert', 230, 'PrivateAreaMasterPast', 1, -809.15, 8, 230.88, 0.4, 1016), + (844, 1500005, 'man0l0_lorhzant', 230, 'PrivateAreaMasterPast', 1, -809.19, 8, 244.86, -2.78, 1017), (845, 1000137, 'man0l1_baderon', 133, 'PrivateAreaMasterPast', 2, -430.844, 40.2116, 186.773, -1.30039, 1060), - (846, 1290002, 'privatearea_exit', 230, 'PrivateAreaMasterPast', 1, -838.1, 6, 231.94, 0, 0), - (847, 1000099, 'skittish_adventurer', 133, 'PrivateAreaMasterPast', 2, -442.743, 39.5, 185.32, -1.69155, 1002), - (848, 1000098, 'onyx-haired_adventurer', 133, 'PrivateAreaMasterPast', 2, -446.004, 39.5, 184.858, 1.482, 1002), - (849, 1000076, 'duplicitous_trader', 133, 'PrivateAreaMasterPast', 2, -442.31, 39.5, 193.317, 0.581998, 1019), - (850, 1000075, 'crapulous_adventurer', 133, 'PrivateAreaMasterPast', 2, -450.865, 39.5, 194.59, 1.538, 1019), - (851, 1000100, 'relaxing_adventurer', 133, 'PrivateAreaMasterPast', 2, -449.132, 39.5, 196.246, 3.108, 1003), - (852, 1000167, 'mytesyn', 133, 'PrivateAreaMasterPast', 2, -435.2, 40, 207.07, -1.9, 0), - (853, 1000077, 'debonair_pirate', 133, 'PrivateAreaMasterPast', 2, -452.427, 39.5, 202.873, 2.25598, 1003), - (854, 1000001, 'yshtola', 133, 'PrivateAreaMasterPast', 2, -463.547, 40, 183.262, -1.3983, 0), - (855, 1001643, 'cocksure-cockswain', 133, 'PrivateAreaMasterPast', 2, -445.719, 40, 221.513, -1.59477, 0), - (856, 1001649, 'sententious_sellsword', 133, 'PrivateAreaMasterPast', 2, -473.359, 40, 207.664, 2.742, 0), - (857, 1001650, 'solicitous_sellsword', 133, 'PrivateAreaMasterPast', 2, -445.765, 43, 167.759, -1.59122, 0), - (858, 1000951, 'lonsygg', 155, 'PrivateAreaMasterPast', 1, 107.96, 9.4, -1211.89, 0.3243, 1031), - (859, 1000876, 'tkebbe', 155, 'PrivateAreaMasterPast', 1, 175.76, -1.25, -1151.11, -2.67, 1015), - (860, 1000017, 'farrimond', 155, 'PrivateAreaMasterPast', 1, 181.82, -1, -1154.03, -1.57, 1017), - (861, 1000680, 'swethyna', 155, 'PrivateAreaMasterPast', 1, 163.58, -1.44, -1153.96, 2.23, 1015), - (862, 1000683, 'cecilia', 155, 'PrivateAreaMasterPast', 1, 161.5, -1.48, -1156.34, 1.44, 1016), - (863, 1000230, 'miounne', 155, 'PrivateAreaMasterPast', 2, 57.42, 4, -1196.69, 1.67, 1060), - (864, 1001062, 'beaming_adventurer', 155, 'PrivateAreaMasterPast', 2, 67.4, 4, -1208.22, -2.63, 1005), - (865, 1001057, 'amiable_adventurer', 155, 'PrivateAreaMasterPast', 2, 64.89, 4, -1209.33, 1.74, 1002), - (866, 1001060, 'well-bundled_adventurer', 155, 'PrivateAreaMasterPast', 2, 71.83, 4, -1200.14, -0.88, 1005), - (867, 1001059, 'narrow-eyed_adventurer', 155, 'PrivateAreaMasterPast', 2, 69.62, 4, -1199.51, 1.29, 1005), - (868, 1001058, 'morose_merchant', 155, 'PrivateAreaMasterPast', 2, 66.26, 4, -1199.79, -2.71, 1005), - (869, 1000562, 'wispily_whiskered_woodworker', 155, 'PrivateAreaMasterPast', 2, 64.41, 4, -1199.61, 1.71, 0), - (870, 1000458, 'vkorolon', 155, 'PrivateAreaMasterPast', 2, 55.82, 4, -1212.23, 1.91, 0), - (871, 5900004, 'closed_gridania_gate', 155, 'PrivateAreaMasterPast', 1, 185, -1, -1154, 0, 0), + (846, 1290002, 'man0l0_privatearea_exit', 230, 'PrivateAreaMasterPast', 1, -838.1, 6, 231.94, 0, 0), + (847, 1000099, 'man0l1_skittish_adventurer', 133, 'PrivateAreaMasterPast', 2, -442.743, 39.5, 185.32, -1.69155, 1002), + (848, 1000098, 'man0l1_onyx-haired_adventurer', 133, 'PrivateAreaMasterPast', 2, -446.004, 39.5, 184.858, 1.482, 1002), + (849, 1000076, 'man0l1_duplicitous_trader', 133, 'PrivateAreaMasterPast', 2, -442.31, 39.5, 193.317, 0.581998, 1019), + (850, 1000075, 'man0l1_crapulous_adventurer', 133, 'PrivateAreaMasterPast', 2, -450.865, 39.5, 194.59, 1.538, 1019), + (851, 1000100, 'man0l1_relaxing_adventurer', 133, 'PrivateAreaMasterPast', 2, -449.132, 39.5, 196.246, 3.108, 1003), + (852, 1000167, 'man0l1_mytesyn', 133, 'PrivateAreaMasterPast', 2, -435.2, 40, 207.07, -1.9, 0), + (853, 1000077, 'man0l1_debonair_pirate', 133, 'PrivateAreaMasterPast', 2, -452.427, 39.5, 202.873, 2.25598, 1003), + (854, 1000001, 'man0l1_yshtola', 133, 'PrivateAreaMasterPast', 2, -463.547, 40, 183.262, -1.3983, 0), + (855, 1001643, 'man0l1_cocksure-cockswain', 133, 'PrivateAreaMasterPast', 2, -445.719, 40, 221.513, -1.59477, 0), + (856, 1001649, 'man0l1_sententious_sellsword', 133, 'PrivateAreaMasterPast', 2, -473.359, 40, 207.664, 2.742, 0), + (857, 1001650, 'man0l1_solicitous_sellsword', 133, 'PrivateAreaMasterPast', 2, -445.765, 43, 167.759, -1.59122, 0), + (858, 1000951, 'man0g0_lonsygg', 155, 'PrivateAreaMasterPast', 1, 107.96, 9.4, -1211.89, 0.3243, 1031), + (859, 1000876, 'man0g0_tkebbe', 155, 'PrivateAreaMasterPast', 1, 175.76, -1.25, -1151.11, -2.67, 1015), + (860, 1000017, 'man0g0_farrimond', 155, 'PrivateAreaMasterPast', 1, 181.82, -1, -1154.03, -1.57, 1017), + (861, 1000680, 'man0g0_swethyna', 155, 'PrivateAreaMasterPast', 1, 163.58, -1.44, -1153.96, 2.23, 1015), + (862, 1000683, 'man0g0_cecilia', 155, 'PrivateAreaMasterPast', 1, 161.5, -1.48, -1156.34, 1.44, 1016), + (863, 1000230, 'man0g1_miounne', 155, 'PrivateAreaMasterPast', 2, 57.42, 4, -1196.69, 1.67, 1060), + (864, 1001062, 'man0g1_beaming_adventurer', 155, 'PrivateAreaMasterPast', 2, 67.4, 4, -1208.22, -2.63, 1005), + (865, 1001057, 'man0g1_amiable_adventurer', 155, 'PrivateAreaMasterPast', 2, 64.89, 4, -1209.33, 1.74, 1002), + (866, 1001060, 'man0g1_well-bundled_adventurer', 155, 'PrivateAreaMasterPast', 2, 71.83, 4, -1200.14, -0.88, 1005), + (867, 1001059, 'man0g1_narrow-eyed_adventurer', 155, 'PrivateAreaMasterPast', 2, 69.62, 4, -1199.51, 1.29, 1005), + (868, 1001058, 'man0g1_morose_merchant', 155, 'PrivateAreaMasterPast', 2, 66.26, 4, -1199.79, -2.71, 1005), + (869, 1000562, 'man0g1_wispily_whiskered_woodwor', 155, 'PrivateAreaMasterPast', 2, 64.41, 4, -1199.61, 1.71, 0), + (870, 1000458, 'man0g1_vkorolon', 155, 'PrivateAreaMasterPast', 2, 55.82, 4, -1212.23, 1.91, 0), + (871, 5900004, 'man0g0_closed_gridania_gate', 155, 'PrivateAreaMasterPast', 1, 185, -1, -1154, 0, 0), (872, 1099047, 'gridania_blocker1', 155, 'PrivateAreaMasterPast', 1, 105.945, 10.851, -1217.8, 0, 0), (874, 1001430, 'kinnison', 206, '', 0, -194, 23, -1610, 0.9, 0), - (875, 1099046, 'gridania_opening_exit', 155, 'PrivateAreaMasterPast', 1, 72.19, 4, -1207.91, 1.17, 0), - (876, 1001648, 'unconcerned_passerby', 155, 'PrivateAreaMasterPast', 2, 77.577, 3.953, -1210.66, -0.518, 0), + (875, 1099046, 'man0g0_gridania_opening_exit', 155, 'PrivateAreaMasterPast', 1, 72.19, 4, -1207.91, 1.17, 0), + (876, 1001648, 'man0g1_unconcerned_passerby', 155, 'PrivateAreaMasterPast', 2, 77.577, 3.953, -1210.66, -0.518, 0), (882, 1500007, 'didiwai', 128, '', 0, 23.98, 46.05, -42.96, 0.6, 1041), (883, 1000613, 'nahctahr', 128, '', 0, 22.57, 45.5, -23.08, 1.5, 1041), (884, 1000359, 'ryssfloh', 128, '', 0, 58.78, 46.1, -12.45, 0.6, 1056), @@ -953,7 +953,7 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (935, 1060027, 'yoshi_p', 130, '', 0, 1117.76, 52.143, -445.258, 2.173, 0), (936, 5900004, 'door1', 175, 'PrivateAreaMasterPast', 3, 14, 196, 174, 0, 0), (937, 5900004, 'door2', 175, 'PrivateAreaMasterPast', 3, 12, 196, 184, 0, 0), - (938, 5900004, 'door3', 184, '', 0, -44, 196, 68, 0, 0), + (938, 5900004, 'man0u0_door3_closed', 184, '', 0, -44, 196, 68, 0, 0), (939, 1001042, 'high-spirited_fellow', 175, 'PrivateAreaMasterPast', 3, -36.23, 196, 80, 1.8, 0), (940, 1001044, 'disreputable_midlander', 175, 'PrivateAreaMasterPast', 3, -23.92, 196, 76.73, -0.15, 0), (941, 1000840, 'rururaji', 175, 'PrivateAreaMasterPast', 3, -13.509, 196, 86.927, -1.521, 1017), @@ -1040,17 +1040,17 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (1022, 1500254, 'ignemortel', 135, '', 0, -293.673, 77.449, -2257.91, -3.075, 0), (1023, 1500017, 'iron_lake_battlewarden', 135, '', 0, -284.793, 77.866, -2277.5, -0.685, 0), (1024, 1001697, 'storm_sergeant_nolan', 135, '', 0, -298.5, 77.56, -2271.47, 0.851, 0), - (1025, 1000869, 'adventurer1', 230, 'PrivateAreaMasterPast', 3, -602.241, 43, -62.3205, 0.75078, 1022), - (1026, 1000870, 'adventurer2', 230, 'PrivateAreaMasterPast', 3, -602.516, 43, -61.557, 1.206, 1022), - (1027, 1000871, 'adventurer3', 230, 'PrivateAreaMasterPast', 3, -612.158, 43, -60.8377, -2.89358, 1022), - (1028, 1000142, 'mannskoen', 230, 'PrivateAreaMasterPast', 3, -626.34, 43.631, -63.504, 1.07, 1015), - (1029, 1000107, 'overeager_barracuda', 230, 'PrivateAreaMasterPast', 3, -605.868, 43, -75.147, -0.715, 0), - (1030, 1000108, 'sophisticated_barracuda', 230, 'PrivateAreaMasterPast', 3, -619.348, 43.631, -77.254, 0.965, 1015), - (1031, 1000161, 'totoruto', 230, 'PrivateAreaMasterPast', 3, -603.41, 43, -70.45, -1.21, 1026), - (1032, 1000109, 'smirking_barracuda', 230, 'PrivateAreaMasterPast', 3, -612.586, 43, -78.737, -0.175, 1002), - (1033, 1000096, 'nervous_barracuda', 230, 'PrivateAreaMasterPast', 3, -617.429, 43, -54.065, 2.953, 1003), - (1034, 1000097, 'intimidating_barracuda', 230, 'PrivateAreaMasterPast', 3, -623.407, 43, -56.981, 2.415, 1003), - (1035, 1090003, 'push_man0l1_exit_echo', 230, 'PrivateAreaMasterPast', 3, -598.37, 42.1, -50.28, 0.61, 0), + (1025, 1000869, 'man0l1_adventurer1', 230, 'PrivateAreaMasterPast', 3, -602.241, 43, -62.3205, 0.75078, 1022), + (1026, 1000870, 'man0l1_adventurer2', 230, 'PrivateAreaMasterPast', 3, -602.516, 43, -61.557, 1.206, 1022), + (1027, 1000871, 'man0l1_adventurer3', 230, 'PrivateAreaMasterPast', 3, -612.158, 43, -60.8377, -2.89358, 1022), + (1028, 1000142, 'man0l1_mannskoen', 230, 'PrivateAreaMasterPast', 3, -626.34, 43.631, -63.504, 1.07, 1015), + (1029, 1000107, 'man0l1_overeager_barracuda', 230, 'PrivateAreaMasterPast', 3, -605.868, 43, -75.147, -0.715, 0), + (1030, 1000108, 'man0l1_sophisticated_barracuda', 230, 'PrivateAreaMasterPast', 3, -619.348, 43.631, -77.254, 0.965, 1015), + (1031, 1000161, 'man0l1_totoruto', 230, 'PrivateAreaMasterPast', 3, -603.41, 43, -70.45, -1.21, 1026), + (1032, 1000109, 'man0l1_smirking_barracuda', 230, 'PrivateAreaMasterPast', 3, -612.586, 43, -78.737, -0.175, 1002), + (1033, 1000096, 'man0l1_nervous_barracuda', 230, 'PrivateAreaMasterPast', 3, -617.429, 43, -54.065, 2.953, 1003), + (1034, 1000097, 'man0l1_intimidating_barracuda', 230, 'PrivateAreaMasterPast', 3, -623.407, 43, -56.981, 2.415, 1003), + (1035, 1090003, 'man0l1_push_exit_echo', 230, 'PrivateAreaMasterPast', 3, -598.37, 42.1, -50.28, 0.61, 0), (1036, 1001446, 'fiachre', 172, '', 0, -2172.72, 14.307, -432.938, -0.695, 0), (1037, 1001447, 'taylor', 172, '', 0, -2195.31, 14.361, -417.438, 3.13, 0), (1038, 1001448, 'walhbert', 172, '', 0, -2204.59, 14, -430.846, 1.8, 0), @@ -1092,7 +1092,38 @@ REPLACE INTO `server_eventnpc_spawn_locations` (`id`, `actorClassId`, `uniqueId` (1074, 1001119, 'man0u0_crowd_lalafell_f', 184, '', 0, 16.1, 192, 50.97, -1, 0), (1075, 1001120, 'man0u0_crowd_miqote', 184, '', 0, -1.42, 192, 58.93, 2.49, 0), (1076, 1001121, 'man0u0_crowd_roegadyn', 184, '', 0, -3.57, 192, 59.41, 1.88, 0), - (2016, 5900006, 'man0u0_tutrl_gate', 184, '', 0, 12, 196, 130, 0, 0); + (2016, 5900006, 'man0u0_tutrl_gate', 184, '', 0, 12, 196, 130, 0, 0), + (2017, 1000145, 'man0l1_hnaanza', 230, 'PrivateAreaMasterPast', 4, -506.842, 42.49, 432.026, 1.078, 0), + (2018, 1000111, 'man0l1_tattooed_pirate', 230, 'PrivateAreaMasterPast', 4, -479, 41.505, 433.188, 0, 0), + (2020, 1000144, 'man0l1_bodenolf', 230, 'PrivateAreaMasterPast', 4, -500.06, 42.8, 416.06, 1.19, 1016), + (2021, 1000163, 'man0l1_joellaut', 230, 'PrivateAreaMasterPast', 4, -479, 41.505, 433.188, 0, 0), + (2022, 1000176, 'man0l1_mimidoa', 230, 'PrivateAreaMasterPast', 4, -483.67, 44.5, 404.51, 0.793, 1015), + (2023, 1000247, 'man0l1_werner', 230, 'PrivateAreaMasterPast', 4, -479, 41.505, 433.188, 0, 0), + (2024, 1000267, 'man0l1_hihine', 230, 'PrivateAreaMasterPast', 4, -479, 41.505, 433.188, 0, 0), + (2025, 1000268, 'man0l1_trinne', 230, 'PrivateAreaMasterPast', 4, -479, 41.505, 433.188, 0, 0), + (2026, 1000135, 'man0l1_iofa', 230, 'PrivateAreaMasterPast', 4, -490.59, 42.8, 420.71, -1.74, 1016), + (2027, 1000061, 'man0l1_mzimzizi', 230, 'PrivateAreaMasterPast', 4, -489.4, 42.95, 415.4, -2.28, 2016), + (2028, 1000060, 'man0l1_pfynhaemr', 230, 'PrivateAreaMasterPast', 4, -492.26, 42.8, 414.65, 1.4, 2015), + (2029, 1000062, 'man0l1_carrilaut', 230, 'PrivateAreaMasterPast', 4, -486.69, 42.8, 411.36, -0.78, 2017), + (2031, 5900001, 'man0l1_bsm_west_door', 230, 'PrivateAreaMasterPast', 4, -498, 43, 424, 0, 0), + (2032, 5900001, 'man0l1_bsm_east_door', 230, 'PrivateAreaMasterPast', 4, -477, 45, 403, 0, 0), + (2033, 1090058, 'man0l1_trigger_armbsm', 230, 'PrivateAreaMasterPast', 4, 0, 0, 0, 0, 0), + (2034, 1290002, 'man0l1_privatearea_exit', 230, 'PrivateAreaMasterPast', 4, 0, 0, 0, 0, 0), + (2035, 1000950, 'pgl200_elecotte', 209, 'PrivateAreaMasterPast', 5, -131.49, 201.6, 256.97, 0.37, 1017), + (2036, 1000635, 'pgl200_hnaufrid', 209, 'PrivateAreaMasterPast', 5, -129.71, 201.6, 256.29, 0.63, 1015), + (2037, 1600040, 'pgl200_pamisolaux', 209, 'PrivateAreaMasterPast', 5, -128.58, 201.6, 255.11, 0.95, 1041), + (2038, 1001056, 'pgl200_holbubu', 209, 'PrivateAreaMasterPast', 5, -117.87, 200.2, 263.67, 2.09, 0), + (2039, 1001022, 'pgl200_sungi_kelungi', 209, 'PrivateAreaMasterPast', 5, -113.9, 200.2, 262.21, -1.58, 1041), + (2040, 1001055, 'pgl200_bouchard', 209, 'PrivateAreaMasterPast', 5, -128.08, 200.2, 274.56, 2.8, 1016), + (2041, 1000994, 'pgl200_lefchild', 209, 'PrivateAreaMasterPast', 5, -127.24, 200.2, 267.51, 1.54, 1017), + (2042, 1000638, 'pgl200_hawazi_zowazi', 209, 'PrivateAreaMasterPast', 5, -119.086, 200.7, 268.745, 2.618, 2038), + (2043, 1000639, 'pgl200_isabella', 209, 'PrivateAreaMasterPast', 5, -119.486, 200.2, 273.871, 0.524, 2039), + (2044, 1000954, 'pgl200_esperaunce', 209, 'PrivateAreaMasterPast', 5, -124.351, 200.2, 268.694, 0.296, 0), + (2045, 1000953, 'pgl200_beauteous_beauty', 209, 'PrivateAreaMasterPast', 5, -124.549, 200.2, 269.3, 0.746, 0), + (2046, 1000952, 'pgl200_sultry_strumpet', 209, 'PrivateAreaMasterPast', 5, -123.53, 200.2, 268.689, 0.728, 0), + (2047, 5900001, 'pgl200_gsm_door', 209, 'PrivateAreaMasterPast', 5, -121, 202, 255, 0, 0), + (2049, 1290002, 'pgl200_privatearea_exit', 209, 'PrivateAreaMasterPast', 5, -128, 201.5, 262.31, 0, 0), + (2050, 5900021, 'man0u0_tutorial_mapobj1', 184, '', 0, 12.614, 196, 130.838, 0, 0); /*!40000 ALTER TABLE `server_eventnpc_spawn_locations` ENABLE KEYS */; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; diff --git a/Map Server/Actors/Area/Area.cs b/Map Server/Actors/Area/Area.cs index 17a89bde..d7b749d1 100644 --- a/Map Server/Actors/Area/Area.cs +++ b/Map Server/Actors/Area/Area.cs @@ -517,7 +517,7 @@ namespace Meteor.Map.Actors if (actorClass == null) return; - Npc npc = new Npc(mActorList.Count + 1, actorClass, location.uniqueId, this, location.x, location.y, location.z, location.rot, 0, location.motionPack, null); + Npc npc = new Npc(mActorList.Count + 1, actorClass, location.uniqueId, this, location.x, location.y, location.z, location.rot, 0, location.motionPack, null, location.mapObjLayoutId, location.mapObjInstanceId); npc.LoadEventConditions(actorClass.eventConditions); diff --git a/Map Server/Actors/Area/SpawnLocation.cs b/Map Server/Actors/Area/SpawnLocation.cs index de61c3aa..f57fe9c7 100644 --- a/Map Server/Actors/Area/SpawnLocation.cs +++ b/Map Server/Actors/Area/SpawnLocation.cs @@ -34,7 +34,10 @@ namespace Meteor.Map.actors.area public float rot; public uint motionPack; - public SpawnLocation(uint classId, string uniqueId, uint zoneId, string privAreaName, int privAreaLevel, float x, float y, float z, float rot, uint animId) + public uint mapObjLayoutId; + public uint mapObjInstanceId; + + public SpawnLocation(uint classId, string uniqueId, uint zoneId, string privAreaName, int privAreaLevel, float x, float y, float z, float rot, uint animId, uint mapObjLayoutId, uint mapObjInstanceId) { this.classId = classId; this.uniqueId = uniqueId; @@ -46,6 +49,8 @@ namespace Meteor.Map.actors.area this.z = z; this.rot = rot; this.motionPack = animId; - } + this.mapObjLayoutId = mapObjLayoutId; + this.mapObjInstanceId = mapObjInstanceId; + } } } diff --git a/Map Server/Actors/Chara/Npc/Npc.cs b/Map Server/Actors/Chara/Npc/Npc.cs index e62b1e90..777c1d7c 100644 --- a/Map Server/Actors/Chara/Npc/Npc.cs +++ b/Map Server/Actors/Chara/Npc/Npc.cs @@ -51,13 +51,13 @@ namespace Meteor.Map.Actors private uint actorClassId; private string uniqueIdentifier; - private bool isMapObj = false; - private uint layout, instance; + private bool IsMapObjChara = false; + private uint MapObjLayoutId, MapObjInstanceId; public NpcWork npcWork = new NpcWork(); public NpcSpawnType npcSpawnType; - public Npc(int actorNumber, ActorClass actorClass, string uniqueId, Area spawnedArea, float posX, float posY, float posZ, float rot, ushort actorState, uint animationId, string customDisplayName) + public Npc(int actorNumber, ActorClass actorClass, string uniqueId, Area spawnedArea, float posX, float posY, float posZ, float rot, ushort actorState, uint animationId, string customDisplayName, uint mapObjLayoutId = 0, uint mapObjInstanceId = 0) : base((4 << 28 | spawnedArea.Id << 19 | ((uint)actorNumber + 5))) { this.positionX = posX; @@ -101,24 +101,19 @@ namespace Meteor.Map.Actors npcWork.pushCommandSub = actorClass.pushCommandSub; npcWork.pushCommandPriority = actorClass.pushCommandPriority; - if (actorClassId == 1080078 || actorClassId == 1080079 || actorClassId == 1080080 || (actorClassId >= 1080123 && actorClassId <= 1080135) || (actorClassId >= 5000001 && actorClassId <= 5000090) || (actorClassId >= 5900001 && actorClassId <= 5900038)) + if (mapObjLayoutId != 0 && mapObjInstanceId != 0) { - isMapObj = true; - List lParams = LuaEngine.GetInstance().CallLuaFunctionForReturn(null, this, "init", false); - if (lParams == null || lParams.Count < 6) - isMapObj = false; - else - { - layout = (uint)(Int32)lParams[4].value; - instance = (uint)(Int32)lParams[5].value; - isStatic = true; - } + isStatic = true; + IsMapObjChara = true; + MapObjLayoutId = mapObjLayoutId; + MapObjInstanceId = mapObjInstanceId; } + GenerateActorName((int)actorNumber); this.aiContainer = new AIContainer(this, null, new PathFind(this), new TargetFind(this)); } - public Npc(int actorNumber, ActorClass actorClass, string uniqueId, Area spawnedArea, float posX, float posY, float posZ, float rot, uint layout, uint instance) + public Npc(int actorNumber, ActorClass actorClass, string uniqueId, Area spawnedArea, float posX, float posY, float posZ, float rot, uint mapObjLayoutId = 0, uint mapObjInstanceId = 0) : base((4 << 28 | spawnedArea.Id << 19 | (uint)actorNumber)) { this.positionX = posX; @@ -148,9 +143,13 @@ namespace Meteor.Map.Actors npcWork.pushCommandSub = actorClass.pushCommandSub; npcWork.pushCommandPriority = actorClass.pushCommandPriority; - this.isMapObj = true; - this.layout = layout; - this.instance = instance; + if (mapObjLayoutId != 0 && mapObjInstanceId != 0) + { + isStatic = true; + IsMapObjChara = true; + MapObjLayoutId = mapObjLayoutId; + MapObjInstanceId = mapObjInstanceId; + } GenerateActorName((int)actorNumber); this.aiContainer = new AIContainer(this, null, new PathFind(this), new TargetFind(null)); @@ -208,8 +207,8 @@ namespace Meteor.Map.Actors subpackets.Add(CreateSpeedPacket()); subpackets.Add(CreateSpawnPositonPacket(0x0)); - if (isMapObj) - subpackets.Add(SetActorBGPropertiesPacket.BuildPacket(Id, instance, layout)); + if (IsMapObjChara) + subpackets.Add(SetActorBGPropertiesPacket.BuildPacket(Id, MapObjLayoutId, MapObjInstanceId)); else subpackets.Add(CreateAppearancePacket()); diff --git a/Map Server/Actors/Chara/Player/Player.cs b/Map Server/Actors/Chara/Player/Player.cs index 7cee6f45..ce203b5d 100644 --- a/Map Server/Actors/Chara/Player/Player.cs +++ b/Map Server/Actors/Chara/Player/Player.cs @@ -1476,7 +1476,9 @@ namespace Meteor.Map.Actors if (!isSilent) { - SendGameMessage(Server.GetWorldManager().GetActor(), 25224, 0x20, (object)questScenario[freeSlot].GetQuestId()); // " accepted." + WorldMaster worldMaster = Server.GetWorldManager().GetActor(); + SendDataPacket("attention", worldMaster, "", 25224, (object)questScenario[freeSlot].GetQuestId()); // " accepted." + SendGameMessage(worldMaster, 25224, 0x20, (object)questScenario[freeSlot].GetQuestId()); // " accepted." } instance.OnAccept(); @@ -1495,6 +1497,7 @@ namespace Meteor.Map.Actors { SendQuestClientUpdate(i); oldQuestInstance.OnComplete(); + Database.SaveCompletedQuests(playerSession.GetActor()); questStateManager.UpdateQuestCompleted(oldQuestInstance); Quest newQuestInstance = questStateManager.GetActiveQuest(((Quest)Server.GetStaticActors(questName)).GetQuestId()); questScenario[i] = newQuestInstance; @@ -1812,7 +1815,7 @@ namespace Meteor.Map.Actors break; } - if (defaultTalk != null && defaultTalk.IsQuestENPC(this, npc)) + if (defaultTalk != null && defaultTalk.IsQuestENPCByScript(this, npc)) return defaultTalk; return null; diff --git a/Map Server/Actors/Quest/Quest.cs b/Map Server/Actors/Quest/Quest.cs index a6fbb8a7..690555ed 100644 --- a/Map Server/Actors/Quest/Quest.cs +++ b/Map Server/Actors/Quest/Quest.cs @@ -149,19 +149,19 @@ namespace Meteor.Map.Actors.QuestNS LuaEngine.GetInstance().CallLuaFunction(caller, this, "onTalk", true, npc); } - public void OnEmote(Player caller, Npc npc, Command command) + public void OnEmote(Player caller, Npc npc, string triggerName) { - LuaEngine.GetInstance().CallLuaFunction(caller, this, "onEmote", true, npc, command); + LuaEngine.GetInstance().CallLuaFunction(caller, this, "onEmote", true, npc, triggerName); } - public void OnPush(Player caller, Npc npc) + public void OnPush(Player caller, Npc npc, string triggerName) { - LuaEngine.GetInstance().CallLuaFunction(caller, this, "onPush", true, npc); + LuaEngine.GetInstance().CallLuaFunction(caller, this, "onPush", true, npc, triggerName); } - public void OnNotice(Player caller) + public void OnNotice(Player caller, string triggerName) { - LuaEngine.GetInstance().CallLuaFunction(caller, this, "onNotice", true); + LuaEngine.GetInstance().CallLuaFunction(caller, this, "onNotice", true, triggerName); } public void OnNpcLS(Player caller, uint npcLSId) @@ -189,10 +189,16 @@ namespace Meteor.Map.Actors.QuestNS #endregion public bool IsQuestENPC(Player caller, Npc npc) + { + //List returned = LuaEngine.GetInstance().CallLuaFunctionForReturn(caller, this, "IsQuestENPC", true, npc, this); + //bool scriptReturned = returned != null && returned.Count != 0 && returned[0].typeID == 3; + return (questState?.HasENpc(npc.GetActorClassId()) ?? false); + } + + public bool IsQuestENPCByScript(Player caller, Npc npc) { List returned = LuaEngine.GetInstance().CallLuaFunctionForReturn(caller, this, "IsQuestENPC", true, npc, this); - bool scriptReturned = returned != null && returned.Count != 0 && returned[0].typeID == 3; - return scriptReturned || (questState?.HasENpc(npc.GetActorClassId()) ?? false); + return returned != null && returned.Count != 0 && returned[0].typeID == 3; } public void StartSequence(ushort sequence) @@ -201,8 +207,7 @@ namespace Meteor.Map.Actors.QuestNS return; // Send the message that the journal has been updated - if (currentSequence != SEQ_NOT_STARTED) - owner.SendGameMessage(Server.GetWorldManager().GetActor(), 25116, 0x20, (object)GetQuestId()); + owner.SendGameMessage(Server.GetWorldManager().GetActor(), 25116, 0x20, (object)GetQuestId()); currentSequence = sequence; questState.UpdateState(); diff --git a/Map Server/Actors/Quest/QuestStateManager.cs b/Map Server/Actors/Quest/QuestStateManager.cs index 6dd15b13..8dd2b8c3 100644 --- a/Map Server/Actors/Quest/QuestStateManager.cs +++ b/Map Server/Actors/Quest/QuestStateManager.cs @@ -172,6 +172,14 @@ namespace Meteor.Map.Actors.QuestNS CompletedQuestsBitfield.Set(questId - SCENARIO_START); else CompletedQuestsBitfield.Clear(questId - SCENARIO_START); + QuestGameData[] updated = Server.GetQuestGamedataByPrerequisite(questId); + foreach (var questData in updated) + { + if (flag) + PrereqBitfield.Set(questData.Id - SCENARIO_START); + else + PrereqBitfield.Clear(questData.Id - SCENARIO_START); + } ComputeAvailable(); } } diff --git a/Map Server/DataObjects/Session.cs b/Map Server/DataObjects/Session.cs index 28233d26..23b91fdc 100644 --- a/Map Server/DataObjects/Session.cs +++ b/Map Server/DataObjects/Session.cs @@ -169,7 +169,7 @@ namespace Meteor.Map.DataObjects if (quests.Length != 0) { QuestENpc questInstance = quests[0].GetQuestState().GetENpc(npc.GetActorClassId()); - QueuePacket(npc.GetSetEventStatusPackets()); + QueuePacket(npc.GetSetEventStatusPackets(questInstance.isTalkEnabled, questInstance.isEmoteEnabled, questInstance.isPushEnabled)); QueuePacket(SetActorQuestGraphicPacket.BuildPacket(npc.Id, questInstance.questFlagType)); } } diff --git a/Map Server/Lua/LuaEngine.cs b/Map Server/Lua/LuaEngine.cs index dc106826..a3311530 100644 --- a/Map Server/Lua/LuaEngine.cs +++ b/Map Server/Lua/LuaEngine.cs @@ -41,6 +41,7 @@ using Meteor.Map.Actors.Chara; using Meteor.Map.DataObjects.chara; using Meteor.Map.actors.chara; using Meteor.Map.Actors.QuestNS; +using Meteor.Map.actors.group; namespace Meteor.Map.lua { @@ -78,6 +79,7 @@ namespace Meteor.Map.lua UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); + UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); diff --git a/Map Server/Lua/LuaUtils.cs b/Map Server/Lua/LuaUtils.cs index 4c58f520..27ade494 100644 --- a/Map Server/Lua/LuaUtils.cs +++ b/Map Server/Lua/LuaUtils.cs @@ -409,11 +409,11 @@ namespace Meteor.Map private static void AddToList(object o, List luaParams) { - if (o is int) + if (o is int || o is short) { luaParams.Add(new LuaParam(0x0, (int)o)); } - else if (o is uint) + else if (o is uint || o is ushort) { luaParams.Add(new LuaParam(0x1, (uint)o)); } diff --git a/Map Server/Packets/Send/Actor/Events/SetPushEventConditionWithCircle.cs b/Map Server/Packets/Send/Actor/Events/SetPushEventConditionWithCircle.cs index 66176f97..cda3d9ca 100644 --- a/Map Server/Packets/Send/Actor/Events/SetPushEventConditionWithCircle.cs +++ b/Map Server/Packets/Send/Actor/Events/SetPushEventConditionWithCircle.cs @@ -45,7 +45,7 @@ namespace Meteor.Map.packets.send.actor.events binWriter.Write((UInt32)0x44533088); binWriter.Write((Single)100.0f); binWriter.Seek(4, SeekOrigin.Current); - binWriter.Write((Byte)(condition.outwards ? 0x11 : 0x1)); //If == 0x10, Inverted Bounding Box + binWriter.Write((Byte)(condition.outwards ? 0x10 : 0x1)); //If == 0x10, Inverted Bounding Box binWriter.Write((Byte)0); binWriter.Write((Byte)(condition.silent ? 0x1 : 0x0)); //Silent Trigger binWriter.Write(Encoding.ASCII.GetBytes(condition.conditionName), 0, Encoding.ASCII.GetByteCount(condition.conditionName) >= 0x24 ? 0x24 : Encoding.ASCII.GetByteCount(condition.conditionName)); diff --git a/Map Server/Packets/Send/Actor/SetActorBGPropertiesPacket.cs b/Map Server/Packets/Send/Actor/SetActorBGPropertiesPacket.cs index 80a488bb..33188f03 100644 --- a/Map Server/Packets/Send/Actor/SetActorBGPropertiesPacket.cs +++ b/Map Server/Packets/Send/Actor/SetActorBGPropertiesPacket.cs @@ -31,7 +31,7 @@ namespace Meteor.Map.packets.send.actor public const ushort OPCODE = 0x00D8; public const uint PACKET_SIZE = 0x28; - public static SubPacket BuildPacket(uint sourceActorId, uint val1, uint val2) + public static SubPacket BuildPacket(uint sourceActorId, uint layoutId, uint instanceId) { byte[] data = new byte[PACKET_SIZE - 0x20]; @@ -39,8 +39,8 @@ namespace Meteor.Map.packets.send.actor { using (BinaryWriter binWriter = new BinaryWriter(mem)) { - binWriter.Write((UInt32)val1); - binWriter.Write((UInt32)val2); + binWriter.Write((UInt32)instanceId); + binWriter.Write((UInt32)layoutId); } } diff --git a/Map Server/WorldManager.cs b/Map Server/WorldManager.cs index d1723e2e..9130aac2 100644 --- a/Map Server/WorldManager.cs +++ b/Map Server/WorldManager.cs @@ -335,8 +335,11 @@ namespace Meteor.Map positionY, positionZ, rotation, - motionPack - FROM server_eventnpc_spawn_locations + motionPack, + layoutId, + instanceId + FROM server_eventnpc_spawn_locations + LEFT JOIN server_eventnpc_mapobj ON server_eventnpc_spawn_locations.id = server_eventnpc_mapobj.id "; MySqlCommand cmd = new MySqlCommand(query, conn); @@ -363,8 +366,11 @@ namespace Meteor.Map float z = reader.GetFloat("positionZ"); float rot = reader.GetFloat("rotation"); uint motionPack = reader.GetUInt32("motionPack"); - - SpawnLocation spawn = new SpawnLocation(classId, uniqueId, zoneId, privAreaName, privAreaType, x, y, z, rot, motionPack); + + uint layoutId = !reader.IsDBNull(reader.GetOrdinal("layoutId")) ? reader.GetUInt32("layoutId") : 0; + uint instanceId = !reader.IsDBNull(reader.GetOrdinal("instanceId")) ? reader.GetUInt32("instanceId") : 0; + + SpawnLocation spawn = new SpawnLocation(classId, uniqueId, zoneId, privAreaName, privAreaType, x, y, z, rot, motionPack, layoutId, instanceId); zone.AddSpawnLocation(spawn); @@ -878,6 +884,10 @@ namespace Meteor.Map player.playerSession.LockUpdates(false); + //Send "You have left the instance" if old area is a Private Area + if (oldArea is PrivateArea) + player.SendGameMessage(GetActor(), 34110, 0x20); + //Send "You have entered an instance" if it's a Private Area if (newArea is PrivateArea) player.SendGameMessage(GetActor(), 34108, 0x20); @@ -932,6 +942,30 @@ namespace Meteor.Map if (player.CurrentArea.IsPrivate()) DoZoneChange(player, player.CurrentArea.ZoneId, null, 0, 15, x, y, z, rotation); } + + public void WarpToPosition(Player player, float x, float y, float z, float rotation) + { + //Remove player from currentZone if transfer else it's login + if (player.CurrentArea != null) + { + player.playerSession.LockUpdates(true); + player.CurrentArea.RemoveActorFromZone(player); + player.CurrentArea.AddActorToZone(player); + + //Update player actor's properties; + player.positionX = x; + player.positionY = y; + player.positionZ = z; + player.rotation = rotation; + + //Send packets + player.playerSession.QueuePacket(_0xE2Packet.BuildPacket(player.Id, 0x10)); + player.playerSession.QueuePacket(player.CreateSpawnTeleportPacket(0)); + + player.playerSession.LockUpdates(false); + player.SendInstanceUpdate(); + } + } //Moves actor to new zone, and sends packets to spawn at the given coords. public void DoZoneChangeContent(Player player, PrivateAreaContent contentArea, float spawnX, float spawnY, float spawnZ, float spawnRotation, ushort spawnType = SetActorPositionPacket.SPAWNTYPE_WARP_DUTY)