mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-09 14:04:41 +02:00
Merge branch 'master' into develop
# Conflicts: # FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj # FFXIVClassic Map Server/Database.cs # FFXIVClassic Map Server/FFXIVClassic Map Server.csproj # FFXIVClassic Map Server/PacketProcessor.cs # FFXIVClassic Map Server/WorldManager.cs # FFXIVClassic Map Server/actors/Actor.cs # FFXIVClassic Map Server/actors/area/Area.cs # FFXIVClassic Map Server/actors/chara/player/Player.cs # FFXIVClassic Map Server/lua/LuaPlayer.cs # data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua # data/scripts/commands/gm/speed.lua # data/scripts/commands/gm/warp.lua # data/scripts/global.lua # data/scripts/player.lua # data/scripts/unique/fst0Town01a/PopulaceStandard/khuma_moshroca.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/ahldskyf.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/angry_river.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/ansgor.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/arnegis.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/arthurioux.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/astrid.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/audaine.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/bango_zango.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/bayard.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/bloemerl.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/bmallpa.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/bnhapla.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/chichiroon.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/drowsy-eyed_adventurer.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/eugennoix.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/fickle_beggar.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/hob.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/ivan.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/maetistym.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/mharelak.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/muscle-bound_deckhand.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/pasty-faced_adventurer.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/pearly-toothed_porter.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/ptahjha.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/suspicious-looking_traveler.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/syhrdaeg.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/syngsmyd.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/tatasako.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/tefh_moshroca.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/thata_khamazom.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/thosinbaen.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/tittering_traveler.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/totoruto.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/triaine.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/trinne.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/unconscious_adventurer.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/undsatz.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/vhynho.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/waekbyrt.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/whahtoa.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/wyra_khamazom.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/wyrstmann.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/xavalien.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/zonggo.lua # data/scripts/unique/sea0Town01a/PopulaceStandard/zuzule.lua # sql/server_zones_spawnlocations.sql
This commit is contained in:
commit
74ce5a2fe1
56 changed files with 805 additions and 271 deletions
|
@ -15,17 +15,100 @@ eventTalkStepBreak(player) - Finishes talkTurn and says a goodbye
|
|||
|
||||
require ("global")
|
||||
|
||||
local gcIssuances = {
|
||||
[1500006] = 2001004,
|
||||
[1500061] = 2001005,
|
||||
[1000840] = 2001006
|
||||
};
|
||||
|
||||
local startAppearances = {
|
||||
[1500006] = CHOCOBO_LIMSA1,
|
||||
[1500061] = CHOCOBO_GRIDANIA1,
|
||||
[1000840] = CHOCOBO_ULDAH1
|
||||
};
|
||||
|
||||
local cityExits = {
|
||||
[1500006] = 15,
|
||||
[1500061] = 14,
|
||||
[1000840] = 16
|
||||
};
|
||||
|
||||
function init(npc)
|
||||
return false, false, 0, 0;
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, triggerName)
|
||||
|
||||
callClientFunction(player, "eventTalkWelcome", player);
|
||||
callClientFunction(player, "eventAskMainMenu", player, 20, true, true, true, true, 4);
|
||||
--callClientFunction(player, "eventTalkWelcome", player);
|
||||
--callClientFunction(player, "eventAskMainMenu", player, 20, true, true, true, true, 4);
|
||||
--callClientFunction(player, "eventTalkMyChocobo", player);
|
||||
--callClientFunction(player, "eventSetChocoboName", false);
|
||||
--callClientFunction(player, "eventAfterChocoboName", player);
|
||||
|
||||
local curLevel = 20; -- TODO: pull from character
|
||||
local hasIssuance = player:GetInventory(INVENTORY_KEYITEMS):HasItem(gcIssuances[npc:GetActorClassId()]);
|
||||
local hasChocobo = player.hasChocobo;
|
||||
|
||||
if (player.isGM and hasChocobo == false) then -- Let GMs auto have the issuance for debugging
|
||||
hasIssuance = true;
|
||||
end
|
||||
|
||||
local rentPrice = 800;
|
||||
local hasFunds = (player:GetCurrentGil() >= rentPrice);
|
||||
|
||||
callClientFunction(player, "eventTalkWelcome", player);
|
||||
|
||||
local menuChoice = callClientFunction(player, "eventAskMainMenu", player, curLevel, hasFunds, hasIssuance, true, true, player.chocoboAppearance);
|
||||
|
||||
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);
|
||||
mountChocobo(player);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()]);
|
||||
player:SendGameMessage(player, GetWorldMaster(), 25248, 0x20, 2001007);
|
||||
player:SendDataPacket("attention", GetWorldMaster(), "", 25248, 2001007);
|
||||
|
||||
if (player:GetInventory(INVENTORY_KEYITEMS):HasItem(2001007) == false) then
|
||||
player:GetInventory(INVENTORY_KEYITEMS):AddItem(2001007);
|
||||
end
|
||||
|
||||
player:GetInventory(INVENTORY_KEYITEMS):RemoveItem(gcIssuances[npc:GetActorClassId()], 1);
|
||||
|
||||
player:EndEvent();
|
||||
return;
|
||||
end
|
||||
|
||||
elseif(menuChoice == 2) then -- Summon Bird
|
||||
mountChocobo(player);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()]);
|
||||
elseif(menuChoice == 3) then -- Change Barding
|
||||
callClientFunction(player, "eventTalkStepBreak", player);
|
||||
elseif(menuChoice == 5) then -- Rent Bird
|
||||
issueRentalChocobo(player);
|
||||
else
|
||||
callClientFunction(player, "eventTalkStepBreak", player);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
end
|
||||
end
|
||||
|
||||
function mountChocobo(player)
|
||||
player:SendChocoboAppearance();
|
||||
player:SetMountState(1);
|
||||
player:ChangeSpeed(0.0, 5.0, 10.0);
|
||||
player:ChangeState(15);
|
||||
end
|
||||
|
||||
function issueRentalChocobo(player)
|
||||
--TODO: Write issue rental chocobo code
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue