1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-30 08:07:46 +00:00

GC fixed.

This commit is contained in:
Mordred 2023-01-22 21:53:27 +01:00
parent 9872acf4a8
commit 76aca82da7
4 changed files with 18 additions and 12 deletions

View file

@ -141,6 +141,8 @@ namespace Sapphire::Network::Packets
PartyPos = 0x14C, PartyPos = 0x14C,
AlliancePos = 0x14D, AlliancePos = 0x14D,
GrandCompany = 0x14F,
Create = 0x0190, Create = 0x0190,
Delete = 0x0191, Delete = 0x0191,
ActorMove = 0x0192, ActorMove = 0x0192,

View file

@ -520,12 +520,6 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
char shortMessage[104]; char shortMessage[104];
}; };
struct FFXIVGCAffiliation : FFXIVIpcBasePacket< GCAffiliation >
{
uint8_t gcId;
uint8_t gcRank[3];
};
/** /**
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* add a status effect * add a status effect
@ -2340,4 +2334,12 @@ struct FFXIVIpcEorzeaTimeOffset : FFXIVIpcBasePacket< TimeOffset >
{ {
ZoneProtoDownMemberPos Member[8]; ZoneProtoDownMemberPos Member[8];
}; };
struct FFXIVIpcGrandCompany : FFXIVIpcBasePacket< GrandCompany >
{
uint8_t ActiveCompanyId;
uint8_t MaelstromRank;
uint8_t TwinAdderRank;
uint8_t ImmortalFlamesRank;
};
} }

View file

@ -215,11 +215,11 @@ void PlayerMgr::onChangeGear( Entity::Player& player )
void PlayerMgr::onGcUpdate( Entity::Player& player ) void PlayerMgr::onGcUpdate( Entity::Player& player )
{ {
auto& server = Common::Service< World::WorldServer >::ref(); auto& server = Common::Service< World::WorldServer >::ref();
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() ); auto gcAffPacket = makeZonePacket< FFXIVIpcGrandCompany >( player.getId() );
gcAffPacket->data().gcId = player.getGc(); gcAffPacket->data().ActiveCompanyId = player.getGc();
gcAffPacket->data().gcRank[ 0 ] = player.getGcRankArray()[ 0 ]; gcAffPacket->data().MaelstromRank = player.getGcRankArray()[ 0 ];
gcAffPacket->data().gcRank[ 1 ] = player.getGcRankArray()[ 1 ]; gcAffPacket->data().TwinAdderRank = player.getGcRankArray()[ 1 ];
gcAffPacket->data().gcRank[ 2 ] = player.getGcRankArray()[ 2 ]; gcAffPacket->data().ImmortalFlamesRank = player.getGcRankArray()[ 2 ];
server.queueForPlayer( player.getCharacterId(), gcAffPacket ); server.queueForPlayer( player.getCharacterId(), gcAffPacket );
} }

View file

@ -391,16 +391,18 @@ void Sapphire::Network::GameConnection::syncHandler( const Packets::FFXIVARR_PAC
void Sapphire::Network::GameConnection::setLanguageHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player ) void Sapphire::Network::GameConnection::setLanguageHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{ {
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
if( player.isLogin() ) if( player.isLogin() )
{ {
auto &questMgr = Common::Service< World::Manager::QuestMgr >::ref(); auto &questMgr = Common::Service< World::Manager::QuestMgr >::ref();
questMgr.sendQuestsInfo( player ); questMgr.sendQuestsInfo( player );
playerMgr.onGcUpdate( player );
} }
auto& teriMgr = Common::Service< TerritoryMgr >::ref(); auto& teriMgr = Common::Service< TerritoryMgr >::ref();
auto pCurrentZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() ); auto pCurrentZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() );
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
/* // TODO: load and save this data instead of hardcoding /* // TODO: load and save this data instead of hardcoding
auto gcPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() ); auto gcPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() );