mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Merge branch 'Jorge/quest_system' into ioncannon/quest_system
This commit is contained in:
commit
cfe6ef2e5e
@ -0,0 +1,3 @@
|
||||
function init(npc)
|
||||
return false, false, 0, 0, 0, 0;
|
||||
end
|
18
Data/scripts/base/chara/npc/object/OpeningStoperW0B1.lua
Normal file
18
Data/scripts/base/chara/npc/object/OpeningStoperW0B1.lua
Normal file
@ -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
|
@ -49,8 +49,9 @@ function init(npc)
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
local classId = npc:GetActorClassId();
|
||||
local curLevel = 20; -- TODO: pull from character
|
||||
local hasIssuance = player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(gcIssuances[npc:GetActorClassId()]);
|
||||
local hasIssuance = player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(gcIssuances[classId]);
|
||||
local hasChocobo = player.hasChocobo;
|
||||
|
||||
if (hasChocobo == false) then -- Let GMs auto have the issuance for debugging
|
||||
@ -59,6 +60,19 @@ function onEventStarted(player, npc, triggerName)
|
||||
|
||||
local hasFunds = (player:GetCurrentGil() >= rentalPrice);
|
||||
|
||||
|
||||
|
||||
if ((classId == 1000840) and (player:HasQuest(110009))) then -- Cross-script Man0u0 dialog
|
||||
local sequence = player:GetQuest(110009):getSequence();
|
||||
|
||||
if (sequence == 0) then
|
||||
callClientFunction(player, "delegateEvent", player, GetStaticActor("Man0u0"), "processEvent000_13");
|
||||
elseif (sequence == 10) then
|
||||
callClientFunction(player, "delegateEvent", player, GetStaticActor("Man0u0"), "processEvent020_7");
|
||||
else
|
||||
player:EndEvent();
|
||||
end
|
||||
else
|
||||
callClientFunction(player, "eventTalkWelcome", player);
|
||||
|
||||
local menuChoice = callClientFunction(player, "eventAskMainMenu", player, curLevel, hasFunds, hasIssuance, hasChocobo, hasChocobo, 0);
|
||||
@ -74,7 +88,7 @@ function onEventStarted(player, npc, triggerName)
|
||||
player:EndEvent();
|
||||
return;
|
||||
else
|
||||
local appearance = startAppearances[npc:GetActorClassId()];
|
||||
local appearance = startAppearances[classId];
|
||||
player:IssueChocobo(appearance, nameResponse);
|
||||
|
||||
callClientFunction(player, "eventAfterChocoboName", player);
|
||||
@ -83,24 +97,25 @@ function onEventStarted(player, npc, triggerName)
|
||||
if (player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(2001007) == false) then
|
||||
player:GetItemPackage(INVENTORY_KEYITEMS):AddItem(2001007);
|
||||
end
|
||||
player:GetItemPackage(INVENTORY_KEYITEMS):RemoveItem(gcIssuances[npc:GetActorClassId()], 1);
|
||||
player:GetItemPackage(INVENTORY_KEYITEMS):RemoveItem(gcIssuances[classId], 1);
|
||||
|
||||
--Warp with the special chocobo warp mode.
|
||||
mountChocobo(player);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()][1], nil, 0, SPAWN_CHOCOBO_GET, cityExits[npc:GetActorClassId()][2], cityExits[npc:GetActorClassId()][3], cityExits[npc:GetActorClassId()][4], cityExits[npc:GetActorClassId()][5]);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[classId][1], nil, 0, SPAWN_CHOCOBO_GET, cityExits[classId][2], cityExits[classId][3], cityExits[classId][4], cityExits[classId][5]);
|
||||
end
|
||||
|
||||
elseif(menuChoice == 2) then -- Summon Bird
|
||||
mountChocobo(player);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()][1], nil, 0, SPAWN_NO_ANIM, cityExits[npc:GetActorClassId()][2], cityExits[npc:GetActorClassId()][3], cityExits[npc:GetActorClassId()][4], cityExits[npc:GetActorClassId()][5]);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[classId][1], nil, 0, SPAWN_NO_ANIM, cityExits[classId][2], cityExits[classId][3], cityExits[classId][4], cityExits[classId][5]);
|
||||
elseif(menuChoice == 3) then -- Change Barding
|
||||
callClientFunction(player, "eventTalkStepBreak", player);
|
||||
elseif(menuChoice == 5) then -- Rent Bird
|
||||
mountChocobo(player, true, 1);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()][1], nil, 0, SPAWN_CHOCOBO_RENTAL, cityExits[npc:GetActorClassId()][2], cityExits[npc:GetActorClassId()][3], cityExits[npc:GetActorClassId()][4], cityExits[npc:GetActorClassId()][5]);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[classId][1], nil, 0, SPAWN_CHOCOBO_RENTAL, cityExits[classId][2], cityExits[classId][3], cityExits[classId][4], cityExits[classId][5]);
|
||||
else
|
||||
callClientFunction(player, "eventTalkStepBreak", player);
|
||||
end
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
@ -115,6 +130,6 @@ function mountChocobo(player, isRental, rentalMinutes)
|
||||
|
||||
player:SendMountAppearance();
|
||||
player:SetMountState(1);
|
||||
player:ChangeSpeed(0.0, 5.0, 10.0, 10.0);
|
||||
player:ChangeSpeed(0.0, 3.6, 9.0, 9.0);
|
||||
player:ChangeState(15);
|
||||
end
|
@ -7,7 +7,7 @@ Functions:
|
||||
eventTalkWelcome(player) - Start Text
|
||||
eventAskMainMenu(player, index) - Shows teleport menu, hides the teleport location at index value to prevent warping to the spot you're at
|
||||
eventAfterWarpOtherZone(player) - Fades out for warp
|
||||
eventTalkStepBreak() - Ends talk
|
||||
eventTalkStepBreak() - Holds the client up for whatever reason?
|
||||
--]]
|
||||
|
||||
require ("global")
|
||||
@ -82,39 +82,50 @@ function onEventStarted(player, npc, triggerName)
|
||||
npcId = npc:GetActorClassId();
|
||||
city = warpNpc[npcId][2];
|
||||
|
||||
|
||||
if city == 1 then
|
||||
if (city == 1) then
|
||||
if player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(passLimsa) then
|
||||
passCheck = 1;
|
||||
else
|
||||
if passCheck == 0 then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
if (passCheck == 0) then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
end;
|
||||
elseif city == 2 then
|
||||
if player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(passGrid) then
|
||||
elseif (city == 2) then
|
||||
-- if player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(passGrid) then
|
||||
passCheck = 1;
|
||||
-- else
|
||||
-- if passCheck == 0 then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
--end;
|
||||
elseif (city == 3) then
|
||||
if (player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(passUldah)) then
|
||||
passCheck = 1;
|
||||
else
|
||||
if passCheck == 0 then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
end;
|
||||
elseif city == 3 then
|
||||
if player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(passUldah) then
|
||||
passCheck = 1;
|
||||
else
|
||||
if passCheck == 0 then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
if (passCheck == 0) then callClientFunction(player, "eventTalkWelcome", player); end
|
||||
end
|
||||
end
|
||||
|
||||
if passCheck == 1 then
|
||||
|
||||
if (passCheck == 1) then
|
||||
choice = callClientFunction(player, "eventAskMainMenu", player, warpNpc[npcId][1]);
|
||||
|
||||
if choice == 0 then
|
||||
--callClientFunction(player, "playereventTalkStepBreak");
|
||||
|
||||
if (choice ~= 0) then
|
||||
|
||||
|
||||
|
||||
callClientFunction(player, "eventAfterWarpOtherZone", player);
|
||||
wait(1);
|
||||
player:EndEvent();
|
||||
local player_zone = player:GetPos()[5];
|
||||
spawnType = 0x0A;
|
||||
if (player_zone == aethernet[city][choice].zone) then
|
||||
|
||||
GetWorldManager():DoPlayerMoveInZone(player, aethernet[city][choice].x, aethernet[city][choice].y, aethernet[city][choice].z, aethernet[city][choice].r, spawnType);
|
||||
else
|
||||
GetWorldManager():DoZoneChange(player, aethernet[city][choice].zone, nil, 0, spawnType, aethernet[city][choice].x, aethernet[city][choice].y, aethernet[city][choice].z, aethernet[city][choice].r);
|
||||
end;
|
||||
else
|
||||
-- callClientFunction(player, "eventAfterWarpOtherZone", player); -- Commented out for now to prevent double fade-to-black for warp
|
||||
player:EndEvent();
|
||||
GetWorldManager():DoZoneChange(player, aethernet[city][choice].zone, nil, 0, 15, aethernet[city][choice].x, aethernet[city][choice].y, aethernet[city][choice].z, aethernet[city][choice].r);
|
||||
end
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
||||
|
@ -6,8 +6,50 @@ Handles mounting and dismounting the Chocobo and Goobbue
|
||||
|
||||
--]]
|
||||
|
||||
require ("global")
|
||||
|
||||
function onEventStarted(player, actor, triggerName, isGoobbue)
|
||||
|
||||
<<<<<<< HEAD
|
||||
if (player:GetState() == 0) then
|
||||
|
||||
worldMaster = GetWorldMaster();
|
||||
|
||||
if (isGoobbue ~= true) then
|
||||
player:ChangeMusic(83, MUSIC_FADEIN);
|
||||
player:SendGameMessage(player, worldMaster, 26001, 0x20);
|
||||
player:SetMountState(1);
|
||||
else
|
||||
player:ChangeMusic(98, MUSIC_FADEIN);
|
||||
player:SendGameMessage(player, worldMaster, 26019, 0x20);
|
||||
player:SetMountState(2);
|
||||
end
|
||||
|
||||
player:ChangeSpeed(0.0, 3.6, 9.0, 9.0);
|
||||
player:ChangeState(15);
|
||||
else
|
||||
player:ChangeMusic(player:GetZone().bgmDay, MUSIC_FADEIN);
|
||||
|
||||
worldMaster = GetWorldMaster();
|
||||
|
||||
if (player.rentalExpireTime != 0) then
|
||||
player:SendGameMessage(player, worldMaster, 26004, 0x20); --You dismount.
|
||||
else
|
||||
if (player:GetMountState() == 1) then
|
||||
player:SendGameMessage(player, worldMaster, 26003, 0x20); --You dismount X.
|
||||
else
|
||||
player:SendGameMessage(player, worldMaster, 26021, 0x20); --You dismount your Gobbue.
|
||||
end
|
||||
end
|
||||
|
||||
player:SetMountState(0);
|
||||
player:ChangeSpeed(0.0, 2.0, 5.0, 5.0)
|
||||
player:ChangeState(0);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
=======
|
||||
if (player:GetState() == 0) then
|
||||
|
||||
worldMaster = GetWorldMaster();
|
||||
@ -46,4 +88,5 @@ function onEventStarted(player, actor, triggerName, isGoobbue)
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
>>>>>>> ioncannon/quest_system
|
||||
end
|
@ -6,7 +6,7 @@ Functions:
|
||||
|
||||
eventRegion(numAnima)
|
||||
eventAetheryte(region, animaCost1, animaCost2, animaCost3, animaCost4, animaCost5, animaCost6)
|
||||
eventConfirm(isReturn, isInBattle, cityReturnNum, 138821, forceAskReturnOnly)
|
||||
eventConfirm(isReturn, isInBattle, HomePointInn, HomePoint, forceAskReturnOnly)
|
||||
|
||||
--]]
|
||||
|
||||
@ -52,41 +52,112 @@ teleportMenuToAetheryte = {
|
||||
}
|
||||
}
|
||||
|
||||
zoneIdToRegionChoice =
|
||||
{
|
||||
[128] = 1, [129] = 1, [130] = 1, [131] = 1, [132] = 1, [133] = 1, [134] = 1, [135] = 1, [230] = 1,
|
||||
[143] = 2, [144] = 2, [145] = 2, [147] = 2, [148] = 2,
|
||||
[150] = 3, [151] = 3, [152] = 3, [153] = 3, [154] = 3, [155] = 3, [157] = 3, [158] = 3, [159] = 3, [160] = 3, [206] = 3,
|
||||
[170] = 4, [171] = 4, [172] = 4, [173] = 4, [174] = 4, [175] = 4, [176] = 4, [178] = 4, [180] = 4, [181] = 4, [209] = 4,
|
||||
[190] = 5
|
||||
}
|
||||
|
||||
|
||||
function onEventStarted(player, actor, eventType, eventName, isTeleport)
|
||||
|
||||
local worldMaster = GetWorldMaster();
|
||||
local playerState = player:GetState();
|
||||
local currentAnima = 100;
|
||||
local baseAnimaCost = 6;
|
||||
local animaCost = 0;
|
||||
local favoredLocation = {1280003, 1280005, 1280062};
|
||||
local currentRegion = zoneIdToRegionChoice[player:GetPos()[5]] or 0;
|
||||
local isCity = {[1280001] = true, [1280061] = true, [1280031] = true};
|
||||
local isFavoredDesination = false;
|
||||
local destination = 0;
|
||||
|
||||
if (isTeleport == 0) then
|
||||
|
||||
if (isTeleport == 0) then -- Teleport hit
|
||||
while (true) do
|
||||
regionChoice = callClientFunction(player, "delegateCommand", actor, "eventRegion", 100);
|
||||
regionChoice = callClientFunction(player, "delegateCommand", actor, "eventRegion", currentAnima);
|
||||
|
||||
if (regionChoice == nil) then break end
|
||||
|
||||
while (true) do
|
||||
aetheryteChoice = callClientFunction(player, "delegateCommand", actor, "eventAetheryte", regionChoice, 2, 2, 2, 4, 4, 4);
|
||||
if (regionChoice > 0 and regionChoice < 6) then -- If Region selected
|
||||
|
||||
if (regionChoice == currentRegion) then -- Check if selected region matches player's region, reduce cost if so.
|
||||
baseAnimaCost = baseAnimaCost - 2;
|
||||
else
|
||||
baseAnimaCost = 6;
|
||||
end
|
||||
|
||||
-- Assign anima cost to the six possible slots after factoring in same region or not.
|
||||
animaCost = {baseAnimaCost, baseAnimaCost, baseAnimaCost, baseAnimaCost, baseAnimaCost, baseAnimaCost};
|
||||
|
||||
if (isCity[teleportMenuToAetheryte[regionChoice][1]] == true) then
|
||||
-- Halve the cost of applicable city aetheryte
|
||||
animaCost[1] = animaCost[1] / 2;
|
||||
end
|
||||
|
||||
elseif (regionChoice == 6) then -- Favored Destinations selected.
|
||||
-- Dummy info. Favored would be half price after factoring in same region cost or not.
|
||||
animaCost = {2, 3, 3, favoredLocation[1], favoredLocation[2], favoredLocation[3]};
|
||||
isFavoredDesination = true;
|
||||
end
|
||||
|
||||
|
||||
aetheryteChoice = callClientFunction(
|
||||
player,
|
||||
"delegateCommand",
|
||||
actor,
|
||||
"eventAetheryte",
|
||||
regionChoice,
|
||||
animaCost[1],
|
||||
animaCost[2],
|
||||
animaCost[3],
|
||||
animaCost[4],
|
||||
animaCost[5],
|
||||
animaCost[6]
|
||||
);
|
||||
|
||||
|
||||
if (aetheryteChoice == nil) then break end
|
||||
|
||||
player:PlayAnimation(0x4000FFA);
|
||||
player:SendGameMessage(worldMaster, 34101, 0x20, 2, teleportMenuToAetheryte[regionChoice][aetheryteChoice], 100, 100);
|
||||
|
||||
if (isFavoredDesination == true) then
|
||||
destination = aetheryteTeleportPositions[favoredLocation[aetheryteChoice]];
|
||||
player:SendGameMessage(worldMaster, 34101, 0x20, 2, favoredLocation[aetheryteChoice], animaCost[aetheryteChoice], currentAnima);
|
||||
else
|
||||
destination = aetheryteTeleportPositions[teleportMenuToAetheryte[regionChoice][aetheryteChoice]];
|
||||
player:SendGameMessage(worldMaster, 34101, 0x20, 2, teleportMenuToAetheryte[regionChoice][aetheryteChoice], animaCost[aetheryteChoice], currentAnima);
|
||||
end
|
||||
|
||||
confirmChoice = callClientFunction(player, "delegateCommand", actor, "eventConfirm", false, false, 1, 138824, false);
|
||||
|
||||
if (confirmChoice == 1) then
|
||||
player:PlayAnimation(0x4000FFB);
|
||||
player:SendGameMessage(worldMaster, 34105, 0x20);
|
||||
--Do teleport
|
||||
destination = aetheryteTeleportPositions[teleportMenuToAetheryte[regionChoice][aetheryteChoice]];
|
||||
if (destination ~= nil) then
|
||||
|
||||
if (destination ~= 0) then
|
||||
randoPos = getRandomPointInBand(destination[2], destination[4], 3, 5);
|
||||
rotation = getAngleFacing(randoPos.x, randoPos.y, destination[2], destination[4]);
|
||||
if (playerState == ACTORSTATE_MOUNTED) then
|
||||
player:SetMountState(0);
|
||||
player:ChangeSpeed(0.0, 2.0, 5.0, 5.0)
|
||||
player:ChangeState(ACTORSTATE_PASSIVE);
|
||||
end
|
||||
|
||||
GetWorldManager():DoZoneChange(player, destination[1], nil, 0, 2, randoPos.x, destination[3], randoPos.y, rotation);
|
||||
end
|
||||
end
|
||||
|
||||
player:endEvent();
|
||||
return;
|
||||
end
|
||||
|
||||
end
|
||||
else
|
||||
|
||||
else -- Return hit
|
||||
player:PlayAnimation(0x4000FFA);
|
||||
local choice, isInn = callClientFunction(player, "delegateCommand", actor, "eventConfirm", true, false, player:GetHomePointInn(), player:GetHomePoint(), false);
|
||||
if (choice == 1) then
|
||||
@ -115,8 +186,13 @@ function onEventStarted(player, actor, eventType, eventName, isTeleport)
|
||||
if (destination ~= nil) then
|
||||
randoPos = getRandomPointInBand(destination[2], destination[4], 3, 5);
|
||||
rotation = getAngleFacing(randoPos.x, randoPos.y, destination[2], destination[4]);
|
||||
GetWorldManager():DoZoneChange(player, destination[1], nil, 0, 2, randoPos.x, destination[3], randoPos.y, rotation);
|
||||
if (playerState == ACTORSTATE_MOUNTED) then
|
||||
player:SetMountState(0);
|
||||
player:ChangeSpeed(0.0, 2.0, 5.0, 5.0)
|
||||
player:ChangeState(ACTORSTATE_PASSIVE);
|
||||
end
|
||||
|
||||
GetWorldManager():DoZoneChange(player, destination[1], nil, 0, 2, randoPos.x, destination[3], randoPos.y, rotation);
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -124,3 +200,4 @@ function onEventStarted(player, actor, eventType, eventName, isTeleport)
|
||||
|
||||
player:endEvent();
|
||||
end
|
||||
|
||||
|
@ -1,14 +1,17 @@
|
||||
properties = {
|
||||
permissions = 0,
|
||||
parameters = "s",
|
||||
parameters = "ss",
|
||||
description =
|
||||
[[
|
||||
Plays music <id> to player.
|
||||
!music <id>
|
||||
!music <id> <transition_type>
|
||||
]],
|
||||
}
|
||||
|
||||
function onTrigger(player, argc, music)
|
||||
function onTrigger(player, argc, music, transition)
|
||||
music = tonumber(music) or 0;
|
||||
player:ChangeMusic(music);
|
||||
transition = tonumber(transition) or nil;
|
||||
player:SendMessage(0x20, "", tostring(argc).." "..tostring(music).." "..tostring(transition));
|
||||
player:ChangeMusic(music, transition);
|
||||
end;
|
@ -22,6 +22,5 @@ function onTrigger(player, argc, actorClassId)
|
||||
if actor then
|
||||
actor:ChangeNpcAppearance(actorClassId);
|
||||
player:SendMessage(messageID, sender, string.format("appearance %u", actorClassId));
|
||||
end;
|
||||
|
||||
end;
|
||||
end
|
||||
end
|
@ -29,7 +29,7 @@ function onTrigger(player, argc, actorClassId, width, height)
|
||||
--local x, y, z = player.GetPos();
|
||||
for i = 0, w do
|
||||
for j = 0, h do
|
||||
actor = player.CurrentArea:SpawnActor(actorClassId, "test", pos[0] + (i - (w / 2) * 3), pos[1], pos[2] + (j - (h / 2) * 3), pos[3]);
|
||||
actor = player.CurrentArea:SpawnActor(actorClassId, "test", x + (i - (w / 2) * 3), y, z + (j - (h / 2) * 3), rot);
|
||||
actor.SetAppearance(1001149)
|
||||
end
|
||||
end
|
||||
|
@ -56,7 +56,8 @@ function onTrigger(player, argc, p1, p2, p3, p4, privateArea, privateAreaType, n
|
||||
local x = tonumber(applyPositionOffset(p2, player_x)) or player_x;
|
||||
local y = tonumber(applyPositionOffset(p3, player_y)) or player_y;
|
||||
local z = tonumber(applyPositionOffset(p4, player_z)) or player_z;
|
||||
if privateArea == "" then privateArea = nil end;
|
||||
if privateArea == nil then privateArea = nil end;
|
||||
if privateAreaType == nila then privateAreaType = 0 end;
|
||||
player:SendMessage(messageID, sender, string.format("setting coordinates X:%d Y:%d Z:%d to new zone (%d) private area:%s", x, y, z, zone, privateArea or "unspecified"));
|
||||
worldManager:DoZoneChange(player, zone, privateArea, tonumber(privateAreaType), 0x02, x, y, z, 0.00);
|
||||
end
|
||||
|
@ -18,21 +18,22 @@ function onTrigger(player, argc, uID)
|
||||
end;
|
||||
|
||||
actor = GetWorldManager():GetActorInWorldByUniqueId(uID);
|
||||
|
||||
actorId = actor:GetActorClassId();
|
||||
if (actor ~= nil) then
|
||||
local actorPos = actor:GetPos();
|
||||
local playerPos = player:GetPos();
|
||||
|
||||
if actorPos[4] == playerPos[4] then
|
||||
worldManager:DoPlayerMoveInZone(player, actorPos[0], actorPos[1], actorPos[2], actorPos[3], 0x00);
|
||||
if actorPos[5] == playerPos[5] then
|
||||
worldManager:DoPlayerMoveInZone(player, actorPos[1], actorPos[2], actorPos[3], actorPos[4], 0x00);
|
||||
else
|
||||
worldManager:DoZoneChange(player, actorPos[4], nil, 0, 0x02, actorPos[0], actorPos[1], actorPos[2], actorPos[3]);
|
||||
worldManager:DoZoneChange(player, actorPos[5], nil, 0, 0x02, actorPos[1], actorPos[2], actorPos[3], actorPos[4]);
|
||||
end
|
||||
|
||||
message = string.format("Moving to %s 's coordinates @ zone %s, %.3f %.3f %.3f ", uID, actorPos[4], actorPos[0], actorPos[1], actorPos[2]);
|
||||
message = string.format("Moving to %s 's coordinates @ zone %s, %.3f %.3f %.3f ", uID, actorPos[5], actorPos[1], actorPos[2], actorPos[3]);
|
||||
end ;
|
||||
|
||||
player:SendMessage(messageID, sender, message);
|
||||
player:SendMessage(0x20, "", "Actor Class Id: "..actorId);
|
||||
|
||||
end
|
||||
|
||||
|
@ -11,7 +11,28 @@ function init()
|
||||
return "/Director/Quest/QuestDirectorMan0u001";
|
||||
end
|
||||
|
||||
function onEventStarted(player, actor, triggerName)
|
||||
|
||||
function onCreateContentArea(players, director, contentArea, contentGroup)
|
||||
|
||||
niellefresne = contentArea:SpawnActor(2290003, "niellefresne", -11.86, 192, 35.06, -0.8);
|
||||
thancred = contentArea:SpawnActor(2290004, "thancred", -26.41, 192, 39.52, 1.2);
|
||||
thancred:ChangeState(2);
|
||||
|
||||
mob1 = contentArea:SpawnActor(2203301, "mob1", -6.193, 192, 47.658, -2.224);
|
||||
|
||||
openingStoper = contentArea:SpawnActor(1090385, "openingstoper", -24.34, 192, 34.22, 0);
|
||||
|
||||
for _, player in pairs(players) do
|
||||
contentGroup:AddMember(player);
|
||||
end;
|
||||
|
||||
contentGroup:AddMember(director);
|
||||
contentGroup:AddMember(niellefresne);
|
||||
contentGroup:AddMember(thancred);
|
||||
contentGroup:AddMember(mob1);
|
||||
end
|
||||
|
||||
function onEventStarted(player, director, triggerName)
|
||||
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
startTutorialMode(player);
|
||||
@ -19,7 +40,8 @@ function onEventStarted(player, actor, triggerName)
|
||||
player:EndEvent();
|
||||
waitForSignal("playerActive");
|
||||
wait(1); --If this isn't here, the scripts bugs out. TODO: Find a better alternative.
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
kickEventContinue(player, director, "noticeEvent", "noticeEvent");
|
||||
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrBtl002", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
wait(4);
|
||||
@ -40,7 +62,7 @@ function onEventStarted(player, actor, triggerName)
|
||||
wait(7);
|
||||
player:ChangeMusic(7);
|
||||
player:ChangeState(0);
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
kickEventContinue(player, director, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020", nil, nil, nil);
|
||||
|
||||
--[[
|
||||
@ -56,9 +78,8 @@ function onEventStarted(player, actor, triggerName)
|
||||
OpenWidget (DEFEAT ENEMY)
|
||||
]]
|
||||
|
||||
man0u0Quest:NextPhase(10);
|
||||
player:EndEvent();
|
||||
|
||||
man0u0Quest:StartSequence(10);
|
||||
player.CurrentArea:ContentFinished();
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 3, 15, -22.81, 196, 87.82, 2.98);
|
||||
player:EndEvent();
|
||||
end
|
||||
|
@ -164,6 +164,14 @@ QFLAG_NONE = 0;
|
||||
QFLAG_PLATE = 2;
|
||||
QFLAG_MAP = 3;
|
||||
|
||||
-- MUSIC
|
||||
MUSIC_IMMEDIATE = 1;
|
||||
MUSIC_CROSSFADE = 2;
|
||||
MUSIC_LAYER = 3;
|
||||
MUSIC_FADEIN = 4;
|
||||
MUSIC_NORMAL_CHANNEL = 5;
|
||||
MUSIC_BATTLE_CHANNEL = 6;
|
||||
|
||||
-- Common Helper Functions
|
||||
function attentionMessage(player, textId, ...)
|
||||
player:SendGameMessage(GetWorldMaster(), textId, 0x20, ...);
|
||||
|
@ -46,18 +46,17 @@ function onBeginLogin(player)
|
||||
player:GetQuest(110005):ClearQuestData();
|
||||
player:GetQuest(110005):ClearQuestFlags();
|
||||
elseif (player:HasQuest(110009) == true and player.CurrentArea.ZoneId == 184) then
|
||||
--director = player.CurrentArea:CreateDirector("OpeningDirector", false);
|
||||
--player:AddDirector(director);
|
||||
--director:StartDirector(false);
|
||||
--player:SetLoginDirector(director);
|
||||
--player:KickEvent(director, "noticeEvent", true);
|
||||
--
|
||||
director = player.CurrentArea:CreateDirector("OpeningDirector", false);
|
||||
player:AddDirector(director);
|
||||
director:StartDirector(true);
|
||||
player:SetLoginDirector(director);
|
||||
player:KickEvent(director, "noticeEvent", true);
|
||||
|
||||
player.positionX = 5.364327;
|
||||
player.positionY = 196.0;
|
||||
player.positionZ = 133.6561;
|
||||
player.rotation = -2.849384;
|
||||
player:GetQuest(110009):ClearQuestData();
|
||||
player:GetQuest(110009):ClearQuestFlags();
|
||||
player:GetQuest(110009):ClearClearData();
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -18,13 +18,22 @@ local defaultTalkFst = {
|
||||
[1001081] = "defaultTalkWithKhumamoshroca_001", -- Khuma Moshroca
|
||||
[1001103] = "defaultTalkWithMestonnaux_001", -- Mestonnaux
|
||||
[1001396] = "defaultTalkWithLefwyne_001", -- Lefwyne
|
||||
[1001430] = "defaultTalkWithKinnison_001", -- Kinnison
|
||||
[1001437] = "defaultTalkWithSybell_001", -- Sybell
|
||||
[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"
|
||||
}
|
||||
|
||||
function onTalk(player, quest, npc, eventName)
|
||||
local clientFunc = defaultTalkFst[npc:GetActorClassId()];
|
||||
|
||||
local npcId = npc:GetActorClassId();
|
||||
local clientFunc = defaultTalkFst[npcId];
|
||||
|
||||
if (npcId == 1001430) then -- Kinnison
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc, -1,-1);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
|
||||
|
@ -13,6 +13,270 @@ Contains all default lines for talkable npcs in the Sea Region (aka La Noscea).
|
||||
-- [ActorClassId] = "client_function_name"
|
||||
local defaultTalkSea = {
|
||||
[1234] = "defaultTalkWithLefchild_001" -- Lefchild
|
||||
|
||||
--[[
|
||||
|
||||
defaultTalkStartMan(A0_1, A1_2, A2_3)
|
||||
defaultTalkOiSAM(A0_4, A1_5, A2_6)
|
||||
defaultTalkMLinhbo(A0_7, A1_8, A2_9)
|
||||
defaultTalkWithMytesyn_001(A0_10, A1_11, A2_12)
|
||||
defaultTalkWithUrsulie_001(A0_13, A1_14, A2_15)
|
||||
defaultTalkWithAshakkal_001(A0_16, A1_17, A2_18)
|
||||
defaultTalkWithPiralnaut_001(A0_19, A1_20, A2_21)
|
||||
defaultTalkWithBaderon_001(A0_22, A1_23, A2_24)
|
||||
defaultTalkWithCharlys_001(A0_25, A1_26, A2_27)
|
||||
defaultTalkWithNoline_001(A0_28, A1_29, A2_30)
|
||||
defaultTalkWithJossy_001(A0_31, A1_32, A2_33)
|
||||
defaultTalkWithPrudentia_001(A0_34, A1_35, A2_36)
|
||||
defaultTalkWithPulmia_001(A0_37, A1_38, A2_39)
|
||||
defaultTalkWithAentfoet_001(A0_40, A1_41, A2_42)
|
||||
defaultTalkWithKikichua_001(A0_43, A1_44, A2_45)
|
||||
defaultTalkWithGerulf_001(A0_46, A1_47, A2_48)
|
||||
defaultTalkWithHobriaut_001(A0_49, A1_50, A2_51)
|
||||
defaultTalkWithRsushmo_001(A0_52, A1_53, A2_54)
|
||||
defaultTalkWithFrailoise_001(A0_55, A1_56, A2_57)
|
||||
defaultTalkWithIsaudorel_001(A0_58, A1_59, A2_60)
|
||||
defaultTalkWithTotoruto_001(A0_61, A1_62, A2_63)
|
||||
defaultTalkWithChaunollet_001(A0_64, A1_65, A2_66)
|
||||
defaultTalkWithRaragun_001(A0_67, A1_68, A2_69)
|
||||
defaultTalkWithMynadaeg_001(A0_70, A1_71, A2_72)
|
||||
defaultTalkWithTefhmoshroca_001(A0_73, A1_74, A2_75)
|
||||
defaultTalkWithGinnade_001(A0_76, A1_77, A2_78)
|
||||
defaultTalkWithArthurioux_001(A0_79, A1_80, A2_81)
|
||||
defaultTalkWithBodenolf_001(A0_82, A1_83, A2_84)
|
||||
defaultTalkWithBodenolf_002(A0_85, A1_86, A2_87)
|
||||
defaultTalkWithQhaschalahko_001(A0_88, A1_89, A2_90)
|
||||
defaultTalkWithJoellaut_001(A0_91, A1_92, A2_93)
|
||||
defaultTalkWithIofa_001(A0_94, A1_95, A2_96)
|
||||
defaultTalkWithSyngsmyd_001(A0_97, A1_98, A2_99)
|
||||
defaultTalkWithMartiallais_001(A0_100, A1_101, A2_102)
|
||||
defaultTalkWithFaucillien_001(A0_103, A1_104, A2_105)
|
||||
defaultTalkWithNnmulika_001(A0_106, A1_107, A2_108)
|
||||
defaultTalkWithLouviaune_001(A0_109, A1_110, A2_111)
|
||||
defaultTalkWithClifton_001(A0_112, A1_113, A2_114)
|
||||
defaultTalkWithUndsatz_001(A0_115, A1_116, A2_117)
|
||||
defaultTalkWithRerenasu_001(A0_118, A1_119, A2_120)
|
||||
defaultTalkWithDacajinjahl_001(A0_121, A1_122, A2_123)
|
||||
defaultTalkWithBloemerl_001(A0_124, A1_125, A2_126)
|
||||
defaultTalkWithXavalien_001(A0_127, A1_128, A2_129)
|
||||
defaultTalkWithAstrid_001(A0_130, A1_131, A2_132)
|
||||
defaultTalkWithWaekbyrt_001(A0_133, A1_134, A2_135)
|
||||
defaultTalkWithWaekbyrt_002(A0_136, A1_137, A2_138)
|
||||
defaultTalkWithNunuba_001(A0_139, A1_140, A2_141)
|
||||
defaultTalkWithSraemha_001(A0_142, A1_143, A2_144)
|
||||
defaultTalkWithOsitha_001(A0_145, A1_146, A2_147)
|
||||
defaultTalkWithNeale_001(A0_148, A1_149, A2_150)
|
||||
defaultTalkWithBayard_001(A0_151, A1_152, A2_153)
|
||||
defaultTalkWithTriaine_001(A0_154, A1_155, A2_156)
|
||||
defaultTalkWithWyrakhamazom_001(A0_157, A1_158, A2_159)
|
||||
defaultTalkWithDhemsunn_001(A0_160, A1_161, A2_162)
|
||||
defaultTalkWithNanapiri_001(A0_163, A1_164, A2_165)
|
||||
defaultTalkWithMharelak_001(A0_166, A1_167, A2_168)
|
||||
defaultTalkWithHasthwab_001(A0_169, A1_170, A2_171)
|
||||
defaultTalkWithIghiimoui_001(A0_172, A1_173, A2_174)
|
||||
defaultTalkWithMimiroon_001(A0_175, A1_176, A2_177)
|
||||
defaultTalkWithJojoroon_001(A0_178, A1_179, A2_180)
|
||||
defaultTalkWithChichiroon_001(A0_181, A1_182, A2_183)
|
||||
defaultTalkWithBuburoon_001(A0_184, A1_185, A2_186)
|
||||
defaultTalkWithHaldberk_001(A0_187, A1_188, A2_189)
|
||||
defaultTalkWithP_tahjha_001(A0_190, A1_191, A2_192)
|
||||
defaultTalkWithElilwaen_001(A0_193, A1_194, A2_195)
|
||||
defaultTalkWithDodoroba_001(A0_196, A1_197, A2_198)
|
||||
defaultTalkWithIvan_001(A0_199, A1_200, A2_201)
|
||||
defaultTalkWithLilina_001(A0_202, A1_203, A2_204)
|
||||
defaultTalkWithThosinbaen_001(A0_205, A1_206, A2_207)
|
||||
defaultTalkWithRubh_epocan_001(A0_208, A1_209, A2_210)
|
||||
defaultTalkWithRubh_hob_001(A0_211, A1_212, A2_213)
|
||||
defaultTalkWithMaunie_001(A0_214, A1_215, A2_216)
|
||||
defaultTalkWithMaunie_002(A0_217, A1_218, A2_219)
|
||||
defaultTalkWithMaunie_003(A0_220, A1_221, A2_222)
|
||||
defaultTalkWithGigirya_001(A0_223, A1_224, A2_225)
|
||||
defaultTalkWithGigirya_002(A0_226, A1_227, A2_228)
|
||||
defaultTalkWithGigirya_003(A0_229, A1_230, A2_231)
|
||||
defaultTalkWithKokoto_001(A0_232, A1_233, A2_234)
|
||||
defaultTalkWithKokoto_002(A0_235, A1_236, A2_237)
|
||||
defaultTalkWithKokoto_003(A0_238, A1_239, A2_240)
|
||||
defaultTalkWithTirauland_001(A0_241, A1_242, A2_243)
|
||||
defaultTalkWithTirauland_010(A0_244, A1_245, A2_246)
|
||||
defaultTalkWithTirauland_002(A0_247, A1_248, A2_249)
|
||||
defaultTalkWithTirauland_003(A0_250, A1_251, A2_252)
|
||||
defaultTalkWithEstrilda_001(A0_253, A1_254, A2_255)
|
||||
defaultTalkWithEstrilda_002(A0_256, A1_257, A2_258)
|
||||
defaultTalkWithEstrilda_003(A0_259, A1_260, A2_261)
|
||||
defaultTalkWithGregory_001(A0_262, A1_263, A2_264)
|
||||
defaultTalkWithGregory_002(A0_265, A1_266, A2_267)
|
||||
defaultTalkWithGregory_003(A0_268, A1_269, A2_270)
|
||||
defaultTalkWithChantine_001(A0_271, A1_272, A2_273)
|
||||
defaultTalkWithChantine_002(A0_274, A1_275, A2_276)
|
||||
defaultTalkWithChantine_003(A0_277, A1_278, A2_279)
|
||||
defaultTalkWithNanaka_001(A0_280, A1_281, A2_282)
|
||||
defaultTalkWithNanaka_002(A0_283, A1_284, A2_285)
|
||||
defaultTalkWithNanaka_003(A0_286, A1_287, A2_288)
|
||||
defaultTalkWithKakamehi_001(A0_289, A1_290, A2_291)
|
||||
defaultTalkWithKakamehi_002(A0_292, A1_293, A2_294)
|
||||
defaultTalkWithKakamehi_003(A0_295, A1_296, A2_297)
|
||||
defaultTalkWithStephannot_001(A0_298, A1_299, A2_300)
|
||||
defaultTalkWithStephannot_002(A0_301, A1_302, A2_303)
|
||||
defaultTalkWithStephannot_003(A0_304, A1_305, A2_306)
|
||||
defaultTalkWithJosias_001(A0_307, A1_308, A2_309)
|
||||
defaultTalkWithJosias_002(A0_310, A1_311, A2_312)
|
||||
defaultTalkWithJosias_003(A0_313, A1_314, A2_315)
|
||||
defaultTalkWithFrithuric_001(A0_316, A1_317, A2_318)
|
||||
defaultTalkWithFrithuric_002(A0_319, A1_320, A2_321)
|
||||
defaultTalkWithFrithuric_003(A0_322, A1_323, A2_324)
|
||||
defaultTalkWithLauda_001(A0_325, A1_326, A2_327)
|
||||
defaultTalkWithLauda_002(A0_328, A1_329, A2_330)
|
||||
defaultTalkWithLauda_003(A0_331, A1_332, A2_333)
|
||||
defaultTalkWithH_lahono_001(A0_334, A1_335, A2_336)
|
||||
defaultTalkWithWyrstmann_001(A0_337, A1_338, A2_339)
|
||||
defaultTalkWithTraveler030_001(A0_340, A1_341, A2_342)
|
||||
defaultTalkWithTraveler031_001(A0_343, A1_344, A2_345)
|
||||
defaultTalkWithTraveler032_001(A0_346, A1_347, A2_348)
|
||||
defaultTalkWithYouty001_001(A0_349, A1_350, A2_351)
|
||||
defaultTalkWithMerchant002_001(A0_352, A1_353, A2_354)
|
||||
defaultTalkWithPirate030_001(A0_355, A1_356, A2_357)
|
||||
defaultTalkWithLady002_001(A0_358, A1_359, A2_360)
|
||||
defaultTalkWithSlaiboli_001(A0_361, A1_362, A2_363)
|
||||
defaultTalkWithSyhrdaeg_001(A0_364, A1_365, A2_366)
|
||||
defaultTalkWithPfynhaemr_001(A0_367, A1_368, A2_369)
|
||||
defaultTalkWithMzimzizi_001(A0_370, A1_371, A2_372)
|
||||
defaultTalkWithCarrilaut_001(A0_373, A1_374, A2_375)
|
||||
defaultTalkWithGautzelin_001(A0_376, A1_377, A2_378)
|
||||
defaultTalkWithZonggo_001(A0_379, A1_380, A2_381)
|
||||
defaultTalkWithAdventurer032_001(A0_382, A1_383, A2_384)
|
||||
defaultTalkWithKob031_001(A0_385, A1_386, A2_387)
|
||||
defaultTalkWithJainelette_001(A0_388, A1_389, A2_390)
|
||||
defaultTalkWithBrictt_001(A0_391, A1_392, A2_393)
|
||||
defaultTalkWithLiautroix_001(A0_394, A1_395, A2_396)
|
||||
defaultTalkWithLaniaitte_001(A0_397, A1_398, A2_399)
|
||||
defaultTalkWithNyaalamo_001(A0_400, A1_401, A2_402)
|
||||
defaultTalkWithFaezbroes_001(A0_403, A1_404, A2_405)
|
||||
defaultTalkWithIsleen_001(A0_406, A1_407, A2_408)
|
||||
defaultTalkWithSundhimal_001(A0_409, A1_410, A2_411)
|
||||
defaultTalkWithEugennoix_001(A0_412, A1_413, A2_414)
|
||||
defaultTalkWithRyssfloh_001(A0_415, A1_416, A2_417, A3_418)
|
||||
defaultTalkWithKihtgamduhla_001(A0_419, A1_420, A2_421, A3_422)
|
||||
defaultTalkWithFabodji_001(A0_423, A1_424, A2_425)
|
||||
defaultTalkWithRobairlain_001(A0_426, A1_427, A2_428)
|
||||
defaultTalkWithNorman_001(A0_429, A1_430, A2_431)
|
||||
defaultTalkWithBaenskylt_001(A0_432, A1_433, A2_434)
|
||||
defaultTalkWithAimiliens_001(A0_435, A1_436, A2_437)
|
||||
defaultTalkWithFongho_001(A0_438, A1_439, A2_440, A3_441)
|
||||
defaultTalkWithBaenryss_001(A0_442, A1_443, A2_444)
|
||||
defaultTalkWithChachapi_001(A0_445, A1_446, A2_447)
|
||||
defaultTalkWithForchetaix_001(A0_448, A1_449, A2_450)
|
||||
defaultTalkWithSosoze_001(A0_451, A1_452, A2_453)
|
||||
defaultTalkWithColson_001(A0_454, A1_455, A2_456)
|
||||
defaultTalkWithHihine_001(A0_457, A1_458, A2_459)
|
||||
defaultTalkWithTrinne_001(A0_460, A1_461, A2_462)
|
||||
defaultTalkWithSailor031_001(A0_463, A1_464, A2_465)
|
||||
defaultTalkWithPorter001_001(A0_466, A1_467, A2_468)
|
||||
defaultTalkWithAdventurer030_001(A0_469, A1_470, A2_471)
|
||||
defaultTalkWithPirate031_001(A0_472, A1_473, A2_474)
|
||||
defaultTalkWithLady001_001(A0_475, A1_476, A2_477)
|
||||
defaultTalkWithAdventurer031_001(A0_478, A1_479, A2_480)
|
||||
defaultTalkWithSolelle_001(A0_481, A1_482, A2_483)
|
||||
defaultTalkWithZanthael_001(A0_484, A1_485, A2_486)
|
||||
defaultTalkWithJghonako_001(A0_487, A1_488, A2_489)
|
||||
defaultTalkWithAhldskyff_001(A0_490, A1_491, A2_492)
|
||||
defaultTalkWithSkarnwaen_001(A0_493, A1_494, A2_495)
|
||||
defaultTalkWithGnibnpha_001(A0_496, A1_497, A2_498)
|
||||
defaultTalkWithAudaine_001(A0_499, A1_500, A2_501)
|
||||
defaultTalkWithCeadda_001(A0_502, A1_503, A2_504)
|
||||
defaultTalkWithZehrymm_001(A0_505, A1_506, A2_507)
|
||||
defaultTalkWithTatasako_001(A0_508, A1_509, A2_510)
|
||||
defaultTalkWithDympna_001(A0_511, A1_512, A2_513)
|
||||
defaultTalkWithBmallpa_001(A0_514, A1_515, A2_516)
|
||||
defaultTalkWithFerdillaix_001(A0_517, A1_518, A2_519)
|
||||
defaultTalkWithFufuna_001(A0_520, A1_521, A2_522)
|
||||
defaultTalkWithDavyd_001(A0_523, A1_524, A2_525)
|
||||
defaultTalkWithOrtolf_001(A0_526, A1_527, A2_528)
|
||||
defaultTalkWithMaetistym_001(A0_529, A1_530, A2_531)
|
||||
defaultTalkWithFzhumii_001(A0_532, A1_533, A2_534)
|
||||
defaultTalkWithShoshoma_001(A0_535, A1_536, A2_537)
|
||||
defaultTalkWithArnegis_001(A0_538, A1_539, A2_540)
|
||||
defaultTalkWithRbaharra_001(A0_541, A1_542, A2_543)
|
||||
defaultTalkWithAergwynt_001(A0_544, A1_545, A2_546)
|
||||
defaultTalkWithKakalan_001(A0_547, A1_548, A2_549)
|
||||
defaultTalkWithSathzant_001(A0_550, A1_551, A2_552)
|
||||
defaultTalkWithNnagali_001(A0_553, A1_554, A2_555)
|
||||
defaultTalkWithVhynho_001(A0_556, A1_557, A2_558)
|
||||
defaultTalkWithZuzule_001(A0_559, A1_560, A2_561)
|
||||
defaultTalkWithFuzakanzak_001(A0_562, A1_563, A2_564)
|
||||
defaultTalkWithBnhapla_001(A0_565, A1_566, A2_567)
|
||||
defaultTalkWithMerlzirn_001(A0_568, A1_569, A2_570)
|
||||
defaultTalkWithMerlzirn_002(A0_571, A1_572, A2_573)
|
||||
defaultTalkWithNinianne_001(A0_574, A1_575, A2_576)
|
||||
defaultTalkWithNheujawantal_001(A0_577, A1_578, A2_579)
|
||||
defaultTalkWithMaisie_001(A0_580, A1_581, A2_582)
|
||||
defaultTalkWithWhahtoa_001(A0_583, A1_584, A2_585)
|
||||
defaultTalkWithGnanghal_001(A0_586, A1_587, A2_588)
|
||||
defaultTalkWithKehdamujuuk_001(A0_589, A1_590, A2_591)
|
||||
defaultTalkWithGert_001(A0_592, A1_593, A2_594)
|
||||
defaultTalkWithLorhzant_001(A0_595, A1_596, A2_597)
|
||||
defaultTalkWithNahctahr_001(A0_598, A1_599, A2_600)
|
||||
defaultTalkWithKokomui_001(A0_601, A1_602, A2_603)
|
||||
defaultTalkWithEptolmi_001(A0_604, A1_605, A2_606)
|
||||
defaultTalkWithZabinie_001(A0_607, A1_608, A2_609)
|
||||
defaultTalkWithDeladomadalado_001(A0_610, A1_611, A2_612)
|
||||
defaultTalkWithSkoefmynd_001(A0_613, A1_614, A2_615)
|
||||
defaultTalkWithBubusha_001(A0_616, A1_617, A2_618)
|
||||
defaultTalkWithFupepe_001(A0_619, A1_620, A2_621)
|
||||
defaultTalkWithOadebh_001(A0_622, A1_623, A2_624)
|
||||
defaultTalkWithMyndeidin_001(A0_625, A1_626, A2_627)
|
||||
defaultTalkWithModestmouse_001(A0_628, A1_629, A2_630)
|
||||
defaultTalkWithDuchesnelt_001(A0_631, A1_632, A2_633)
|
||||
defaultTalkWithSkribskoef_001(A0_634, A1_635, A2_636)
|
||||
defaultTalkWithYalabali_001(A0_637, A1_638, A2_639)
|
||||
defaultTalkWithSyzfrusk_001(A0_640, A1_641, A2_642)
|
||||
defaultTalkWithInairoh_001(A0_643, A1_644, A2_645)
|
||||
defaultTalkWithMagaswyn_001(A0_646, A1_647, A2_648)
|
||||
defaultTalkWithSenahchalahko_001(A0_649, A1_650, A2_651)
|
||||
defaultTalkWithWaldibert_001(A0_652, A1_653, A2_654)
|
||||
defaultTalkWithEbandala_001(A0_655, A1_656, A2_657)
|
||||
defaultTalkWithGuidingstar_001(A0_658, A1_659, A2_660)
|
||||
defaultTalkWithHundredeyes_001(A0_661, A1_662, A2_663)
|
||||
defaultTalkWithSizhaepocan_001(A0_664, A1_665, A2_666)
|
||||
defaultTalkWithMareillie_001(A0_667, A1_668, A2_669)
|
||||
defaultTalkWithAngryriver_001(A0_670, A1_671, A2_672)
|
||||
defaultTalkWithSyntberk_001(A0_673, A1_674, A2_675)
|
||||
defaultTalkWithBibiraka_001(A0_676, A1_677, A2_678)
|
||||
defaultTalkWithThatakhamazom_001(A0_679, A1_680, A2_681)
|
||||
defaultTalkWithRoostingcrow_001(A0_682, A1_683, A2_684)
|
||||
defaultTalkWithZentsa_001(A0_685, A1_686, A2_687)
|
||||
defaultTalkWithAldyet_001(A0_688, A1_689, A2_690)
|
||||
defaultTalkWithAjinZukajin_001(A0_691, A1_692, A2_693)
|
||||
defaultTalkWithRaplulu_001(A0_694, A1_695, A2_696)
|
||||
defaultTalkWithMurlskylt_001(A0_697, A1_698, A2_699)
|
||||
defaultTalkWith_Aenore001(A0_700, A1_701, A2_702)
|
||||
defaultTalkWithANSGOR_100(A0_703, A1_704, A2_705)
|
||||
defaultTalkWithImania_001(A0_706, A1_707, A2_708)
|
||||
defaultTalkWithSweetnix_001(A0_709, A1_710, A2_711)
|
||||
defaultTalkWithLolojo_001(A0_712, A1_713, A2_714)
|
||||
defaultTalkWithQmolosi_001(A0_715, A1_716, A2_717)
|
||||
defaultTalkWithBran_001(A0_718, A1_719, A2_720)
|
||||
defaultTalkWithTutumoko_001(A0_721, A1_722, A2_723)
|
||||
defaultTalkWithBrianna_001(A0_724, A1_725, A2_726)
|
||||
defaultTalkWithFaine_001(A0_727, A1_728, A2_729)
|
||||
defaultTalkWithAerghaemr_001(A0_730, A1_731, A2_732)
|
||||
defaultTalkWithWalcher_001(A0_733, A1_734, A2_735)
|
||||
defaultTalkWithKurtz_001(A0_736, A1_737, A2_738)
|
||||
defaultTalkWithAlain_001(A0_739, A1_740, A2_741)
|
||||
defaultTalkCaravanChocoboLim_001(A0_742, A1_743, A2_744)
|
||||
downTownTalk(A0_745, A1_746, A2_747, A3_748, A4_749, A5_750)
|
||||
tribeTalk(A0_752, A1_753, A2_754)
|
||||
talkIdayCap(A0_755, A1_756, A2_757)
|
||||
talkIday1(A0_758, A1_759, A2_760)
|
||||
talkIday2(A0_761, A1_762, A2_763)
|
||||
defaultTalkWithInn_Desk(A0_764, A1_765, A2_766)
|
||||
defaultTalkWithInn_ExitDoor(A0_767, A1_768, A2_769)
|
||||
defaultTalkWithExit01(A0_770, A1_771, A2_772)
|
||||
defaultTalkWithMarketNpc(A0_773, A1_774, A2_775)
|
||||
defaultTalkWithHamletGuardLim_001(A0_776, A1_777, A2_778)
|
||||
--]]
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function onTalk(player, quest, npc, eventName)
|
||||
|
@ -14,12 +14,14 @@ Contains all default lines for talkable npcs in the Wilderness Region (aka Thana
|
||||
|
||||
-- [ActorClassId] = "client_function_name"
|
||||
local defaultTalkWil = {
|
||||
|
||||
[1000046] = "defaultTalkWithGogofu_001", -- Gogofu
|
||||
[1000047] = "defaultTalkWithHahayo_001", -- Hahayo
|
||||
[1000070] = "defaultTalkWithKukumuko_001", -- Kukumuko
|
||||
[1000293] = "defaultTalkWithDeaustie_001", -- Deaustie - defaultTalkWithDeaustie_002 (flavor for being on WVR?)
|
||||
[1000293] = "defaultTalkWithDeaustie_001", -- Deaustie - defaultTalkWithDeaustie_002 (her dialog after unlocking WVR?)
|
||||
[1000374] = "defaultTalkWithRorojaru_001", -- Rorojaru
|
||||
[1000597] = "defaultTalkWithNogeloix_001", -- Nogeloix
|
||||
[1000635] = "defaultTalkWithHnaufrid_001", -- Hnaufrid - Will not fire since he isn't PplStd
|
||||
[1000638] = "defaultTalkWithHawazizowazi_001", -- Hawazi Zowazi
|
||||
[1000639] = "defaultTalkWithIsabella_001", -- Isabella
|
||||
[1000640] = "defaultTalkWithCiceroix_001", -- Ciceroix
|
||||
@ -31,6 +33,8 @@ local defaultTalkWil = {
|
||||
[1000646] = "defaultTalkWithRinhmaimhov_001", -- Rinh Maimhov
|
||||
[1000647] = "defaultTalkWithLyngwaek_001", -- Lyngwaek
|
||||
[1000648] = "defaultTalkWithWawaton_001", -- Wawaton
|
||||
[1000649] = "defaultTalkWithDyalwann_001", -- <<<NOT IMPLEMENTED>>> - D'yalwann - Empty function. No wiki info, likely unused. Has book prop.
|
||||
[1000650] = "defaultTalkWithSedemode_001", -- <<<NOT IMPLEMENTED>>> - Sedemode - Empty function. No wiki info, likely unused.
|
||||
[1000651] = "defaultTalkWithPopori_001", -- Popori
|
||||
[1000652] = "defaultTalkWithMamaza_001", -- Mamaza
|
||||
[1000653] = "defaultTalkWithNhagiamariyo_001", -- Nhagi Amariyo
|
||||
@ -42,24 +46,29 @@ local defaultTalkWil = {
|
||||
[1000665] = "defaultTalkWithRosalind_001", -- Rosalind
|
||||
[1000666] = "defaultTalkWithOcoco_001", -- Ococo
|
||||
[1000668] = "defaultTalkWithUbokhn_001", -- U'bokhn
|
||||
[1000780] = "defaultTalkWithKiora_001", -- Kiora
|
||||
[1000781] = "defaultTalkWithOpondhao_001", -- O'pondhao
|
||||
[1000782] = "defaultTalkWithBertram_001", -- Bertram
|
||||
[1000783] = "defaultTalkWithMinerva_001", -- Minvera
|
||||
[1000784] = "defaultTalkWithZoengterbin_001", -- Zoengterbin - defaultTalkWithZoengterbin_002 / defaultTalkWithZoengterbin_003 (informs about LNC guild)
|
||||
[1000785] = "defaultTalkWithStyrmoeya_001", -- Styrmoeya
|
||||
[1000786] = "defaultTalkWithYhahamariyo_001", -- Yhah Amariyo
|
||||
[1000787] = "defaultTalkWithHildie_001", -- Hildie
|
||||
[1000788] = "defaultTalkWithLettice_001", -- Lettice
|
||||
[1000789] = "defaultTalkWithTyon_001", -- Tyon - defaultTalkWithTyon_002 / defaultTalkWithTyon_003 (informs about BTN guild)
|
||||
[1000672] = "defaultTalkWithBlandhem_001", -- <<<NOT IMPLEMENTED>>> - Blandhem (Camp Black Brush: X:56.089 Y:199.983 Z:-462.182 rough estimate)
|
||||
[1000673] = "defaultTalkWithChechedoba_001", -- <<<NOT IMPLEMENTED>>> - Chechedoba (Camp Black Brush: X:8.436 Y:199.973 Z:-484.073 rough estimate)
|
||||
[1000674] = "defaultTalkWithZllayan_001", -- <<<NOT IMPLEMENTED>>> - Z'llayan (Camp Drybone)
|
||||
[1000780] = "defaultTalkWithKiora_001", -- Kiora - defaultTalkWithKiora_002 / 003 (informs about MRD guild)
|
||||
[1000781] = "defaultTalkWithOpondhao_001", -- O'pondhao - defaultTalkWithOpondhao_002 / 003 (informs about FSH guild)
|
||||
[1000782] = "defaultTalkWithBertram_001", -- Bertram - defaultTalkWithBertram_002 / 003 (informs about CUL guild)
|
||||
[1000783] = "defaultTalkWithMinerva_001", -- Minvera - defaultTalkWithMinerva_002 / 003 / 004 (informs about BSM guild. Extra dialog also if you're on a DoW/M?)
|
||||
[1000784] = "defaultTalkWithZoengterbin_001", -- Zoengterbin - defaultTalkWithZoengterbin_002 / 003 (informs about LNC guild)
|
||||
[1000785] = "defaultTalkWithStyrmoeya_001", -- Styrmoeya - defaultTalkWithStyrmoeya_002 / 003 (informs about ARC guild)
|
||||
[1000786] = "defaultTalkWithYhahamariyo_001", -- Yhah Amariyo - defaultTalkWithYhahamariyo_002 / 003 (informs about CNJ guild)
|
||||
[1000787] = "defaultTalkWithHildie_001", -- Hildie - defaultTalkWithHildie_002 / 003 (informs about CRP guild)
|
||||
[1000788] = "defaultTalkWithLettice_001", -- Lettice - defaultTalkWithLettice_002 / 003 (informs about LTW guild)
|
||||
[1000789] = "defaultTalkWithTyon_001", -- Tyon - defaultTalkWithTyon_002 / 003 (informs about BTN guild)
|
||||
[1000840] = "defaultTalkWithRururaji_001", -- Rururaji - Presumably dialog pre-Chocobo update. Will not fire due to actor class change since then.
|
||||
[1000841] = "defaultTalkWithMomodi_001", -- Momodi
|
||||
[1000846] = "defaultTalkWithYayake_001", -- Yayake
|
||||
[1000846] = "defaultTalkWithYayake_001", -- Yayake - defaultTalkWithYayake_002 (her dialog after unlocking THM?)
|
||||
[1000847] = "defaultTalkWithIllofii_001", -- I'llofii
|
||||
[1000861] = "defaultTalkWithLinette_001", -- Linette
|
||||
[1000862] = "defaultTalkWithGagaruna_001", -- Gagaruna
|
||||
[1000863] = "defaultTalkWithLulutsu_001", -- Lulutsu
|
||||
[1000864] = "defaultTalkWithInn_Desk", -- Otopa Pottopa
|
||||
[1000864] = "defaultTalkWithInn_Desk", -- Otopa Pottopa - defaultTalkWithOtopapottopa_001 (pre-Inn unlock?)
|
||||
[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
|
||||
[1000916] = "defaultTalkWithAspipi_001", -- Aspipi
|
||||
[1000917] = "defaultTalkWithGloiucen_001", -- Gloiucen
|
||||
@ -89,6 +98,10 @@ local defaultTalkWil = {
|
||||
[1001143] = "defaultTalkWithTotono_001", -- Totono
|
||||
[1001144] = "defaultTalkWithFyrilsunn_001", -- Fyrilsunn
|
||||
[1001145] = "defaultTalkWithSinette_001", -- Sinette
|
||||
[1001146] = "defaultTalkWithZirnbyrt_001", -- <<<NOT IMPLEMENTED>>> - Zirnbyrt - Entry Denier Guard (East Thanalan: X:1831.565 Y:248.576 Z:448.872 Educated guess from wiki picture. Guards unused dun01)
|
||||
[1001147] = "defaultTalkWithVhasotayuun_001", -- <<<NOT IMPLEMENTED>>> - Vhaso Tayuun - (Entry Denier? No wiki info)
|
||||
[1001148] = "defaultTalkWithPulbeiyalbei_001", -- <<<NOT IMPLEMENTED>>> - Pulbei Yalbei - (Entry Denier? No wiki info)
|
||||
[1001149] = "defaultTalkWithGembert_001", -- <<<NOT IMPLEMENTED>>> - Gembert - Entry Denier Guard (South Thanalan: X:1707.143 Y:238.150 Z:1617.570 Rough estimate. Guards unused dun06)
|
||||
[1001165] = "defaultTalkWithMumukiya_001", -- Mumukiya
|
||||
[1001166] = "defaultTalkWithYuyubesu_001", -- Yuyubesu
|
||||
[1001167] = "defaultTalkWithChachai_001", -- Chachai
|
||||
@ -106,6 +119,34 @@ local defaultTalkWil = {
|
||||
[1001256] = "defaultTalkWithMaginfred_001", -- Gunnulf
|
||||
[1001257] = "defaultTalkWithOrisic_001", -- Heibert
|
||||
[1001260] = "defaultTalkWithKlamahni_001", -- I'paghlo
|
||||
[1001295] = "defaultTalkWithChamberlain_001", -- <<<NOT IMPLEMENTED>>> - Chamberlain (Entry Denier? No wiki info)
|
||||
[1001296] = "defaultTalkWithWyntkelt_001", -- <<<NOT IMPLEMENTED>>> - Wyntkelt (Entry Denier? No wiki info)
|
||||
[1001297] = "defaultTalkWithAudrye_001", -- <<<NOT IMPLEMENTED>>> - Audrye (Entry Denier? No wiki info)
|
||||
[1001314] = "defaultTalkWithFromelaut_001", -- <<<NOT IMPLEMENTED>>> - Fromelaut (Eastern Thanalan: The Golden Bazaar)
|
||||
[1001315] = "defaultTalkWithZilili_001", -- <<<NOT IMPLEMENTED>>> - Zilili (Eastern Thanalan: The Golden Bazaar) - Dialog doesn't match wiki, but wiki dialog isn't addressed by any function. Changed in an update perhaps.
|
||||
[1001316] = "defaultTalkWithPapala_001", -- <<<NOT IMPLEMENTED>>> - Papala (Eastern Thanalan: The Golden Bazaar: 1099.540039, 312.674, -1145.719971)
|
||||
[1001317] = "defaultTalkWithSasapano_001", -- <<<NOT IMPLEMENTED>>> - Sasapano (Eastern Thanalan: The Golden Bazaar: 1134.599976, 312.193, -1128.23999)
|
||||
[1001318] = "defaultTalkWithBibiroku_001", -- <<<NOT IMPLEMENTED>>> - Bibiroku (Eastern Thanalan: The Golden Bazaar)
|
||||
[1001319] = "defaultTalkWithBernier_001", -- <<<NOT IMPLEMENTED>>> - Bernier (Eastern Thanalan: The Golden Bazaar)
|
||||
[1001320] = "defaultTalkWithJajaba_001", -- <<<NOT IMPLEMENTED>>> - Jajaba (Eastern Thanalan: The Golden Bazaar)
|
||||
[1001321] = "defaultTalkWithJujuya_001", -- <<<NOT IMPLEMENTED>>> - Jujuya (Eastern Thanalan: The Golden Bazaar)
|
||||
[1001322] = "defaultTalkWithKikinori_001", -- <<<NOT IMPLEMENTED>>> - Kikinori (Western Thanalan: The Silver Bazaar)
|
||||
[1001323] = "defaultTalkWithCelie_001", -- <<<NOT IMPLEMENTED>>> - Celie (Western Thanalan: The Silver Bazaar)
|
||||
[1001324] = "defaultTalkWithAgzurungzu_001", -- <<<NOT IMPLEMENTED>>> - Agzu Rungzu (Western Thanalan: The Silver Bazaar)
|
||||
[1001325] = "defaultTalkWithDarimbeh_001", -- <<<NOT IMPLEMENTED>>> - D'arimbeh (Western Thanalan: The Silver Bazaar)
|
||||
[1001326] = "defaultTalkWithIudprost_001", -- <<<NOT IMPLEMENTED>>> - Iudprost (Western Thanalan: The Silver Bazaar)
|
||||
[1001327] = "defaultTalkWithTatafu_001", -- <<<NOT IMPLEMENTED>>> - Tatafu (Western Thanalan: The Silver Bazaar)
|
||||
[1001328] = "defaultTalkWithAthalwolf_001", -- <<<NOT IMPLEMENTED>>> - Athalwolf (Western Thanalan: The Silver Bazaar)
|
||||
[1001329] = "defaultTalkWithPadakusondaku_001", -- <<<NOT IMPLEMENTED>>> - Padaku Sondaku (Western Thanalan: The Silver Bazaar)
|
||||
[1001330] = "defaultTalkWithBellinda_001", -- <<<NOT IMPLEMENTED>>> - Bellinda (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001331] = "defaultTalkWithRonthfohc_001", -- <<<NOT IMPLEMENTED>>> - Ronthfohc (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001332] = "defaultTalkWithBerahthraben_001", -- <<<NOT IMPLEMENTED>>> - Berahthraben (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001333] = "defaultTalkWithOtho_001", -- <<<NOT IMPLEMENTED>>> - Otho (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001334] = "defaultTalkWithRadulf_001", -- <<<NOT IMPLEMENTED>>> - Radulf (Eastern Thanalan, Little Ala Mhigo: 1131.75, 251.29, 206.339996)
|
||||
[1001335] = "defaultTalkWithHonmeme_001", -- <<<NOT IMPLEMENTED>>> - Honmeme (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001336] = "defaultTalkWithCatriona_001", -- <<<NOT IMPLEMENTED>>> - Catriona (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001337] = "defaultTalkWithGrifiud_001", -- <<<NOT IMPLEMENTED>>> - Grifiud (Eastern Thanalan, Little Ala Mhigo)
|
||||
[1001392] = "defaultTalkWithNomomo_001", -- <<<NOT IMPLEMENTED>>> - Nomomo (Camp Black Brush: X:24.274 Y:200.003 Z:-473.548 rough estimate) - If arg1=true, says different dialog.
|
||||
[1001415] = "defaultTalkWithAnthoinette_001", -- Anthoinette
|
||||
[1001416] = "defaultTalkWithWisemoon_001", -- Wise Moon
|
||||
[1001417] = "defaultTalkWithApachonaccho_001", -- Apacho Naccho
|
||||
@ -116,6 +157,7 @@ local defaultTalkWil = {
|
||||
[1001422] = "defaultTalkWithMilgogo_001", -- Milgogo
|
||||
[1001423] = "defaultTalkWithMumutano_001", -- Mumutano
|
||||
[1001424] = "defaultTalkWithGegeissa_001", -- Gegeissa
|
||||
[1001425] = "defaultTalkWithGdatnan_001", -- G'datnan
|
||||
[1001426] = "defaultTalkWithHehena_001", -- Hehena
|
||||
[1001427] = "defaultTalkWithGuillaunaux_001", -- Guillaunaux
|
||||
[1001428] = "defaultTalkWithYuyuhase_001", -- Yuyuhase
|
||||
@ -128,6 +170,11 @@ local defaultTalkWil = {
|
||||
[1001443] = "defaultTalkWithJudithe_001", -- Judithe
|
||||
[1001444] = "defaultTalkWithRobyn_001", -- Robyn
|
||||
[1001445] = "defaultTalkWithSingleton_001", -- Singleton
|
||||
[1001446] = "defaultTalkWithFiachre_001", -- <<<NOT IMPLEMENTED>>> - Fiachre (Western Thanalan Ferry Docks)
|
||||
[1001447] = "defaultTalkWithTaylor_001", -- <<<NOT IMPLEMENTED>>> - Taylor (Western Thanalan Ferry Docks: -2195.070068, 14.495, -417.200012)
|
||||
[1001448] = "defaultTalkWithWalhbert_001", -- <<<NOT IMPLEMENTED>>> - Walhbert (Western Thanalan Ferry Docks)
|
||||
[1001449] = "defaultTalkWithSpiralingpath_001", -- <<<NOT IMPLEMENTED>>> - Spiraling Path (Western Thanalan Ferry Docks)
|
||||
[1001450] = "defaultTalkWithSasapiku_001", -- <<<NOT IMPLEMENTED>>> - Sasapiku (Western Thanalan Ferry Docks)
|
||||
[1001451] = "defaultTalkWithDoll001_001", -- Mammet (Eshtaime's Lapidaries [GSM])
|
||||
[1001452] = "defaultTalkWithDoll002_001", -- Mammet (Eshtaime's Lapidaries [GSM] #2)
|
||||
[1001453] = "defaultTalkWithDoll003_001", -- Mammet (Sunsilk Tapestries [WVR])
|
||||
@ -144,28 +191,80 @@ local defaultTalkWil = {
|
||||
[1001476] = "defaultTalkWithCrhabye_001", -- C'rhabye
|
||||
[1001471] = "downTownTalk", -- Kokobi
|
||||
[1001472] = "defaultTalkWithMimishu_001", -- Mimishu
|
||||
[1001503] = "defaultTalkWithGerland_001", -- <<<NOT IMPLEMENTED>>> - Gerland (Western Thanalan Ferry Docks)
|
||||
[1001565] = "defaultTalkWithEleanor_001", -- Eleanor
|
||||
[1001596] = "defaultTalkWithAbelard_001", -- <<<NOT IMPLEMENTED>>> - Abelard (Western Thanalan: The Coffer & Coffin: -1726, 56.625, -317
|
||||
[1001597] = "defaultTalkWithHaipoeipo_001", -- <<<NOT IMPLEMENTED>>> - Haipo Eipo (Western Thanalan: The Coffer & Coffin)
|
||||
[1001598] = "defaultTalkWithBartholomew_001", -- <<<NOT IMPLEMENTED>>> - Bartholomew (Western Thanalan: The Coffer & Coffin)
|
||||
[1001599] = "defaultTalkWithKokofubu_001", -- <<<NOT IMPLEMENTED>>> - Kokofubu (Eastern Thanalan: Mythril Pit T-8)
|
||||
[1001600] = "defaultTalkWithBertouaint_001", -- <<<NOT IMPLEMENTED>>> - Bertouaint (Eastern Thanalan: Mythril Pit T-8)
|
||||
[1001601] = "defaultTalkWithAldebrand_001", -- <<<NOT IMPLEMENTED>>> - Aldebrand (Eastern Thanalan: Mythril Pit T-8)
|
||||
[1001602] = "defaultTalkWithPyhajawantal_001", -- <<<NOT IMPLEMENTED>>> - Pyha Jawantal (Eastern Thanalan: Mythril Pit T-8)
|
||||
[1001624] = "talkIdayCap", -- <<<NOT IMPLEMENTED>>> - Flame Lieutenant Somber Meadow (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version
|
||||
[1001625] = "talkIday1", -- <<<NOT IMPLEMENTED>>> - Flame Sergeant Mimio Mio (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version
|
||||
[1001626] = "talkIday2", -- <<<NOT IMPLEMENTED>>> - Flame Private Sisimuza Tetemuza (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version
|
||||
[1001630] = "defaultTalkWithChocobo_001", -- <<<NOT IMPLEMENTED>>> - Chocobo (Western Thanalan: The Coffer & Coffin) - Stands beside Haipo Eipo
|
||||
[1001685] = "defaultTalkWithAdalbert_001", -- <<<NOT IMPLEMENTED>>> - Flame Sergeant Cotter (Ul'dah: Merchant Strip: -0.92 196.100 126.32) - Double check caps.
|
||||
[1001699] = "defaultTalkWithJandonaut_001", -- <<<NOT IMPLEMENTED>>> - Flame Sergeant Fouillel (Southern Thanalan: Camp Broken Water: 1704 296.001 999)
|
||||
[1001712] = "defaultTalkWithGuillestet_001", -- Guillestet
|
||||
[1001713] = "defaultTalkWithHCidjaa_001", -- H'cidjaa
|
||||
[1001714] = "defaultTalkWithAutgar_001", -- <<<NOT IMPLEMENTED>>> - Autgar (Ul'dah: Airship Landing)
|
||||
[1001715] = "defaultTalkWithAhldbyrt_001", -- <<<NOT IMPLEMENTED>>> - Ahldbyrt (Ul'dah: Airship Landing)
|
||||
[1001716] = "defaultTalkWithNeymiFunomi_001", -- <<<NOT IMPLEMENTED>>> - Neymi Funomi (Ul'dah: Airship Landing)
|
||||
[1001717] = "defaultTalkWithGoodife_001", -- Goodife
|
||||
[1001726] = "defaultTalkWithAistan_001", -- Aistan
|
||||
[1001727] = "defaultTalkWithMateria_001", -- <<<NOT IMPLEMENTED>>> - Mutamix Bubblypots (Central Thanalan: 243.858002, 247.8, -1030.136963) - Check feet clipping @ pos
|
||||
[1001728] = "defaultTalkWithSWYNBROES_001", -- <<<NOT IMPLEMENTED>>> - Swynbroes (Central Thanalan: 242.641006, 247.6, -1024.494019)
|
||||
[1001729] = "defaultTalkWithKokosamu_001", -- <<<NOT IMPLEMENTED>>> - Kokosamu (Central Thanalan: 255.651001, 248.5, -1030.152954) - Check feet clipping @ pos
|
||||
[1001730] = "defaultTalkWithF_HOBHAS_001", -- <<<NOT IMPLEMENTED>>> - F'hobhas (Central Thanalan: 258.665009, 248, -1021.666992)
|
||||
[1001753] = "defaultTalkWithPelhiEpocan_001", -- <<<NOT IMPLEMENTED>>> - Pelhi Epocan (Ul'dah: Airship Landing)
|
||||
[1001754] = "defaultTalkWithViolenne_001", -- <<<NOT IMPLEMENTED>>> - Violenne (Ul'dah: Airship Landing)
|
||||
[1001770] = "defaultTalkWithEara_001", -- Eara
|
||||
[1001771] = "defaultTalkWithLiaime_001", -- Liaime
|
||||
[1001834] = "defaultTalkWithLUDOLD_001", -- <<<NOT IMPLEMENTED>>> - Flame Commander Ashdale - (Eastern Thanalan: 1410, 256, 187)
|
||||
[1001840] = "defaultTalkWithPAHJAZHWAN_001", -- <<<NOT IMPLEMENTED>>> - Pahja Zhwan - (Ul'dah: Miner's Guild: -113.190002 194.2 324.25) - Double check caps.
|
||||
[1001894] = "defaultTalkWithDonner_001", -- <<<NOT IMPLEMENTED>>> - Flame Private Greave - (North Thanalan: Bluefog)
|
||||
[1001911] = "defaultTalkWithLolomaya_001", -- <<<NOT IMPLEMENTED>>> - Lolomaya - (North Thanalan: Camp Bluefog) Has unused argument. Dialog doesn't match wiki, but dftwil doesn't call it anywhere. Update change perhaps.
|
||||
[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.
|
||||
[1002047] = "defaultTalkWithInn_Desk_2", -- Kopuru Fupuru - Inn NPC. - defaultTalkWithKopuruFupuru_001 (pre-Inn unlock?)
|
||||
[1002101] = "defaultTalkWithDuraltharal_001", -- Dural Tharal
|
||||
[1002116] = "defaultTalkWithHAVAK_ALVAK_001", -- <<<NOT IMPLEMENTED>>> - Havak Alvak (Ul'dah: Milvaneth Sacrarium)
|
||||
[1060028] = "defaultTalkWithCURIOUS_001", -- <<<NOT IMPLEMENTED>>> - Curious Gorge (Western Thanalan: -1116.040039, 53.2, 285.48999)? - defaultTalkWithCURIOUS_002
|
||||
[1060029] = "defaultTalkWithSarra_001", -- <<<NOT IMPLEMENTED>>> - Sarra (Location unknown) defaultTalkWithSarra_002 / 003
|
||||
[1060032] = "defaultTalkWithWidargeli_001", -- <<<NOT IMPLEMENTED>>> - Widargelt (Eastern Thanalan: Little Ala Mhigo: 1213.670044, 251.439, 107.290001) - defaultTalkWithWidargeli_002
|
||||
[1060033] = "defaultTalkWithErik_001", -- <<<NOT IMPLEMENTED>>> - Erik (Ul'dah: -32.75 192.1 45.810001) - defaultTalkWithErik_002
|
||||
[1060035] = "defaultTalkWithLalai_001", -- <<<NOT IMPLEMENTED>>> - Lalai (Ul'dah: Milvaneth Sacrarium: 18.16, 206, 283.670013) defaultTalkWithLalai_002 / 003 / 004 / 005 / 006 / 007 / 101
|
||||
[1060036] = "defaultTalkWithKazagg_001", -- <<<NOT IMPLEMENTED>>> - Kazagg Chah (Western Thalanan: -1506.540039, 10.241, -233.970001) defaultTalkWithKazagg_002 / 003 / 004 / 005 / 006 / 007
|
||||
[1060037] = "defaultTalkWithHateli_001", -- <<<NOT IMPLEMENTED>>> - Dozol Meloc (Western Thanalan: -1513.660034, 10.617, -235.220001) defaultTalkWithHateli_002 / 003 / 004 / 005 / 006 / 007
|
||||
[1060038] = "defaultTalkWithDaza_001", -- <<<NOT IMPLEMENTED>>> - 269th Order Mendicant Da Za (Western Thanalan: Somewhere in the cave around -1567, 25, -170) - defaultTalkWithDaza_002 / 003 / 004 / 005 / 006 / 007
|
||||
[1060042] = "defaultTalkWithJenlyns_001", -- Jenlyns - defaultTalkWithJenlyns_002 (PLD-unlocked specific dialog?)
|
||||
[1200120] = "bookTalk", -- Dusty Tomes - - Will not fire since it isn't PplStd. Identical dialog regardless.
|
||||
[1500059] = "defaultTalkWithLdhakya_001", -- <<<NOT IMPLEMENTED>>> - L'dhakya (Western Thanalan Ferry Docks)
|
||||
[1500109] = "defaultTalkWithSylviel_001", -- <<<NOT IMPLEMENTED>>> - Sylviel (Western Thanalan Ferry Docks)
|
||||
[1500110] = "defaultTalkWithSamigamduhla_001", -- <<<NOT IMPLEMENTED>>> - Sami Gamduhla (Western Thanalan Ferry Docks)
|
||||
[1500126] = "tribeTalk", -- Vavaki
|
||||
[1500129] = "defaultTalkWithYayatoki_001", -- Yayatoki
|
||||
[1700039] = "defaultTalkWithBATERICH_100" -- Baterich
|
||||
[1700039] = "defaultTalkWithBATERICH_100", -- Baterich
|
||||
|
||||
--[[ Fix Later
|
||||
[1002110] = "processEventSOMBER", arg1, -- Flame Lieutenant Somber Meadow - uses Spl000 staticactor not dftWil
|
||||
[1002111] = "processEventMIMIO", -- Flame Sergeant Mimio Mio - uses Spl000 staticactor not dftWil
|
||||
[1002112] = "processEventSISIMUZA", -- Flame Private Sisimuza Tetemuza - uses Spl000 staticactor not dftWil
|
||||
[1000001] = "defaultTalkWithHamletGuardUld_001" -- TEST TEST TEST
|
||||
|
||||
--[1090549] = "defaultTalkWithInn_ExitDoor" -- Ul'dah Inn Exit Door pushEvent - "Leave your room?"
|
||||
--[1200336] = "defaultTalkWithInn_ExitDoor" -- Ul'dah Inn Exit Door talkEvent - "Leave your room?"
|
||||
|
||||
--[[ Need sourcing
|
||||
[???] = "defaultTalkCaravanChocoboUld_001" -- Presumably used on the Caravan Chocobo escorts? Does a little animation.
|
||||
[???] = "defaultTalkWithExit01" -- "Leave this place?" - For quest locations like that four-bedroom room perhaps?
|
||||
[???] = "defaultTalkWithMarketNpc" -- NPC in the middle of the market wards that lets you port around I'm guessing?
|
||||
[???] = "defaultTalkWithHamletGuardUld_001" --
|
||||
--]]
|
||||
|
||||
-- [1002110] = "processEventSOMBER", arg1, -- Flame Lieutenant Somber Meadow (Foundation Day 2012 Dialog) Spl000 staticactor
|
||||
-- [1002111] = "processEventMIMIO" -- Flame Sergeant Mimio Mio (Foundation Day 2012 Dialog) Spl000 staticactor
|
||||
-- [1002112] = "processEventSISIMUZA" -- Flame Private Sisimuza Tetemuza (Foundation Day 2012 Dialog) Spl000 staticactor
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -177,6 +276,22 @@ function onTalk(player, quest, npc, eventName)
|
||||
local clientFunc = defaultTalkWil[npcId];
|
||||
|
||||
if (npcId == 1002047) then -- Kopuru Fupuru - Inn NPC
|
||||
defaultTalkWithInn(player, quest, clientFunc);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
|
||||
function IsQuestENPC(player, quest, npc)
|
||||
return defaultTalkWil[npc:GetActorClassId()] ~= nil;
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
function defaultTalkWithInn(player, quest, clientFunc)
|
||||
local choice = callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
|
||||
if (choice == 1) then
|
||||
@ -189,13 +304,4 @@ function onTalk(player, quest, npc, eventName)
|
||||
player:SendGameMessage(GetWorldMaster(), 51140, 0x20); --This inn is already your Secondary Homepoint
|
||||
end
|
||||
end
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, clientFunc);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
|
||||
function IsQuestENPC(player, quest, npc)
|
||||
return defaultTalkWil[npc:GetActorClassId()] ~= nil;
|
||||
end
|
@ -38,6 +38,9 @@ FLAG_TALKED_NELLAURE = 2;
|
||||
FLAG_TALKED_KHUMA_MOSHROCA = 3;
|
||||
FLAG_TALKED_LEFWYNE = 4;
|
||||
|
||||
-- Quest Counters
|
||||
COUNTER_TALKED = 0;
|
||||
|
||||
--offerQuestResult = callClientFunction(player, "delegateEvent", player, quest, "processEventOffersStart");
|
||||
|
||||
function onStart(player, quest)
|
||||
@ -48,33 +51,32 @@ function onFinish(player, quest)
|
||||
end
|
||||
|
||||
function onSequence(player, quest, sequence)
|
||||
quest:ClearENpcs();
|
||||
|
||||
if (sequence == SEQ_000) then
|
||||
quest:AddENpc(SYBELL, qflag(quest, FLAG_TALKED_SYBELL));
|
||||
quest:AddENpc(KHUMA_MOSHROCA, qflag(quest, FLAG_TALKED_KHUMA_MOSHROCA));
|
||||
quest:AddENpc(NELLAURE, qflag(quest, FLAG_TALKED_NELLAURE));
|
||||
quest:AddENpc(MESTONNAUX, qflag(quest, FLAG_TALKED_MESTONNAUX));
|
||||
quest:AddENpc(LEFWYNE, qflag(quest, FLAG_TALKED_LEFWYNE));
|
||||
elseif (sequence == SEQ_001) then
|
||||
quest:AddENpc(KINNISON);
|
||||
quest:AddENpc(SYBELL, (not quest:GetFlag(FLAG_TALKED_SYBELL) and QFLAG_PLATE or QFLAG_NONE));
|
||||
quest:AddENpc(KHUMA_MOSHROCA, (not quest:GetFlag(FLAG_TALKED_KHUMA_MOSHROCA) and QFLAG_PLATE or QFLAG_NONE));
|
||||
quest:AddENpc(NELLAURE, (not quest:GetFlag(FLAG_TALKED_NELLAURE) and QFLAG_PLATE or QFLAG_NONE));
|
||||
quest:AddENpc(MESTONNAUX, (not quest:GetFlag(FLAG_TALKED_MESTONNAUX) and QFLAG_PLATE or QFLAG_NONE));
|
||||
quest:AddENpc(LEFWYNE, (not quest:GetFlag(FLAG_TALKED_LEFWYNE) and QFLAG_PLATE or QFLAG_NONE));
|
||||
elseif (sequence == SEQ_001) then
|
||||
quest:AddENpc(KINNISON, QFLAG_PLATE);
|
||||
end
|
||||
end
|
||||
|
||||
function qflag(quest, flag)
|
||||
return quest:GetFlag(flag) and QFLAG_ALL or QFLAG_NONE;
|
||||
end
|
||||
|
||||
function onTalk(player, quest, npc, eventName)
|
||||
local npcClassId = npc.GetActorClassId();
|
||||
local seq = quest:GetSequence();
|
||||
local incCounter = false;
|
||||
|
||||
if (seq == SEQ_000) then
|
||||
if (npcClassId == SYBELL) then
|
||||
if (npcClassId == KINNISON) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventOffersAfter");
|
||||
elseif (npcClassId == SYBELL) then
|
||||
if (not quest:GetFlag(FLAG_TALKED_SYBELL)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventSybellSpeak");
|
||||
quest:SetFlag(FLAG_TALKED_SYBELL);
|
||||
--quest:UpdateENpc(SYBELL, QFLAG_NONE);
|
||||
incCounter = true;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventSybellSpeakAfter");
|
||||
end
|
||||
@ -82,7 +84,7 @@ function onTalk(player, quest, npc, eventName)
|
||||
if (not quest:GetFlag(FLAG_TALKED_KHUMA_MOSHROCA)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventKhumaSpeak");
|
||||
quest:SetFlag(FLAG_TALKED_KHUMA_MOSHROCA);
|
||||
--quest:UpdateENpc(KHUMA_MOSHROCA, QFLAG_NONE);
|
||||
incCounter = true;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventKhumaSpeakAfter");
|
||||
end
|
||||
@ -90,7 +92,7 @@ function onTalk(player, quest, npc, eventName)
|
||||
if (not quest:GetFlag(FLAG_TALKED_NELLAURE)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeak");
|
||||
quest:SetFlag(FLAG_TALKED_NELLAURE);
|
||||
--quest:UpdateENpc(NELLAURE, QFLAG_NONE);
|
||||
incCounter = true;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeakAfter");
|
||||
end
|
||||
@ -98,7 +100,7 @@ function onTalk(player, quest, npc, eventName)
|
||||
if (not quest:GetFlag(FLAG_TALKED_MESTONNAUX)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventMestonnauxSpeak");
|
||||
quest:SetFlag(FLAG_TALKED_MESTONNAUX);
|
||||
--quest:UpdateENpc(MESTONNAUX, QFLAG_NONE);
|
||||
incCounter = true;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventMestonnauxSpeakAfter");
|
||||
end
|
||||
@ -106,27 +108,40 @@ function onTalk(player, quest, npc, eventName)
|
||||
if (not quest:GetFlag(FLAG_TALKED_LEFWYNE)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeak");
|
||||
quest:SetFlag(FLAG_TALKED_LEFWYNE);
|
||||
--quest:UpdateENpc(LEFWYNE, QFLAG_NONE);
|
||||
incCounter = true;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeakAfter");
|
||||
end
|
||||
end
|
||||
|
||||
-- Check condition to go to the next sequence
|
||||
if (seq000_checkCondition(quest)) then
|
||||
|
||||
-- Increase objective counter & play relevant messages
|
||||
if (incCounter == true) then
|
||||
quest:IncCounter(COUNTER_TALKED);
|
||||
local counterAmount = quest:GetCounter(COUNTER_TALKED);
|
||||
|
||||
attentionMessage(player, 51061, 0, counterAmount, 5); -- You have heard word of the Seedseers. (... of 5)
|
||||
|
||||
if (seq000_checkCondition(quest)) then -- All Seers spoken to
|
||||
attentionMessage(player, 25225, 110674); -- "Seeing the Seers" 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 == KINNISON) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEventClear");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9);
|
||||
player:CompleteQuest(quest:GetQuestId());
|
||||
end
|
||||
end
|
||||
|
||||
quest:UpdateENPCs();
|
||||
player:EndEvent();
|
||||
end
|
||||
|
||||
|
||||
-- Check if all seers are talked to
|
||||
function seq000_checkCondition(quest)
|
||||
return (quest:GetFlag(FLAG_TALKED_SYBELL) and
|
||||
@ -136,14 +151,20 @@ function seq000_checkCondition(quest)
|
||||
quest:GetFlag(FLAG_TALKED_LEFWYNE));
|
||||
end
|
||||
|
||||
-- This is called by the RequestQuestJournalCommand when map markers are request.
|
||||
-- Check quest_marker for valid values. This should return a table of map markers.
|
||||
function getJournalMapMarkerList(player, quest)
|
||||
local seq = quest:GetSequence();
|
||||
|
||||
if (seq == SEQ_000) then
|
||||
return MRKR_SYBELL, MRKR_KHUMA_MOSHROCA, MRKR_NELLAURE, MRKR_MESTONNAUX, MRKR_LEFWYNE;
|
||||
elseif (seq == SEQ_001) then
|
||||
return MRKR_KINNISON;
|
||||
function getJournalMapMarkerList(player, quest)
|
||||
local sequence = quest:getSequence();
|
||||
local possibleMarkers = {};
|
||||
|
||||
if (sequence == SEQ_000) then
|
||||
if (not quest:GetFlag(FLAG_TALKED_SYBELL)) then table.insert(possibleMarkers, MRKR_SYBELL); end
|
||||
if (not quest:GetFlag(FLAG_TALKED_KHUMA_MOSHROCA)) then table.insert(possibleMarkers, MRKR_KHUMA_MOSHROCA); end
|
||||
if (not quest:GetFlag(FLAG_TALKED_NELLAURE)) then table.insert(possibleMarkers, MRKR_NELLAURE); end
|
||||
if (not quest:GetFlag(FLAG_TALKED_MESTONNAUX)) then table.insert(possibleMarkers, MRKR_MESTONNAUX); end
|
||||
if (not quest:GetFlag(FLAG_TALKED_LEFWYNE)) then table.insert(possibleMarkers, MRKR_LEFWYNE); end
|
||||
elseif (sequence == SEQ_001) then
|
||||
table.insert(possibleMarkers, MRKR_KINNISON);
|
||||
end
|
||||
|
||||
return unpack(possibleMarkers)
|
||||
end
|
@ -1,21 +1,103 @@
|
||||
--Quest Flags
|
||||
TALKED_PFARAHR = 0;
|
||||
require("global");
|
||||
|
||||
function canAcceptQuest(player)
|
||||
return (player:HasQuest("etc5g0") == false and player:IsQuestCompleted("Etc5g0") == false and player:GetHighestLevel() >= 1);
|
||||
--[[
|
||||
|
||||
Quest Script
|
||||
|
||||
Name: Waste Not Want Not
|
||||
Code: Etc5g0
|
||||
Id: 110828
|
||||
Prereq: Level 1 on any class. Second MSQ completed. (110002 Man0l1 / 110006 Man0g1 / 110010 Man0u1)
|
||||
Notes: Rewards 200 gil
|
||||
|
||||
]]
|
||||
|
||||
-- Sequence Numbers
|
||||
SEQ_000 = 0; -- Talk to Pfarahr
|
||||
SEQ_001 = 1; -- Return to V'korolon
|
||||
|
||||
-- Actor Class Ids
|
||||
VKOROLON = 1000458;
|
||||
PFARAHR = 1001707;
|
||||
|
||||
-- Quest Item
|
||||
ITEM_WELL_WORN_BAG = 11000224;
|
||||
|
||||
-- Quest Markers
|
||||
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
|
||||
|
||||
function isObjectivesComplete(player, quest)
|
||||
return (quest:GetPhase() == 2);
|
||||
function onFinish(player, quest)
|
||||
end
|
||||
|
||||
function onAbandonQuest(player, quest)
|
||||
vkorolon = GetWorldManager():GetActorInWorldByUniqueId("vkorolon");
|
||||
pfarahr = GetWorldManager():GetActorInWorldByUniqueId("pfarahr");
|
||||
if (vkorolon ~= nil and canAcceptQuest(player)) then
|
||||
vkorolon:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
if (pfarahr ~= nil) then
|
||||
pfarahr:SetQuestGraphic(player, 0x0);
|
||||
|
||||
|
||||
function onSequence(player, quest, sequence)
|
||||
if (sequence == SEQ_000) then
|
||||
quest:AddENpc(VKOROLON);
|
||||
quest:AddENpc(PFARAHR, QFLAG_PLATE);
|
||||
elseif (sequence == SEQ_001) then
|
||||
quest:AddENpc(VKOROLON, QFLAG_PLATE);
|
||||
quest:AddENpc(PFARAHR);
|
||||
end
|
||||
end
|
||||
|
||||
function onTalk(player, quest, npc)
|
||||
local sequence = quest:getSequence();
|
||||
local classId = npc:GetActorClassId();
|
||||
|
||||
if (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());
|
||||
elseif (classId == PFARAHR) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent_010_1");
|
||||
end
|
||||
end
|
||||
player:EndEvent()
|
||||
quest:UpdateENPCs();
|
||||
end
|
||||
|
||||
|
||||
function getJournalInformation(player, quest)
|
||||
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);
|
||||
elseif (sequence == SEQ_001) then
|
||||
table.insert(possibleMarkers, MRKR_VKOROLON);
|
||||
end
|
||||
|
||||
return unpack(possibleMarkers)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
@ -1,8 +1,331 @@
|
||||
--Quest Flags
|
||||
MAN0U0_FLAG_TUTORIAL1_DONE = 0;
|
||||
MAN0U0_FLAG_TUTORIAL2_DONE = 1;
|
||||
MAN0U0_FLAG_TUTORIAL3_DONE = 2;
|
||||
require("global");
|
||||
|
||||
--[[
|
||||
|
||||
Quest Script
|
||||
|
||||
Name: Flowers for All
|
||||
Code: Man0u0
|
||||
Id: 110009
|
||||
Prereq: None (Given on chara creation)
|
||||
Notes: RURURAJI scripting handled via PopulaceChocoboLender.lua
|
||||
TO-DO: Sequence 000 - Crowd NPCs.
|
||||
Sequence 010 - Adv. Guild NPCs
|
||||
|
||||
|
||||
https://www.youtube.com/watch?v=XXGrSFrfYo4
|
||||
|
||||
]]
|
||||
|
||||
-- Sequence Numbers
|
||||
SEQ_000 = 0; -- On the Merchant Strip in Ul'dah; contains the basic tutorial.
|
||||
SEQ_005 = 5; -- Combat on the Sapphire Avenue Exchange
|
||||
SEQ_010 = 10; -- Back on the Merchant Strip in Ul'dah
|
||||
|
||||
-- Actor Class Ids
|
||||
ASCILIA = 1000042;
|
||||
WARBURTON = 1000186;
|
||||
RURURAJI = 1000840;
|
||||
BIG_BELLIED_BARKER = 1001490;
|
||||
FRETFUL_FARMHAND = 1001491;
|
||||
DEBAUCHED_DEMONESS = 1001492;
|
||||
DAPPER_DAN = 1001493;
|
||||
LOUTISH_LAD = 1001494;
|
||||
GIL_DIGGING_MISTRESS = 1001495;
|
||||
TWITTERING_TOMBOY = 1001496;
|
||||
STOCKY_STRANGER = 1001644;
|
||||
EXIT_TRIGGER = 1090372;
|
||||
OPENING_STOPER_ULDAH = 1090373;
|
||||
|
||||
|
||||
|
||||
KEEN_EYED_MERCHANT = 1000401;
|
||||
--MUMPISH_MIQOTE = 1000992; -- Unused on this client version. Calls processEvent020_6
|
||||
HIGH_SPIRITED_FELLOW = 1001042;
|
||||
DISREPUTABLE_MIDLANDER = 1001044;
|
||||
LONG_LEGGED_LADY = 1001112;
|
||||
LARGE_LUNGED_LABORER = 1001645;
|
||||
TOOTH_GRINDING_TRAVELER = 1001646;
|
||||
FULL_LIPPED_FILLE = 1001647;
|
||||
YAYATOKI = 1500129;
|
||||
|
||||
BLOCKER = 1090372;
|
||||
ULDAH_OPENING_EXIT = 1099046;
|
||||
|
||||
-- Non-interactive NPCs
|
||||
CROWD_HYUR_M = 1001114;
|
||||
CROWD_HYUR_F = 1001115;
|
||||
CROWD_ELEZEN_M = 1001116;
|
||||
CROWD_ELEZEN_F = 1001117;
|
||||
CROWD_LALAFELL_M = 1001118;
|
||||
CROWD_LALAFELL_F = 1001119;
|
||||
CROWD_MIQOTE = 1001120;
|
||||
CROWD_ROEGADYN = 1001121;
|
||||
GUILD_KIORA = 1000780;
|
||||
GUILD_OPONDHAO = 1000781;
|
||||
GUILD_BERTRAM = 1000782;
|
||||
GUILD_MINERVA = 1000783;
|
||||
GUILD_ZOENGTERBIN = 1000784;
|
||||
GUILD_STYRMOEYA = 1000785;
|
||||
GUILD_YHAH_AMARIYO = 1000786;
|
||||
GUILD_HILDIE = 1000787;
|
||||
GUILD_LETTICE = 1000788;
|
||||
GUILD_TYON = 1000789;
|
||||
GUILD_OTOPA_POTTOPA = 1000864;
|
||||
GUILD_THAISIE = 1000865;
|
||||
GUILD_SESEBARU = 1001182;
|
||||
GUILD_TOTONAWA = 1001371;
|
||||
GUILD_EUSTACE = 1001372;
|
||||
|
||||
|
||||
-- Quest Markers
|
||||
MRKR_YAYATOKI = 11000901;
|
||||
MRKR_ASCILIA = 11000902;
|
||||
MRKR_FRETFUL_FARMHAND = 11000903;
|
||||
MRKR_GIL_DIGGING_MISTRESS = 11000904;
|
||||
MRKR_COMBAT_TUTORIAL = 11000905;
|
||||
MRKR_ADV_GUILD = 11000906;
|
||||
|
||||
|
||||
-- Quest Flags
|
||||
FLAG_SEQ000_MINITUT0 = 0; -- PushEvent ASCILIA
|
||||
FLAG_SEQ000_MINITUT1 = 1; -- TalkEvent ASCILIA
|
||||
FLAG_SEQ000_MINITUT2 = 2; -- TalkEvent FRETFUL_FARMHAND
|
||||
FLAG_SEQ000_MINITUT3 = 3; -- TalkEvent GIL_DIGGING_MISTRESS
|
||||
|
||||
FLAG_SEQ010_TALK0 = 0; -- TalkEvent YAYATOKI
|
||||
|
||||
|
||||
function onStart(player, quest)
|
||||
quest:StartSequence(SEQ_000);
|
||||
end
|
||||
|
||||
function onFinish(player, quest)
|
||||
end
|
||||
|
||||
function onSequence(player, quest, sequence)
|
||||
|
||||
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 exitFlag = quest:GetFlags() == 0xF and QFLAG_MAP or QFLAG_NONE;
|
||||
|
||||
if (asciliaCanPush) then
|
||||
fretfulfarmhandFlag = QFLAG_NONE;
|
||||
gildiggingmistressFlag = QFLAG_NONE;
|
||||
end
|
||||
|
||||
--AddENpc(classId, byte flagType=0,isTalkEnabled, isPushEnabled, isEmoteEnabled, isSpawned)
|
||||
quest:AddENpc(ASCILIA, asciliaFlag, true, asciliaCanPush);
|
||||
quest:AddENpc(WARBURTON);
|
||||
quest:AddENpc(RURURAJI);
|
||||
quest:AddENpc(BIG_BELLIED_BARKER);
|
||||
quest:AddENpc(FRETFUL_FARMHAND, fretfulfarmhandFlag);
|
||||
quest:AddENpc(DEBAUCHED_DEMONESS);
|
||||
quest:AddENpc(DAPPER_DAN);
|
||||
quest:AddENpc(LOUTISH_LAD);
|
||||
quest:AddENpc(GIL_DIGGING_MISTRESS, gildiggingmistressFlag);
|
||||
quest:AddENpc(TWITTERING_TOMBOY);
|
||||
quest:AddENpc(STOCKY_STRANGER);
|
||||
quest:AddENpc(EXIT_TRIGGER, exitFlag, false, true);
|
||||
quest:AddENpc(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 uldahopeningexitFlag = QFLAG_MAP;
|
||||
quest:AddENpc(KEEN_EYED_MERCHANT);
|
||||
quest:AddENpc(HIGH_SPIRITED_FELLOW);
|
||||
quest:AddENpc(DISREPUTABLE_MIDLANDER);
|
||||
quest:AddENpc(LONG_LEGGED_LADY);
|
||||
quest:AddENpc(LARGE_LUNGED_LABORER);
|
||||
quest:AddENpc(TOOTH_GRINDING_TRAVELER);
|
||||
quest:AddENpc(FULL_LIPPED_FILLE);
|
||||
quest:AddENpc(YAYATOKI, yayatokiFlag);
|
||||
quest:AddENpc(BLOCKER, QFLAG_NONE, false, true);
|
||||
quest:AddENpc(ULDAH_OPENING_EXIT, uldahopeningexitFlag, 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();
|
||||
|
||||
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
|
||||
doExitTrigger(player, quest, npc);
|
||||
return;
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml001");
|
||||
GetWorldManager():DoPlayerMoveInZone(player, -22, 196, 87, 2.4, 0x11)
|
||||
player:EndEvent();
|
||||
end
|
||||
end
|
||||
elseif (sequence == SEQ_010) then
|
||||
if (classId == BLOCKER) then
|
||||
|
||||
posz = player:GetPos()[3];
|
||||
|
||||
if (posz >= 71 and posz <= 95) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml002");
|
||||
GetWorldManager():DoPlayerMoveInZone(player, -22.81, 196, 87.82, 2.98, 0x11);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrBlkNml003");
|
||||
GetWorldManager():DoPlayerMoveInZone(player, -0.3, 196, 116, -2.7, 0x11);
|
||||
end
|
||||
elseif (classId == ULDAH_OPENING_EXIT) then
|
||||
player:ReplaceQuest(quest, "Man0u1")
|
||||
return;
|
||||
end
|
||||
end
|
||||
quest:UpdateENPCs();
|
||||
end
|
||||
|
||||
function onNotice(player, quest, target)
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001withHQ");
|
||||
player:EndEvent();
|
||||
quest:UpdateENPCs();
|
||||
end
|
||||
|
||||
function seq000_onTalk(player, quest, npc, classId)
|
||||
|
||||
if (classId == ASCILIA) then
|
||||
|
||||
if (not quest: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
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini001");
|
||||
quest:SetFlag(FLAG_SEQ000_MINITUT1); -- Ascilia has now been talked to.
|
||||
end
|
||||
|
||||
elseif (classId == FRETFUL_FARMHAND) then
|
||||
if (not quest:GetFlag(FLAG_SEQ000_MINITUT2)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini002_first");
|
||||
quest: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
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini003_first");
|
||||
quest:SetFlag(FLAG_SEQ000_MINITUT3);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrMini003");
|
||||
end
|
||||
|
||||
elseif (classId == WARBURTON) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_3");
|
||||
elseif (classId == RURURAJI) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_13");
|
||||
elseif (classId == BIG_BELLIED_BARKER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_6");
|
||||
elseif (classId == DEBAUCHED_DEMONESS) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_8");
|
||||
elseif (classId == DAPPER_DAN) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_9");
|
||||
elseif (classId == LOUTISH_LAD) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_10");
|
||||
elseif (classId == TWITTERING_TOMBOY) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_12");
|
||||
elseif (classId == STOCKY_STRANGER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_6_2");
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
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
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_3");
|
||||
elseif (classId == DISREPUTABLE_MIDLANDER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_4");
|
||||
elseif (classId == LONG_LEGGED_LADY) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_14");
|
||||
elseif (classId == LARGE_LUNGED_LABORER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEtc003");
|
||||
elseif (classId == TOOTH_GRINDING_TRAVELER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEtc001");
|
||||
elseif (classId == FULL_LIPPED_FILLE) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEtc002");
|
||||
elseif (classId == YAYATOKI) then
|
||||
if (not quest:GetFlag(FLAG_SEQ010_TALK0)) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8");
|
||||
quest:SetFlag(FLAG_SEQ010_TALK0);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent020_8");
|
||||
end
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
|
||||
function getJournalMapMarkerList(player, quest)
|
||||
local sequence = quest:getSequence();
|
||||
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
|
||||
end
|
||||
|
||||
elseif (sequence == SEQ_010) then
|
||||
if (not quest:GetFlag(FLAG_SEQ010_TALK0)) then
|
||||
table.insert(possibleMarkers, MRKR_YAYATOKI)
|
||||
end
|
||||
table.insert(possibleMarkers, MRKR_ADV_GUILD);
|
||||
end
|
||||
|
||||
return unpack(possibleMarkers)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
function doExitTrigger(player, quest, npc)
|
||||
quest:ClearData();
|
||||
quest:StartSequence(SEQ_005);
|
||||
contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0u01", "SimpleContent30079", "Quest/QuestDirectorMan0u001");
|
||||
|
||||
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, -24.34, 192, 34.22, 0.78, 16);
|
||||
return;
|
||||
end
|
||||
|
||||
|
||||
MAN0U0_FLAG_MINITUT_DONE1 = 4;
|
||||
MAN0U0_FLAG_MINITUT_DONE2 = 8;
|
||||
MAN0U0_FLAG_MINITUT_DONE3 = 16;
|
||||
|
240
Data/scripts/quests/man/man0u1.lua
Normal file
240
Data/scripts/quests/man/man0u1.lua
Normal file
@ -0,0 +1,240 @@
|
||||
require("global");
|
||||
|
||||
--[[
|
||||
|
||||
Quest Script
|
||||
|
||||
Name: Court in the Sands
|
||||
Code: Man0u1
|
||||
Id: 110010
|
||||
Prereq: Flowers for All (Man0u0 - 110009)
|
||||
Notes:
|
||||
|
||||
|
||||
Vid refs -
|
||||
https://www.youtube.com/watch?v=WNRLrwZ3BJY&t=284s
|
||||
https://www.youtube.com/watch?v=eZgcq-FMpfw&t=504s
|
||||
|
||||
Coliseum fight - https://www.youtube.com/watch?v=Jcv9I2Bk46w
|
||||
|
||||
A LOT - https://www.youtube.com/watch?v=gySHO1Be9OM
|
||||
|
||||
]]
|
||||
|
||||
|
||||
--[[
|
||||
|
||||
Phase:
|
||||
|
||||
45 (Miner's Guild)
|
||||
Linette processEvent050 (initial CS)
|
||||
Change phase to 50 after interaction
|
||||
|
||||
50 (Miner's Guild Instance #1)
|
||||
Name DisplayName ActorClass Event
|
||||
Linette 1100016 1000861 processEvent050_2
|
||||
Corguevais 1200025 1000043/1001054 processEvent050_11
|
||||
Nittma Guttma 1400127 1001286 processEvent050_10
|
||||
Nortmoen 1600127 1600042
|
||||
F'lhaminn 1900054 1000038/1000842/1001514/2290008 processEvent051_1
|
||||
Tyago Moui 1900130 1001203 processEvent050_12
|
||||
Shilgen 2200216 1000637
|
||||
Muscular Miner 4000202 1000690/1700013 processEvent050_7
|
||||
Close-fisted Woman 4000366 1000981 processEvent050_8
|
||||
Astonished Adventurer 4000377 1000895 processEvent050_9
|
||||
Manic Miner 4000444 1001283 processEvent050_13
|
||||
Maddened Miner 4000445 1001284 processEvent050_14
|
||||
Maudlin Miner 4000446 1001287 processEvent050_3
|
||||
Mocking Miner 4000447 1001288 processEvent050_4
|
||||
Monitoring Miner 4000448 1001289 processEvent050_5
|
||||
Displeased Dancer 4000449 1001290 processEvent050_6
|
||||
|
||||
Emotes 103, 108, 121, 125, 140, 135 in that order @ F'lhaminn, then change phase to 51
|
||||
51
|
||||
Emotes 108 @ Maddened Miner
|
||||
Emotes 135, 103, 121 @ Manic Miner
|
||||
Check both for clear state after each interaction and change phase to 55
|
||||
|
||||
55 (Miner's Guild Instance #2)
|
||||
|
||||
--]]
|
||||
|
||||
|
||||
|
||||
-- Sequence Numbers
|
||||
SEQ_000 = 0; -- Ul'dah Adventurer's Guild
|
||||
SEQ_005 = 5; -- Run to Camp Black Brush & Attune
|
||||
SEQ_010 = 10; -- Return to the Guild
|
||||
SEQ_012 = 12; -- Speak to Momodi
|
||||
SEQ_015 = 15; -- Visiting guilds (GSM, GLD)
|
||||
SEQ_045 = 45;
|
||||
SEQ_050 = 50;
|
||||
SEQ_057 = 57;
|
||||
SEQ_058 = 58;
|
||||
SEQ_060 = 60;
|
||||
SEQ_065 = 65;
|
||||
SEQ_070 = 70;
|
||||
SEQ_075 = 75;
|
||||
SEQ_080 = 80;
|
||||
SEQ_085 = 85;
|
||||
SEQ_090 = 90;
|
||||
SEQ_095 = 95;
|
||||
SEQ_100 = 100;
|
||||
SEQ_105 = 105;
|
||||
SEQ_110 = 110;
|
||||
|
||||
|
||||
-- Actor Class Ids
|
||||
OVERCOMPETITIVE_ADVENTURER = 1000807;
|
||||
MOMODI = 1000841;
|
||||
OTOPA_POTTOPA = 1000864;
|
||||
UNDAUNTED_ADVENTURER = 1000936;
|
||||
GREEDY_MERCHANT = 1000937;
|
||||
LIONHEARTED_ADVENTURER = 1000938;
|
||||
SPRY_SALESMAN = 1000939;
|
||||
|
||||
|
||||
|
||||
UPBEAT_ADVENTURER = 1000940;
|
||||
SEEMINGLY_CALM_ADVENTURER = 1000941;
|
||||
UNKNOWN1 = 0;
|
||||
UNKNOWN2 = 0;
|
||||
|
||||
THANCRED = 1000948; -- 1000010
|
||||
|
||||
|
||||
-- Quest Markers
|
||||
MRKR_MOMODI = 11001001;
|
||||
MRKR_CAMP_BLACK_BRUSH = 11001002;
|
||||
|
||||
-- Quest Items
|
||||
ITEM_VELODYNA_COSMOS = 0; -- Seq_000 : 2nd journal arg. >=5 doesn't have.
|
||||
ITEM_COLISEUM_PASS = 0; -- Seq_015 : 3rd 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, "processEventMomodiStart");
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 4, 15, -75.242, 195.009, 74.572, -0.046);
|
||||
player:SendGameMessage(quest, 329, 0x20);
|
||||
player:SendGameMessage(quest, 330, 0x20);
|
||||
end
|
||||
|
||||
function onFinish(player, quest)
|
||||
end
|
||||
|
||||
function onSequence(player, quest, sequence)
|
||||
|
||||
if (sequence == SEQ_000) then
|
||||
-- Setup states incase we loaded in.
|
||||
|
||||
--AddENpc(classId, byte flagType=0,isTalkEnabled, isPushEnabled, isEmoteEnabled, isSpawned)
|
||||
quest:AddENpc(MOMODI, QFLAG_PLATE);
|
||||
quest:AddENpc(OTOPA_POTTOPA);
|
||||
|
||||
elseif (sequence == SEQ_005) then
|
||||
quest:AddENpc(MOMODI);
|
||||
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)
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_1"); -- Describes what an Instance is
|
||||
player:EndEvent();
|
||||
quest:UpdateENPCs();
|
||||
end
|
||||
|
||||
|
||||
|
||||
function seq000_onTalk(player, quest, npc, classId)
|
||||
|
||||
if (classId == MOMODI) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent010");
|
||||
player:EndEvent();
|
||||
quest:StartSequence(SEQ_005);
|
||||
GetWorldManager():DoZoneChange(player, 175, nil, 0, 15, player.positionX, player.positionY, player.positionZ, player.rotation);
|
||||
return;
|
||||
elseif (classId == UNDAUNTED_ADVENTURER) then
|
||||
callClientFunction (player, "delegateEvent", player, quest, "processEvent000_2");
|
||||
elseif (classId == GREEDY_MERCHANT) then
|
||||
callClientFunction (player, "delegateEvent", player, quest, "processEvent000_3");
|
||||
elseif (classId == SPRY_SALESMAN) then
|
||||
callClientFunction (player, "delegateEvent", player, quest, "processEvent000_4");
|
||||
elseif (classId == LIONHEARTED_ADVENTURER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_5");
|
||||
elseif (classId == UPBEAT_ADVENTURER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_6");
|
||||
elseif (classId == SEEMINGLY_CALM_ADVENTURER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_7");
|
||||
elseif (classId == OVERCOMPETITIVE_ADVENTURER) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_8");
|
||||
elseif (classId == OTOPA_POTTOPA) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_9");
|
||||
elseif (classId == THANCRED) then
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processEvent000_10");
|
||||
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_MOMODI);
|
||||
elseif (sequence == SEQ_010) then
|
||||
if (not quest:GetFlag(FLAG_SEQ010_TALK0)) then
|
||||
table.insert(possibleMarkers, MRKR_YAYATOKI)
|
||||
else
|
||||
table.insert(possibleMarkers, MRKR_ADV_GUILD);
|
||||
end
|
||||
end
|
||||
|
||||
return unpack(possibleMarkers)
|
||||
end
|
||||
|
||||
|
@ -0,0 +1,3 @@
|
||||
function init(npc)
|
||||
return false, false, 0, 0, 0x1A5, 4289;
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_13", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,52 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == false) then
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_TUTORIAL3_DONE) == true) then
|
||||
player:SetEventStatus(npc, "pushDefault", false, 0x2);
|
||||
end
|
||||
end
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (triggerName == "pushDefault") then
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrNomal002", nil, nil, nil);
|
||||
elseif (triggerName == "talkDefault") then
|
||||
--Is doing talk tutorial?
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_TUTORIAL3_DONE) == false) then
|
||||
player:SetEventStatus(npc, "pushDefault", false, 0x2);
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrNomal003", nil, nil, nil);
|
||||
man0u0Quest:SetQuestFlag(MAN0U0_FLAG_TUTORIAL3_DONE, true);
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
man0u0Quest:SaveData();
|
||||
|
||||
player:GetDirector("OpeningDirector"):onTalkEvent(player, npc);
|
||||
--Was he talked to for the mini tutorial?
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrMini001", nil, nil, nil);
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == false) then
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
man0u0Quest:SetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1, true);
|
||||
man0u0Quest:SaveData();
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
player:GetDirector("OpeningDirector"):onTalkEvent(player, npc);
|
||||
else
|
||||
player:EndEvent();
|
||||
end
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_6", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_9", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_8", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,46 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
player:SetEventStatus(npc, "pushDefault", true, 0x2);
|
||||
if (man0u0Quest ~= nil and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == true and man0U0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == true) then
|
||||
npc:SetQuestGraphic(player, 0x3);
|
||||
else
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) ~= true) then
|
||||
print "AAAA"
|
||||
end
|
||||
|
||||
if (man0u0Quest ~= nil and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == true) then
|
||||
player:EndEvent();
|
||||
|
||||
contentArea = player:GetZone():CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0u01", "SimpleContent30079", "Quest/QuestDirectorMan0u001");
|
||||
|
||||
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);
|
||||
|
||||
GetWorldManager():DoZoneChangeContent(player, contentArea, -24.34, 192, 34.22, 0.78, 16);
|
||||
end
|
||||
|
||||
end
|
@ -1,31 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == false) then
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (triggerName == "talkDefault") then
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2) == false) then
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrMini002_first", nil, nil, nil);
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
man0u0Quest:SetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2, true);
|
||||
man0u0Quest:SaveData();
|
||||
player:GetDirector("OpeningDirector"):onTalkEvent(player, npc);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrMini002", nil, nil, nil);
|
||||
end
|
||||
end
|
||||
end
|
||||
player:EndEvent();
|
||||
end
|
@ -1,31 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == false) then
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
if (triggerName == "talkDefault") then
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == false) then
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrMini003_first", nil, nil, nil);
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
man0u0Quest:SetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3, true);
|
||||
man0u0Quest:SaveData();
|
||||
player:GetDirector("OpeningDirector"):onTalkEvent(player, npc);
|
||||
else
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrMini003", nil, nil, nil);
|
||||
end
|
||||
end
|
||||
end
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_10", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_13", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_6_2", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_12", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_3", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,13 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrBlkNml002", nil, nil, nil);
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 3, 15, -22.81, 196, 87.82, 2.98);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
@ -1,14 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
|
||||
if (man0u0Quest ~= nil) then
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrBlkNml003", nil, nil, nil);
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 3, 15, -22.81, 196, 87.82, 2.98);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_4");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEtc002");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_3");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_2");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEtc003");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent000_14");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_6");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_7");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,8 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEtc001");
|
||||
player:EndEvent();
|
||||
end
|
@ -1,16 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
npc:SetQuestGraphic(player, 0x3);
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc)
|
||||
man0u1Quest = GetStaticActor("Man0u1");
|
||||
callClientFunction(player, "delegateEvent", player, man0u1Quest, "processEventMomodiStart");
|
||||
player:ReplaceQuest(110009, 110010);
|
||||
player:SendGameMessage(GetStaticActor("Man0u1"), 329, 0x20);
|
||||
player:SendGameMessage(GetStaticActor("Man0u1"), 330, 0x20);
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 4, 15, -75.242, 195.009, 74.572, -0.046);
|
||||
player:endEvent();
|
||||
end
|
@ -1,13 +0,0 @@
|
||||
require ("global")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
man0u0Quest = GetStaticActor("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020_8");
|
||||
npc:SetQuestGraphic(player, 0x0);
|
||||
player:EndEvent();
|
||||
end
|
@ -1,26 +0,0 @@
|
||||
require ("global")
|
||||
|
||||
function onSpawn(player, npc)
|
||||
npc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
local man0u1Quest = player:GetQuest("Man0u1");
|
||||
local pos = player:GetPos();
|
||||
|
||||
if (man0u1Quest ~= nil) then
|
||||
callClientFunction(player, "delegateEvent", player, man0u1Quest, "processEvent010");
|
||||
player:EndEvent();
|
||||
|
||||
--[[director = player:GetZone():CreateDirector("AfterQuestWarpDirector");
|
||||
player:KickEvent(director, "noticeEvent", true);
|
||||
player:AddDirector(director);
|
||||
player:SetLoginDirector(director);
|
||||
--]]
|
||||
GetWorldManager():DoZoneChange(player, 175, nil, 0, 15, pos[0], pos[1], pos[2], pos[3]);
|
||||
return;
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
@ -915,6 +915,14 @@ namespace Meteor.Map.Actors
|
||||
QueuePacket(SetMusicPacket.BuildPacket(Id, musicId, 1));
|
||||
}
|
||||
|
||||
public void ChangeMusic(ushort musicId, ushort musicTrackMode)
|
||||
{
|
||||
QueuePacket(SetMusicPacket.BuildPacket(Id, musicId, musicTrackMode));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void SendMountAppearance()
|
||||
{
|
||||
if (mountState == 1)
|
||||
@ -1688,6 +1696,7 @@ namespace Meteor.Map.Actors
|
||||
defaultTalk = (Quest) Server.GetStaticActors("DftFst");
|
||||
break;
|
||||
case 104:
|
||||
case 107:
|
||||
defaultTalk = (Quest) Server.GetStaticActors("DftWil");
|
||||
break;
|
||||
case 105:
|
||||
|
Loading…
Reference in New Issue
Block a user