1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-25 02:57:45 +00:00

packet update

This commit is contained in:
collett 2021-06-04 19:22:56 +09:00
parent d32a270883
commit 7bbb15d3cb
6 changed files with 101 additions and 109 deletions

View file

@ -43,8 +43,8 @@ namespace Sapphire::Network::Packets
*/
enum ServerZoneIpcType : uint16_t
{
Ping = 0x0183, // updated 5.45 hotfix
Init = 0x01EA, // updated 5.45 hotfix
Ping = 0x0289, // updated 5.55 hotfix
Init = 0x0203, // updated 5.55 hotfix
ActorFreeSpawn = 0x01C5, // updated 5.55 hotfix
InitZone = 0x021C, // updated 5.55 hotfix diff
@ -81,7 +81,7 @@ namespace Sapphire::Network::Packets
LogMessage = 0x00D0,
Chat = 0x0384, // updated 5.55 hotfix diff
PartyChat = 0x0065,
PartyChat = 0xF065,
WorldVisitList = 0xF0FE, // added 4.5
@ -93,7 +93,7 @@ namespace Sapphire::Network::Packets
ExamineSearchComment = 0x0102, // updated 4.1
ServerNoticeShort = 0x032D, // updated 5.55 hotfix diff
ServerNotice = 0x032D, // updated 5.55 hotfix diff
ServerNotice = 0x02CA, // updated 5.55 hotfix
SetOnlineStatus = 0x03A9, // updated 5.55 hotfix diff
CountdownInitiate = 0x0237, // updated 5.25
@ -250,8 +250,8 @@ namespace Sapphire::Network::Packets
/// Housing //////////////////////////////////////
LandSetInitialize = 0x0109, // updated 5.55 hotfix diff
LandUpdate = 0x01E4, // updated 5.55 hotfix diff
LandSetInitialize = 0x01E4, // updated 5.55 hotfix
LandUpdate = 0xF1E4, // updated 5.55 hotfix diff
YardObjectSpawn = 0x0219, // updated 5.55 hotfix diff
HousingIndoorInitialize = 0x00EE, // updated 5.55 hotfix diff
LandPriceUpdate = 0x00EE, // updated 5.55 hotfix diff
@ -259,10 +259,10 @@ namespace Sapphire::Network::Packets
LandRename = 0x02D9, // updated 5.55 hotfix diff
HousingEstateGreeting = 0x011C, // updated 5.55 hotfix diff
HousingUpdateLandFlagsSlot = 0x03C8, // updated 5.55 hotfix diff
HousingLandFlags = 0x01B9, // updated 5.55 hotfix diff
HousingShowEstateGuestAccess = 0x025F, // updated 5.55 hotfix diff
HousingLandFlags = 0x037E, // updated 5.55 hotfix
HousingShowEstateGuestAccess = 0xF25F, // updated 5.55 hotfix diff
HousingObjectInitialize = 0x02D9, // updated 5.55 hotfix diff
HousingObjectInitialize = 0x0331, // updated 5.55 hotfix
HousingInternalObjectSpawn = 0x0084, // updated 5.55 hotfix diff
HousingWardInfo = 0x0234, // updated 5.55 hotfix diff
@ -315,71 +315,71 @@ namespace Sapphire::Network::Packets
*/
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x0183, // updated 5.45 hotfix
InitHandler = 0x01EA, // updated 5.45 hotfix
PingHandler = 0x03AD, // updated 5.55 hotfix
InitHandler = 0x03DA, // updated 5.55 hotfix
FinishLoadingHandler = 0x023F, // updated 5.45 hotfix
FinishLoadingHandler = 0x0203, // updated 5.55 hotfix
CFCommenceHandler = 0x0118, // updated 5.35 hotfix
CFCommenceHandler = 0xF118, // updated 5.35 hotfix
CFCancelHandler = 0x0332, // updated 5.35 hotfix
CFRegisterDuty = 0x033C, // updated 5.45 hotfix
CFRegisterRoulette = 0x0121, // updated 5.45 hotfix
PlayTimeHandler = 0x0365, // updated 5.55 hotfix diff
LogoutHandler = 0x01BE, // updated 5.55 hotfix diff
CancelLogout = 0x010F, // updated 5.55 hotfix diff
CFCancelHandler = 0xF332, // updated 5.35 hotfix
CFRegisterDuty = 0xF33C, // updated 5.45 hotfix
CFRegisterRoulette = 0xF121, // updated 5.45 hotfix
PlayTimeHandler = 0xF365, // updated 5.55 hotfix diff
LogoutHandler = 0x039B, // updated 5.55 hotfix
CancelLogout = 0xF10F, // updated 5.55 hotfix diff
CFDutyInfoHandler = 0x0078, // updated 4.2
CFDutyInfoHandler = 0xF078, // updated 4.2
SocialReqSendHandler = 0x01B1, // updated 5.55 hotfix diff
SocialResponseHandler = 0x029B, // updated 5.45 hotfix
CreateCrossWorldLS = 0x00AF, // updated 4.3
SocialReqSendHandler = 0xF1B1, // updated 5.55 hotfix diff
SocialResponseHandler = 0xF29B, // updated 5.45 hotfix
CreateCrossWorldLS = 0xF0AF, // updated 4.3
ChatHandler = 0x01B8, // updated 5.55 hotfix
PartyChatHandler = 0x0065,
PartySetLeaderHandler = 0x02EF, // updated 5.45 hotfix
PartySetLeaderHandler = 0xF2EF, // updated 5.45 hotfix
LeavePartyHandler = 0x01A4, // updated 5.55 hotfix diff
KickPartyMemberHandler = 0x0070, // updated 5.45 hotfix
DisbandPartyHandler = 0x037A, // updated 5.45 hotfix
KickPartyMemberHandler = 0xF070, // updated 5.45 hotfix
DisbandPartyHandler = 0xF37A, // updated 5.45 hotfix
SocialListHandler = 0x0152, // updated 5.55 hotfix diff
SocialListHandler = 0x00F2, // updated 5.55 hotfix
SetSearchInfoHandler = 0x009C, // updated 5.55 hotfix
ReqSearchInfoHandler = 0x02B8, // updated 5.55 hotfix diff
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqSearchInfoHandler = 0x00B1, // updated 5.55 hotfix
ReqExamineSearchCommentHandler = 0xF0E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0
BlackListHandler = 0x03DE, // updated 5.55 hotfix diff
PlayerSearchHandler = 0x00F4, // updated 5.0
ReqRemovePlayerFromBlacklist = 0xF0F1, // updated 5.0
BlackListHandler = 0x03DE, // updated 5.55 hotfix
PlayerSearchHandler = 0xF0F4, // updated 5.0
LinkshellListHandler = 0x038F, // updated 5.55 hotfix diff
LinkshellListHandler = 0x0291, // updated 5.55 hotfix
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
MarketBoardRequestItemListings = 0x0103, // updated 4.5
MarketBoardSearch = 0x0107, // updated 4.5
MarketBoardRequestItemListingInfo = 0xF102, // updated 4.5
MarketBoardRequestItemListings = 0xF103, // updated 4.5
MarketBoardSearch = 0xF107, // updated 4.5
ReqExamineFcInfo = 0x0113, // updated 4.1
ReqExamineFcInfo = 0xF113, // updated 4.1
FcInfoReqHandler = 0x011A, // updated 4.2
FcInfoReqHandler = 0xF11A, // updated 4.2
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
FreeCompanyUpdateShortMessageHandler = 0xF123, // added 5.0
ReqMarketWishList = 0x012C, // updated 4.3
ReqMarketWishList = 0xF12C, // updated 4.3
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqJoinNoviceNetwork = 0xF129, // updated 4.2
ReqCountdownInitiate = 0x025F, // updated 5.35 hotfix
ReqCountdownCancel = 0x0244, // updated 5.25
ReqCountdownInitiate = 0xF25F, // updated 5.35 hotfix
ReqCountdownCancel = 0xF244, // updated 5.25
ZoneLineHandler = 0x0337, // updated 5.55 hotfix diff
ZoneLineHandler = 0xF337, // updated 5.55 hotfix diff
ClientTrigger = 0x0337, // updated 5.55 hotfix
DiscoveryHandler = 0x00E3, // updated 5.35 hotfix
DiscoveryHandler = 0xF0E3, // updated 5.35 hotfix
PlaceFieldMarkerPreset = 0x010C, // updated 5.55 hotfix diff
PlaceFieldMarker = 0x02E2, // updated 5.55 hotfix diff
SkillHandler = 0x01F0, // updated 5.55 hotfix diff
GMCommand1 = 0x03DC, // updated 5.55 hotfix diff
GMCommand2 = 0x013D, // updated 5.55 hotfix diff
AoESkillHandler = 0x024B, // updated 5.55 hotfix diff
PlaceFieldMarkerPreset = 0xF10C, // updated 5.55 hotfix diff
PlaceFieldMarker = 0xF2E2, // updated 5.55 hotfix diff
SkillHandler = 0x02A2, // updated 5.55 hotfix
GMCommand1 = 0xF3DC, // updated 5.55 hotfix diff
GMCommand2 = 0xF13D, // updated 5.55 hotfix diff
AoESkillHandler = 0xF24B, // updated 5.55 hotfix diff
UpdatePositionHandler = 0x024B, // updated 5.55 hotfix
@ -387,37 +387,37 @@ namespace Sapphire::Network::Packets
InventoryEquipRecommendedItems = 0x0186, // updated 5.45 hotfix
ReqPlaceHousingItem = 0x0313, // updated 5.55 hotfix diff
BuildPresetHandler = 0x01E9, // updated 5.55 hotfix diff
ReqPlaceHousingItem = 0xF313, // updated 5.55 hotfix diff
BuildPresetHandler = 0xF1E9, // updated 5.55 hotfix diff
TalkEventHandler = 0x01C8, // updated 5.55 hotfix diff
EmoteEventHandler = 0x035A, // updated 5.55 hotfix diff
WithinRangeEventHandler = 0x0338, // updated 5.55 hotfix diff
OutOfRangeEventHandler = 0x0077, // updated 5.55 hotfix diff
EnterTeriEventHandler = 0x0283, // updated 5.55 hotfix diff
TalkEventHandler = 0x01E9, // updated 5.55 hotfix
EmoteEventHandler = 0xF35A, // updated 5.55 hotfix diff
WithinRangeEventHandler = 0xF338, // updated 5.55 hotfix diff
OutOfRangeEventHandler = 0xF077, // updated 5.55 hotfix diff
EnterTeriEventHandler = 0xF283, // updated 5.55 hotfix diff
ShopEventHandler = 0x03D4, // updated 5.45 hotfix
EventYieldHandler = 0x02A0, // updated 5.55 hotfix diff
ReturnEventHandler = 0x0091, // updated 5.55 hotfix diff
TradeReturnEventHandler = 0x0169, // updated 5.55 hotfix diff
TradeMultipleReturnEventHander = 0x035C, // updated 5.35 hotfix
EventYieldHandler = 0xF2A0, // updated 5.55 hotfix diff
ReturnEventHandler = 0x015D, // updated 5.55 hotfix
TradeReturnEventHandler = 0x0091, // updated 5.55 hotfix
TradeMultipleReturnEventHander = 0xF35C, // updated 5.35 hotfix
LinkshellEventHandler = 0x016B, // updated 4.5
LinkshellEventHandler1 = 0x016C, // updated 4.5
ReqEquipDisplayFlagsChange = 0x025E, // updated 5.55 hotfix diff
ReqEquipDisplayFlagsChange = 0xF25E, // updated 5.55 hotfix diff
LandRenameHandler = 0x0330, // updated 5.55 hotfix diff
HousingUpdateHouseGreeting = 0x01BD, // updated 5.55 hotfix diff
HousingUpdateObjectPosition = 0x03A5, // updated 5.55 hotfix diff
HousingEditExterior = 0x01D7, // updated 5.55 hotfix diff
LandRenameHandler = 0xF330, // updated 5.55 hotfix diff
HousingUpdateHouseGreeting = 0xF1BD, // updated 5.55 hotfix diff
HousingUpdateObjectPosition = 0xF3A5, // updated 5.55 hotfix diff
HousingEditExterior = 0xF1D7, // updated 5.55 hotfix diff
SetSharedEstateSettings = 0x03DC, // updated 5.55 hotfix diff
SetSharedEstateSettings = 0xF3DC, // updated 5.55 hotfix diff
UpdatePositionInstance = 0x009D, // updated 5.55 hotfix
PerformNoteHandler = 0x00FE, // updated 5.55 hotfix diff
PerformNoteHandler = 0xF0FE, // updated 5.55 hotfix diff
WorldInteractionHandler = 0x007D, // updated 5.55 hotfix diff
WorldInteractionHandler = 0xF07D, // updated 5.55 hotfix diff
Dive = 0x0306, // updated 5.55 hotfix diff
};

View file

@ -680,6 +680,7 @@ namespace Sapphire::Network::Packets::Server
uint16_t unk; // == 0
uint16_t modelChara;
uint16_t rotation;
uint16_t currentMount;
uint16_t activeMinion;
uint8_t spawnIndex;
uint8_t state;
@ -693,24 +694,20 @@ namespace Sapphire::Network::Packets::Server
uint8_t classJob;
uint8_t u26d;
uint16_t u27a;
uint8_t currentMount;
uint8_t mountHead;
uint8_t mountBody;
uint8_t mountFeet;
uint8_t mountColor;
uint8_t scale;
//uint32_t elementalLevel; one of these two field changed to 16bit
//uint32_t element;
uint8_t elementData[6];
uint8_t unknown5_5[3];
Common::StatusEffect effect[30];
Common::FFXIVARR_POSITION3 pos;
uint32_t models[10];
char name[32];
uint8_t look[26];
char fcTag[6];
uint32_t unk30;
uint32_t unk30[2];
};
/**
@ -753,9 +750,10 @@ namespace Sapphire::Network::Packets::Server
uint32_t displayFlags;
uint16_t fateID;
uint16_t mPCurr;
uint16_t unknown1; // 0
uint16_t unknown2; // 0 or pretty big numbers > 30000
uint16_t unknown1;
uint16_t unknown2;
uint16_t modelChara;
uint16_t currentMount;
uint16_t rotation;
uint16_t activeMinion;
uint8_t spawnIndex;
@ -770,13 +768,13 @@ namespace Sapphire::Network::Packets::Server
uint8_t classJob;
uint8_t u26d;
uint16_t u27a;
uint8_t currentMount;
uint8_t mountHead;
uint8_t mountBody;
uint8_t mountFeet;
uint8_t mountColor;
uint8_t scale;
uint8_t elemental[6];
uint8_t unknown5_5[3];
Common::StatusEffect effect[30];
Common::FFXIVARR_POSITION3 pos;
uint32_t models[10];
@ -788,7 +786,7 @@ namespace Sapphire::Network::Packets::Server
uint8_t bNPCPartSlot;
uint8_t unk32;
uint16_t unk33;
uint32_t unk34;
uint32_t unk34[2];
};
/**
@ -1040,12 +1038,12 @@ namespace Sapphire::Network::Packets::Server
unsigned char mountGuideMask[22];
unsigned char u19_2;
*/
unsigned char unknown5_3a[176];
unsigned char unknown5_55a[178];
unsigned char companionName[21];
unsigned char companionDefRank;
unsigned char companionAttRank;
unsigned char companionHealRank;
unsigned char mountGuideMask[27];
unsigned char mountGuideMask[29];
//==
char name[32];
unsigned char unknownOword[16];
@ -1054,11 +1052,10 @@ namespace Sapphire::Network::Packets::Server
unsigned char aetheryte[21];
unsigned char discovery[445];
unsigned char howto[34];
unsigned char minions[53];
unsigned char minions[55];
unsigned char chocoboTaxiMask[10];
unsigned char watchedCutscenes[135];
unsigned char companionBardingMask[10];
unsigned char unknown5_45a; // companionBardingMask[11]?
unsigned char watchedCutscenes[137];
unsigned char companionBardingMask[11];
unsigned char companionEquippedHead;
unsigned char companionEquippedBody;
unsigned char companionEquippedLegs;
@ -1091,12 +1088,12 @@ namespace Sapphire::Network::Packets::Server
unsigned char aetherCurrentMask[22];
unsigned char u10[3];
*/
unsigned char unknown5_45c[294];
unsigned char unknown5_55b[295];
//==
unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_45c
unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_55b
unsigned char hallOfNoviceCompletion[3];
unsigned char animaCompletion[11];
unsigned char unknown5_3e[33];
unsigned char unknown5_55c[35];
unsigned char unlockedRaids[28];
unsigned char unlockedDungeons[18];
unsigned char unlockedGuildhests[10];
@ -1116,7 +1113,7 @@ namespace Sapphire::Network::Packets::Server
unsigned int exploratoryMissionNextTimestamp;
unsigned char pvpLevel;
*/
unsigned char unknown5_45d[8];
unsigned char unknown5_55d[9];
//==
};

View file

@ -1654,7 +1654,7 @@ uint16_t Sapphire::Entity::Player::getCurrentCompanion() const
return m_companionId;
}
uint8_t Sapphire::Entity::Player::getCurrentMount() const
uint16_t Sapphire::Entity::Player::getCurrentMount() const
{
return m_mount;
}

View file

@ -584,7 +584,7 @@ namespace Sapphire::Entity
uint16_t getCurrentCompanion() const;
/*! get the current mount */
uint8_t getCurrentMount() const;
uint16_t getCurrentMount() const;
/*! set current persistent emote */
void setPersistentEmote( uint32_t emoteId );
@ -1127,8 +1127,8 @@ namespace Sapphire::Entity
uint16_t m_activeTitle;
uint8_t m_titleList[48];
uint8_t m_howTo[34];
uint8_t m_minions[40];
uint8_t m_mountGuide[27];
uint8_t m_minions[55];
uint8_t m_mountGuide[29];
uint8_t m_homePoint;
uint8_t m_startTown;
uint16_t m_townWarpFstFlags;

View file

@ -129,6 +129,9 @@ bool Sapphire::Entity::Player::load( uint32_t charId, World::SessionPtr pSession
auto titleList = res->getBlobVector( "TitleList" );
memcpy( reinterpret_cast< char* >( m_titleList ), titleList.data(), titleList.size() );
auto minions = res->getBlobVector( "Minions" );
memcpy( reinterpret_cast< char* >( m_minions ), minions.data(), minions.size() );
auto mountGuide = res->getBlobVector( "Mounts" );
memcpy( reinterpret_cast< char* >( m_mountGuide ), mountGuide.data(), mountGuide.size() );

View file

@ -226,22 +226,14 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
if( player.getLevelForClass( static_cast< Common::ClassJob > ( id ) ) == 0 )
{
player.setLevelForClass( 1, static_cast< Common::ClassJob > ( id ) );
player.setClassJob( static_cast< Common::ClassJob > ( id ) );
player.sendModel();
player.sendItemLevel();
player.calculateStats();
player.sendStats();
player.sendStatusEffectUpdate();
player.sendStatusUpdate();
}
else
player.setClassJob( static_cast< Common::ClassJob > ( id ) );
player.sendModel();
player.sendItemLevel();
player.calculateStats();
player.sendStats();
player.sendStatusEffectUpdate();
player.sendStatusUpdate();
player.setClassJob( static_cast< Common::ClassJob > ( id ) );
player.sendModel();
player.sendItemLevel();
player.calculateStats();
player.sendStats();
player.sendStatusEffectUpdate();
player.sendStatusUpdate();
}
else if( subCommand == "cfpenalty" )
{