mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-02 08:57:44 +00:00
fix social list and party
This commit is contained in:
parent
34320ed78c
commit
036a561098
3 changed files with 23 additions and 22 deletions
|
@ -82,9 +82,9 @@ enum ServerZoneIpcType :
|
||||||
SocialRequestError = 0xF0AD,
|
SocialRequestError = 0xF0AD,
|
||||||
|
|
||||||
CFRegistered = 0x029F, // updated 5.58h
|
CFRegistered = 0x029F, // updated 5.58h
|
||||||
SocialInviteResponse = 0x373, // updated 6.48
|
SocialInviteResponse = 0x322, // updated 6.58 hotfix 2
|
||||||
SocialInviteUpdate = 0x03CB, // updated 5.58h
|
SocialInviteUpdate = 0x01C1, // updated 6.58 hotfix 2
|
||||||
SocialInviteResult = 0x01D7, // updated 5.58h
|
SocialInviteResult = 0x031B, // updated 6.58 hotfix 2
|
||||||
CancelAllianceForming = 0xF0C6, // updated 4.2
|
CancelAllianceForming = 0xF0C6, // updated 4.2
|
||||||
|
|
||||||
LogMessage = 0x19C, // updated 6.58 hotfix 2?
|
LogMessage = 0x19C, // updated 6.58 hotfix 2?
|
||||||
|
@ -162,8 +162,8 @@ enum ServerZoneIpcType :
|
||||||
|
|
||||||
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
||||||
|
|
||||||
PartyList = 0x164, // updated 6.58 hotfix 2?
|
PartyList = 0x164, // updated 6.58 hotfix 2
|
||||||
PartyUpdate = 0x2D8, // updated 6.58 hotfix 2?
|
PartyUpdate = 0x2D8, // updated 6.58 hotfix 2
|
||||||
HateRank = 0x2A7, // updated 6.58 hotfix 2
|
HateRank = 0x2A7, // updated 6.58 hotfix 2
|
||||||
HateList = 0x26B, // updated 6.58 hotfix 2
|
HateList = 0x26B, // updated 6.58 hotfix 2
|
||||||
ObjectSpawn = 0x03B8, // updated 6.58 hotfix 2
|
ObjectSpawn = 0x03B8, // updated 6.58 hotfix 2
|
||||||
|
@ -222,7 +222,7 @@ enum ServerZoneIpcType :
|
||||||
MSQTrackerComplete = 0x1A9, // updated 6.58 hotfix 2
|
MSQTrackerComplete = 0x1A9, // updated 6.58 hotfix 2
|
||||||
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 = 0x0220, // updated 5.58h
|
QuestMessage = 0x06B, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
QuestTracker = 0x27C, // updated 6.58 hotfix 2
|
QuestTracker = 0x27C, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
|
@ -351,15 +351,15 @@ enum ClientZoneIpcType :
|
||||||
CancelLogout = 0x01e3, // updated 6.31h
|
CancelLogout = 0x01e3, // updated 6.31h
|
||||||
CFDutyInfoHandler = 0xF078, // updated 4.2
|
CFDutyInfoHandler = 0xF078, // updated 4.2
|
||||||
|
|
||||||
SocialInviteHandler = 0x00D7, // updated 5.58h
|
SocialInviteHandler = 0x00F5, // updated 6.58 hotfix 2
|
||||||
SocialReplyHandler = 0x023B, // updated 5.58h
|
SocialReplyHandler = 0x0160, // updated 6.58 hotfix 2
|
||||||
CreateCrossWorldLS = 0x9999, // updated 5.58h
|
CreateCrossWorldLS = 0x9999, // updated 5.58h
|
||||||
|
|
||||||
ChatHandler = 0x246, // updated 6.58 hotfix 2
|
ChatHandler = 0x246, // updated 6.58 hotfix 2
|
||||||
PartyChangeLeaderHandler = 0x036C, // updated 5.58h
|
PartyChangeLeaderHandler = 0x0E4, // updated 6.58 hotfix 2
|
||||||
PartyLeaveHandler = 0x019D, // updated 5.58h
|
PartyLeaveHandler = 0x0373, // updated 6.58 hotfix 2
|
||||||
PartyKickHandler = 0x0262, // updated 5.58h
|
PartyKickHandler = 0x013F, // updated 6.58 hotfix 2
|
||||||
PartyDisbandHandler = 0x0276, // updated 5.58h
|
PartyDisbandHandler = 0x03BF, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
SocialListHandler = 0x10B, // updated 6.58 hotfix 2
|
SocialListHandler = 0x10B, // updated 6.58 hotfix 2
|
||||||
SetSearchInfoHandler = 0x01A0, // updated 6.58 hotfix 2
|
SetSearchInfoHandler = 0x01A0, // updated 6.58 hotfix 2
|
||||||
|
@ -417,7 +417,7 @@ enum ClientZoneIpcType :
|
||||||
ReturnEventHandler = 0x07D, // updated 6.58 hotfix 2
|
ReturnEventHandler = 0x07D, // updated 6.58 hotfix 2
|
||||||
TradeReturnEventHandler = 0x166, // updated 6.58 hotfix 2
|
TradeReturnEventHandler = 0x166, // updated 6.58 hotfix 2
|
||||||
TradeReturnEventHandler2 = 0x37D, // updated 6.58 hotfix 2
|
TradeReturnEventHandler2 = 0x37D, // updated 6.58 hotfix 2
|
||||||
EventYield2Handler = 0x021D, // updated 5.58h
|
EventYield2Handler = 0x0273, // updated 6.58 hotfix 2
|
||||||
EventYield16Handler = 0x0207, // updated 5.58h
|
EventYield16Handler = 0x0207, // updated 5.58h
|
||||||
|
|
||||||
LinkshellEventHandler = 0x9999, // unknown
|
LinkshellEventHandler = 0x9999, // unknown
|
||||||
|
|
|
@ -94,6 +94,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
struct PlayerEntry
|
struct PlayerEntry
|
||||||
{
|
{
|
||||||
uint64_t contentId;
|
uint64_t contentId;
|
||||||
|
uint64_t unknown;
|
||||||
uint8_t bytes[12];
|
uint8_t bytes[12];
|
||||||
uint16_t zoneId;
|
uint16_t zoneId;
|
||||||
uint16_t zoneId1;
|
uint16_t zoneId1;
|
||||||
|
@ -103,10 +104,10 @@ namespace Sapphire::Network::Packets::Server
|
||||||
uint8_t padding;
|
uint8_t padding;
|
||||||
uint8_t level;
|
uint8_t level;
|
||||||
uint8_t padding1;
|
uint8_t padding1;
|
||||||
uint16_t padding2;
|
uint8_t unknown2[8];
|
||||||
uint8_t one;
|
|
||||||
char name[0x20];
|
char name[0x20];
|
||||||
char fcTag[9];
|
char fcTag[6];
|
||||||
|
uint8_t padding2[6];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FFXIVIpcSocialList : FFXIVIpcBasePacket< SocialList >
|
struct FFXIVIpcSocialList : FFXIVIpcBasePacket< SocialList >
|
||||||
|
@ -2160,6 +2161,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
struct FFXIVIpcSocialInviteUpdate : FFXIVIpcBasePacket< SocialInviteUpdate >
|
struct FFXIVIpcSocialInviteUpdate : FFXIVIpcBasePacket< SocialInviteUpdate >
|
||||||
{
|
{
|
||||||
uint64_t contentId;
|
uint64_t contentId;
|
||||||
|
uint64_t unknown;
|
||||||
uint32_t expireTime;
|
uint32_t expireTime;
|
||||||
uint8_t p1;
|
uint8_t p1;
|
||||||
uint8_t p2;
|
uint8_t p2;
|
||||||
|
@ -2196,6 +2198,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
struct PartyMember
|
struct PartyMember
|
||||||
{
|
{
|
||||||
char name[32];
|
char name[32];
|
||||||
|
uint64_t unknown2;
|
||||||
uint64_t contentId;
|
uint64_t contentId;
|
||||||
uint32_t charaId;
|
uint32_t charaId;
|
||||||
uint32_t u1; // 3.x ParentEntityId?
|
uint32_t u1; // 3.x ParentEntityId?
|
||||||
|
|
|
@ -442,10 +442,10 @@ void Sapphire::Network::GameConnection::socialListHandler( const Packets::FFXIVA
|
||||||
|
|
||||||
auto fillEntryAt = [ &listPacket ]( int i, Entity::PlayerPtr nextPlayer, bool isLeader )
|
auto fillEntryAt = [ &listPacket ]( int i, Entity::PlayerPtr nextPlayer, bool isLeader )
|
||||||
{
|
{
|
||||||
listPacket->data().entries[ i ].bytes[ 2 ] = nextPlayer->getCurrentTerritory()->getTerritoryTypeId();
|
//listPacket->data().entries[ i ].bytes[ 2 ] = nextPlayer->getCurrentTerritory()->getTerritoryTypeId();
|
||||||
listPacket->data().entries[ i ].bytes[ 3 ] = 0x80;
|
//listPacket->data().entries[ i ].bytes[ 3 ] = 0x80;
|
||||||
listPacket->data().entries[ i ].bytes[ 4 ] = 0x02;
|
//listPacket->data().entries[ i ].bytes[ 4 ] = 0x02;
|
||||||
listPacket->data().entries[ i ].bytes[ 6 ] = 0x3B;
|
//listPacket->data().entries[ i ].bytes[ 6 ] = 0x3B;
|
||||||
listPacket->data().entries[ i ].bytes[ 8 ] = isLeader;
|
listPacket->data().entries[ i ].bytes[ 8 ] = isLeader;
|
||||||
listPacket->data().entries[ i ].bytes[ 11 ] = 0x10;
|
listPacket->data().entries[ i ].bytes[ 11 ] = 0x10;
|
||||||
listPacket->data().entries[ i ].classJob = static_cast< uint8_t >( nextPlayer->getClass() );
|
listPacket->data().entries[ i ].classJob = static_cast< uint8_t >( nextPlayer->getClass() );
|
||||||
|
@ -453,8 +453,6 @@ void Sapphire::Network::GameConnection::socialListHandler( const Packets::FFXIVA
|
||||||
listPacket->data().entries[ i ].level = nextPlayer->getLevel();
|
listPacket->data().entries[ i ].level = nextPlayer->getLevel();
|
||||||
listPacket->data().entries[ i ].zoneId = nextPlayer->getCurrentTerritory()->getTerritoryTypeId();
|
listPacket->data().entries[ i ].zoneId = nextPlayer->getCurrentTerritory()->getTerritoryTypeId();
|
||||||
listPacket->data().entries[ i ].zoneId1 = 0x0100;
|
listPacket->data().entries[ i ].zoneId1 = 0x0100;
|
||||||
// TODO: no idea what this does
|
|
||||||
//listPacket.data().entries[0].one = 1;
|
|
||||||
|
|
||||||
memcpy( listPacket->data().entries[ i ].name, nextPlayer->getName().c_str(), strlen( nextPlayer->getName().c_str() ) );
|
memcpy( listPacket->data().entries[ i ].name, nextPlayer->getName().c_str(), strlen( nextPlayer->getName().c_str() ) );
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue