diff options
-rw-r--r-- | src/server/game/Server/WorldSession.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 6b41ef3dc82..550dfa69d5e 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -178,6 +178,12 @@ WorldSession::~WorldSession() LoginDatabase.PExecute("UPDATE account SET online = 0 WHERE id = %u;", GetAccountId()); // One-time query } +bool WorldSession::PlayerDisconnected() const +{ + return !(m_Socket[CONNECTION_TYPE_REALM] && m_Socket[CONNECTION_TYPE_REALM]->IsOpen() && + m_Socket[CONNECTION_TYPE_INSTANCE] && m_Socket[CONNECTION_TYPE_INSTANCE]->IsOpen()); +} + std::string const & WorldSession::GetPlayerName() const { return _player != NULL ? _player->GetName() : DefaultPlayerName; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 4a2466f26b2..cc36dfb0ee7 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -807,14 +807,14 @@ class WorldSession bool PlayerLogout() const { return m_playerLogout; } bool PlayerLogoutWithSave() const { return m_playerLogout && m_playerSave; } bool PlayerRecentlyLoggedOut() const { return m_playerRecentlyLogout; } - bool PlayerDisconnected() const { return !m_Socket; } + bool PlayerDisconnected() const; void ReadAddonsInfo(ByteBuffer& data); void SendAddonsInfo(); bool IsAddonRegistered(const std::string& prefix) const; void SendPacket(WorldPacket const* packet, bool forced = false); - void AddInstanceConnection(std::shared_ptr<WorldSocket> sock) { m_Socket[1] = sock; } + void AddInstanceConnection(std::shared_ptr<WorldSocket> sock) { m_Socket[CONNECTION_TYPE_INSTANCE] = sock; } void SendNotification(char const* format, ...) ATTR_PRINTF(2, 3); void SendNotification(uint32 stringId, ...); |