diff --git a/Data/scripts/base/chara/npc/mapobj/MapObjOnlyShowHide.lua b/Data/scripts/base/chara/npc/mapobj/MapObjOnlyShowHide.lua new file mode 100644 index 00000000..fc7add02 --- /dev/null +++ b/Data/scripts/base/chara/npc/mapobj/MapObjOnlyShowHide.lua @@ -0,0 +1,3 @@ +function init(npc) + return false, false, 0, 0, 0, 0; +end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/object/OpeningStoperW0B1.lua b/Data/scripts/base/chara/npc/object/OpeningStoperW0B1.lua new file mode 100644 index 00000000..d654d212 --- /dev/null +++ b/Data/scripts/base/chara/npc/object/OpeningStoperW0B1.lua @@ -0,0 +1,18 @@ +require("global"); + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, eventType, eventName) + + if (eventType == ETYPE_PUSH) then + if (eventName == "caution") then + worldMaster = GetWorldMaster(); + player:SendGameMessage(player, worldMaster, 34109, 0x20); + elseif (eventName == "exit") then + GetWorldManager():DoPlayerMoveInZone(player, 5.36433, 196, 133.656, -2.84938); + end + end + player:EndEvent(); +end \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua b/Data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua index 33bb40af..a4000a36 100644 --- a/Data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua +++ b/Data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua @@ -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 @@ -58,50 +59,64 @@ function onEventStarted(player, npc, triggerName) end local hasFunds = (player:GetCurrentGil() >= rentalPrice); - - callClientFunction(player, "eventTalkWelcome", player); - - local menuChoice = callClientFunction(player, "eventAskMainMenu", player, curLevel, hasFunds, hasIssuance, hasChocobo, hasChocobo, 0); - - if (menuChoice == 1) then -- Issuance option - - callClientFunction(player, "eventTalkMyChocobo", player); - local nameResponse = callClientFunction(player, "eventSetChocoboName", true); - - if (nameResponse == "") then -- Cancel Chocobo naming - callClientFunction(player, "eventCancelChocoboName", player); - callClientFunction(player, "eventTalkStepBreak", player); - player:EndEvent(); - return; - else - local appearance = startAppearances[npc:GetActorClassId()]; - player:IssueChocobo(appearance, nameResponse); - - callClientFunction(player, "eventAfterChocoboName", player); - - --Add Chocobo License and remove issuance - 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); - - --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]); - 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]); - 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]); - else - callClientFunction(player, "eventTalkStepBreak", player); - end - + + + + 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); + + if (menuChoice == 1) then -- Issuance option + + callClientFunction(player, "eventTalkMyChocobo", player); + local nameResponse = callClientFunction(player, "eventSetChocoboName", true); + + if (nameResponse == "") then -- Cancel Chocobo naming + callClientFunction(player, "eventCancelChocoboName", player); + callClientFunction(player, "eventTalkStepBreak", player); + player:EndEvent(); + return; + else + local appearance = startAppearances[classId]; + player:IssueChocobo(appearance, nameResponse); + + callClientFunction(player, "eventAfterChocoboName", player); + + --Add Chocobo License and remove issuance + if (player:GetItemPackage(INVENTORY_KEYITEMS):HasItem(2001007) == false) then + player:GetItemPackage(INVENTORY_KEYITEMS):AddItem(2001007); + end + player:GetItemPackage(INVENTORY_KEYITEMS):RemoveItem(gcIssuances[classId], 1); + + --Warp with the special chocobo warp mode. + mountChocobo(player); + 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[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[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 \ No newline at end of file diff --git a/Data/scripts/base/chara/npc/populace/PopulaceCompanyWarp.lua b/Data/scripts/base/chara/npc/populace/PopulaceCompanyWarp.lua index 3fd8e34a..8b5dd6ac 100644 --- a/Data/scripts/base/chara/npc/populace/PopulaceCompanyWarp.lua +++ b/Data/scripts/base/chara/npc/populace/PopulaceCompanyWarp.lua @@ -4,10 +4,10 @@ PopulaceCompanyWarp Script Functions: -eventTalkWelcome(player) - Start Text +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"); - player:EndEvent(); - else - -- callClientFunction(player, "eventAfterWarpOtherZone", player); -- Commented out for now to prevent double fade-to-black for warp + + if (choice ~= 0) then + + + + callClientFunction(player, "eventAfterWarpOtherZone", player); + wait(1); 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); + 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 + player:EndEvent(); end end - player:EndEvent(); + end diff --git a/Data/scripts/commands/ChocoboRideCommand.lua b/Data/scripts/commands/ChocoboRideCommand.lua index c43dc830..93bba03d 100644 --- a/Data/scripts/commands/ChocoboRideCommand.lua +++ b/Data/scripts/commands/ChocoboRideCommand.lua @@ -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 \ No newline at end of file diff --git a/Data/scripts/commands/TeleportCommand.lua b/Data/scripts/commands/TeleportCommand.lua index 69971f59..cbc254ef 100644 --- a/Data/scripts/commands/TeleportCommand.lua +++ b/Data/scripts/commands/TeleportCommand.lua @@ -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) --]] @@ -15,112 +15,189 @@ require ("aetheryte") require ("utils") teleportMenuToAetheryte = { - [1] = { - [1] = 1280001, - [2] = 1280002, - [3] = 1280003, - [4] = 1280004, - [5] = 1280005, - [6] = 1280006 - }, - [2] = { - [1] = 1280092, - [2] = 1280093, - [3] = 1280094, - [4] = 1280095, - [5] = 1280096 - }, - [3] = { - [1] = 1280061, - [2] = 1280062, - [3] = 1280063, - [4] = 1280064, - [5] = 1280065, - [6] = 1280066 - }, - [4] = { - [1] = 1280031, - [2] = 1280032, - [3] = 1280033, - [4] = 1280034, - [5] = 1280035, - [6] = 1280036 - }, - [5] = { - [1] = 1280121, - [2] = 1280122 - } + [1] = { + [1] = 1280001, + [2] = 1280002, + [3] = 1280003, + [4] = 1280004, + [5] = 1280005, + [6] = 1280006 + }, + [2] = { + [1] = 1280092, + [2] = 1280093, + [3] = 1280094, + [4] = 1280095, + [5] = 1280096 + }, + [3] = { + [1] = 1280061, + [2] = 1280062, + [3] = 1280063, + [4] = 1280064, + [5] = 1280065, + [6] = 1280066 + }, + [4] = { + [1] = 1280031, + [2] = 1280032, + [3] = 1280033, + [4] = 1280034, + [5] = 1280035, + [6] = 1280036 + }, + [5] = { + [1] = 1280121, + [2] = 1280122 + } } +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 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 - while (true) do - regionChoice = callClientFunction(player, "delegateCommand", actor, "eventRegion", 100); - - if (regionChoice == nil) then break end - - while (true) do - aetheryteChoice = callClientFunction(player, "delegateCommand", actor, "eventAetheryte", regionChoice, 2, 2, 2, 4, 4, 4); - - if (aetheryteChoice == nil) then break end - - player:PlayAnimation(0x4000FFA); - player:SendGameMessage(worldMaster, 34101, 0x20, 2, teleportMenuToAetheryte[regionChoice][aetheryteChoice], 100, 100); - 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 - 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); - end - end - player:endEvent(); - return; - end - - end - else - player:PlayAnimation(0x4000FFA); - local choice, isInn = callClientFunction(player, "delegateCommand", actor, "eventConfirm", true, false, player:GetHomePointInn(), player:GetHomePoint(), false); - if (choice == 1) then - player:PlayAnimation(0x4000FFB); - player:SendGameMessage(worldMaster, 34104, 0x20); - --bandaid fix for returning while dead, missing things like weakness and the heal number - if (player:GetHP() == 0) then - player:SetHP(player.GetMaxHP()); - player:ChangeState(0); - player:PlayAnimation(0x01000066); - end + if (isTeleport == 0) then -- Teleport hit + while (true) do + regionChoice = callClientFunction(player, "delegateCommand", actor, "eventRegion", currentAnima); + + if (regionChoice == nil) then break end + + while (true) do + if (regionChoice > 0 and regionChoice < 6) then -- If Region selected - if (isInn) then - --Return to Inn - if (player:GetHomePointInn() == 1) then - GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, -160.048, 0, -165.737, 0); - elseif (player:GetHomePointInn() == 2) then - GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 160.048, 0, 154.263, 0); - elseif (player:GetHomePointInn() == 3) then - GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); - end - elseif (choice == 1 and isInn == nil) then - --Return to Homepoint - destination = aetheryteTeleportPositions[player:GetHomePoint()]; - 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 (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 - end - end - end - 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); + + 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); + + 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 -- Return hit + player:PlayAnimation(0x4000FFA); + local choice, isInn = callClientFunction(player, "delegateCommand", actor, "eventConfirm", true, false, player:GetHomePointInn(), player:GetHomePoint(), false); + if (choice == 1) then + player:PlayAnimation(0x4000FFB); + player:SendGameMessage(worldMaster, 34104, 0x20); + + --bandaid fix for returning while dead, missing things like weakness and the heal number + if (player:GetHP() == 0) then + player:SetHP(player.GetMaxHP()); + player:ChangeState(0); + player:PlayAnimation(0x01000066); + end + + if (isInn) then + --Return to Inn + if (player:GetHomePointInn() == 1) then + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, -160.048, 0, -165.737, 0); + elseif (player:GetHomePointInn() == 2) then + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 160.048, 0, 154.263, 0); + elseif (player:GetHomePointInn() == 3) then + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); + end + elseif (choice == 1 and isInn == nil) then + --Return to Homepoint + destination = aetheryteTeleportPositions[player:GetHomePoint()]; + if (destination ~= nil) 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 + end + end + + player:endEvent(); +end - player:endEvent(); -end \ No newline at end of file diff --git a/Data/scripts/commands/gm/music.lua b/Data/scripts/commands/gm/music.lua index 3e04c912..0a761b14 100644 --- a/Data/scripts/commands/gm/music.lua +++ b/Data/scripts/commands/gm/music.lua @@ -1,14 +1,17 @@ properties = { permissions = 0, - parameters = "s", + parameters = "ss", description = [[ Plays music to player. !music +!music ]], } -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; \ No newline at end of file diff --git a/Data/scripts/commands/gm/setappearance.lua b/Data/scripts/commands/gm/setappearance.lua index a9270259..02a16705 100644 --- a/Data/scripts/commands/gm/setappearance.lua +++ b/Data/scripts/commands/gm/setappearance.lua @@ -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; \ No newline at end of file + end +end \ No newline at end of file diff --git a/Data/scripts/commands/gm/spawn.lua b/Data/scripts/commands/gm/spawn.lua index 716faffe..00d85b80 100644 --- a/Data/scripts/commands/gm/spawn.lua +++ b/Data/scripts/commands/gm/spawn.lua @@ -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 diff --git a/Data/scripts/commands/gm/warp.lua b/Data/scripts/commands/gm/warp.lua index ae68351f..4ebe9af6 100644 --- a/Data/scripts/commands/gm/warp.lua +++ b/Data/scripts/commands/gm/warp.lua @@ -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 diff --git a/Data/scripts/commands/gm/warpid.lua b/Data/scripts/commands/gm/warpid.lua index 66301140..d8099ef4 100644 --- a/Data/scripts/commands/gm/warpid.lua +++ b/Data/scripts/commands/gm/warpid.lua @@ -18,22 +18,23 @@ 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 \ No newline at end of file diff --git a/Data/scripts/directors/Quest/QuestDirectorMan0u001.lua b/Data/scripts/directors/Quest/QuestDirectorMan0u001.lua index c5c71b7c..efd0bc0d 100644 --- a/Data/scripts/directors/Quest/QuestDirectorMan0u001.lua +++ b/Data/scripts/directors/Quest/QuestDirectorMan0u001.lua @@ -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 diff --git a/Data/scripts/global.lua b/Data/scripts/global.lua index 39cde1ba..cb977c3d 100644 --- a/Data/scripts/global.lua +++ b/Data/scripts/global.lua @@ -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, ...); diff --git a/Data/scripts/player.lua b/Data/scripts/player.lua index 901dea34..bec9f61b 100644 --- a/Data/scripts/player.lua +++ b/Data/scripts/player.lua @@ -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 diff --git a/Data/scripts/quests/dft/DftFst.lua b/Data/scripts/quests/dft/DftFst.lua index c83bf30d..99d0d965 100644 --- a/Data/scripts/quests/dft/DftFst.lua +++ b/Data/scripts/quests/dft/DftFst.lua @@ -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()]; - callClientFunction(player, "delegateEvent", player, quest, clientFunc); + + 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 diff --git a/Data/scripts/quests/dft/DftSea.lua b/Data/scripts/quests/dft/DftSea.lua index 26d435c6..8fc40105 100644 --- a/Data/scripts/quests/dft/DftSea.lua +++ b/Data/scripts/quests/dft/DftSea.lua @@ -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) diff --git a/Data/scripts/quests/dft/DftWil.lua b/Data/scripts/quests/dft/DftWil.lua index 84616a6a..3375c7d1 100644 --- a/Data/scripts/quests/dft/DftWil.lua +++ b/Data/scripts/quests/dft/DftWil.lua @@ -4,9 +4,9 @@ require ("global") Quest Script -Name: Small Talk -Code: DftWil -Id: 110543 +Name: Small Talk +Code: DftWil +Id: 110543 Contains all default lines for talkable npcs in the Wilderness Region (aka Thanalan). * NOTE: This quest is active for all players at all times. @@ -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", -- <<>> - D'yalwann - Empty function. No wiki info, likely unused. Has book prop. + [1000650] = "defaultTalkWithSedemode_001", -- <<>> - 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", -- <<>> - Blandhem (Camp Black Brush: X:56.089 Y:199.983 Z:-462.182 rough estimate) + [1000673] = "defaultTalkWithChechedoba_001", -- <<>> - Chechedoba (Camp Black Brush: X:8.436 Y:199.973 Z:-484.073 rough estimate) + [1000674] = "defaultTalkWithZllayan_001", -- <<>> - 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", -- <<>> - 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", -- <<>> - 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", -- <<>> - Vhaso Tayuun - (Entry Denier? No wiki info) + [1001148] = "defaultTalkWithPulbeiyalbei_001", -- <<>> - Pulbei Yalbei - (Entry Denier? No wiki info) + [1001149] = "defaultTalkWithGembert_001", -- <<>> - 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", -- <<>> - Chamberlain (Entry Denier? No wiki info) + [1001296] = "defaultTalkWithWyntkelt_001", -- <<>> - Wyntkelt (Entry Denier? No wiki info) + [1001297] = "defaultTalkWithAudrye_001", -- <<>> - Audrye (Entry Denier? No wiki info) + [1001314] = "defaultTalkWithFromelaut_001", -- <<>> - Fromelaut (Eastern Thanalan: The Golden Bazaar) + [1001315] = "defaultTalkWithZilili_001", -- <<>> - 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", -- <<>> - Papala (Eastern Thanalan: The Golden Bazaar: 1099.540039, 312.674, -1145.719971) + [1001317] = "defaultTalkWithSasapano_001", -- <<>> - Sasapano (Eastern Thanalan: The Golden Bazaar: 1134.599976, 312.193, -1128.23999) + [1001318] = "defaultTalkWithBibiroku_001", -- <<>> - Bibiroku (Eastern Thanalan: The Golden Bazaar) + [1001319] = "defaultTalkWithBernier_001", -- <<>> - Bernier (Eastern Thanalan: The Golden Bazaar) + [1001320] = "defaultTalkWithJajaba_001", -- <<>> - Jajaba (Eastern Thanalan: The Golden Bazaar) + [1001321] = "defaultTalkWithJujuya_001", -- <<>> - Jujuya (Eastern Thanalan: The Golden Bazaar) + [1001322] = "defaultTalkWithKikinori_001", -- <<>> - Kikinori (Western Thanalan: The Silver Bazaar) + [1001323] = "defaultTalkWithCelie_001", -- <<>> - Celie (Western Thanalan: The Silver Bazaar) + [1001324] = "defaultTalkWithAgzurungzu_001", -- <<>> - Agzu Rungzu (Western Thanalan: The Silver Bazaar) + [1001325] = "defaultTalkWithDarimbeh_001", -- <<>> - D'arimbeh (Western Thanalan: The Silver Bazaar) + [1001326] = "defaultTalkWithIudprost_001", -- <<>> - Iudprost (Western Thanalan: The Silver Bazaar) + [1001327] = "defaultTalkWithTatafu_001", -- <<>> - Tatafu (Western Thanalan: The Silver Bazaar) + [1001328] = "defaultTalkWithAthalwolf_001", -- <<>> - Athalwolf (Western Thanalan: The Silver Bazaar) + [1001329] = "defaultTalkWithPadakusondaku_001", -- <<>> - Padaku Sondaku (Western Thanalan: The Silver Bazaar) + [1001330] = "defaultTalkWithBellinda_001", -- <<>> - Bellinda (Eastern Thanalan, Little Ala Mhigo) + [1001331] = "defaultTalkWithRonthfohc_001", -- <<>> - Ronthfohc (Eastern Thanalan, Little Ala Mhigo) + [1001332] = "defaultTalkWithBerahthraben_001", -- <<>> - Berahthraben (Eastern Thanalan, Little Ala Mhigo) + [1001333] = "defaultTalkWithOtho_001", -- <<>> - Otho (Eastern Thanalan, Little Ala Mhigo) + [1001334] = "defaultTalkWithRadulf_001", -- <<>> - Radulf (Eastern Thanalan, Little Ala Mhigo: 1131.75, 251.29, 206.339996) + [1001335] = "defaultTalkWithHonmeme_001", -- <<>> - Honmeme (Eastern Thanalan, Little Ala Mhigo) + [1001336] = "defaultTalkWithCatriona_001", -- <<>> - Catriona (Eastern Thanalan, Little Ala Mhigo) + [1001337] = "defaultTalkWithGrifiud_001", -- <<>> - Grifiud (Eastern Thanalan, Little Ala Mhigo) + [1001392] = "defaultTalkWithNomomo_001", -- <<>> - 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", -- <<>> - Fiachre (Western Thanalan Ferry Docks) + [1001447] = "defaultTalkWithTaylor_001", -- <<>> - Taylor (Western Thanalan Ferry Docks: -2195.070068, 14.495, -417.200012) + [1001448] = "defaultTalkWithWalhbert_001", -- <<>> - Walhbert (Western Thanalan Ferry Docks) + [1001449] = "defaultTalkWithSpiralingpath_001", -- <<>> - Spiraling Path (Western Thanalan Ferry Docks) + [1001450] = "defaultTalkWithSasapiku_001", -- <<>> - 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,29 +191,81 @@ local defaultTalkWil = { [1001476] = "defaultTalkWithCrhabye_001", -- C'rhabye [1001471] = "downTownTalk", -- Kokobi [1001472] = "defaultTalkWithMimishu_001", -- Mimishu + [1001503] = "defaultTalkWithGerland_001", -- <<>> - Gerland (Western Thanalan Ferry Docks) [1001565] = "defaultTalkWithEleanor_001", -- Eleanor + [1001596] = "defaultTalkWithAbelard_001", -- <<>> - Abelard (Western Thanalan: The Coffer & Coffin: -1726, 56.625, -317 + [1001597] = "defaultTalkWithHaipoeipo_001", -- <<>> - Haipo Eipo (Western Thanalan: The Coffer & Coffin) + [1001598] = "defaultTalkWithBartholomew_001", -- <<>> - Bartholomew (Western Thanalan: The Coffer & Coffin) + [1001599] = "defaultTalkWithKokofubu_001", -- <<>> - Kokofubu (Eastern Thanalan: Mythril Pit T-8) + [1001600] = "defaultTalkWithBertouaint_001", -- <<>> - Bertouaint (Eastern Thanalan: Mythril Pit T-8) + [1001601] = "defaultTalkWithAldebrand_001", -- <<>> - Aldebrand (Eastern Thanalan: Mythril Pit T-8) + [1001602] = "defaultTalkWithPyhajawantal_001", -- <<>> - Pyha Jawantal (Eastern Thanalan: Mythril Pit T-8) + [1001624] = "talkIdayCap", -- <<>> - Flame Lieutenant Somber Meadow (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version + [1001625] = "talkIday1", -- <<>> - Flame Sergeant Mimio Mio (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version + [1001626] = "talkIday2", -- <<>> - Flame Private Sisimuza Tetemuza (Foundation Day 2011 Dialog) - OLD EVENT NPC: Replaced by 2012 version + [1001630] = "defaultTalkWithChocobo_001", -- <<>> - Chocobo (Western Thanalan: The Coffer & Coffin) - Stands beside Haipo Eipo + [1001685] = "defaultTalkWithAdalbert_001", -- <<>> - Flame Sergeant Cotter (Ul'dah: Merchant Strip: -0.92 196.100 126.32) - Double check caps. + [1001699] = "defaultTalkWithJandonaut_001", -- <<>> - Flame Sergeant Fouillel (Southern Thanalan: Camp Broken Water: 1704 296.001 999) [1001712] = "defaultTalkWithGuillestet_001", -- Guillestet [1001713] = "defaultTalkWithHCidjaa_001", -- H'cidjaa + [1001714] = "defaultTalkWithAutgar_001", -- <<>> - Autgar (Ul'dah: Airship Landing) + [1001715] = "defaultTalkWithAhldbyrt_001", -- <<>> - Ahldbyrt (Ul'dah: Airship Landing) + [1001716] = "defaultTalkWithNeymiFunomi_001", -- <<>> - Neymi Funomi (Ul'dah: Airship Landing) [1001717] = "defaultTalkWithGoodife_001", -- Goodife [1001726] = "defaultTalkWithAistan_001", -- Aistan + [1001727] = "defaultTalkWithMateria_001", -- <<>> - Mutamix Bubblypots (Central Thanalan: 243.858002, 247.8, -1030.136963) - Check feet clipping @ pos + [1001728] = "defaultTalkWithSWYNBROES_001", -- <<>> - Swynbroes (Central Thanalan: 242.641006, 247.6, -1024.494019) + [1001729] = "defaultTalkWithKokosamu_001", -- <<>> - Kokosamu (Central Thanalan: 255.651001, 248.5, -1030.152954) - Check feet clipping @ pos + [1001730] = "defaultTalkWithF_HOBHAS_001", -- <<>> - F'hobhas (Central Thanalan: 258.665009, 248, -1021.666992) + [1001753] = "defaultTalkWithPelhiEpocan_001", -- <<>> - Pelhi Epocan (Ul'dah: Airship Landing) + [1001754] = "defaultTalkWithViolenne_001", -- <<>> - Violenne (Ul'dah: Airship Landing) [1001770] = "defaultTalkWithEara_001", -- Eara [1001771] = "defaultTalkWithLiaime_001", -- Liaime + [1001834] = "defaultTalkWithLUDOLD_001", -- <<>> - Flame Commander Ashdale - (Eastern Thanalan: 1410, 256, 187) + [1001840] = "defaultTalkWithPAHJAZHWAN_001", -- <<>> - Pahja Zhwan - (Ul'dah: Miner's Guild: -113.190002 194.2 324.25) - Double check caps. + [1001894] = "defaultTalkWithDonner_001", -- <<>> - Flame Private Greave - (North Thanalan: Bluefog) + [1001911] = "defaultTalkWithLolomaya_001", -- <<>> - 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", -- <<>> - 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", -- <<>> - Havak Alvak (Ul'dah: Milvaneth Sacrarium) + [1060028] = "defaultTalkWithCURIOUS_001", -- <<>> - Curious Gorge (Western Thanalan: -1116.040039, 53.2, 285.48999)? - defaultTalkWithCURIOUS_002 + [1060029] = "defaultTalkWithSarra_001", -- <<>> - Sarra (Location unknown) defaultTalkWithSarra_002 / 003 + [1060032] = "defaultTalkWithWidargeli_001", -- <<>> - Widargelt (Eastern Thanalan: Little Ala Mhigo: 1213.670044, 251.439, 107.290001) - defaultTalkWithWidargeli_002 + [1060033] = "defaultTalkWithErik_001", -- <<>> - Erik (Ul'dah: -32.75 192.1 45.810001) - defaultTalkWithErik_002 + [1060035] = "defaultTalkWithLalai_001", -- <<>> - Lalai (Ul'dah: Milvaneth Sacrarium: 18.16, 206, 283.670013) defaultTalkWithLalai_002 / 003 / 004 / 005 / 006 / 007 / 101 + [1060036] = "defaultTalkWithKazagg_001", -- <<>> - Kazagg Chah (Western Thalanan: -1506.540039, 10.241, -233.970001) defaultTalkWithKazagg_002 / 003 / 004 / 005 / 006 / 007 + [1060037] = "defaultTalkWithHateli_001", -- <<>> - Dozol Meloc (Western Thanalan: -1513.660034, 10.617, -235.220001) defaultTalkWithHateli_002 / 003 / 004 / 005 / 006 / 007 + [1060038] = "defaultTalkWithDaza_001", -- <<>> - 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", -- <<>> - L'dhakya (Western Thanalan Ferry Docks) + [1500109] = "defaultTalkWithSylviel_001", -- <<>> - Sylviel (Western Thanalan Ferry Docks) + [1500110] = "defaultTalkWithSamigamduhla_001", -- <<>> - Sami Gamduhla (Western Thanalan Ferry Docks) [1500126] = "tribeTalk", -- Vavaki [1500129] = "defaultTalkWithYayatoki_001", -- Yayatoki - [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 ---]] + [1700039] = "defaultTalkWithBATERICH_100", -- Baterich + + [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 + + + } @@ -174,28 +273,35 @@ local defaultTalkWil = { function onTalk(player, quest, npc, eventName) local npcId = npc:GetActorClassId(); - local clientFunc = defaultTalkWil[npcId]; + local clientFunc = defaultTalkWil[npcId]; if (npcId == 1002047) then -- Kopuru Fupuru - Inn NPC - local choice = callClientFunction(player, "delegateEvent", player, quest, clientFunc); - - if (choice == 1) then - GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); - elseif (choice == 2) then - if (player:GetHomePointInn() ~= 3) then - player:SetHomePointInn(3); - player:SendGameMessage(GetWorldMaster(), 60019, 0x20, 3071); --Secondary homepoint set to the Hourglass - else - player:SendGameMessage(GetWorldMaster(), 51140, 0x20); --This inn is already your Secondary Homepoint - end - end + defaultTalkWithInn(player, quest, clientFunc); else callClientFunction(player, "delegateEvent", player, quest, clientFunc); end - player:EndEvent(); + player:EndEvent(); end function IsQuestENPC(player, quest, npc) - return defaultTalkWil[npc:GetActorClassId()] ~= nil; + return defaultTalkWil[npc:GetActorClassId()] ~= nil; +end + + + + +function defaultTalkWithInn(player, quest, clientFunc) + local choice = callClientFunction(player, "delegateEvent", player, quest, clientFunc); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); + elseif (choice == 2) then + if (player:GetHomePointInn() ~= 3) then + player:SetHomePointInn(3); + player:SendGameMessage(GetWorldMaster(), 60019, 0x20, 3071); --Secondary homepoint set to the Hourglass + else + player:SendGameMessage(GetWorldMaster(), 51140, 0x20); --This inn is already your Secondary Homepoint + end + end end \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc3g0.lua b/Data/scripts/quests/etc/etc3g0.lua index b1c19305..a8f95077 100644 --- a/Data/scripts/quests/etc/etc3g0.lua +++ b/Data/scripts/quests/etc/etc3g0.lua @@ -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)); + 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); + 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,15 +84,15 @@ 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 elseif (npcClassId == NELLAURE) then if (not quest:GetFlag(FLAG_TALKED_NELLAURE)) then callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeak"); - quest:SetFlag(FLAG_TALKED_NELLAURE); - --quest:UpdateENpc(NELLAURE, QFLAG_NONE); + quest:SetFlag(FLAG_TALKED_NELLAURE); + incCounter = true; else callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeakAfter"); end @@ -98,35 +100,48 @@ 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 elseif (npcClassId == LEFWYNE) then if (not quest:GetFlag(FLAG_TALKED_LEFWYNE)) then callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeak"); - quest:SetFlag(FLAG_TALKED_LEFWYNE); - --quest:UpdateENpc(LEFWYNE, QFLAG_NONE); + quest:SetFlag(FLAG_TALKED_LEFWYNE); + incCounter = true; else callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeakAfter"); end end - -- Check condition to go to the next sequence - if (seq000_checkCondition(quest)) then - quest:StartSequence(SEQ_001); - end + + -- 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; - end + 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 \ No newline at end of file diff --git a/Data/scripts/quests/etc/etc5g0.lua b/Data/scripts/quests/etc/etc5g0.lua index 4e948be7..4c82338f 100644 --- a/Data/scripts/quests/etc/etc5g0.lua +++ b/Data/scripts/quests/etc/etc5g0.lua @@ -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); - end -end \ No newline at end of file + + +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 + + + diff --git a/Data/scripts/quests/man/man0u0.lua b/Data/scripts/quests/man/man0u0.lua index db6829d3..a8f8e70c 100644 --- a/Data/scripts/quests/man/man0u0.lua +++ b/Data/scripts/quests/man/man0u0.lua @@ -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; diff --git a/Data/scripts/quests/man/man0u1.lua b/Data/scripts/quests/man/man0u1.lua new file mode 100644 index 00000000..1de8bf9d --- /dev/null +++ b/Data/scripts/quests/man/man0u1.lua @@ -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 + + diff --git a/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua b/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua new file mode 100644 index 00000000..97f1ad42 --- /dev/null +++ b/Data/scripts/unique/wil0Battle01/MapObjOnlyShowHide/man0u0_tutrl_gate.lua @@ -0,0 +1,3 @@ +function init(npc) + return false, false, 0, 0, 0x1A5, 4289; +end \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceChocoboLender/rururaji.lua b/Data/scripts/unique/wil0Battle01/PopulaceChocoboLender/rururaji.lua deleted file mode 100644 index 903ca699..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceChocoboLender/rururaji.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/ascilia.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/ascilia.lua deleted file mode 100644 index 4491c814..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/ascilia.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/big-bellied_barker.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/big-bellied_barker.lua deleted file mode 100644 index a179ee3e..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/big-bellied_barker.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/dapper_dan.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/dapper_dan.lua deleted file mode 100644 index 8d61d910..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/dapper_dan.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/debauched_demoness.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/debauched_demoness.lua deleted file mode 100644 index 0f6c595a..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/debauched_demoness.lua +++ /dev/null @@ -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 diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua deleted file mode 100644 index 1118f89d..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/fretful_farmhand.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/fretful_farmhand.lua deleted file mode 100644 index 30ce2c1b..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/fretful_farmhand.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/gil-digging_mistress.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/gil-digging_mistress.lua deleted file mode 100644 index 1f0afb17..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/gil-digging_mistress.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/loutish_lad.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/loutish_lad.lua deleted file mode 100644 index bf687f2b..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/loutish_lad.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/rururaji.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/rururaji.lua deleted file mode 100644 index 903ca699..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/rururaji.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/stocky_stranger.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/stocky_stranger.lua deleted file mode 100644 index f8182940..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/stocky_stranger.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/twittering_tomboy.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/twittering_tomboy.lua deleted file mode 100644 index b768cebe..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/twittering_tomboy.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Battle01/PopulaceStandard/warburton.lua b/Data/scripts/unique/wil0Battle01/PopulaceStandard/warburton.lua deleted file mode 100644 index 4dfcc5a4..00000000 --- a/Data/scripts/unique/wil0Battle01/PopulaceStandard/warburton.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker1.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker1.lua deleted file mode 100644 index 729f1ce1..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker1.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker2.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker2.lua deleted file mode 100644 index 40598fb4..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/blocker2.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/disreputable_midlander.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/disreputable_midlander.lua deleted file mode 100644 index 3c895bb5..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/disreputable_midlander.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/full-lipped_fille.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/full-lipped_fille.lua deleted file mode 100644 index 7858c31a..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/full-lipped_fille.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/high-spirited_fellow.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/high-spirited_fellow.lua deleted file mode 100644 index a6182b5f..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/high-spirited_fellow.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/keen-eyed_merchant.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/keen-eyed_merchant.lua deleted file mode 100644 index c0fd4106..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/keen-eyed_merchant.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/large-lunged_laborer.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/large-lunged_laborer.lua deleted file mode 100644 index 8a6c0029..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/large-lunged_laborer.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/long-legged_lady.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/long-legged_lady.lua deleted file mode 100644 index 9335baad..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/long-legged_lady.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/mumpish_miqote.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/mumpish_miqote.lua deleted file mode 100644 index b4512aaa..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/mumpish_miqote.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/rururaji.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/rururaji.lua deleted file mode 100644 index 397e1461..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/rururaji.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/tooth-grinding_traveler.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/tooth-grinding_traveler.lua deleted file mode 100644 index 18a3d88f..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/tooth-grinding_traveler.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/uldah_opening_exit.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/uldah_opening_exit.lua deleted file mode 100644 index 2aef1669..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/uldah_opening_exit.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/yayatoki.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/yayatoki.lua deleted file mode 100644 index 1f2fc5a1..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_3/PopulaceStandard/yayatoki.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_4/PopulaceStandard/momodi.lua b/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_4/PopulaceStandard/momodi.lua deleted file mode 100644 index 03cdfed4..00000000 --- a/Data/scripts/unique/wil0Town01/PrivateArea/PrivateAreaMasterPast_4/PopulaceStandard/momodi.lua +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Map Server/Actors/Chara/Player/Player.cs b/Map Server/Actors/Chara/Player/Player.cs index 8a6408e0..2f0e6abb 100644 --- a/Map Server/Actors/Chara/Player/Player.cs +++ b/Map Server/Actors/Chara/Player/Player.cs @@ -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: