diff options
author | Mykhailo Redko <ovitnez@gmail.com> | 2024-01-22 14:58:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 13:58:31 +0100 |
commit | 75016bf4da8656b049e6050e745cd50793e05780 (patch) | |
tree | 8c31a8971e5205a1361fec814c7435c13b5bb29f | |
parent | d16596dc59cb855d62958f2f20d09fad39e419aa (diff) |
Scripts/Commands: .account set seclevel command will update security level for online session (#29600)
-rw-r--r-- | src/server/game/Server/WorldSession.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_account.cpp | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 0ce690bd574..d55a3a960a2 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1345,7 +1345,7 @@ void WorldSession::InitializeSessionCallback(CharacterDatabaseQueryHolder const& SendTutorialsData(); } -rbac::RBACData* WorldSession::GetRBACData() +rbac::RBACData* WorldSession::GetRBACData() const { return _RBACData; } diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 828aa415b1c..59e311b1cec 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -454,7 +454,7 @@ class TC_GAME_API WorldSession GameClient* GetGameClient() const { return _gameClient; }; - rbac::RBACData* GetRBACData(); + rbac::RBACData* GetRBACData() const; bool HasPermission(uint32 permissionId); void LoadPermissions(); QueryCallback LoadPermissionsAsync(); diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 41664a47f20..e3343ed2fbb 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -788,7 +788,8 @@ public: return false; } - sAccountMgr->UpdateAccountAccess(nullptr, accountId, securityLevel, realmID); + WorldSession const* session = sWorld->FindSession(accountId); + sAccountMgr->UpdateAccountAccess(session ? session->GetRBACData() : nullptr, accountId, securityLevel, realmID); handler->PSendSysMessage(LANG_YOU_CHANGE_SECURITY, accountName->c_str(), securityLevel); return true; |