mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-23 05:07:47 +00:00
- Fixed !anim targeting the incorrect actor.
- Etc5u0 scripted start to finish. Ul'dah Inn quest. - DftWil - Added quest checks to the Inn NPCs. - DfFst - Commiting what's been done thus far. fst0Town01 zone nearly done. Still have 100 something fst0Town01a & field npcs to add. - Removed some fst0Town01 uniqueId scripts
This commit is contained in:
parent
8c70d0ddb6
commit
682ddd9cae
32 changed files with 284 additions and 345 deletions
|
@ -2,21 +2,36 @@ require("global");
|
|||
|
||||
properties = {
|
||||
permissions = 0,
|
||||
parameters = "ddd",
|
||||
parameters = "dddd",
|
||||
description =
|
||||
[[
|
||||
Sets anim id for current target
|
||||
!anim <animID> |
|
||||
!anim <category> <effect> <motion>
|
||||
]],
|
||||
|
||||
}
|
||||
|
||||
function onTrigger(player, argc, aType, a1, a2)
|
||||
npc = player;--GetWorldManager():GetActorInWorldByUniqueId("test");
|
||||
function onTrigger(player, argc, aType, a1, a2, uID)
|
||||
--if uID == nil then uID = "test"; end
|
||||
local npc = GetWorldManager():GetActorInWorld(player.currentTarget) or nil;
|
||||
--npc = GetWorldManager():GetActorInWorldByUniqueId(uID);
|
||||
|
||||
--[[ if argc == 1 then
|
||||
-- aType = tonumber(aType, 16) or 0;
|
||||
if aType > 4294967295 then
|
||||
|
||||
player:SendMessage(0x20, "[anim] ", "Error: Value too large");
|
||||
return;
|
||||
else
|
||||
player:PlayAnimation(aType);
|
||||
end
|
||||
else--]]
|
||||
|
||||
aType = tonumber(aType) or 0;
|
||||
a1 = tonumber(a1) or 0;
|
||||
a2 = tonumber(a2) or 1;
|
||||
|
||||
aType = tonumber(aType);
|
||||
a1 = tonumber(a1);
|
||||
a2 = tonumber(a2);
|
||||
|
||||
a1 = bit32.band(a1, 0xFFF);
|
||||
a2 = bit32.band(a2, 0xFFF);
|
||||
|
@ -24,7 +39,114 @@ function onTrigger(player, argc, aType, a1, a2)
|
|||
|
||||
animId = bit32.bor(bit32.lshift(a2, 12), a1);
|
||||
animId = bit32.bor(bit32.lshift(aType, 24), animId);
|
||||
print(animId);
|
||||
|
||||
--[[
|
||||
if npc == nil then
|
||||
player:PlayAnimation(animId);
|
||||
else
|
||||
npc:PlayAnimation(animId);
|
||||
end
|
||||
--]]
|
||||
local actor = player.CurrentArea.FindActorInArea(player.currentTarget) or nil;
|
||||
|
||||
if player and actor then
|
||||
|
||||
|
||||
a1 = bit32.band(a1, 0xFFF);
|
||||
a2 = bit32.band(a2, 0xFFF);
|
||||
aType = bit32.band(aType, 0xFF);
|
||||
|
||||
animId = bit32.bor(bit32.lshift(a2, 12), a1);
|
||||
animId = bit32.bor(bit32.lshift(aType, 24), animId);
|
||||
-- player:SendMessage(0x20, "[anim] ", tostring(animId));
|
||||
actor:PlayAnimation(animId);
|
||||
local output = string.format("%x", animId)
|
||||
player:SendMessage(0x20, "[anim] ", "0x"..tostring(output).. " Target:"..tostring(actor));
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
print("AHHH");
|
||||
player:PlayAnimation(0x10005000);
|
||||
end;
|
||||
|
||||
|
||||
--[[ Categories:
|
||||
1 MGK: 01 - Magic
|
||||
2 SYS: 02 - System noises
|
||||
3 ETC: 03 - ?? - Item sound?
|
||||
4 LIB: 04 - Posing animations
|
||||
5-9 ITM: 05-09 - Items
|
||||
10 KAO: 0A - KAO = Face emotes?
|
||||
11-12 GLI1/2/3: 0B/0C - Leve card things
|
||||
13 CBI: 0D - Two small effects
|
||||
14 ABL: 0E - Cooldown buffs
|
||||
15 POP: 0F - Warp effects
|
||||
16 CFT: 10 - Crafting?
|
||||
17 BTL: 11 - More Crafting?
|
||||
18 WSC: 12 - Weapon Skills Arg1 - Weapon Skill Arg2 - Player Animation
|
||||
19 WSS: 13 - Mob animations
|
||||
20 PIC: 14 - Gathering weapons?
|
||||
21 LIU: 15 - Player Hand Emotes
|
||||
22 LIN: 16 - Doesn't exist?
|
||||
23 LIF: 17 - Doesn't exist?
|
||||
24 LIL: 18 - Mouth
|
||||
25 ATK: 19 - Autoattacks
|
||||
|
||||
33 = ?
|
||||
34 = Crash
|
||||
|
||||
120 = ???
|
||||
|
||||
CATEGORY
|
||||
Shift 18 bits right
|
||||
CMP 0xB
|
||||
|
||||
ANIMATION??????
|
||||
Shift 0xC bits right
|
||||
AND 0x0FFF
|
||||
|
||||
PARTICLE EFFECT
|
||||
AND 0x0FFF
|
||||
This number is in the subfolder (wsc, abi, etc)
|
||||
|
||||
|
||||
That 12 is:
|
||||
|
||||
CMP 7C
|
||||
CMP 6f
|
||||
CMP 70
|
||||
CMP 71
|
||||
|
||||
7C000062
|
||||
ec000000
|
||||
00FFFFFF
|
||||
|
||||
BTL:
|
||||
ETC:
|
||||
GL2:
|
||||
KAO:
|
||||
|
||||
MGK: 01
|
||||
SYS: 02
|
||||
LIB: 046
|
||||
ITM: 05-09
|
||||
GL?: 0B
|
||||
GL1: 0C
|
||||
CBI: 0D
|
||||
ABL: 0E
|
||||
POP: 0F
|
||||
CFT: 10
|
||||
PIC: 14
|
||||
WSC: 12
|
||||
|
||||
19: Auto Attack?
|
||||
6F: Casting
|
||||
71: Seems to deal with signaling monster parts
|
||||
7C: Sheath/Unsheath
|
||||
7F: Cast failed
|
||||
|
||||
--]]
|
||||
|
||||
|
||||
|
|
|
@ -17,50 +17,57 @@ local defaultTalkFst = {
|
|||
[1000071] = "defaultTalkWithBertennant_001", -- Bertennant (Gridania: Blue Badger Gate)
|
||||
[1000230] = "defaultTalkWithMiounne_001", -- Miounne (Gridania: Adv. 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
|
||||
[1000821] = "defaultTalkWithNellaure_001", -- Nellaure
|
||||
[1000951] = "defaultTalkWithLonsygg_001", -- Lonsygg (Gridania: Blue Badger Gate)
|
||||
[1001081] = "defaultTalkWithKhumamoshroca_001", -- Khuma Moshroca
|
||||
[1001103] = "defaultTalkWithMestonnaux_001", -- Mestonnaux
|
||||
--[1001183] = "", -- Emoni (Gridania: Adv. Guild) - Will not fire, not PplStd.
|
||||
--[1001183] = "", -- Emoni (Gridania: Adv. Guild) Linkshell NPC - Will not fire, not PplStd.
|
||||
--[1001184] = "", -- Gyles (Gridania: Adv. Guild) Retainer NPC - Will not fire, not PplStd.
|
||||
[1001396] = "defaultTalkWithLefwyne_001", -- Lefwyne
|
||||
|
||||
[1001430] = "defaultTalkWithKinnison_001", -- Kinnison - Two args (nil errors client). If either >= 0, dialog mentions you've met Kan-E-Senna.
|
||||
[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)
|
||||
[1001437] = "defaultTalkWithSybell_001", -- Sybell
|
||||
[1001459] = "defaultTalkWithFlavielle_001", -- Flavielle (Gridania: Adv. Guild) defaultTalkWithFlavielle_002 / 003 (ARM informant)
|
||||
[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)
|
||||
[1001951] = "defaultTalkWithAnselm_001", -- Anselm (Gridania: Adv. Guild)
|
||||
[1002091] =
|
||||
[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?
|
||||
--[1500334] = "", -- Serpent Private Hill (Gridania: Adv. Guild) Company Warp NPC - Will not fire, not PplStd.
|
||||
--[1500393] = "", -- Torsefers (Gridania: Adv. Guild) Wards NPC - Will not fire, not PplStd.
|
||||
--[1600092] = "", -- Aeduin (Gridania: Adv. Guild) Shop - Will not fire, not PplStd.
|
||||
--[1600100] = "", -- Zagylhaemr (Gridania: Adv. Guild) Shop - Will not fire, not PplStd.
|
||||
--[1600119] = "", -- Naih Khamazom (Gridania: Adv. Guild) Shop - Will not fire, not PplStd.
|
||||
[1700001] = "defaultTalkWithPenelope_001", -- Penelope (Gridania: Adv. Guild)
|
||||
[1000001] = "defaultTalkWithLionnellais_001",
|
||||
|
||||
--[1600092] = "", -- Aeduin - Will not fire since it isn't PplStd.
|
||||
|
||||
-- [1000458] = "defaultTalkWithInn_Desk"
|
||||
|
||||
--[[
|
||||
|
||||
defaultTalkWithVkorolon_001(A0_1, A1_2, A2_3)
|
||||
defaultTalkWithPenelope_001(A0_4, A1_5, A2_6)
|
||||
defaultTalkWithSylbyrt_001(A0_19, A1_20, A2_21)
|
||||
defaultTalkWithSylbyrt_002(A0_22, A1_23, A2_24)
|
||||
defaultTalkWithSylbyrt_003(A0_25, A1_26, A2_27)
|
||||
defaultTalkWithHongavunga_001(A0_28, A1_29, A2_30)
|
||||
defaultTalkWithHongavunga_002(A0_31, A1_32, A2_33)
|
||||
defaultTalkWithHongavunga_003(A0_34, A1_35, A2_36)
|
||||
defaultTalkWithNoncomananco_001(A0_37, A1_38, A2_39, A3_40)
|
||||
defaultTalkWithNoncomananco_002(A0_41, A1_42, A2_43)
|
||||
defaultTalkWithNoncomananco_003(A0_44, A1_45, A2_46)
|
||||
defaultTalkWithSeikfrae_001(A0_47, A1_48, A2_49)
|
||||
defaultTalkWithSeikfrae_002(A0_50, A1_51, A2_52)
|
||||
defaultTalkWithSeikfrae_003(A0_53, A1_54, A2_55)
|
||||
defaultTalkWithLtandhaa_001(A0_74, A1_75, A2_76)
|
||||
defaultTalkWithLtandhaa_002(A0_77, A1_78, A2_79)
|
||||
defaultTalkWithLtandhaa_003(A0_80, A1_81, A2_82)
|
||||
defaultTalkWithPofufu_001(A0_83, A1_84, A2_85)
|
||||
defaultTalkWithPofufu_002(A0_86, A1_87, A2_88)
|
||||
defaultTalkWithPofufu_003(A0_89, A1_90, A2_91)
|
||||
defaultTalkWithOdilie_001(A0_101, A1_102, A2_103)
|
||||
defaultTalkWithOdilie_002(A0_104, A1_105, A2_106)
|
||||
defaultTalkWithOdilie_003(A0_107, A1_108, A2_109)
|
||||
-- defaultTalkWithStewart_001 -- Hodder line?
|
||||
|
||||
|
||||
defaultTalkWithHereward_001(A0_119, A1_120, A2_121)
|
||||
defaultTalkWithBeli_001(A0_122, A1_123, A2_124)
|
||||
defaultTalkWithMaddeline_001(A0_125, A1_126, A2_127)
|
||||
|
@ -127,12 +134,11 @@ defaultTalkWithSandre_001(A0_312, A1_313, A2_314)
|
|||
defaultTalkWithEburhart_001(A0_318, A1_319, A2_320)
|
||||
defaultTalkWithOnguen_001(A0_321, A1_322, A2_323)
|
||||
defaultTalkEnie_001(A0_324, A1_325, A2_326)
|
||||
defaultTalkWithLionnellais_001(A0_327, A1_328, A2_329)
|
||||
defaultTalkWithHida_001(A0_330, A1_331, A2_332)
|
||||
|
||||
defaultTalkWithNoes_001(A0_333, A1_334, A2_335)
|
||||
defaultTalkWithFhrudhem_001(A0_336, A1_337, A2_338)
|
||||
defaultTalkWithUlta_001(A0_342, A1_343, A2_344)
|
||||
defaultTalkWithMathye_001(A0_345, A1_346, A2_347)
|
||||
|
||||
|
||||
defaultTalkWithMitainie_001(A0_348, A1_349, A2_350)
|
||||
defaultTalkWithNicia_001(A0_351, A1_352, A2_353)
|
||||
defaultTalkWithBlandie_001(A0_354, A1_355, A2_356)
|
||||
|
@ -166,7 +172,7 @@ defaultTalkWithBloisirant_001(A0_447, A1_448, A2_449)
|
|||
defaultTalkWithGylbart_001(A0_450, A1_451, A2_452)
|
||||
defaultTalkWithHonoroit_001(A0_453, A1_454, A2_455)
|
||||
defaultTalkWithYlessa_001(A0_456, A1_457, A2_458)
|
||||
defaultTalkWithLonsygg_001(A0_459, A1_460, A2_461)
|
||||
|
||||
defaultTalkWithSwaenhylt_001(A0_465, A1_466, A2_467)
|
||||
defaultTalkWithMarcette_001(A0_468, A1_469, A2_470)
|
||||
defaultTalkWithGuildleveClientG_001(A0_471, A1_472, A2_473)
|
||||
|
@ -188,10 +194,7 @@ defaultTalkWithAruhnsenna_001(A0_516, A1_517, A2_518)
|
|||
defaultTalkWithMoogle010_001(A0_519, A1_520, A2_521)
|
||||
defaultTalkWithMoogle002_001(A0_522, A1_523, A2_524)
|
||||
defaultTalkWithAilith_001(A0_525, A1_526, A2_527)
|
||||
defaultTalkWithMemama_001(A0_528, A1_529, A2_530)
|
||||
defaultTalkWithPfarahr_001(A0_531, A1_532, A2_533)
|
||||
|
||||
defaultTalkWithWillielmus_001(A0_540, A1_541, A2_542)
|
||||
defaultTalkWithQZamqo_001(A0_543, A1_544, A2_545)
|
||||
defaultTalkLouisoix_001(A0_546, A1_547, A2_548)
|
||||
defaultTalkWithRonanKognan_001(A0_549, A1_550, A2_551)
|
||||
|
@ -241,10 +244,11 @@ 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);
|
||||
else
|
||||
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ local defaultTalkWil = {
|
|||
[1000861] = "defaultTalkWithLinette_001", -- Linette
|
||||
[1000862] = "defaultTalkWithGagaruna_001", -- Gagaruna
|
||||
[1000863] = "defaultTalkWithLulutsu_001", -- Lulutsu
|
||||
[1000864] = "defaultTalkWithInn_Desk", -- Otopa Pottopa - defaultTalkWithOtopapottopa_001 (pre-Inn unlock?)
|
||||
[1000864] = "defaultTalkWithOtopapottopa_001", -- Otopa Pottopa - defaultTalkWithInn_Desk - used when Inn unlocked
|
||||
[1000865] = "defaultTalkWithThaisie_001", -- Thaisie - Mentions retainers, but will not fire since she's not PplStd.
|
||||
[1000887] = "defaultTalkWithZssapa_001", -- <<<NOT IMPLEMENTED>>> - Z'ssapa (Central Thanalan: Black Brush: 92.779999 183.837 -1030.310059) alt actor ID: 1001217 (used in a quest presumably, different outfit from wiki image)
|
||||
[1000915] = "defaultTalkWithCahernaut_001", -- Cahernaut
|
||||
|
@ -227,7 +227,7 @@ local defaultTalkWil = {
|
|||
[1001925] = "defaultTalkWithHortwann_001", -- <<<NOT IMPLEMENTED>>> - Flame Private Hanskalsyn - (North Thanalan: Camp Bluefog)
|
||||
[1001932] = "defaultTalkWithSIBOLD_001", -- Sibold
|
||||
[1001953] = "defaultTalkWithBerndan_001", -- Berndan
|
||||
[1002047] = "defaultTalkWithInn_Desk_2", -- Kopuru Fupuru - Inn NPC. - defaultTalkWithKopuruFupuru_001 (pre-Inn unlock?)
|
||||
[1002047] = "defaultTalkWithKopuruFupuru_001", -- Kopuru Fupuru - Inn NPC - defaultTalkWithInn_Desk_2 used when Inn unlocked
|
||||
[1002101] = "defaultTalkWithDuraltharal_001", -- Dural Tharal
|
||||
[1002110] = "processEventSOMBER", -- Flame Lieutenant Somber Meadow (Foundation Day 2012 Dialog) Spl000 staticactor
|
||||
[1002111] = "processEventMIMIO", -- Flame Sergeant Mimio Mio (Foundation Day 2012 Dialog) Spl000 staticactor
|
||||
|
@ -271,9 +271,19 @@ function onTalk(player, quest, npc, eventName)
|
|||
local npcId = npc:GetActorClassId();
|
||||
local clientFunc = defaultTalkWil[npcId];
|
||||
|
||||
if (npcId == 1002047) then -- Kopuru Fupuru - Inn NPC
|
||||
defaultTalkWithInn(player, quest, clientFunc);
|
||||
elseif ((npcId >= 1002110) and (npcId <= 1002112)) then
|
||||
if (npcId == 1000864) then -- Kopuru Fupuru (Adv. Guild Inn NPC)
|
||||
if (player:IsQuestCompleted(110848)) then -- "Ring of Deceit" completed.
|
||||
defaultTalkWithInn(player, quest, "defaultTalkWithInn_Desk");
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
elseif (npcId == 1002047) then -- Kopuru Fupuru (Rear-Entrance Inn NPC)
|
||||
if (player:IsQuestCompleted(110848)) then -- "Ring of Deceit" completed.
|
||||
defaultTalkWithInn(player, quest, "defaultTalkWithInn_Desk_2");
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
elseif ((npcId >= 1002110) and (npcId <= 1002112)) then -- Foundation Day 2012 NPCs
|
||||
talkWithSpecial(player, npcId, clientFunc)
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
|
|
98
Data/scripts/quests/etc/etc5u0.lua
Normal file
98
Data/scripts/quests/etc/etc5u0.lua
Normal file
|
@ -0,0 +1,98 @@
|
|||
require("global");
|
||||
|
||||
--[[
|
||||
|
||||
Quest Script
|
||||
|
||||
Name: Ring of Deceit
|
||||
Code: Etc5u0
|
||||
Id: 110848
|
||||
Prereq: Level 1 on any class. Second MSQ completed. (110002 Man0l1 / 110006 Man0g1 / 110010 Man0u1)
|
||||
Notes: Unlocks Ul'dah Inn exit from the rear entrance. Rewards 200 EXP
|
||||
|
||||
]]
|
||||
|
||||
-- Sequence Numbers
|
||||
SEQ_000 = 0; -- Talk to Judithe
|
||||
SEQ_001 = 1; -- Return to Otopa Pottopa
|
||||
|
||||
-- Actor Class Ids
|
||||
OTOPA_POTTOPA = 1000864;
|
||||
JUDITHE = 1001443;
|
||||
|
||||
-- Quest Markers
|
||||
MRKR_JUDITHE = 11092001;
|
||||
MRKR_OTOPA_POTTOPA = 11092002;
|
||||
|
||||
|
||||
|
||||
function onStart(player, quest)
|
||||
quest:StartSequence(SEQ_000);
|
||||
end
|
||||
|
||||
function onFinish(player, quest)
|
||||
end
|
||||
|
||||
|
||||
function onStateChange(player, quest, sequence)
|
||||
if (sequence == 65535) then
|
||||
quest:SetENpc(OTOPA_POTTOPA, QFLAG_PLATE);
|
||||
elseif (sequence == SEQ_000) then
|
||||
quest:SetENpc(OTOPA_POTTOPA);
|
||||
quest:SetENpc(JUDITHE, QFLAG_PLATE);
|
||||
elseif (sequence == SEQ_001) then
|
||||
quest:SetENpc(OTOPA_POTTOPA, QFLAG_REWARD);
|
||||
quest:SetENpc(JUDITHE);
|
||||
end
|
||||
end
|
||||
|
||||
function onTalk(player, quest, npc)
|
||||
local sequence = quest:getSequence();
|
||||
local classId = npc:GetActorClassId();
|
||||
|
||||
if (sequence == 65535) then
|
||||
if (classId == OTOPA_POTTOPA) then
|
||||
local questAccepted = callClientFunction(player, "delegateEvent", player, quest, "processEventOTOPAPOTTOPAStart");
|
||||
|
||||
if (questAccepted == 1) then
|
||||
player:AcceptQuest(quest);
|
||||
end
|
||||
end
|
||||
elseif (sequence == SEQ_000) then
|
||||
if (classId == OTOPA_POTTOPA) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_000_1");
|
||||
elseif (classId == JUDITHE) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_010");
|
||||
attentionMessage(player, 25225, 110848); -- <Quest name> objectives complete!
|
||||
quest:StartSequence(SEQ_001);
|
||||
end
|
||||
elseif (sequence == SEQ_001) then
|
||||
if (classId == JUDITHE) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_010_1");
|
||||
elseif (classId == OTOPA_POTTOPA) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_020");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1); -- 200 exp rewarded
|
||||
player:CompleteQuest(quest);
|
||||
end
|
||||
end
|
||||
player:EndEvent()
|
||||
quest:UpdateENPCs();
|
||||
end
|
||||
|
||||
|
||||
function getJournalInformation(player, quest)
|
||||
end
|
||||
|
||||
|
||||
function getJournalMapMarkerList(player, quest)
|
||||
local sequence = quest:getSequence();
|
||||
local possibleMarkers = {};
|
||||
|
||||
if (sequence == SEQ_000) then
|
||||
table.insert(possibleMarkers, MRKR_JUDITHE);
|
||||
elseif (sequence == SEQ_001) then
|
||||
table.insert(possibleMarkers, MRKR_OTOPA_POTTOPA);
|
||||
end
|
||||
|
||||
return unpack(possibleMarkers)
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithFryswyde_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithGontrant_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithGyles_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithHida_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithHongavunga_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLtandhaa_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLionnellais_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLonsygg_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMathye_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMemama_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMiniaeth_adv_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMiounne_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithNaih_khamazom_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithNoncomananco_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithOdilie_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithPenelope_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,46 +0,0 @@
|
|||
require ("global")
|
||||
require ("quests/etc/etc5g0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
|
||||
if (player:HasQuest("Etc5g0") == true and player:GetQuest("Etc5g0"):GetPhase() == 0) then
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
else
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
quest = player:GetQuest("Etc5g0");
|
||||
|
||||
result = 1;
|
||||
if (player:HasQuest("Etc5g0")) then
|
||||
unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1);
|
||||
end
|
||||
|
||||
if (result == 1) then
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithPfarahr_001", -1, -1);
|
||||
elseif (result == 2) then
|
||||
|
||||
ownedQuest = player:GetQuest("Etc5g0");
|
||||
if (ownedQuest:GetPhase() == 0) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_010");
|
||||
worldMaster = GetWorldMaster();
|
||||
player:SendGameMessage(player, worldMaster, 25225, ownedQuest:GetQuestId());
|
||||
player:SendDataPacket("attention", worldMaster, "", 25225, ownedQuest:GetQuestId());
|
||||
ownedQuest:NextPhase(1);
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
vkorolon = GetWorldManager():GetActorInWorldByUniqueId("vkorolon");
|
||||
if (vkorolon ~= nil) then
|
||||
vkorolon:SetQuestGraphic(player, 0x4);
|
||||
end
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_010_1");
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithPofufu_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSeikfrae_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSerpent_private_hill_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSylbyrt_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithTask_board_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithTierney_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithTorsefers_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithUlta_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,67 +0,0 @@
|
|||
require ("global")
|
||||
require ("quests/etc/etc5g0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
|
||||
if (player:HasQuest("Etc5g0") == true and player:GetQuest("Etc5g0"):GetPhase() == 1) then
|
||||
npc:SetQuestGraphic(player, 0x4);
|
||||
elseif (canAcceptQuest(player)) then
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
else
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
quest = GetStaticActor("Etc5g0");
|
||||
|
||||
result = 1;
|
||||
|
||||
if (player:IsQuestCompleted("Etc5g0") == true) then
|
||||
result = 0;
|
||||
else
|
||||
unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1);
|
||||
end
|
||||
|
||||
if (result == 0) then
|
||||
choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_Desk", nil, nil, nil);
|
||||
|
||||
if (choice == 1) then
|
||||
GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 160.048, 0, 154.263, 0);
|
||||
elseif (choice == 2) then
|
||||
if (player:GetHomePointInn() ~= 2) then
|
||||
player:SetHomePointInn(2);
|
||||
player:SendGameMessage(GetWorldMaster(), 60019, 0x20, 2075); --Secondary homepoint set to the Roost
|
||||
else
|
||||
player:SendGameMessage(GetWorldMaster(), 51140, 0x20); --This inn is already your Secondary Homepoint
|
||||
end
|
||||
end
|
||||
elseif (result == 1) then
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithVkorolon_001", -1, -1);
|
||||
elseif (result == 2) then
|
||||
if (player:HasQuest("Etc5g0") == false) then
|
||||
offerQuestResult = callClientFunction(player, "delegateEvent", player, quest, "processEventVKOROLONStart");
|
||||
if (offerQuestResult == 1) then
|
||||
player:AddQuest("Etc5g0");
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
pfarahr = GetWorldManager():GetActorInWorldByUniqueId("pfarahr");
|
||||
if (pfarahr ~= nil) then
|
||||
pfarahr:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
end
|
||||
elseif (player:GetQuest("Etc5g0"):GetPhase() == 0) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_000_1");
|
||||
elseif (player:GetQuest("Etc5g0"):GetPhase() == 1) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_020");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1);
|
||||
player:CompleteQuest("Etc5g0");
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithWillielmus_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
require ("global")
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
defaultFst = GetStaticActor("DftFst");
|
||||
callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithZagylhaemr_001", nil, nil, nil);
|
||||
player:endEvent();
|
||||
end
|
Loading…
Add table
Reference in a new issue