1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00

Moved onFcLogout to a better place

This commit is contained in:
Mordred 2023-02-10 08:56:58 +01:00
parent 6a9f5b683f
commit 2d3486ea1f
3 changed files with 8 additions and 7 deletions

View file

@ -20,6 +20,7 @@
#include "Manager/PlayerMgr.h" #include "Manager/PlayerMgr.h"
#include "Manager/PartyMgr.h" #include "Manager/PartyMgr.h"
#include "Manager/WarpMgr.h" #include "Manager/WarpMgr.h"
#include "Manager/FreeCompanyMgr.h"
#include "Territory/Territory.h" #include "Territory/Territory.h"
#include "Territory/InstanceContent.h" #include "Territory/InstanceContent.h"
@ -120,6 +121,8 @@ Player::~Player() = default;
void Player::unload() void Player::unload()
{ {
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
// do one last update to db // do one last update to db
updateSql(); updateSql();
// reset isLogin and loading sequences just in case // reset isLogin and loading sequences just in case
@ -130,11 +133,9 @@ void Player::unload()
setMarkedForRemoval( false ); setMarkedForRemoval( false );
// send updates to mgrs // send updates to mgrs
if( getPartyId() != 0 ) if( getPartyId() != 0 )
{
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
partyMgr.onMemberDisconnect( *this ); partyMgr.onMemberDisconnect( *this );
}
fcMgr.onFcLogout( getCharacterId() );
syncLastDBWrite(); syncLastDBWrite();
} }

View file

@ -342,7 +342,7 @@ void PlayerMgr::onZone( Sapphire::Entity::Player& player )
auto& housingMgr = Common::Service< HousingMgr >::ref(); auto& housingMgr = Common::Service< HousingMgr >::ref();
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref(); auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
auto& server = Common::Service< World::WorldServer >::ref(); auto& server = Common::Service< World::WorldServer >::ref();
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
auto pZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() ); auto pZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() );
if( !pZone ) if( !pZone )
@ -423,8 +423,6 @@ void PlayerMgr::onZone( Sapphire::Entity::Player& player )
partyMgr.onMoveZone( player ); partyMgr.onMoveZone( player );
} }
fcMgr.onFcLogin( player.getCharacterId() );
} }
////////// Helper /////////// ////////// Helper ///////////

View file

@ -55,6 +55,7 @@
#include "Manager/PlayerMgr.h" #include "Manager/PlayerMgr.h"
#include "Manager/WarpMgr.h" #include "Manager/WarpMgr.h"
#include "Manager/ItemMgr.h" #include "Manager/ItemMgr.h"
#include "Manager/FreeCompanyMgr.h"
#include "Action/Action.h" #include "Action/Action.h"
@ -368,10 +369,11 @@ void Sapphire::Network::GameConnection::loginHandler( const Packets::FFXIVARR_PA
{ {
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLoginHandler >( inPacket ); const auto packet = ZoneChannelPacket< Client::FFXIVIpcLoginHandler >( inPacket );
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref(); auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
// init handler means this is a login procedure auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
player.setIsLogin( true ); player.setIsLogin( true );
player.setConnected( true ); player.setConnected( true );
teriMgr.joinWorld( player ); teriMgr.joinWorld( player );
fcMgr.onFcLogin( player.getCharacterId() );
} }
void Sapphire::Network::GameConnection::syncHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player ) void Sapphire::Network::GameConnection::syncHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )