aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-19 00:25:44 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-02 22:47:55 +0100
commiteaa3c7e5a07802916ab00dd74aac6e0eb9cde957 (patch)
tree12328ce2993479f82c9fdf4f29c365d4cbd4d865 /src/server/game/Server
parent222b0c16a4b6bd7e06edb68bb76df1556c8668ad (diff)
Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent
(cherry picked from commit f04f4e91ff3afbf89f30659b85e8593c3206138e)
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/WorldSession.cpp4
-rw-r--r--src/server/game/Server/WorldSession.h5
2 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 2f71f2c9a45..c4b8bea8a33 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -119,7 +119,6 @@ WorldSession::WorldSession(uint32 id, std::string&& name, uint32 battlenetAccoun
m_expansion(std::min<uint8>(expansion, sWorld->getIntConfig(CONFIG_EXPANSION))),
_os(os),
_battlenetRequestToken(0),
- _warden(nullptr),
_logoutTime(0),
m_inQueue(false),
m_playerLogout(false),
@@ -175,7 +174,6 @@ WorldSession::~WorldSession()
}
}
- delete _warden;
delete _RBACData;
///- empty incoming packet queue
@@ -998,7 +996,7 @@ void WorldSession::InitWarden(SessionKey const& k)
{
if (_os == "Win")
{
- _warden = new WardenWin();
+ _warden = std::make_unique<WardenWin>();
_warden->Init(this, k);
}
else if (_os == "Wn64")
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 3e71131fff0..89f0038d6fc 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -37,6 +37,7 @@
#include <boost/circular_buffer.hpp>
#include <array>
#include <map>
+#include <memory>
#include <unordered_map>
#include <unordered_set>
@@ -1003,6 +1004,8 @@ class TC_GAME_API WorldSession
std::string const& GetOS() const { return _os; }
bool CanAccessAlliedRaces() const;
+ Warden* GetWarden() { return _warden.get(); }
+ Warden const* GetWarden() const { return _warden.get(); }
void InitWarden(SessionKey const& k);
@@ -1908,7 +1911,7 @@ class TC_GAME_API WorldSession
uint32 _battlenetRequestToken;
// Warden
- Warden* _warden; // Remains NULL if Warden system is not enabled by config
+ std::unique_ptr<Warden> _warden; // Remains NULL if Warden system is not enabled by config
time_t _logoutTime;
bool m_inQueue; // session wait in auth.queue