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,
AlliancePos = 0x14D,
GrandCompany = 0x14F,
Create = 0x0190,
Delete = 0x0191,
ActorMove = 0x0192,

View file

@ -520,12 +520,6 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
char shortMessage[104];
};
struct FFXIVGCAffiliation : FFXIVIpcBasePacket< GCAffiliation >
{
uint8_t gcId;
uint8_t gcRank[3];
};
/**
* Structural representation of the packet sent by the server
* add a status effect
@ -2340,4 +2334,12 @@ struct FFXIVIpcEorzeaTimeOffset : FFXIVIpcBasePacket< TimeOffset >
{
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 )
{
auto& server = Common::Service< World::WorldServer >::ref();
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() );
gcAffPacket->data().gcId = player.getGc();
gcAffPacket->data().gcRank[ 0 ] = player.getGcRankArray()[ 0 ];
gcAffPacket->data().gcRank[ 1 ] = player.getGcRankArray()[ 1 ];
gcAffPacket->data().gcRank[ 2 ] = player.getGcRankArray()[ 2 ];
auto gcAffPacket = makeZonePacket< FFXIVIpcGrandCompany >( player.getId() );
gcAffPacket->data().ActiveCompanyId = player.getGc();
gcAffPacket->data().MaelstromRank = player.getGcRankArray()[ 0 ];
gcAffPacket->data().TwinAdderRank = player.getGcRankArray()[ 1 ];
gcAffPacket->data().ImmortalFlamesRank = player.getGcRankArray()[ 2 ];
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 )
{
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
if( player.isLogin() )
{
auto &questMgr = Common::Service< World::Manager::QuestMgr >::ref();
questMgr.sendQuestsInfo( player );
playerMgr.onGcUpdate( player );
}
auto& teriMgr = Common::Service< TerritoryMgr >::ref();
auto pCurrentZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() );
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
/* // TODO: load and save this data instead of hardcoding
auto gcPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() );