mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-30 08:07:46 +00:00
GC fixed.
This commit is contained in:
parent
9872acf4a8
commit
76aca82da7
4 changed files with 18 additions and 12 deletions
|
@ -141,6 +141,8 @@ namespace Sapphire::Network::Packets
|
|||
PartyPos = 0x14C,
|
||||
AlliancePos = 0x14D,
|
||||
|
||||
GrandCompany = 0x14F,
|
||||
|
||||
Create = 0x0190,
|
||||
Delete = 0x0191,
|
||||
ActorMove = 0x0192,
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
|
||||
|
|
|
@ -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() );
|
||||
|
|
Loading…
Add table
Reference in a new issue