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

Added packethandler for linkshell leave / invite decline

This commit is contained in:
Mordred 2021-12-05 00:04:11 +01:00
parent 47df62f0b4
commit 55f9b0219f
5 changed files with 54 additions and 1 deletions

View file

@ -415,6 +415,49 @@ struct FFXIVIpcLinkshellJoin : FFXIVIpcBasePacket< LinkshellJoin >
char MemberCharacterName[32];
};
struct FFXIVIpcLinkshellLeave : FFXIVIpcBasePacket< LinkshellLeave >
{
uint64_t LinkshellID;
};
struct FFXIVIpcLinkshellJoinOfficial : FFXIVIpcBasePacket< LinkshellJoinOfficial >
{
uint64_t LinkshellID;
};
struct FFXIVIpcLinkshellChangeMaster : FFXIVIpcBasePacket< LinkshellChangeMaster >
{
uint64_t LinkshellID;
uint64_t NextMasterCharacterID;
char NextMasterCharacterName[32];
};
struct FFXIVIpcLinkshellKick : FFXIVIpcBasePacket< LinkshellKick >
{
uint64_t LinkshellID;
uint64_t LeaveCharacterID;
char LeaveCharacterName[32];
};
struct FFXIVIpcLinkshellAddLeader : FFXIVIpcBasePacket< LinkshellAddLeader >
{
uint64_t LinkshellID;
uint64_t MemberCharacterID;
char MemberCharacterName[32];
};
struct FFXIVIpcLinkshellRemoveLeader : FFXIVIpcBasePacket< LinkshellRemoveLeader >
{
uint64_t LinkshellID;
uint64_t MemberCharacterID;
char MemberCharacterName[32];
};
struct FFXIVIpcLinkshellDeclineLeader : FFXIVIpcBasePacket< LinkshellDeclineLeader >
{
uint64_t LinkshellID;
};
struct FFXIVIpcShopEventHandler : FFXIVIpcBasePacket< StartUIEvent >
{
/* 0000 */ uint32_t eventId;

View file

@ -143,6 +143,8 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
setZoneHandler( FriendlistRemove, "FriendlistRemove", &GameConnection::friendlistRemoveHandler );
setZoneHandler( SetFriendlistGroup, "SetFriendlistGroup", &GameConnection::setFriendlistGroupHandler );
setZoneHandler( LinkshellLeave, "LinkshellLeave", &GameConnection::linkshellLeaveHandler );
}
Sapphire::Network::GameConnection::~GameConnection() = default;

View file

@ -219,6 +219,8 @@ namespace Sapphire::Network
DECLARE_HANDLER( friendlistRemoveHandler );
DECLARE_HANDLER( setFriendlistGroupHandler );
DECLARE_HANDLER( linkshellLeaveHandler );
};
}

View file

@ -31,3 +31,9 @@ void Sapphire::Network::GameConnection::linkshellJoinHandler( const Packets::FFX
auto charName = std::string( lsJoinPacket.data().MemberCharacterName );
lsMgr.invitePlayer( charName, lsJoinPacket.data().LinkshellID );
}
void Sapphire::Network::GameConnection::linkshellLeaveHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
const auto lsLeavePacket = ZoneChannelPacket< Client::FFXIVIpcLinkshellLeave >( inPacket );
}