mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-25 11:07:45 +00:00
Merge branch '5.3_exd_update' into develop_5.35u
This commit is contained in:
commit
fb943fc396
4 changed files with 5088 additions and 638 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -46,12 +46,12 @@ namespace Sapphire::Network::Packets
|
|||
Ping = 0x017A, // updated 5.25
|
||||
Init = 0x03B9, // updated 5.25
|
||||
|
||||
ActorFreeSpawn = 0x0194, // updated 5.25
|
||||
InitZone = 0x01CD, // updated 5.25
|
||||
ActorFreeSpawn = 0x022F, // updated 5.3
|
||||
InitZone = 0x0388, // updated 5.3
|
||||
|
||||
EffectResult = 0x030F, // updated 5.25
|
||||
ActorControl = 0x01DD, // updated 5.25
|
||||
ActorControlSelf = 0x0165, // updated 5.25
|
||||
EffectResult = 0x0346, // updated 5.3
|
||||
ActorControl = 0x0344, // updated 5.3
|
||||
ActorControlSelf = 0x0212, // updated 5.3
|
||||
ActorControlTarget = 0x01EB, // updated 5.25
|
||||
|
||||
/*!
|
||||
|
@ -62,13 +62,13 @@ namespace Sapphire::Network::Packets
|
|||
///////////////////////////////////////////////////
|
||||
|
||||
ChatBanned = 0xF06B,
|
||||
Playtime = 0x0286, // updated 5.25
|
||||
Playtime = 0x0207, // updated 5.3
|
||||
Logout = 0x00CD, // updated 5.25
|
||||
CFNotify = 0x0145, // updated 5.25
|
||||
CFNotify = 0x00FD, // updated 5.3
|
||||
CFMemberStatus = 0x0079,
|
||||
CFDutyInfo = 0x007A,
|
||||
CFPlayerInNeed = 0xF07F,
|
||||
CFPreferredRole = 0x0186, // added 5.25
|
||||
CFPreferredRole = 0x013C, // updated 5.3
|
||||
CFCancel = 0x00B7, // updated 5.25
|
||||
SocialRequestError = 0xF0AD,
|
||||
|
||||
|
@ -85,8 +85,8 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
SocialList = 0x0269, // updated 5.25
|
||||
|
||||
ExamineSearchInfo = 0x032B, // updated 5.21 hotfix
|
||||
UpdateSearchInfo = 0x00B3, // updated 5.25
|
||||
ExamineSearchInfo = 0x03A1, // updated 5.3
|
||||
UpdateSearchInfo = 0x009E, // updated 5.3
|
||||
InitSearchInfo = 0x0347, // updated 5.25
|
||||
ExamineSearchComment = 0x0102, // updated 4.1
|
||||
|
||||
|
@ -110,12 +110,12 @@ namespace Sapphire::Network::Packets
|
|||
ReqMoogleMailLetter = 0x0139, // updated 5.0
|
||||
MailLetterNotification = 0x013A, // updated 5.0
|
||||
|
||||
MarketTaxRates = 0x034C, // updated 5.21 hotfix
|
||||
MarketTaxRates = 0x00C6, // updated 5.3
|
||||
|
||||
MarketBoardItemListingCount = 0x030A, // updated 5.2
|
||||
MarketBoardItemListing = 0x023E, // updated 5.2
|
||||
MarketBoardItemListingHistory = 0x03C0, // updated 5.2
|
||||
MarketBoardSearchResult = 0x01DD, // updated 5.21
|
||||
MarketBoardSearchResult = 0x00C0, // updated 5.3
|
||||
MarketBoardItemListingCount = 0x016C, // updated 5.3
|
||||
MarketBoardItemListingHistory = 0x03BB, // updated 5.3
|
||||
MarketBoardItemListing = 0x0233, // updated 5.3
|
||||
|
||||
CharaFreeCompanyTag = 0x013B, // updated 4.5
|
||||
FreeCompanyBoardMsg = 0x013C, // updated 4.5
|
||||
|
@ -124,74 +124,75 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
|
||||
|
||||
StatusEffectList = 0x01D7, // updated 5.25
|
||||
StatusEffectList = 0x0172, // updated 5.3
|
||||
EurekaStatusEffectList = 0x0167, // updated 5.18
|
||||
BossStatusEffectList = 0x0312, // added 5.1
|
||||
Effect = 0x0087, // updated 5.25
|
||||
AoeEffect8 = 0x01A6, // updated 5.25
|
||||
AoeEffect16 = 0x02A2, // updated 5.21 hotfix
|
||||
AoeEffect24 = 0x01FD, // updated 5.21 hotfix
|
||||
AoeEffect32 = 0x0376, // updated 5.21 hotfix
|
||||
Effect = 0x00F4, // updated 5.3
|
||||
AoeEffect8 = 0x00C9, // updated 5.3
|
||||
AoeEffect16 = 0x03BF, // updated 5.3
|
||||
AoeEffect24 = 0x027E, // updated 5.3
|
||||
AoeEffect32 = 0x017E, // updated 5.3
|
||||
PersistantEffect = 0x032E, // updated 5.25
|
||||
|
||||
GCAffiliation = 0xF16F, // updated 5.0
|
||||
|
||||
PlayerSpawn = 0x00B9, // updated 5.25
|
||||
NpcSpawn = 0x038D, // updated 5.25
|
||||
NpcSpawn2 = 0x010C, // ( Bigger statuseffectlist? ) updated 5.18
|
||||
ActorMove = 0x0290, // updated 5.25
|
||||
PlayerSpawn = 0x038E, // updated 5.3
|
||||
NpcSpawn = 0x0083, // updated 5.3
|
||||
NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3
|
||||
ActorMove = 0x0352, // updated 5.3
|
||||
|
||||
ActorSetPos = 0x028E, // updated 5.25
|
||||
ActorSetPos = 0x02A5, // updated 5.3
|
||||
|
||||
ActorCast = 0x00C4, // updated 5.25
|
||||
ActorCast = 0x00E7, // updated 5.3
|
||||
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
||||
|
||||
PartyList = 0x01B7, // updated 5.25
|
||||
HateRank = 0x012E, // updated 5.25
|
||||
HateList = 0x02C4, // updated 5.25
|
||||
ObjectSpawn = 0x00D2, // updated 5.25
|
||||
ObjectSpawn = 0x01A0, // updated 5.3
|
||||
ObjectDespawn = 0x034B, // updated 5.18
|
||||
UpdateClassInfo = 0x00DC, // updated 5.25
|
||||
UpdateClassInfo = 0x039A, // updated 5.3
|
||||
SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
|
||||
PlayerSetup = 0x0071, // updated 5.25
|
||||
PlayerStats = 0x007C, // updated 5.25
|
||||
PlayerSetup = 0x00D4, // updated 5.3
|
||||
PlayerStats = 0x3D8, // updated 5.3
|
||||
ActorOwner = 0x0149, // updated 5.25
|
||||
PlayerStateFlags = 0x0125, // updated 5.25
|
||||
PlayerClassInfo = 0x034F, // updated 5.25
|
||||
CharaVisualEffect = 0x0258, // updated 5.25
|
||||
|
||||
ModelEquip = 0x01E5, // updated 5.25
|
||||
Examine = 0x036E, // updated 5.21 hotfix
|
||||
CharaNameReq = 0x0145, // updated 5.25
|
||||
Examine = 0x03C4, // updated 5.3
|
||||
CharaNameReq = 0x0127, // updated 5.3
|
||||
|
||||
// nb: see #565 on github
|
||||
UpdateRetainerItemSalePrice = 0x019F, // updated 5.0
|
||||
RetainerInformation = 0x0169, // updated 5.25
|
||||
RetainerSaleHistory = 0x020E, // updated 5.21 hotfix
|
||||
RetainerInformation = 0x02B0, // updated 5.3
|
||||
|
||||
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
|
||||
|
||||
ItemInfo = 0x02AA, // updated 5.25
|
||||
ItemInfo = 0x02A4, // updated 5.3
|
||||
ContainerInfo = 0x02A8, // updated 5.25
|
||||
InventoryTransactionFinish = 0x0193, // updated 5.25
|
||||
InventoryTransaction = 0x0119, // updated 5.25
|
||||
CurrencyCrystalInfo = 0x018A, // updated 5.25
|
||||
InventoryTransaction = 0x00C5, // updated 5.3
|
||||
CurrencyCrystalInfo = 0x00D7, // updated 5.3
|
||||
|
||||
InventoryActionAck = 0x01AE, // updated 5.25
|
||||
UpdateInventorySlot = 0x0151, // updated 5.25
|
||||
UpdateInventorySlot = 0x036A, // updated 5.3
|
||||
|
||||
HuntingLogEntry = 0xF1B3, // updated 5.0
|
||||
|
||||
EventPlay = 0x02C3, // updated 5.25
|
||||
EventPlay4 = 0x029A, // updated 5.25
|
||||
EventPlay8 = 0x0119, // updated 5.18
|
||||
EventPlay16 = 0x01FB, // updated 5.18
|
||||
EventPlay32 = 0x02D9, // updated 5.25
|
||||
EventPlay64 = 0x00E5, // updated 5.18
|
||||
EventPlay128 = 0x02BE, // updated 5.18
|
||||
EventPlay = 0x0379, // updated 5.3
|
||||
EventPlay4 = 0x030B, // updated 5.3
|
||||
EventPlay8 = 0x014C, // updated 5.25
|
||||
EventPlay16 = 0x0074, // updated 5.25
|
||||
EventPlay32 = 0x02D9, // updated 5.25
|
||||
EventPlay64 = 0x0388, // updated 5.25
|
||||
EventPlay128 = 0x03A4, // updated 5.25
|
||||
EventPlay255 = 0x01AC, // updated 5.25
|
||||
|
||||
EventStart = 0x0360, // updated 5.25
|
||||
EventFinish = 0x0239, // updated 5.25
|
||||
EventStart = 0x020D, // updated 5.3
|
||||
EventFinish = 0x00DF, // updated 5.3
|
||||
|
||||
EventLinkshell = 0x1169,
|
||||
|
||||
|
@ -212,7 +213,7 @@ namespace Sapphire::Network::Packets
|
|||
DirectorVars = 0x00E6, // updated 5.18
|
||||
SomeDirectorUnk1 = 0x0084, // updated 5.18
|
||||
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
|
||||
SomeDirectorUnk4 = 0x01F3, // updated 5.21 hotfix
|
||||
SomeDirectorUnk4 = 0x01DF, // updated 5.3
|
||||
SomeDirectorUnk8 = 0x028A, // updated 5.18
|
||||
SomeDirectorUnk16 = 0x028C, // updated 5.18
|
||||
DirectorPopUp = 0xF162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown
|
||||
|
@ -221,7 +222,7 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
CFAvailableContents = 0xF1FD, // updated 4.2
|
||||
|
||||
WeatherChange = 0x0157, // updated 5.25
|
||||
WeatherChange = 0x03D6, // updated 5.3
|
||||
PlayerTitleList = 0x037D, // updated 5.1
|
||||
Discovery = 0x0173, // updated 5.25
|
||||
|
||||
|
@ -229,6 +230,7 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
EquipDisplayFlags = 0x010D, // updated 5.25
|
||||
|
||||
MiniCactpotInit = 0x0286, // added 5.31
|
||||
ShopMessage = 0x00C1, // updated 5.25
|
||||
LootMessage = 0x00B1, // updated 5.25
|
||||
SocialInviteMessage = 0x02F0, // updated 5.25
|
||||
|
@ -267,8 +269,8 @@ namespace Sapphire::Network::Packets
|
|||
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
|
||||
PerformNote = 0x0286, // updated 4.3
|
||||
|
||||
PrepareZoning = 0x03B3, // updated 5.25
|
||||
ActorGauge = 0x007D, // updated 5.25
|
||||
PrepareZoning = 0x00F9, // updated 5.3
|
||||
ActorGauge = 0x020F, // updated 5.3
|
||||
|
||||
// daily quest info -> without them sent, login will take longer...
|
||||
DailyQuests = 0x031E, // updated 5.25
|
||||
|
@ -311,11 +313,11 @@ namespace Sapphire::Network::Packets
|
|||
SocialReqSendHandler = 0x00AE, // updated 4.1
|
||||
CreateCrossWorldLS = 0x00AF, // updated 4.3
|
||||
|
||||
ChatHandler = 0x0189, // updated 5.25
|
||||
ChatHandler = 0x01E2, // updated 5.3
|
||||
PartyChatHandler = 0x0065, // update 5.25
|
||||
|
||||
SocialListHandler = 0x0371, // updated 5.25
|
||||
SetSearchInfoHandler = 0x00FA, // updated 5.25
|
||||
SetSearchInfoHandler = 0x0210, // updated 5.3
|
||||
ReqSearchInfoHandler = 0x0366, // updated 5.25
|
||||
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
|
||||
|
||||
|
@ -343,19 +345,19 @@ namespace Sapphire::Network::Packets
|
|||
ReqCountdownCancel = 0x0244, // updated 5.25
|
||||
|
||||
ZoneLineHandler = 0x0214, // updated 5.25
|
||||
ClientTrigger = 0x017D, // updated 5.25
|
||||
ClientTrigger = 0x02BE, // updated 5.3
|
||||
DiscoveryHandler = 0x02C8, // updated 5.25
|
||||
|
||||
PlaceFieldMarkerPreset = 0x023F, // updated 5.25
|
||||
PlaceFieldMarker = 0x01BA, // updated 5.25
|
||||
SkillHandler = 0x0241, // updated 5.25
|
||||
SkillHandler = 0x033C, // updated 5.3
|
||||
GMCommand1 = 0x01EC, // updated 5.25
|
||||
GMCommand2 = 0x0368, // updated 5.25
|
||||
AoESkillHandler = 0x0364, // updated 5.21 hotfix
|
||||
|
||||
UpdatePositionHandler = 0x014D, // updated 5.25
|
||||
UpdatePositionHandler = 0x037B, // updated 5.3
|
||||
|
||||
InventoryModifyHandler = 0x0179, // updated 5.25
|
||||
InventoryModifyHandler = 0x0118, // updated 5.3
|
||||
|
||||
InventoryEquipRecommendedItems = 0x0149, // updated 5.0
|
||||
|
||||
|
@ -384,7 +386,7 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
SetSharedEstateSettings = 0x017B, // updated 5.0
|
||||
|
||||
UpdatePositionInstance = 0x0080, // updated 5.21 hotfix
|
||||
UpdatePositionInstance = 0x0245, // updated 5.3
|
||||
|
||||
PerformNoteHandler = 0x029B, // updated 4.3
|
||||
|
||||
|
|
|
@ -299,9 +299,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
|
||||
struct FFFXIVIpcMarketTaxRates : FFXIVIpcBasePacket< MarketTaxRates >
|
||||
{
|
||||
uint32_t unknown1;
|
||||
uint16_t padding1;
|
||||
uint16_t unknown2;
|
||||
// Same handler as MiniCactpotInit
|
||||
uint32_t type;
|
||||
uint16_t category;
|
||||
uint8_t unknown1;
|
||||
uint8_t unknown2;
|
||||
uint32_t taxRate[Common::TOWN_COUNT]; // In the order of Common::Town
|
||||
uint64_t unknown3;
|
||||
};
|
||||
|
@ -1565,7 +1567,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
|
||||
/**
|
||||
* Structural representation of the packet sent by the server
|
||||
* to send a unviel a map
|
||||
* to send a unveil a map
|
||||
*/
|
||||
struct FFXIVIpcDiscovery : FFXIVIpcBasePacket< Discovery >
|
||||
{
|
||||
|
@ -1694,6 +1696,52 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint8_t bitmask;
|
||||
};
|
||||
|
||||
struct FFXIVIpcMiniCactPotInit : FFXIVIpcBasePacket< MiniCactpotInit >
|
||||
{
|
||||
/*
|
||||
* Looks like this shares a handler with MarketTaxRates and a few
|
||||
* other packets, so these first fields are most likely discriminators
|
||||
* or other metadata for the handler itself.
|
||||
*/
|
||||
uint32_t type;
|
||||
uint16_t category;
|
||||
uint8_t unknown1;
|
||||
uint8_t unknown2;
|
||||
/*
|
||||
* Always 18 for this packet, incidentally the number of payouts plus 1.
|
||||
* Used similarly for MarketTaxRates => for (auto i = 0; i <= indexEnd; i++) {}
|
||||
*/
|
||||
uint8_t indexEnd;
|
||||
uint8_t unknown3;
|
||||
uint16_t padding1;
|
||||
/*
|
||||
* On clicking a number, the client sends a ClientTrigger (DirectorSync) with an unknown
|
||||
* param2, param5; param1 session, param3 column, param4 row; zero param6, and the server
|
||||
* replies with an ActorControlSelf (DirectorUpdate) with an unknown param2; param1 session,
|
||||
* param3 column, param4 row, param5 digit; zero param6. After a line is selected,
|
||||
* the server replies with 9 DirectorUpdate packets, in order (column, row), containing every
|
||||
* number on the board (why tho). Finally, one last DirectorUpdate is sent with parameters
|
||||
* param1 session, param3 payout index; unknown param2, param4; zero param5, param6.
|
||||
*/
|
||||
uint32_t column; // zero-based
|
||||
uint32_t row;
|
||||
uint32_t firstDigit;
|
||||
uint32_t payouts[19]; // In in-game display order
|
||||
uint32_t unknown4;
|
||||
/*
|
||||
* All of the below fields seem to be gibberish, and change completely between
|
||||
* draws and characters.
|
||||
*/
|
||||
uint32_t unknown5;
|
||||
uint32_t unknown6;
|
||||
uint32_t unknown7;
|
||||
uint32_t unknown8;
|
||||
uint16_t unknown9;
|
||||
uint16_t unknown10;
|
||||
uint32_t unknown11;
|
||||
uint64_t unknown12;
|
||||
};
|
||||
|
||||
/**
|
||||
* Structural representation of the packet sent by the server
|
||||
* to place/remove field marker presets
|
||||
|
|
Loading…
Add table
Reference in a new issue