aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMykhailo Redko <ovitnez@gmail.com>2024-01-22 14:58:31 +0200
committerGitHub <noreply@github.com>2024-01-22 13:58:31 +0100
commit75016bf4da8656b049e6050e745cd50793e05780 (patch)
tree8c31a8971e5205a1361fec814c7435c13b5bb29f /src
parentd16596dc59cb855d62958f2f20d09fad39e419aa (diff)
Scripts/Commands: .account set seclevel command will update security level for online session (#29600)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/WorldSession.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h2
-rw-r--r--src/server/scripts/Commands/cs_account.cpp3
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;