diff options
-rw-r--r-- | sql/base/auth_database.sql | 5 | ||||
-rw-r--r-- | sql/updates/auth/3.3.5/2024_01_06_01_auth.sql | 7 | ||||
-rw-r--r-- | src/server/game/Accounts/RBAC.h | 1 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 |
4 files changed, 13 insertions, 2 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index d61a6fbced4..da86b9094d6 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -474,6 +474,7 @@ INSERT INTO `rbac_linked_permissions` VALUES (192,835), (193,48), (193,52), +(193,53), (193,194), (193,197), (194,1), @@ -1173,6 +1174,7 @@ INSERT INTO `rbac_permissions` VALUES (50,'Allow user to check his own email with .account'), (51,'Allow trading between factions'), (52,'No battleground deserter debuff'), +(53,'Can be AFK on the battleground'), (192,'Role: Sec Level Administrator'), (193,'Role: Sec Level Gamemaster'), (194,'Role: Sec Level Moderator'), @@ -2013,7 +2015,8 @@ INSERT INTO `updates` VALUES ('2023_05_05_00_auth.sql','DEEB1D5533658E3479FC3C988EF4B9816C511BC3','ARCHIVED','2023-05-07 11:52:00',0), ('2023_06_14_00_auth.sql','BB8A7EB214F4F3632C4F54EA596CB7C8FBA305D5','ARCHIVED','2023-06-14 19:34:24',0), ('2023_11_21_00_auth.sql','146E5E6EF94C5DB78343372A8FDB32B062B80040','RELEASED','2023-11-21 11:24:11',0), -('2024_01_06_00_auth.sql','767D697594D5471B67CC0FDF0D7BB15374116A71','RELEASED','2024-01-06 09:53:51',0); +('2024_01_06_00_auth.sql','767D697594D5471B67CC0FDF0D7BB15374116A71','RELEASED','2024-01-06 09:53:51',0), +('2024_01_06_01_auth.sql','3D9E0A906A357877DB8E7B72E0797AB38EF884BC','RELEASED','2024-01-06 11:33:07',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/updates/auth/3.3.5/2024_01_06_01_auth.sql b/sql/updates/auth/3.3.5/2024_01_06_01_auth.sql new file mode 100644 index 00000000000..f09d9139e4a --- /dev/null +++ b/sql/updates/auth/3.3.5/2024_01_06_01_auth.sql @@ -0,0 +1,7 @@ +-- +DELETE FROM `rbac_permissions` WHERE `id` = 53; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (53, "Can be AFK on the battleground"); + +DELETE FROM `rbac_linked_permissions` WHERE `linkedId` = 53; +INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES +(193, 53); diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 3cfb386f016..6e9f3718482 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -103,6 +103,7 @@ enum RBACPermissions RBAC_PERM_MAY_CHECK_OWN_EMAIL = 50, RBAC_PERM_ALLOW_TWO_SIDE_TRADE = 51, RBAC_PERM_NO_BATTLEGROUND_DESERTER_DEBUFF = 52, + RBAC_PERM_CAN_AFK_ON_BATTLEGROUND = 53, // Free space for core permissions (till 149) // Roles (Permissions with delegated permissions) use 199 and descending diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ea3cfdb1b8b..4bc613bb04d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1596,7 +1596,7 @@ void Player::ToggleAFK() ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK); // afk player not allowed in battleground - if (!IsGameMaster() && isAFK() && InBattleground() && !InArena()) + if (!GetSession()->HasPermission(rbac::RBAC_PERM_CAN_AFK_ON_BATTLEGROUND) && isAFK() && InBattleground() && !InArena()) LeaveBattleground(); } |