mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-30 16:17: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,
|
PartyPos = 0x14C,
|
||||||
AlliancePos = 0x14D,
|
AlliancePos = 0x14D,
|
||||||
|
|
||||||
|
GrandCompany = 0x14F,
|
||||||
|
|
||||||
Create = 0x0190,
|
Create = 0x0190,
|
||||||
Delete = 0x0191,
|
Delete = 0x0191,
|
||||||
ActorMove = 0x0192,
|
ActorMove = 0x0192,
|
||||||
|
|
|
@ -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;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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() );
|
||||||
|
|
Loading…
Add table
Reference in a new issue