mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Added missing dialog to some npcs in Legends Adrift. Finished Never Shall the Twain Meet.
This commit is contained in:
parent
ac22637b4f
commit
c3b4735cc5
@ -61,7 +61,8 @@ TRIGGER_FSH = 1090006;
|
|||||||
TRIGGER_SEAFLD = 1090082;
|
TRIGGER_SEAFLD = 1090082;
|
||||||
|
|
||||||
-- ACN Guild Echo
|
-- ACN Guild Echo
|
||||||
ASSESSOR = 1000121;
|
ASSESSOR1 = 1000120;
|
||||||
|
ASSESSOR2 = 1000121;
|
||||||
PTAHJHA = 1000150;
|
PTAHJHA = 1000150;
|
||||||
HALDBERK = 1000160;
|
HALDBERK = 1000160;
|
||||||
LILINA = 1000178;
|
LILINA = 1000178;
|
||||||
@ -141,7 +142,8 @@ function onStateChange(player, quest, sequence)
|
|||||||
quest:SetENpc(PTAHJHA, QFLAG_PLATE);
|
quest:SetENpc(PTAHJHA, QFLAG_PLATE);
|
||||||
elseif (sequence == SEQ_100) then
|
elseif (sequence == SEQ_100) then
|
||||||
quest:SetENpc(TRIGGER_ACN_LOWER, QFLAG_MAP, false, true);
|
quest:SetENpc(TRIGGER_ACN_LOWER, QFLAG_MAP, false, true);
|
||||||
quest:SetENpc(ASSESSOR);
|
quest:SetENpc(ASSESSOR1);
|
||||||
|
quest:SetENpc(ASSESSOR2);
|
||||||
quest:SetENpc(HALDBERK);
|
quest:SetENpc(HALDBERK);
|
||||||
quest:SetENpc(LILINA);
|
quest:SetENpc(LILINA);
|
||||||
quest:SetENpc(VOLUPTUOUS_PIRATE);
|
quest:SetENpc(VOLUPTUOUS_PIRATE);
|
||||||
@ -271,9 +273,9 @@ function seq000_030_040_onTalk(player, quest, npc, classId)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function seq000_100_onTalk(player, quest, npc, classId)
|
function seq000_100_onTalk(player, quest, npc, classId)
|
||||||
if (classId == ASSESSOR) then
|
if (classId == ASSESSOR1) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_2");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_2");
|
||||||
elseif (classId == 0) then -- !!!MISSING DIALOG OWNER!!!
|
elseif (classId == ASSESSOR2) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_3");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_3");
|
||||||
elseif (classId == HALDBERK) then
|
elseif (classId == HALDBERK) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_4");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent2000_4");
|
||||||
|
@ -34,12 +34,14 @@ HOB = 1000151;
|
|||||||
ISAUDOREL = 1000152;
|
ISAUDOREL = 1000152;
|
||||||
BARRACUDA_KNIGHT1 = 1000183;
|
BARRACUDA_KNIGHT1 = 1000183;
|
||||||
BARRACUDA_KNIGHT2 = 1000184;
|
BARRACUDA_KNIGHT2 = 1000184;
|
||||||
TRIGGER_SHIP1 = 1090003;
|
TRIGGER_DOCKS = 1090386;
|
||||||
TRIGGER_SHIP2 = 1090003;
|
EVENTDOOR_SHIP1 = 1090098;
|
||||||
|
EVENTDOOR_SHIP2 = 1090099;
|
||||||
|
TRIGGER_DUTYSTART = 1090085;
|
||||||
TRIGGER_MSK = 1090003;
|
TRIGGER_MSK = 1090003;
|
||||||
TRIGGER_SEAFLD1 = 1090003;
|
TRIGGER_SEAFLD1 = 1090082;
|
||||||
TRIGGER_SEAFLD2 = 1090003;
|
TRIGGER_SEAFLD2 = 1090086;
|
||||||
TRIGGER_SEAFLD3 = 1090003;
|
TRIGGER_SEAFLD3 = 1090087;
|
||||||
|
|
||||||
-- Quest Markers
|
-- Quest Markers
|
||||||
|
|
||||||
@ -61,29 +63,38 @@ function onStateChange(player, quest, sequence)
|
|||||||
if (sequence == SEQ_ACCEPT) then
|
if (sequence == SEQ_ACCEPT) then
|
||||||
quest:SetENpc(BADERON, QFLAG_PLATE);
|
quest:SetENpc(BADERON, QFLAG_PLATE);
|
||||||
elseif (sequence == SEQ_000) then
|
elseif (sequence == SEQ_000) then
|
||||||
|
quest:SetENpc(TRIGGER_DOCKS, QFLAG_MAP, false, true);
|
||||||
quest:SetENpc(HOB, QFLAG_PLATE);
|
quest:SetENpc(HOB, QFLAG_PLATE);
|
||||||
quest:SetENpc(BADERON);
|
quest:SetENpc(BADERON);
|
||||||
elseif (sequence == SEQ_010) then
|
elseif (sequence == SEQ_010) then
|
||||||
|
quest:SetENpc(TRIGGER_DOCKS, QFLAG_NONE, false, true);
|
||||||
quest:SetENpc(HOB);
|
quest:SetENpc(HOB);
|
||||||
quest:SetENpc(BARRACUDA_KNIGHT1);
|
quest:SetENpc(BARRACUDA_KNIGHT1);
|
||||||
quest:SetENpc(BARRACUDA_KNIGHT2);
|
quest:SetENpc(BARRACUDA_KNIGHT2);
|
||||||
|
quest:SetENpc(EVENTDOOR_SHIP1, QFLAG_MAP, false, true);
|
||||||
elseif (sequence == SEQ_015) then
|
elseif (sequence == SEQ_015) then
|
||||||
|
quest:SetENpc(TRIGGER_DOCKS, QFLAG_NONE, false, true);
|
||||||
quest:SetENpc(HOB);
|
quest:SetENpc(HOB);
|
||||||
quest:SetENpc(BARRACUDA_KNIGHT1);
|
quest:SetENpc(BARRACUDA_KNIGHT1);
|
||||||
quest:SetENpc(BARRACUDA_KNIGHT2);
|
quest:SetENpc(BARRACUDA_KNIGHT2);
|
||||||
|
quest:SetENpc(EVENTDOOR_SHIP2, QFLAG_MAP, false, true);
|
||||||
|
quest:SetENpc(TRIGGER_DUTYSTART, QFLAG_MAP, false, true);
|
||||||
elseif (sequence == SEQ_020) then
|
elseif (sequence == SEQ_020) then
|
||||||
-- DUTY HAPPENS HERE
|
-- DUTY HAPPENS HERE
|
||||||
elseif (sequence == SEQ_035) then
|
elseif (sequence == SEQ_035) then
|
||||||
quest:SetENpc(BADERON, QFLAG_PLATE);
|
quest:SetENpc(BADERON, QFLAG_PLATE);
|
||||||
elseif (sequence == SEQ_037) then
|
elseif (sequence == SEQ_037) then
|
||||||
|
quest:SetENpc(TRIGGER_SEAFLD1, QFLAG_MAP, false, true);
|
||||||
quest:SetENpc(BADERON);
|
quest:SetENpc(BADERON);
|
||||||
elseif (sequence == SEQ_040) then
|
|
||||||
elseif (sequence == SEQ_042) then
|
elseif (sequence == SEQ_042) then
|
||||||
|
quest:SetENpc(TRIGGER_MSK, QFLAG_MAP, false, true);
|
||||||
quest:SetENpc(BADERON);
|
quest:SetENpc(BADERON);
|
||||||
elseif (sequence == SEQ_045) then
|
elseif (sequence == SEQ_045) then
|
||||||
quest:SetENpc(ISAUDOREL, QFLAG_PLATE);
|
quest:SetENpc(ISAUDOREL, QFLAG_PLATE);
|
||||||
elseif (sequence == SEQ_050) then
|
elseif (sequence == SEQ_050) then
|
||||||
|
quest:SetENpc(TRIGGER_SEAFLD2, QFLAG_MAP, false, true);
|
||||||
elseif (sequence == SEQ_055) then
|
elseif (sequence == SEQ_055) then
|
||||||
|
quest:SetENpc(TRIGGER_SEAFLD3, QFLAG_MAP, false, true);
|
||||||
quest:SetENpc(YSHTOLA);
|
quest:SetENpc(YSHTOLA);
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -96,29 +107,27 @@ function onTalk(player, quest, npc)
|
|||||||
if (sequence == SEQ_ACCEPT) then
|
if (sequence == SEQ_ACCEPT) then
|
||||||
if (classId == BADERON) then
|
if (classId == BADERON) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent000");
|
||||||
|
player:EndEvent();
|
||||||
|
player:AcceptQuest(quest, true);
|
||||||
|
return;
|
||||||
end
|
end
|
||||||
elseif (sequence == SEQ_000) then
|
elseif (sequence == SEQ_000) then
|
||||||
if (classId == HOB) then
|
if (classId == HOB) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent010");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent010");
|
||||||
quest:StartSequence(SEQ_010);
|
quest:StartSequence(SEQ_010);
|
||||||
|
player:EndEvent();
|
||||||
|
GetWorldManager():DoZoneChange(player, 192, "PrivateAreaMasterPast", 0, 0, 1832.243, 16.352, 1834.965, 1.584);
|
||||||
|
return;
|
||||||
elseif (classId == BADERON) then
|
elseif (classId == BADERON) then
|
||||||
|
if (npc.CurrentArea.IsPrivate()) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_2");
|
||||||
|
else
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent010_3");
|
||||||
end
|
end
|
||||||
elseif (sequence == SEQ_010) then
|
|
||||||
if (classId == HOB) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_2");
|
|
||||||
elseif (classId == BARRACUDA_KNIGHT1) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_3");
|
|
||||||
elseif (classId == BARRACUDA_KNIGHT2) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_4");
|
|
||||||
end
|
end
|
||||||
elseif (sequence == SEQ_015) then
|
elseif (sequence >= SEQ_010 and sequence <= SEQ_020) then
|
||||||
if (classId == HOB) then
|
if (onTalk_shipSequences(player, quest, npc, classId, sequence) == 1) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_2");
|
return;
|
||||||
elseif (classId == BARRACUDA_KNIGHT1) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_3");
|
|
||||||
elseif (classId == BARRACUDA_KNIGHT2) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_4");
|
|
||||||
end
|
end
|
||||||
elseif (sequence == SEQ_035) then
|
elseif (sequence == SEQ_035) then
|
||||||
if (classId == BADERON) then
|
if (classId == BADERON) then
|
||||||
@ -148,30 +157,91 @@ function onTalk(player, quest, npc)
|
|||||||
quest:UpdateENPCs();
|
quest:UpdateENPCs();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function onTalk_shipSequences(player, quest, npc, classId, sequence)
|
||||||
|
if (classId == HOB) then
|
||||||
|
if (npc.CurrentArea.ZoneId == 230 and npc.CurrentArea.IsPrivate()) then
|
||||||
|
local returnToShip = callClientFunction(player, "delegateEvent", player, quest, "processEvent010_2");
|
||||||
|
if (returnToShip == 1) then
|
||||||
|
player:EndEvent();
|
||||||
|
if (sequence == SEQ_015 or sequence == SEQ_020) then
|
||||||
|
GetWorldManager():DoZoneChange(player, 192, "PrivateAreaMasterPast", 0, 0, 1828.785, 11.852, 1829.20, -1.675);
|
||||||
|
else
|
||||||
|
GetWorldManager():DoZoneChange(player, 192, "PrivateAreaMasterPast", 0, 0, 1832.243, 16.352, 1834.965, 1.584);
|
||||||
|
end
|
||||||
|
return 1;
|
||||||
|
end
|
||||||
|
elseif (npc.CurrentArea.ZoneId == 192 and npc.CurrentArea.IsPrivate()) then
|
||||||
|
local returnToPublic = callClientFunction(player, "delegateEvent", player, quest, "processEvent011_2");
|
||||||
|
if (returnToPublic == 1) then
|
||||||
|
player:EndEvent();
|
||||||
|
GetWorldManager():DoZoneChange(player, 230, nil, 0, 0, -639.325, 1, 403.967, 1.655);
|
||||||
|
return 1;
|
||||||
|
end
|
||||||
|
elseif (npc.CurrentArea.IsPublic()) then
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent010_3");
|
||||||
|
end
|
||||||
|
elseif (classId == BARRACUDA_KNIGHT1) then
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_3");
|
||||||
|
elseif (classId == BARRACUDA_KNIGHT2) then
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent011_4");
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function onPush(player, quest, npc)
|
function onPush(player, quest, npc)
|
||||||
local data = quest:GetData();
|
local data = quest:GetData();
|
||||||
local sequence = quest:getSequence();
|
local sequence = quest:getSequence();
|
||||||
local classId = npc:GetActorClassId();
|
local classId = npc:GetActorClassId();
|
||||||
|
|
||||||
if (sequence == SEQ_037) then
|
if (sequence >= SEQ_000 and sequence <= SEQ_020) then
|
||||||
if (classId == TRIGGER_SEAFLD1) then
|
if (classId == TRIGGER_DOCKS) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent060");
|
player:EndEvent();
|
||||||
quest:StartSequence(SEQ_040);
|
GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 8, -631.93, 2, 391.75, -0.05);
|
||||||
|
return;
|
||||||
end
|
end
|
||||||
elseif (sequence == SEQ_042) then
|
if (sequence == SEQ_010) then
|
||||||
if (classId == TRIGGER_MSK) then
|
if (classId == EVENTDOOR_SHIP1) then
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent012");
|
||||||
|
quest:StartSequence(SEQ_015);
|
||||||
|
player:EndEvent();
|
||||||
|
GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 1, 1823.579, -61.65, 1816.102, 2.42);
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
elseif (sequence == SEQ_015) then
|
||||||
|
if (classId == EVENTDOOR_SHIP2) then
|
||||||
|
player:EndEvent();
|
||||||
|
GetWorldManager():WarpToPrivateArea(player, "PrivateAreaMasterPast", 0, 1821.675, 10.352, 1814.964, 2.288);
|
||||||
|
return;
|
||||||
|
elseif (classId == TRIGGER_DUTYSTART) then
|
||||||
|
local result = callClientFunction(player, "delegateEvent", player, quest, "contentsJoinAskInBasaClass");
|
||||||
|
if (result == 1) then
|
||||||
|
-- DO COMBAT DUTY HERE
|
||||||
|
-- For now just skip the sequence
|
||||||
|
quest:StartSequence(SEQ_020);
|
||||||
|
math.randomseed(os.time());
|
||||||
|
local randomVal = math.random(1, 2); -- Randomize the winner for now
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent020", randomVal);
|
||||||
|
player:EndEvent();
|
||||||
|
quest:StartSequence(SEQ_035);
|
||||||
|
GetWorldManager():DoZoneChange(player, 230, nil, 0, 0, -639.325, 1, 403.967, 1.655);
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
player:EndEvent();
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif (sequence == SEQ_037 and classId == TRIGGER_SEAFLD1) then
|
||||||
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent060");
|
||||||
|
quest:NewNpcLsMsg(1);
|
||||||
|
quest:StartSequence(SEQ_040);
|
||||||
|
elseif (sequence == SEQ_042 and classId == TRIGGER_MSK) then
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent070");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent070");
|
||||||
quest:StartSequence(SEQ_045);
|
quest:StartSequence(SEQ_045);
|
||||||
end
|
elseif (sequence == SEQ_050 and classId == TRIGGER_SEAFLD2) then
|
||||||
elseif (sequence == SEQ_050) then
|
|
||||||
if (classId == TRIGGER_SEAFLD2) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent080");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent080");
|
||||||
quest:StartSequence(SEQ_055);
|
quest:StartSequence(SEQ_055);
|
||||||
end
|
GetWorldManager():DoZoneChange(player, 128, "PrivateAreaMasterPast", 3, 0, 198.314, 25.928, 1186.126, 1.6);
|
||||||
elseif (sequence == SEQ_055) then
|
elseif (sequence == SEQ_055 and classId == TRIGGER_SEAFLD3) then
|
||||||
if (classId == TRIGGER_SEAFLD3) then
|
|
||||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent081");
|
callClientFunction(player, "delegateEvent", player, quest, "processEvent081");
|
||||||
end
|
GetWorldManager():DoZoneChange(player, 133, nil, 0, 0, -435.501, 40, 202.698, -2.152);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:EndEvent();
|
player:EndEvent();
|
||||||
|
Loading…
Reference in New Issue
Block a user