Removed more dead scripts. Exported missing sql files.

This commit is contained in:
Filip Maj 2022-03-03 23:33:55 -05:00
parent b57f91470a
commit 765cf194c5
65 changed files with 1076 additions and 809 deletions

View file

@ -13,23 +13,236 @@ Contains all default lines for talkable npcs in the Forest Region (aka Black Shr
]]
-- [ActorClassId] = "client_function_name"
local defaultTalkFst = {
[1000821] = "defaultTalkWithNellaure_001", -- Nellaure
[1001081] = "defaultTalkWithKhumamoshroca_001", -- Khuma Moshroca
[1001103] = "defaultTalkWithMestonnaux_001", -- Mestonnaux
[1001396] = "defaultTalkWithLefwyne_001", -- Lefwyne
[1001430] = "defaultTalkWithKinnison_001", -- Kinnison - Two args (nil errors client). If either >= 0, dialog mentions you've met Kan-E-Senna.
[1001437] = "defaultTalkWithSybell_001" -- Sybell
-- [1000458] = "defaultTalkWithInn_Desk"
local defaultTalkFst = {
[1000066] = "defaultTalkWithAlixe_001", -- Alixe (Gridania: LTW Guild)
[1000067] = "defaultTalkWithDadalo_001", -- Dadalo (Gridania: LTW Guild)
[1000068] = "defaultTalkWithKain_001", -- Kain (Gridania: LTW Guild)
[1000069] = "defaultTalkWithJolline_001", -- Jolline (Gridania: LNC Guild)
[1000071] = "defaultTalkWithBertennant_001", -- Bertennant (Gridania: Blue Badger Gate)
[1000074] = "defaultTalkWithOnguen_001", -- Onguen (Gridania: BTN Guild)
[1000230] = "defaultTalkWithMiounne_001", -- Miounne (Gridania: Adv. Guild)
[1000231] = "defaultTalkWithHereward_001", -- Hereward (Gridania: LTW Guild)
[1000236] = "defaultTalkWithOpyltyl_001", -- Opyltyl (Gridania: BTN Guild)
[1000242] = "defaultTalkWithWillelda_001", -- Willelda (Gridania: LNC Guild) defaultTalkWithWillelda_002 - After signing up to the guild?
[1000243] = "defaultTalkWithBurchard_001", -- Burchard (Gridania: LNC Guild)
[1000326] = "defaultTalkWithCicely_001", -- Cicely (Gridania: BTN Guild)
[1000427] = "defaultTalkWithAnene_001", -- Anene (Gridania: Adv. Guild) defaultTalkWithAnene_002 / 003 (PGL informant)
[1000428] = "defaultTalkWithSylbyrt_001", -- Sylbyrt (Gridania: Adv. Guild) defaultTalkWithSylbyrt_002 / 003 (MRD informant)
[1000429] = "defaultTalkWithHongavunga_001", -- Honga Vunga (Gridania: Adv. Guild) defaultTalkWithHongavunga_002 / 003 (WVR informant)
[1000430] = "defaultTalkWithNoncomananco_001", -- Nonco Menanco (Gridania: Adv. Guild) arg1=1 or 21, mentions checking out DoW/M, otherwise DoH. defaultTalkWithNoncomananco_002 / 003 (GSM informant)
[1000431] = "defaultTalkWithLtandhaa_001", -- L'tandhaa (Gridania: Adv. Guild) defaultTalkWithLtandhaa_002 / 003 (ALC informant)
[1000432] = "defaultTalkWithPofufu_001", -- Pofufu (Gridania: Adv. Guild) defaultTalkWithPofufu_002 / 003 (MIN informant)
[1000433] = "defaultTalkWithDrividot_001", -- Drividot (Gridania: Adv. Guild) defaultTalkWithDrividot_002 / 003 (FSH informant)
[1000435] = "defaultTalkWithBasewin_001", -- Basewin (Gridania: Adv. Guild) defaultTalkWithBasewin_002 / 003 (BSM informant)
[1000436] = "defaultTalkWithSeikfrae_001", -- Seikfrae (Gridania: Adv. Guild) defaultTalkWithSeikfrae_002 / 003 (GLD informant)
[1000437] = "defaultTalkWithEdasshym_001", -- E'dasshym (Gridania: Adv. Guild) defaultTalkWithEdasshym_002 / 003 (THM informant)
--[1000456] = "", -- Tierney (Gridania: Adv. Guild) Guildleve NPC - Will not fire, not PplStd.
--[1000457] = "", -- Gontrant (Gridania: Adv. Guild) Guildleve NPC - Will not fire, not PplStd.
[1000458] = "defaultTalkWithInn_Desk", -- V'korolon (Gridania: Adv. Guild) - defaultTalkWithVkorolon_001 - Pre-Inn unlocked dialog
--[1000459] = "", -- Gallia (Gridania: LTW Guild) Guildmark NPC - Will not fire, not PplStd.
--[1000461] = "", -- Kipopo (Gridania: BTN Guild) Guildmark NPC - Will not fire, not PplStd.
--[1000462] = "", -- Clarembald (Gridania: LNC Guild) Guildmark NPC - Will not fire, not PplStd.
[1000463] = "defaultTalkWithNonolato_001", -- Nonolato (Gridania: ARC Guild)
--[1000464] = "", -- Cassandra (Gridania: ARC Guild) Guildmark NPC - Will not fire, not PplStd.
[1000465] = "defaultTalkWithAnaidjaa_001", -- A'naidjaa (Gridania: CRP Guild)
--[1000466] = "", -- Frances (Gridania: CRP Guild) Guildmark NPC - Will not fire, not PplStd.
[1000565] = "defaultTalkWithCeinguled_001", -- Ceinguled (Gridania: LNC Guild)
[1000566] = "defaultTalkWithFrancis_001", -- Francis (Gridania: LNC Guild) arg1=1, npc recognizes you're in the LNC guild
[1000567] = "defaultTalkWithDhemdaeg_001", -- Dhemdaeg (Gridania: LNC Guild)
[1000568] = "defaultTalkWithLuitfrid_001", -- Luitfrid (Gridania: LNC Guild)
[1000569] = "defaultTalkWithHaurtefert_001", -- Haurtefert (Gridania: LNC Guild)
[1000570] = "defaultTalkWithZpahtalo_001", -- Z'pahtalo (Gridania: LNC Guild)
[1000599] = "defaultTalkWithJmoldva_001", -- J'moldva (Gridania: LNC Guild)
[1000621] = "defaultTalkWithHabreham_001", -- Habreham (Gridania: CRP Guild)
[1000622] = "defaultTalkWithDecima_001", -- Decima (Gridania: CRP Guild)
[1000623] = "defaultTalkWithChalyotamlyo_001", -- Chalyo Tamlyo (Gridania: CRP Guild)
[1000625] = "defaultTalkWithBubuku_001", -- Bubuku (Gridania: ARC Guild)
[1000626] = "defaultTalkWithPiers_001", -- Piers (Gridania: ARC Guild)
[1000627] = "defaultTalkWithAerstsyn_001", -- Aerstsyn (Gridania: LNC Guild)
[1000629] = "defaultTalkWithEburhart_001", -- Eburhart (Gridania: BTN Guild)
[1000630] = "defaultTalkWithNoes_001", -- Noes (Gridania: Apkallus Falls)
[1000671] = "defaultTalkWithMiraudont_001", -- Miraudont (North Shroud: Camp Emerald Moss) arg1=true - Mentions Atomos
[1000681] = "defaultTalkWithNuala_001", -- Nuala (Gridania: LNC Guild)
[1000701] = "defaultTalkWithZuzupoja_001", -- Zuzupoja (Gridania: CRP Guild)
[1000821] = "defaultTalkWithNellaure_001", -- Nellaure (Gridania: CRP Guild)
[1000822] = "defaultTalkWithCaplan_001", -- Caplan (Gridania: CRP Guild)
[1000823] = "defaultTalkWithUlmhylt_001", -- Ulmhylt (Gridania: CRP Guild)
[1000829] = "defaultTalkWithOdhinek_001", -- O'dhinek (Gridania: ARC Guild)
[1000830] = "defaultTalkWithGeorjeaux_001", -- Georjeaux (Gridania: ARC Guild) defaultTalkWithGeorjeaux_002 - Dialog when you're part of the guild?
[1000831] = "defaultTalkWithAlaire_001", -- Alaire (Gridania: ARC Guild)
[1000832] = "defaultTalkWithMianne_001", -- Mianne (Gridania: ARC Guild)
[1000951] = "defaultTalkWithLonsygg_001", -- Lonsygg (Gridania: Blue Badger Gate)
[1001077] = "defaultTalkWithBeli_001", -- Beli (Gridania: LTW Guild)
[1001078] = "defaultTalkWithMaddeline_001", -- Maddeline (Gridania: LTW Guild)
[1001079] = "defaultTalkWithDyrstbrod_001", -- Dyrstbrod (Gridania: LTW Guild)
[1001080] = "defaultTalkWithTatagoi_001", -- Tatagoi (Gridania: LTW Guild)
[1001081] = "defaultTalkWithKhumamoshroca_001", -- Khuma Moshroca (Gridania: LTW Guild)
[1001082] = "defaultTalkWithLuilda_001", -- Luilda (Gridania: LTW Guild)
[1001101] = "defaultTalkWithVnabyano_001", -- V'nabyano (Gridania: BTN Guild)
[1001102] = "defaultTalkWithSandre_001", -- Sandre (Gridania: BTN Guild)
[1001103] = "defaultTalkWithMestonnaux_001", -- Mestonnaux (Gridania: BTN Guild)
[1001175] = "defaultTalkWithChloe_001", -- Chloe (Gridania: ARC Guild)
--[1001183] = "", -- Emoni (Gridania: Adv. Guild) Linkshell NPC - Will not fire, not PplStd.
--[1001184] = "", -- Gyles (Gridania: Adv. Guild) Retainer NPC - Will not fire, not PplStd.
[1001188] = "defaultTalkWithGuildleveClientG_001", -- Maisenta (Gridania)
[1001189] = "defaultTalkWithGuildleveClientG_002", -- Pukiki (Gridania)
[1001396] = "defaultTalkWithLefwyne_001", -- Lefwyne (Gridania: Shaded Bower)
[1001430] = "defaultTalkWithKinnison_001", -- Kinnison - Two args (nil errors client). If either >= 0, dialog mentions you've met Kan-E-Senna. Position inaccurate?
[1001431] = "defaultTalkWithGenna_001", -- Genna (Gridania: Mih Khetto's Amphitheatre)
[1001432] = "defaultTalkWithMathye_001", -- Mathye (Gridania: Blue Badger Gate)
[1001433] = "defaultTalkWithUlta_001", -- Ulta (Gridania: Blue Badger Gate)
[1000434] = "defaultTalkWithOdilie_001", -- Odilie (Gridania: Adv. Guild) defaultTalkWithOdilie_002 / 003 (CUL informant)
[1001436] = "defaultTalkWithOwyne_001", -- Owyne (Gridania: Aetheryte Plaza)
[1001437] = "defaultTalkWithSybell_001", -- Sybell (Gridania: Aetheryte Plaza)
[1001459] = "defaultTalkWithFlavielle_001", -- Flavielle (Gridania: Adv. Guild) defaultTalkWithFlavielle_002 / 003 (ARM informant)
[1001469] = "downTownTalk", -- Eldid (Gridania: Wards Entrance)
[1001582] = "defaultTalkWithSwaenhylt_001", -- Swaenhylt (Gridania)
[1001583] = "defaultTalkWithMarcette_001", -- Marcette (Gridania: The Knot)
[1001470] = "defaultTalkWithYlessa_001", -- Ylessa
[1001706] = "defaultTalkWithMemama_001", -- Memama (Gridania: Adv. Guild)
[1001707] = "defaultTalkWithPfarahr_001", -- Pfarahr (Gridania: Adv. Guild)
[1001708] = "defaultTalkWithBeaudonet_001", -- Beaudonet (Gridania: Adv. Guild)
[1001709] = "defaultTalkWithFryswyde_001", -- Fryswyde (Gridania: Adv. Guild)
[1001710] = "defaultTalkWithWillielmus_001", -- Willielmus (Gridania: Adv. Guild)
[1001806] = "defaultTalkEnie_001", -- Enie (Gridania: BTN Guild)
[1001951] = "defaultTalkWithAnselm_001", -- Anselm (Gridania: Adv. Guild)
--[1002090] = "", -- Serpent Private Hodder (Gridania: Adv. Guild) - Will not fire, not PplStd.
--[1002091] = "", -- Serpent Private Daurement (Gridania: Adv. Guild) - Will not fire, not PplStd.
[1002106] = "processEventELNAURE", -- Serpent Lieutenant Marette (Gridania: The Knot) - Foundation Day 2012 - Spl000 staticactor
[1002107] = "processEventARISMONT", -- Serpent Sergeant Frilaix (Gridania: The Knot) - Foundation Day 2012 - Spl000 staticactor
[1002108] = "processEventMERLIE", -- Serpent Private Tristelle (Gridania: The Knot) - Foundation Day 2012 - Spl000 staticactor
--[1060022] = "", -- Louisoix (Gridania: Apkallus Falls) - Will not fire, not PplStd.
[1500055] = "defaultTalkWithLionnellais_001", -- Lionnellais (Gridania: Adv. Guild) - Will not fire, not PplStd. Pre-airship dialog?
[1500056] = "defaultTalkWithHida_001", -- Hida (Gridania: Adv. Guild) - Will not fire, not PplStd. Pre-airship dialog?
--[1500061] = "", -- Fruhdhem (Gridania) Chocobo Taxi - Will not fire, not PplStd.
[1500127] = "tribeTalk", -- Prosperlain (Gridania)
--[1500294] = "", -- Gagaroon (Gridania: Rosewood Stalls) Black Market - Will not fire, not PplStd.
[1700001] = "defaultTalkWithPenelope_001", -- Penelope (Gridania: Adv. Guild)
[1700038] = "defaultTalkWithAUBRENARD_100", -- Aubrenard (Gridania: Shaded Bower)
}
--[[ TO:DO - Map the remainder of these
defaultTalkWithStewart_001 -- Hodder line according to old script?
defaultTalkWithPowle_001
defaultTalkWithSansa_001
defaultTalkWithNicoliaux_001
defaultTalkWithAunillie_001
defaultTalkWithElyn_001
defaultTalkWithRyd_001
defaultTalkWithSolieine_001
defaultTalkWithHetzkin_001
defaultTalkWithTelent_001
defaultTalkWithKhujazhwan_001
defaultTalkWithZerig_001
defaultTalkWithYonariumnari_001
defaultTalkWithGugula_001
defaultTalkWithRdjongo_001
defaultTalkWithAstrelle_001
defaultTalkWithBiddy_001
defaultTalkWithConcessa_001
defaultTalkWithMaroile_001
defaultTalkWithKinborow_001
defaultTalkWithTnbulea_001
defaultTalkWithFoforyo_001
defaultTalkWithFhrudhem_001
defaultTalkWithMitainie_001
defaultTalkWithNicia_001
defaultTalkWithBlandie_001
defaultTalkWithLivith_001
defaultTalkWithProscen_001
defaultTalkWithTanguistl_001
defaultTalkWithComoere_001
defaultTalkWithLougblaet_001
defaultTalkWithFamushidumushi_001
defaultTalkWithDrystan_001
defaultTalkWithEadbert_001
defaultTalkWithWybir_001
defaultTalkWithKeketo_001
defaultTalkWithRadianttear_001
defaultTalkWithMyles_001
defaultTalkWithNathaniel_001
defaultTalkWithEvrardoux_001
defaultTalkWithTsehpanipahr_001
defaultTalkWithEthelinda_001
defaultTalkWithHedheue_001
defaultTalkWithJajajbygo_001 arg1 arg2
defaultTalkWithPepeli_001 arg1
defaultTalkWithBidelia_001
defaultTalkWithRimomo_001
defaultTalkWithDadaneja_001
defaultTalkWithIolaine_001
defaultTalkWithBloisirant_001
defaultTalkWithGylbart_001
defaultTalkWithHonoroit_001
defaultTalkWithGuildleveClientG_003
defQuest1g0_Bush
defQuest1g1_Bush
defaultTalkWithChamberliaux_001
defaultTalkWithFraemhar_001
defaultTalkWithXbhowaqi_001
defaultTalkWithLora_001
defaultTalkWithWawaramu_001
defaultTalkWithArnott_001
defaultTalkWithLhomujuuk_001
defaultTalkWithSholnoralno_001
defaultTalkWithTuatkk_001
defaultTalkWithAruhnsenna_001
defaultTalkWithMoogle010_001
defaultTalkWithMoogle002_001
defaultTalkWithAilith_001
defaultTalkWithQZamqo_001
defaultTalkLouisoix_001
defaultTalkWithRonanKognan_001
defaultTalkWithRonanKognan_002 arg1 arg2
defaultTalkWithRonanKognan_Hint_00 arg1
defaultTalkWithRonanKognan_Hint_01 arg1
defaultTalkWithRonanKognan_Hint_02 arg1
defaultTalkWithRonanKognan_Hint_03 arg1
defaultTalkWithRonanKognan_Hint_04 arg1
defaultTalkWithVorsaile_001 arg1
defaultTalkCaravanChocoboGri_001
bookTalk
talkIdayCap
talkIday1
talkIday2
defaultTalkWithPukwapika_001
defaultTalkWithPurumoogle_001
defaultTalkWithPirimoogle_001
defaultTalkWithPukumoogle_001
defaultTalkWithJehantel_001
defaultTalkWithJehantel_002
defaultTalkWithPukno_001
defaultTalkWithPukno_002
defaultTalkWithRayao_001
defaultTalkWithRayao_002
defaultTalkWithMoogleA_001
defaultTalkWithMoogleA_002
defaultTalkWithMppgleB_001
defaultTalkWithMppgleB_002
defaultTalkWithStewart_001
defaultTalkWithStewart_002
defaultTalkWithTrisselle_001
defaultTalkWithTrisselle_002
defaultTalkWithInn_Desk
defaultTalkWithInn_ExitDoor
defaultTalkWithExit01
defaultTalkWithLegendBsm_001 arg1
defaultTalkWithMarketNpc
defaultTalkWithHamletGuardGri_001
--]]
function onTalk(player, quest, npc, eventName)
local npcId = npc:GetActorClassId();
local clientFunc = defaultTalkFst[npcId];
if (npcId == 1001430) then -- Kinnison
if (npcId == 1000430) then -- Nonco Menanco
callClientFunction(player, "delegateEvent", player, quest, clientFunc, 21);
elseif (npcId == 1001430) then -- Kinnison
callClientFunction(player, "delegateEvent", player, quest, clientFunc, -1,-1);
elseif ((npcId >= 1002106) and (npcId <= 1002108)) then -- Foundation Day 2012 NPCs
talkWithSpecial(player, npcId, clientFunc)
else
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
end
@ -39,4 +252,11 @@ end
function IsQuestENPC(player, quest, npc)
return defaultTalkFst[npc:GetActorClassId()] ~= nil;
end
end
function talkWithSpecial(player, npcId, clientFunc)
local splQuest = GetStaticActor("Spl000");
local magickedPrism = 0;
callClientFunction(player, "delegateEvent", player, splQuest, clientFunc, magickedPrism);
end

View file

@ -1,3 +1,270 @@
--Quest Flags
MAN0L0_FLAG_STARTED_TALK_TUT = 0;
MAN0G0_FLAG_MINITUT_DONE1 = 1;
require("global");
--[[
Quest Script
Name: Sundered Skies
Code: Man0g0
Id: 110005
Prereq: None (Given on chara creation)
Notes:
Using PrivateAreaMasterPast Type 1
]]
-- 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;
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;
GUILD_NONCO_MENANCO = 1000430;
GUILD_LTANDHAA = 1000431;
GUILD_POFUFU = 1000432;
GUILD_ODILIE = 1000434; -- No source
GUILD_BASEWIN = 1000435; -- No source
GUILD_SEIKFRAE = 1000436; -- No source
GUILD_EDASSHYM = 1000437;
GUILD_TIERNEY = 1000456;
GUILD_GONTRANT = 1000457;
GUILD_VKOROLON = 1000458;
GUILD_EMONI = 1001183;
GUILD_GYLES = 1001184;
GUILD_PENELOPE = 1700001; -- No source
-- Quest Markers
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_SEQ010_TKEBBE = 0; -- Talked to T'kebbe (optional)
--[[
processEvent000_0
processEvent000_1
processEvent000_2
processEvent000_3
processEvent000_4
processEvent010_1
processEvent020_1
processEvent020_2
processEvent020_3
processEvent020_4
processEvent020_5
processEvent020_6
processTtrNomal001withHQ -- Intro CS
processTtrNomal001
processTtrNomal002(arg1)
processTtrNomal003(arg1)
processTtrMini001 -- Unused
processTtrMini002 -- Unused
processTtrMini003
processTtrAfterBtl001
processTtrBtl001(arg1)
processTtrBtlMagic001(arg1)
processTtrBtl002(arg1)
processTtrBtl003
processTtrBlkNml001 - Aims at 1600102 Lonsygg
processTtrBlkNml002
processTtrBtl004
processInformDialogAsQuest
--]]
function onStart(player, quest)
quest:StartSequence(SEQ_000);
end
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();
local ydaCanPush = (not data:GetFlag(FLAG_SEQ000_MINITUT0));
local ydaFlag = QFLAG_PLATE;
if (not data:GetFlag(FLAG_SEQ000_MINITUT0)) or (data:GetFlag(FLAG_SEQ000_MINITUT1)) then
ydaFlag = QFLAG_PLATE;
else
ydaFlag = QFLAG_NONE;
end
local papalymoFlag = ((not data:GetFlag(FLAG_SEQ000_MINITUT1)) and data:GetFlag(FLAG_SEQ000_MINITUT0) and QFLAG_PLATE or QFLAG_NONE);
--SetENpc(classId, byte flagType=0,isTalkEnabled, isPushEnabled, isEmoteEnabled, isSpawned)
quest:SetENpc(YDA, ydaFlag, true, ydaCanPush);
quest:SetENpc(PAPALYMO, papalymoFlag);
elseif (sequence == SEQ_010) then
local data = quest:GetData();
local tkebbeTalk = (not data:GetFlag(FLAG_SEQ010_TKEBBE) and QFLAG_PLATE or QFLAG_NONE);
quest:SetENpc(FARRIMOND);
quest:SetENpc(CECILIA);
quest:SetENpc(SWETHYNA);
quest:SetENpc(TKEBBE, tkebbeTalk);
quest:SetENpc(LONSYGG);
quest:SetENpc(BLOCKER1, QFLAG_NONE, false, true);
quest:setENpc(GUILD_ENTRANCE, QFLAG_MAP, false, true);
end
end
function onTalk(player, quest, npc)
local sequence = quest:getSequence();
local classId = npc:GetActorClassId();
if (sequence == SEQ_000) then
seq000_onTalk(player, quest, npc, classId);
elseif (sequence == SEQ_010) then
seq010_onTalk(player, quest, npc, classId);
end
quest:UpdateENPCs();
end
function onPush(player, quest, npc)
local sequence = quest:getSequence();
local classId = npc:GetActorClassId();
local data = quest:GetData();
if (sequence == SEQ_000) then
if (classId == YDA) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal002");
player:EndEvent();
end
elseif (sequence == SEQ_010) then
if (classId == BLOCKER1) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml001");
GetWorldManager():DoPlayerMoveInZone(player, 109.966, 7.559, -1206.117, -2.7916, 0x11)
player:EndEvent();
elseif (classId == GUILD_ENTRANCE) then
player:ReplaceQuest(quest, "Man0g1")
return;
end
end
quest:UpdateENPCs();
end
function onNotice(player, quest, target)
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001withHQ");
--callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001"); -- On relog pre-combat
--callClientFunction(player, "delegateEvent", player, quest, "processTtrAfterBtl001"); -- On relog post-combat
player:EndEvent();
quest:UpdateENPCs();
end
function seq000_onTalk(player, quest, npc, classId)
local data = quest:GetData();
if (classId == YDA) then
if (not data:GetFlag(FLAG_SEQ000_MINITUT0)) then -- If Talk tutorial
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal003");
data:SetFlag(FLAG_SEQ000_MINITUT0); -- Disable Yda's PushEvent and set up Papalymo
elseif (data:GetFlag(FLAG_SEQ000_MINITUT1)) then -- If Talked to after Papaylmo
doContentArea(player, quest, npc); -- Set up Combat Tutorial
else
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_3");
end
elseif (classId == PAPALYMO) then
if (data:GetFlag(FLAG_SEQ000_MINITUT0)) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2");
data:SetFlag(FLAG_SEQ000_MINITUT1);
else
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2");
end
end
player:EndEvent();
end
function seq010_onTalk(player, quest, npc, classId)
local data = quest:GetData();
if (classId == SWETHYNA) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_2");
elseif (classId == CECILIA) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_3");
elseif (classId == FARRIMOND) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_4");
elseif (classId == TKEBBE) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_5");
data:SetFlag(FLAG_SEQ010_TKEBBE);
elseif (classId == LONSYGG) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_6");
end
player:EndEvent();
end
function getJournalMapMarkerList(player, quest)
local sequence = quest:getSequence();
local possibleMarkers = {};
local data = quest:GetData();
if (sequence == SEQ_000) then
if (not data:GetFlag(FLAG_SEQ000_MINITUT0)) or (data:GetFlag(FLAG_SEQ000_MINITUT1)) then
table.insert(possibleMarkers, MRKR_YDA);
end
if (data:GetFlag(FLAG_SEQ000_MINITUT0)) and (not data:GetFlag(FLAG_SEQ000_MINITUT1)) then
table.insert(possibleMarkers, MRKR_PAPALYMO);
end
elseif (sequence == SEQ_010) then
table.insert(possibleMarkers, MRKR_GUILD);
end
return unpack(possibleMarkers)
end
function doContentArea(player, quest, npc)
quest:GetData():ClearData();
quest:StartSequence(SEQ_005);
contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0g01", "SimpleContent30010", "Quest/QuestDirectorMan0g001");
if (contentArea == nil) then
return;
end
director = contentArea:GetContentDirector();
player:AddDirector(director);
director:StartDirector(false);
player:KickEvent(director, "noticeEvent", true);
player:SetLoginDirector(director);
GetWorldManager():DoZoneChangeContent(player, contentArea, 362.4087, 4, -703.8168, 1.5419, 16);
return;
end

View file

@ -0,0 +1,196 @@
require("global");
require("tutorial");
--[[
Quest Script
Name: Souls Gone Wild
Code: Man0g1
Id: 110006
Prereq: Sundered Skies (Man0g0 - 110005)
Notes:
]]
-- Sequence Numbers
SEQ_000 = 0;
SEQ_003 = 3;
-- Actor Class Ids
MIOUNNE = 1000230;
VKOROLON = 1000458;
WISPILY_WHISKERED_WOODWORKER = 1000562;
AMIABLE_ADVENTURER = 1001057;
MOROSE_MERCHANT = 1001058;
NARROW_EYED_ADVENTURER = 1001059;
BEAMING_ADVENTURER = 1001062;
WELL_BUNDLED_ADVENTURER = 1001060;
UNCONCERNED_PASSERBY = 1001648;
--BLOCKER = ;
-- Quest Markers
MRKR_MIOUNNE = 11000601;
-- Quest Items
ITEM_VELODYNA_COSMOS = 0; -- Seq_000 : 2nd journal arg. >=5 doesn't have.
-- Quest Flags
FLAG_SEQ000 = 0;
function onStart(player, quest)
quest:StartSequence(SEQ_000);
-- Immediately move to the Adventurer's Guild private area
callClientFunction(player, "delegateEvent", player, quest, "processEvent100");
GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 2, 15, 67.034, 4, -1205.6497, -1.074);
player:endEvent();
end
function onFinish(player, quest)
end
function onStateChange(player, quest, sequence)
if (sequence == SEQ_000) then
-- Setup states incase we loaded in.
--SetENpc(classId, byte flagType=0,isTalkEnabled, isPushEnabled, isEmoteEnabled, isSpawned)
quest:SetENpc(MIOUNNE, QFLAG_PLATE);
-- quest:SetENpc(VKOROLON);
quest:SetENpc(WISPILY_WHISKERED_WOODWORKER);
quest:SetENpc(AMIABLE_ADVENTURER);
quest:SetENpc(MOROSE_MERCHANT);
quest:SetENpc(NARROW_EYED_ADVENTURER);
quest:SetENpc(BEAMING_ADVENTURER);
quest:SetENpc(WELL_BUNDLED_ADVENTURER);
quest:SetENpc(UNCONCERNED_PASSERBY);
elseif (sequence == SEQ_005) then
quest:SetENpc(MIOUNNE);
end
end
function onTalk(player, quest, npc)
local sequence = quest:getSequence();
local classId = npc:GetActorClassId();
--if (sequence == SEQ_000) then
seq000_onTalk(player, quest, npc, classId);
-- elseif (sequence == SEQ_005) then
-- seq005_onTalk(player, quest, npc, classId);
-- end
quest:UpdateENPCs();
end
function onPush(player, quest, npc)
local sequence = quest:getSequence();
local classId = npc:GetActorClassId();
player:SendMessage(0x20, "", "Sequence: "..sequence.." Class Id: "..classId);
if (sequence == SEQ_000) then
elseif (sequence == SEQ_010) then
end
quest:UpdateENPCs();
end
function onNotice(player, quest, target)
player:EndEvent();
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 == MIOUNNE) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent100_1");
player:EndEvent();
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
callClientFunction (player, "delegateEvent", player, quest, "processEvent100_3");
elseif (classId == MOROSE_MERCHANT) then
callClientFunction (player, "delegateEvent", player, quest, "processEvent100_2");
elseif (classId == NARROW_EYED_ADVENTURER) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent100_7");
elseif (classId == UNCONCERNED_PASSERBY) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml001"); --"processEvent100_9");
elseif (classId == VKOROLON) then
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");
end
player:EndEvent();
end
function seq005_onTalk(player, quest, npc, classId)
if (classId == MOMODI) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent010_2");
end
player:EndEvent();
end
function getJournalInformation(player, quest)
return 0, ITEM_VELODYNA_COSMOS, ITEM_COLISEUM_PASS;
end
function getJournalMapMarkerList(player, quest)
local sequence = quest:getSequence();
local possibleMarkers = {};
if (sequence == SEQ_000) then
table.insert(possibleMarkers, MRKR_MIOUNNE);
elseif (sequence == SEQ_010) then
end
return unpack(possibleMarkers)
end

View file

@ -104,15 +104,16 @@ 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.
local asciliaCanPush = not quest:GetFlag(FLAG_SEQ000_MINITUT0);
local asciliaFlag = quest:GetFlag(FLAG_SEQ000_MINITUT1) and QFLAG_NONE or QFLAG_PLATE;
local fretfulfarmhandFlag = quest:GetFlag(FLAG_SEQ000_MINITUT2) and QFLAG_NONE or QFLAG_PLATE;
local gildiggingmistressFlag = quest:GetFlag(FLAG_SEQ000_MINITUT3) and QFLAG_NONE or QFLAG_PLATE;
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;
local gildiggingmistressFlag = data:GetFlag(FLAG_SEQ000_MINITUT3) and QFLAG_NONE or QFLAG_PLATE;
local exitFlag = quest:GetFlags() == 0xF and QFLAG_MAP or QFLAG_NONE;
local exitFlag = data:GetFlags() == 0xF and QFLAG_MAP or QFLAG_NONE;
if (asciliaCanPush) then
fretfulfarmhandFlag = QFLAG_NONE;
@ -135,7 +136,7 @@ function onStateChange(player, quest, sequence)
quest:SetENpc(OPENING_STOPER_ULDAH, QFLAG_NONE, false, false, true);
elseif (sequence == SEQ_010) then
local yayatokiFlag = quest:GetFlag(FLAG_SEQ010_TALK0) and QFLAG_NONE or QFLAG_PLATE;
local yayatokiFlag = data:GetFlag(FLAG_SEQ010_TALK0) and QFLAG_NONE or QFLAG_PLATE;
local uldahopeningexitFlag = QFLAG_MAP;
quest:SetENpc(KEEN_EYED_MERCHANT);
quest:SetENpc(HIGH_SPIRITED_FELLOW);
@ -163,16 +164,16 @@ function onTalk(player, quest, npc)
end
function onPush(player, quest, npc)
local sequence = quest:getSequence();
local classId = npc:GetActorClassId();
local data = quest:GetData();
if (sequence == SEQ_000) then
if (classId == ASCILIA) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal002");
player:EndEvent();
elseif (classId == EXIT_TRIGGER) then
if (quest:GetFlags() == 0xF) then
if (data:GetFlags() == 0xF) then
doExitTrigger(player, quest, npc);
return;
else
@ -208,29 +209,29 @@ function onNotice(player, quest, target)
end
function seq000_onTalk(player, quest, npc, classId)
local data = quest:GetData();
if (classId == ASCILIA) then
if (not quest:GetFlag(FLAG_SEQ000_MINITUT0)) then -- If Talk tutorial
if (not data:GetFlag(FLAG_SEQ000_MINITUT0)) then -- If Talk tutorial
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal003");
quest:SetFlag(FLAG_SEQ000_MINITUT0); -- Used to disable her PushEvent / Allow for her next TalkEvent
quest:GetData():SetFlag(FLAG_SEQ000_MINITUT0); -- Used to disable her PushEvent / Allow for her next TalkEvent
else
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini001");
quest:SetFlag(FLAG_SEQ000_MINITUT1); -- Ascilia has now been talked to.
quest:GetData():SetFlag(FLAG_SEQ000_MINITUT1); -- Ascilia has now been talked to.
end
elseif (classId == FRETFUL_FARMHAND) then
if (not quest:GetFlag(FLAG_SEQ000_MINITUT2)) then
if (not data:GetFlag(FLAG_SEQ000_MINITUT2)) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini002_first");
quest:SetFlag(FLAG_SEQ000_MINITUT2);
data:SetFlag(FLAG_SEQ000_MINITUT2);
else
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini002");
end
elseif (classId == GIL_DIGGING_MISTRESS) then
if (not quest:GetFlag(FLAG_SEQ000_MINITUT3)) then
if (not data:GetFlag(FLAG_SEQ000_MINITUT3)) then
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini003_first");
quest:SetFlag(FLAG_SEQ000_MINITUT3);
data:SetFlag(FLAG_SEQ000_MINITUT3);
else
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini003");
end
@ -257,7 +258,6 @@ function seq000_onTalk(player, quest, npc, classId)
end
function seq010_onTalk(player, quest, npc, classId)
if (classId == KEEN_EYED_MERCHANT) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_2");
elseif (classId == HIGH_SPIRITED_FELLOW) then
@ -273,9 +273,9 @@ function seq010_onTalk(player, quest, npc, classId)
elseif (classId == FULL_LIPPED_FILLE) then
callClientFunction(player, "delegateEvent", player, quest, "processEtc002");
elseif (classId == YAYATOKI) then
if (not quest:GetFlag(FLAG_SEQ010_TALK0)) then
if (not quest:GetData():GetFlag(FLAG_SEQ010_TALK0)) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8");
quest:SetFlag(FLAG_SEQ010_TALK0);
quest:GetData():SetFlag(FLAG_SEQ010_TALK0);
else
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8");
end
@ -286,17 +286,18 @@ end
function getJournalMapMarkerList(player, quest)
local sequence = quest:getSequence();
local data = quest:GetData();
local possibleMarkers = {};
if (sequence == SEQ_000) then
if (quest:GetFlag(FLAG_SEQ000_MINITUT0)) then
if (not quest:GetFlag(FLAG_SEQ000_MINITUT1)) then table.insert(possibleMarkers, MRKR_ASCILIA); end
if (not quest:GetFlag(FLAG_SEQ000_MINITUT2)) then table.insert(possibleMarkers, MRKR_FRETFUL_FARMHAND); end
if (not quest:GetFlag(FLAG_SEQ000_MINITUT3)) then table.insert(possibleMarkers, MRKR_GIL_DIGGING_MISTRESS); end
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
if (not data:GetFlag(FLAG_SEQ000_MINITUT3)) then table.insert(possibleMarkers, MRKR_GIL_DIGGING_MISTRESS); end
end
elseif (sequence == SEQ_010) then
if (not quest:GetFlag(FLAG_SEQ010_TALK0)) then
if (not data:GetFlag(FLAG_SEQ010_TALK0)) then
table.insert(possibleMarkers, MRKR_YAYATOKI)
end
table.insert(possibleMarkers, MRKR_ADV_GUILD);
@ -308,8 +309,8 @@ end
function doExitTrigger(player, quest, npc)
quest:ClearData();
function doExitTrigger(player, quest, npc)
quest:GetData():ClearData();
quest:StartSequence(SEQ_005);
contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0u01", "SimpleContent30079", "Quest/QuestDirectorMan0u001");

View file

@ -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;