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

5.35 hotfix update for custom stuff

This commit is contained in:
collett 2020-11-11 01:57:34 +09:00
parent cc1e6d2258
commit b284259cdc
3 changed files with 21 additions and 15 deletions

View file

@ -136,8 +136,8 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
setChatHandler( ClientChatIpcType::TellReq, "TellReq", &GameConnection::tellHandler );
setChatHandler( ClientZoneIpcType::PartyChatHandler, "PartyChatHandler", &GameConnection::partyChatHandler );
setZoneHandler( ClientZoneIpcType::SocialInviteHandler, "SocialInviteHandler", &GameConnection::socialInviteHandler );
setZoneHandler( ClientZoneIpcType::SocialInviteResponseHandler, "SocialInviteResponseHandler", &GameConnection::socialInviteResponseHandler );
setZoneHandler( ClientZoneIpcType::SocialReqSendHandler, "SocialReqSendHandler", &GameConnection::socialInviteHandler );
setZoneHandler( ClientZoneIpcType::SocialResponseHandler, "SocialResponseHandler", &GameConnection::socialInviteResponseHandler );
setZoneHandler( ClientZoneIpcType::PartySetLeaderHandler, "PartySetLeaderHandler", &GameConnection::partySetLeaderHandler );
setZoneHandler( ClientZoneIpcType::LeavePartyHandler, "LeavePartyHandler", &GameConnection::leavePartyHandler );
setZoneHandler( ClientZoneIpcType::KickPartyMemberHandler, "KickPartyMemberHandler", &GameConnection::kickPartyMemberHandler );

View file

@ -879,7 +879,7 @@ void Sapphire::Network::GameConnection::worldInteractionhandler( const Packets::
void Sapphire::Network::GameConnection::socialInviteHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
const auto packetIn = ZoneChannelPacket< Client::FFXIVIpcSocialInviteHandler >( inPacket );
const auto packetIn = ZoneChannelPacket< Client::FFXIVIpcSocialReqSendHandler >( inPacket );
switch( packetIn.data().socialType )
{
case 1:
@ -894,7 +894,7 @@ void Sapphire::Network::GameConnection::socialInviteHandler( const Packets::FFXI
auto targetPlayer = session->getPlayer();
if( targetPlayer->isInParty() )
return;
auto packet1 = makeZonePacket< FFXIVIpcSocialInviteMessage2 >( player.getId() );
auto packet1 = makeZonePacket< FFXIVIpcSocialMessage2 >( player.getId() );
packet1->data().contentId = targetPlayer->getContentId();
packet1->data().p1 = packetIn.data().p1;
packet1->data().p2 = packetIn.data().p2;
@ -902,7 +902,7 @@ void Sapphire::Network::GameConnection::socialInviteHandler( const Packets::FFXI
memcpy( packet1->data().name, targetPlayer->getName().c_str(), targetPlayer->getName().length() + 1 );
player.queuePacket( packet1 );
auto packet2 = makeZonePacket< FFXIVIpcSocialInviteMessage >( targetPlayer->getId() );
auto packet2 = makeZonePacket< FFXIVIpcSocialMessage >( targetPlayer->getId() );
packet2->data().contentId = player.getContentId();
packet2->data().expireTime = Common::Util::getTimeSeconds() + 30;
packet2->data().p1 = packetIn.data().p1;
@ -922,7 +922,7 @@ void Sapphire::Network::GameConnection::socialInviteHandler( const Packets::FFXI
void Sapphire::Network::GameConnection::socialInviteResponseHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
const auto packetIn = ZoneChannelPacket< Client::FFXIVIpcSocialInviteResponseHandler >( inPacket );
const auto packetIn = ZoneChannelPacket< Client::FFXIVIpcSocialResponseHandler >( inPacket );
switch( packetIn.data().socialType )
{
case 1:
@ -932,7 +932,7 @@ void Sapphire::Network::GameConnection::socialInviteResponseHandler( const Packe
auto response = packetIn.data().response;
auto sender = player.getPartyInvitationSender();
player.setPartyInvitationSender( nullptr );
auto packet1 = makeZonePacket< FFXIVIpcSocialInviteResponseMessage >( player.getId() );
auto packet1 = makeZonePacket< FFXIVIpcSocialRequestResponse >( player.getId() );
packet1->data().contentId = sender->getContentId();
packet1->data().u1AlwaysOne = 1;
packet1->data().response = response;
@ -964,7 +964,7 @@ void Sapphire::Network::GameConnection::socialInviteResponseHandler( const Packe
m->queuePacket( packetMsg );
} );
auto packet2 = makeZonePacket< FFXIVIpcSocialInviteMessage >( sender->getId() );
auto packet2 = makeZonePacket< FFXIVIpcSocialMessage >( sender->getId() );
packet2->data().contentId = player.getContentId();
packet2->data().expireTime = Common::Util::getTimeSeconds() + 30;
packet2->data().p1 = packetIn.data().p1;
@ -977,7 +977,7 @@ void Sapphire::Network::GameConnection::socialInviteResponseHandler( const Packe
}
else
{
auto packet2 = makeZonePacket< FFXIVIpcSocialInviteMessage >( sender->getId() );
auto packet2 = makeZonePacket< FFXIVIpcSocialMessage >( sender->getId() );
packet2->data().contentId = player.getContentId();
packet2->data().expireTime = Common::Util::getTimeSeconds() + 30;
packet2->data().p1 = packetIn.data().p1;

View file

@ -25,7 +25,7 @@ namespace Sapphire::Network::Packets::Server
private:
void initialize( Entity::Player& player )
{
memset( &m_data.unknownOword[ 0 ], 255, reinterpret_cast< uint64_t >( &m_data.pvpLevel ) - reinterpret_cast< uint64_t >( &m_data.unknownOword[ 0 ] ) );
memset( &m_data.unknownOword[ 0 ], 255, reinterpret_cast< uint64_t >( &m_data.padding2 ) - reinterpret_cast< uint64_t >( &m_data.unknownOword[ 0 ] ) );
m_data.contentId = player.getContentId();
@ -62,16 +62,17 @@ namespace Sapphire::Network::Packets::Server
}
//memcpy( m_data.orchestrionMask, player.getOrchestrionBitmask(), sizeof( m_data.orchestrionMask ) );
//m_data.orchestrionMask[0] = 0xFE;
//memcpy( m_data.mountGuideMask, player.getMountGuideBitmask(), sizeof( m_data.mountGuideMask ) );
memset( m_data.mountGuideMask, 255, sizeof( m_data.mountGuideMask ) );
memset( m_data.mountGuideMask, 0xFF, sizeof( m_data.mountGuideMask ) );
m_data.mountGuideMask[21] = 0xBF; // mask out the broken mount
//memcpy( m_data.unlockBitmask, player.getUnlockBitmask(), sizeof( m_data.unlockBitmask ) );
//m_data.unlockBitmask[0] = 0xFD;
//memcpy( m_data.discovery, player.getDiscoveryBitmask(), sizeof( m_data.discovery ) );
//m_data.discovery[0] = 0xFB;
//memcpy( m_data.howto, player.getHowToArray(), sizeof( m_data.howto ) );
//m_data.howto[0] = 0xEF;
// possibly max level or current level
m_data.maxLevel = Common::MAX_PLAYER_LEVEL;
m_data.expansion = Common::CURRENT_EXPANSION_ID;
@ -82,10 +83,15 @@ namespace Sapphire::Network::Packets::Server
// enable all raids/guildhests/dungeons
memset( m_data.unlockedDungeons, 0xFF, sizeof( m_data.unlockedDungeons ) );
//m_data.unlockedDungeons[0] = 0xEE;
memset( m_data.unlockedGuildhests, 0xFF, sizeof( m_data.unlockedGuildhests ) );
//m_data.unlockedGuildhests[0] = 0xDF;
memset( m_data.unlockedPvp, 0xFF, sizeof( m_data.unlockedPvp ) );
//m_data.unlockedPvp[0] = 0xDE;
memset( m_data.unlockedRaids, 0xFF, sizeof( m_data.unlockedRaids ) );
//m_data.unlockedRaids[0] = 0xDD;
memset( m_data.unlockedTrials, 0xFF, sizeof( m_data.unlockedTrials ) );
//m_data.unlockedTrials[0] = 0xDB;
};
};