1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-04 01:37:47 +00:00

Merge pull request #649 from collett8192/update_5.21

Update 5.21
This commit is contained in:
Adam 2020-03-11 09:40:07 +11:00 committed by GitHub
commit da199b7626
3 changed files with 115 additions and 106 deletions

View file

@ -51,11 +51,11 @@ namespace Sapphire::Common
enum InventoryOperation : uint16_t enum InventoryOperation : uint16_t
{ {
Discard = 0x2EB, Discard = 0x07A,
Move = 0x2EC, Move = 0x007B,
Swap = 0x2ED, Swap = 0x007C,
Merge = 0x2F0, Split = 0x007D,
Split = 0x2EE Merge = 0x007F,
}; };
enum ClientLanguage : uint8_t enum ClientLanguage : uint8_t

View file

@ -43,32 +43,32 @@ namespace Sapphire::Network::Packets
*/ */
enum ServerZoneIpcType : uint16_t enum ServerZoneIpcType : uint16_t
{ {
Ping = 0x0106, // updated 5.2 Ping = 0x03E4, // updated 5.21
Init = 0x0307, // updated 5.2 Init = 0x00F2, // updated 5.21
ActorFreeSpawn = 0x01D1, // updated 5.2 ActorFreeSpawn = 0x034F, // updated 5.21
InitZone = 0x033A, // updated 5.2 InitZone = 0x019C, // updated 5.21
EffectResult = 0x0340, // updated 5.2 EffectResult = 0x02CF, // updated 5.21
ActorControl = 0x01E1, // updated 5.2 ActorControl = 0x0246, // updated 5.21
ActorControlSelf = 0x010E, // updated 5.2 ActorControlSelf = 0x02D1, // updated 5.21
ActorControlTarget = 0x00AE, // updated 5.2 ActorControlTarget = 0x02FB, // updated 5.21
/*! /*!
* @brief Used when resting * @brief Used when resting
*/ */
UpdateHpMpTp = 0x00C1, // updated 5.2 UpdateHpMpTp = 0x0284, // updated 5.21
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
ChatBanned = 0x006B, ChatBanned = 0x006B,
Playtime = 0x00E7, // updated 5.18 Playtime = 0x0284, // updated 5.21
Logout = 0x0A1, // updated 5.2 Logout = 0x01D4, // updated 5.21
CFNotify = 0x01F8, // updated 5.18 CFNotify = 0x0241, // updated 5.21
CFMemberStatus = 0x0079, CFMemberStatus = 0x0079,
CFDutyInfo = 0x007A, CFDutyInfo = 0x007A,
CFPlayerInNeed = 0x007F, CFPlayerInNeed = 0x007F,
CFPreferredRole = 0x031F, // added 5.2 CFPreferredRole = 0x00D4, // added 5.21
SocialRequestError = 0x00AD, SocialRequestError = 0x00AD,
@ -78,29 +78,29 @@ namespace Sapphire::Network::Packets
LogMessage = 0x00D0, LogMessage = 0x00D0,
Chat = 0x0154, // updated 5.2 Chat = 0x022F, // updated 5.21
WorldVisitList = 0x00FE, // added 4.5 WorldVisitList = 0x00FE, // added 4.5
SocialList = 0x033E, // updated 5.2 SocialList = 0x00CE, // updated 5.21
ExamineSearchInfo = 0x0186, // updated 5.2 ExamineSearchInfo = 0x014B, // updated 5.21
UpdateSearchInfo = 0x017D, // updated 5.2 UpdateSearchInfo = 0x00EA, // updated 5.21
InitSearchInfo = 0x021C, // updated 5.2 InitSearchInfo = 0x0143, // updated 5.21
ExamineSearchComment = 0x0102, // updated 4.1 ExamineSearchComment = 0x0102, // updated 4.1
ServerNoticeShort = 0x0115, // updated 5.0 ServerNoticeShort = 0x0115, // updated 5.0
ServerNotice = 0x0308, // updated 5.2 ServerNotice = 0x016F, // updated 5.21
SetOnlineStatus = 0x0185, // updated 5.2 SetOnlineStatus = 0x01EA, // updated 5.21
CountdownInitiate = 0x0309, // updated 5.11 CountdownInitiate = 0x0309, // updated 5.11
CountdownCancel = 0x00D9, // updated 5.18 CountdownCancel = 0x00D9, // updated 5.18
PlayerAddedToBlacklist = 0x033F, // updated 5.1 PlayerAddedToBlacklist = 0x033F, // updated 5.1
PlayerRemovedFromBlacklist = 0x0385, // updated 5.1 PlayerRemovedFromBlacklist = 0x0385, // updated 5.1
BlackList = 0x01A2, // updated 5.2 BlackList = 0x01DE, // updated 5.21
LinkshellList = 0x028C, // updated 5.2 LinkshellList = 0x01EB, // updated 5.21
MailDeleteRequest = 0x012B, // updated 5.0 MailDeleteRequest = 0x012B, // updated 5.0
@ -109,12 +109,12 @@ namespace Sapphire::Network::Packets
ReqMoogleMailLetter = 0x0139, // updated 5.0 ReqMoogleMailLetter = 0x0139, // updated 5.0
MailLetterNotification = 0x013A, // updated 5.0 MailLetterNotification = 0x013A, // updated 5.0
MarketTaxRates = 0x02CD, // updated 5.2 MarketTaxRates = 0x01D7, // updated 5.21
MarketBoardItemListingCount = 0x030A, // updated 5.2 MarketBoardItemListingCount = 0x030A, // updated 5.2
MarketBoardItemListing = 0x023E, // updated 5.2 MarketBoardItemListing = 0x023E, // updated 5.2
MarketBoardItemListingHistory = 0x03C0, // updated 5.2 MarketBoardItemListingHistory = 0x03C0, // updated 5.2
MarketBoardSearchResult = 0x03D2, // updated 5.2 MarketBoardSearchResult = 0x01DD, // updated 5.21
CharaFreeCompanyTag = 0x013B, // updated 4.5 CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x013C, // updated 4.5 FreeCompanyBoardMsg = 0x013C, // updated 4.5
@ -123,94 +123,94 @@ namespace Sapphire::Network::Packets
FreeCompanyUpdateShortMessage = 0x0157, // added 5.0 FreeCompanyUpdateShortMessage = 0x0157, // added 5.0
StatusEffectList = 0x0374, // updated 5.2 StatusEffectList = 0x01B8, // updated 5.21
EurekaStatusEffectList = 0x0167, // updated 5.18 EurekaStatusEffectList = 0x0167, // updated 5.18
BossStatusEffectList = 0x0312, // added 5.1 BossStatusEffectList = 0x0312, // added 5.1
Effect = 0x028A, // updated 5.2 Effect = 0x0371, // updated 5.21
AoeEffect8 = 0x01F5, // updated 5.2 AoeEffect8 = 0x02DA, // updated 5.21
AoeEffect16 = 0x0305, // updated 5.18 AoeEffect16 = 0x012E, // updated 5.21
AoeEffect24 = 0x023F, // updated 5.18 AoeEffect24 = 0x0089, // updated 5.21
AoeEffect32 = 0x0352, // updated 5.18 AoeEffect32 = 0x01A9, // updated 5.21
PersistantEffect = 0x00CE, // updated 5.2 PersistantEffect = 0x03E7, // updated 5.21
GCAffiliation = 0x016F, // updated 5.0 GCAffiliation = 0x016F, // updated 5.0
PlayerSpawn = 0x027D, // updated 5.2 PlayerSpawn = 0x018E, // updated 5.21
NpcSpawn = 0x034B, // updated 5.2 NpcSpawn = 0x023A, // updated 5.21
NpcSpawn2 = 0x010C, // ( Bigger statuseffectlist? ) updated 5.18 NpcSpawn2 = 0x010C, // ( Bigger statuseffectlist? ) updated 5.18
ActorMove = 0x0130, // updated 5.2 ActorMove = 0x0213, // updated 5.21
ActorSetPos = 0x00CF, // updated 5.2 ActorSetPos = 0x00CC, // updated 5.21
ActorCast = 0x00F6, // updated 5.2 ActorCast = 0x0262, // updated 5.21
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18 SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x0287, // updated 5.18 PartyList = 0x0287, // updated 5.18
HateRank = 0x03AC, // updated 5.2 HateRank = 0x008F, // updated 5.21
HateList = 0x00C8, // updated 5.2 HateList = 0x01C5, // updated 5.21
ObjectSpawn = 0x01B3, // updated 5.2 ObjectSpawn = 0x01B3, // updated 5.2
ObjectDespawn = 0x034B, // updated 5.18 ObjectDespawn = 0x034B, // updated 5.18
UpdateClassInfo = 0x0131, // updated 5.2 UpdateClassInfo = 0x0145, // updated 5.21
SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x0278, // updated 5.2 PlayerSetup = 0x028A, // updated 5.21
PlayerStats = 0x03C8, // updated 5.2 PlayerStats = 0x0112, // updated 5.21
ActorOwner = 0x0290, // updated 5.2 ActorOwner = 0x0385, // updated 5.21
PlayerStateFlags = 0x032B, // updated 5.2 PlayerStateFlags = 0x02E1, // updated 5.21
PlayerClassInfo = 0x039A, // updated 5.2 PlayerClassInfo = 0x016B, // updated 5.21
ModelEquip = 0x03C9, // updated 5.2 ModelEquip = 0x0292, // updated 5.21
Examine = 0x038B, // updated 5.2 Examine = 0x0210, // updated 5.21
CharaNameReq = 0x0116, // updated 5.18 CharaNameReq = 0x03A6, // updated 5.21
// nb: see #565 on github // nb: see #565 on github
UpdateRetainerItemSalePrice = 0x019F, // updated 5.0 UpdateRetainerItemSalePrice = 0x019F, // updated 5.0
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x03D4, // updated 5.2 ItemInfo = 0x009E, // updated 5.21
ContainerInfo = 0x01A5, // updated 5.2 ContainerInfo = 0x0315, // updated 5.21
InventoryTransactionFinish = 0x02D7, // updated 5.2 InventoryTransactionFinish = 0x030E, // updated 5.21
InventoryTransaction = 0x01D8, // updated 5.2 InventoryTransaction = 0x006E, // updated 5.21
CurrencyCrystalInfo = 0x0277, // updated 5.2 CurrencyCrystalInfo = 0x00E9, // updated 5.21
InventoryActionAck = 0x0094, // updated 5.2 InventoryActionAck = 0x01F8, // updated 5.21
UpdateInventorySlot = 0x02E9, // updated 5.2 UpdateInventorySlot = 0x006F, // updated 5.21
HuntingLogEntry = 0x01B3, // updated 5.0 HuntingLogEntry = 0x01B3, // updated 5.0
EventPlay = 0x01F3, // updated 5.2 EventPlay = 0x0167, // updated 5.21
EventPlay4 = 0x02F7, // updated 5.18 EventPlay4 = 0x0313, // updated 5.21
EventPlay8 = 0x0119, // updated 5.18 EventPlay8 = 0x0119, // updated 5.18
EventPlay16 = 0x01FB, // updated 5.18 EventPlay16 = 0x01FB, // updated 5.18
EventPlay32 = 0x0364, // updated 5.18 EventPlay32 = 0x017D, // updated 5.21
EventPlay64 = 0x00E5, // updated 5.18 EventPlay64 = 0x00E5, // updated 5.18
EventPlay128 = 0x02BE, // updated 5.18 EventPlay128 = 0x02BE, // updated 5.18
EventPlay255 = 0x03B0, // updated 5.2 EventPlay255 = 0x0249, // updated 5.21
EventStart = 0x023D, // updated 5.2 EventStart = 0x0392, // updated 5.21
EventFinish = 0x0318, // updated 5.2 EventFinish = 0x00EF, // updated 5.21
UseMooch = 0x0233, // updated 5.18 UseMooch = 0x006E, // updated 5.21
EventLinkshell = 0x1169, EventLinkshell = 0x1169,
QuestActiveList = 0x017B, // updated 5.2 QuestActiveList = 0x01FA, // updated 5.21
QuestUpdate = 0x02CE, // updated 5.2 QuestUpdate = 0x00B1, // updated 5.21
QuestCompleteList = 0x0255, // updated 5.2 QuestCompleteList = 0x0093, // updated 5.21
QuestFinish = 0x006F, // updated 5.2 QuestFinish = 0x00AA, // updated 5.21
MSQTrackerComplete = 0x01D6, // updated 5.0 MSQTrackerComplete = 0x01D6, // updated 5.0
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x00BF, // updated 5.18 QuestMessage = 0x0379, // updated 5.21
QuestTracker = 0x0306, // updated 5.2 QuestTracker = 0x00B0, // updated 5.21
Mount = 0x023C, // updated 5.2 Mount = 0x036C, // updated 5.21
DirectorVars = 0x00E6, // updated 5.18 DirectorVars = 0x00E6, // updated 5.18
SomeDirectorUnk1 = 0x0084, // updated 5.18 SomeDirectorUnk1 = 0x0084, // updated 5.18
SomeDirectorUnk2 = 0x00C1, // updated 5.18 SomeDirectorUnk2 = 0x00C1, // updated 5.18
SomeDirectorUnk4 = 0x0100, // updated 5.18 SomeDirectorUnk4 = 0x014A, // updated 5.21
SomeDirectorUnk8 = 0x028A, // updated 5.18 SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18 SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0x0162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown DirectorPopUp = 0x0162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown
@ -219,13 +219,13 @@ namespace Sapphire::Network::Packets
CFAvailableContents = 0xF1FD, // updated 4.2 CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x02FB, // updated 5.11 WeatherChange = 0x024A, // updated 5.21
PlayerTitleList = 0x037D, // updated 5.1 PlayerTitleList = 0x037D, // updated 5.1
Discovery = 0x0091, // updated 5.2 Discovery = 0x0091, // updated 5.2
EorzeaTimeOffset = 0x03B8, // updated 5.1 EorzeaTimeOffset = 0x03B8, // updated 5.1
EquipDisplayFlags = 0x0173, // updated 5.2 EquipDisplayFlags = 0x012F, // updated 5.21
/// Housing ////////////////////////////////////// /// Housing //////////////////////////////////////
@ -238,7 +238,7 @@ namespace Sapphire::Network::Packets
LandRename = 0x023A, // updated 5.0 LandRename = 0x023A, // updated 5.0
HousingEstateGreeting = 0x023B, // updated 5.0 HousingEstateGreeting = 0x023B, // updated 5.0
HousingUpdateLandFlagsSlot = 0x023C, // updated 5.0 HousingUpdateLandFlagsSlot = 0x023C, // updated 5.0
HousingLandFlags = 0x00FE, // updated 5.2 HousingLandFlags = 0x0291, // updated 5.21
HousingShowEstateGuestAccess = 0x023E, // updated 5.0 HousingShowEstateGuestAccess = 0x023E, // updated 5.0
HousingObjectInitialize = 0x0240, // updated 5.0 HousingObjectInitialize = 0x0240, // updated 5.0
@ -258,12 +258,12 @@ namespace Sapphire::Network::Packets
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
PerformNote = 0x0286, // updated 4.3 PerformNote = 0x0286, // updated 4.3
PrepareZoning = 0x0208, // updated 5.2 PrepareZoning = 0x01BE, // updated 5.21
ActorGauge = 0x0162, // updated 5.2 ActorGauge = 0x03BB, // updated 5.21
// daily quest info -> without them sent, login will take longer... // daily quest info -> without them sent, login will take longer...
DailyQuests = 0x00A2, // updated 5.2 DailyQuests = 0x00E4, // updated 5.21
DailyQuestRepeatFlags = 0x013D, // updated 5.2 DailyQuestRepeatFlags = 0x0068, // updated 5.21
/// Doman Mahjong ////////////////////////////////////// /// Doman Mahjong //////////////////////////////////////
MahjongOpenGui = 0x02A4, // only available in mahjong instance MahjongOpenGui = 0x02A4, // only available in mahjong instance
@ -283,10 +283,10 @@ namespace Sapphire::Network::Packets
*/ */
enum ClientZoneIpcType : uint16_t enum ClientZoneIpcType : uint16_t
{ {
PingHandler = 0x0106, // updated 5.2 PingHandler = 0x03E4, // updated 5.21
InitHandler = 0x0307, // updated 5.2 InitHandler = 0x00F2, // updated 5.21
FinishLoadingHandler = 0x012B, // updated 5.2 FinishLoadingHandler = 0x007D, // updated 5.21
CFCommenceHandler = 0x006F, CFCommenceHandler = 0x006F,
@ -294,7 +294,7 @@ namespace Sapphire::Network::Packets
CFRegisterDuty = 0x0071, CFRegisterDuty = 0x0071,
CFRegisterRoulette = 0xFF72, CFRegisterRoulette = 0xFF72,
PlayTimeHandler = 0x0276, // updated 5.1 PlayTimeHandler = 0x0276, // updated 5.1
LogoutHandler = 0x029C, // updated 5.2 LogoutHandler = 0x0365, // updated 5.21
CancelLogout = 0x008F, // updated 5.1 CancelLogout = 0x008F, // updated 5.1
CFDutyInfoHandler = 0x0078, // updated 4.2 CFDutyInfoHandler = 0x0078, // updated 4.2
@ -302,18 +302,18 @@ namespace Sapphire::Network::Packets
SocialReqSendHandler = 0x00AE, // updated 4.1 SocialReqSendHandler = 0x00AE, // updated 4.1
CreateCrossWorldLS = 0x00AF, // updated 4.3 CreateCrossWorldLS = 0x00AF, // updated 4.3
ChatHandler = 0x013A, // updated 5.2 ChatHandler = 0x034C, // updated 5.21
SocialListHandler = 0x03E7, // updated 5.2 SocialListHandler = 0x0123, // updated 5.21
SetSearchInfoHandler = 0x00A8, // updated 5.2 SetSearchInfoHandler = 0x039B, // updated 5.21
ReqSearchInfoHandler = 0x007B, // updated 5.2 ReqSearchInfoHandler = 0x01CD, // updated 5.21
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0 ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0 ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0
BlackListHandler = 0x0329, // updated 5.2 BlackListHandler = 0x0358, // updated 5.21
PlayerSearchHandler = 0x00F4, // updated 5.0 PlayerSearchHandler = 0x00F4, // updated 5.0
LinkshellListHandler = 0x00A7, // updated 5.2 LinkshellListHandler = 0x01CF, // updated 5.21
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5 MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
MarketBoardRequestItemListings = 0x0103, // updated 4.5 MarketBoardRequestItemListings = 0x0103, // updated 4.5
@ -332,39 +332,39 @@ namespace Sapphire::Network::Packets
ReqCountdownInitiate = 0x0135, // updated 5.0 ReqCountdownInitiate = 0x0135, // updated 5.0
ReqCountdownCancel = 0x0136, // updated 5.0 ReqCountdownCancel = 0x0136, // updated 5.0
ZoneLineHandler = 0x00B9, // updated 5.2 ZoneLineHandler = 0x0163, // updated 5.21
ClientTrigger = 0x017C, // updated 5.2 ClientTrigger = 0x01A0, // updated 5.21
DiscoveryHandler = 0x019A, // updated 5.2 DiscoveryHandler = 0x019A, // updated 5.2
PlaceFieldMarker = 0x013C, // updated 5.0 PlaceFieldMarker = 0x013C, // updated 5.0
SkillHandler = 0x0225, // updated 5.2 SkillHandler = 0x0372, // updated 5.21
GMCommand1 = 0x0393, // updated 5.2 GMCommand1 = 0x029A, // updated 5.21
GMCommand2 = 0x020B, // updated 5.2 GMCommand2 = 0x0182, // updated 5.21
AoESkillHandler = 0x0072, // updated 5.18 AoESkillHandler = 0x0072, // updated 5.18
UpdatePositionHandler = 0x0270, // updated 5.2 UpdatePositionHandler = 0x031A, // updated 5.21
InventoryModifyHandler = 0x02E4, // updated 5.2 InventoryModifyHandler = 0x0073, // updated 5.21
InventoryEquipRecommendedItems = 0x0149, // updated 5.0 InventoryEquipRecommendedItems = 0x0149, // updated 5.0
ReqPlaceHousingItem = 0x014B, // updated 5.0 ReqPlaceHousingItem = 0x014B, // updated 5.0
BuildPresetHandler = 0x0150, // updated 5.0 BuildPresetHandler = 0x0150, // updated 5.0
TalkEventHandler = 0x0340, // updated 5.2 TalkEventHandler = 0x02CF, // updated 5.21
EmoteEventHandler = 0x01E1, // updated 5.2 EmoteEventHandler = 0x0246, // updated 5.21
WithinRangeEventHandler = 0x010E, // updated 5.2 WithinRangeEventHandler = 0x02D1, // updated 5.21
OutOfRangeEventHandler = 0x00AE, // updated 5.2 OutOfRangeEventHandler = 0x02FB, // updated 5.21
EnterTeriEventHandler = 0x00C1, // updated 5.2 EnterTeriEventHandler = 0x0284, // updated 5.21
ShopEventHandler = 0x0156, // updated 5.0 ShopEventHandler = 0x0156, // updated 5.0
ReturnEventHandler = 0x027F, // updated 5.2 ReturnEventHandler = 0x012E, // updated 5.21
TradeReturnEventHandler = 0x02DB, // updated 5.2 TradeReturnEventHandler = 0x0089, // updated 5.21
LinkshellEventHandler = 0x016B, // updated 4.5 LinkshellEventHandler = 0x016B, // updated 4.5
LinkshellEventHandler1 = 0x016C, // updated 4.5 LinkshellEventHandler1 = 0x016C, // updated 4.5
ReqEquipDisplayFlagsChange = 0x02E2, // updated 5.2 ReqEquipDisplayFlagsChange = 0x0083, // updated 5.21
LandRenameHandler = 0xF177, // updated 5.0 LandRenameHandler = 0xF177, // updated 5.0
HousingUpdateHouseGreeting = 0x0178, // updated 5.0 HousingUpdateHouseGreeting = 0x0178, // updated 5.0

View file

@ -1803,6 +1803,15 @@ void Sapphire::Entity::Player::sendZonePackets()
queuePacket( unk320 ); queuePacket( unk320 );
} }
//this is needed from 5.21, after InitZone and before FinishLoadingHandler
auto classInfoPacket = makeZonePacket< FFXIVIpcUpdateClassInfo >( getId() );
classInfoPacket->data().classId = static_cast< uint8_t > ( getClass() );
classInfoPacket->data().level1 = getLevel();
classInfoPacket->data().level = getLevel();
classInfoPacket->data().nextLevelIndex = getLevel();
classInfoPacket->data().currentExp = getExp();
queuePacket( classInfoPacket );
// if( getLastPing() == 0 ) // if( getLastPing() == 0 )
// sendQuestInfo(); // sendQuestInfo();