diff options
author | Spp <spp@jorge.gr> | 2013-02-25 11:50:13 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2013-02-25 15:48:18 +0100 |
commit | 1638092f18c0fd13e4e092a5d6eb23becfb8ae23 (patch) | |
tree | 955d061ab65634b614dea5c47f7d0b62fc8759cb | |
parent | 8810fcb575a3362703421c1d2f900faa2ab57fd6 (diff) |
Core/RBAC: Create 'Skip instance required bosses check' permission
-rw-r--r-- | sql/updates/auth/2013_02_25_01_auth_misc.sql | 14 | ||||
-rw-r--r-- | src/server/game/Accounts/RBAC.h | 1 | ||||
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/sql/updates/auth/2013_02_25_01_auth_misc.sql b/sql/updates/auth/2013_02_25_01_auth_misc.sql new file mode 100644 index 00000000000..0cd63bf2062 --- /dev/null +++ b/sql/updates/auth/2013_02_25_01_auth_misc.sql @@ -0,0 +1,14 @@ +-- Add new permission +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (13, 'Skip Instance required bosses check'); + +-- Add new role +INSERT INTO `rbac_roles` (`id`, `name`) VALUES (9, 'Skip Instance required bosses check'); + +-- Add the permission to the role +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES (9, 13); + +-- Add it to all GM+ groups +INSERT INTO `rbac_group_roles` (`groupId`, `roleId`) VALUES +(2, 9), +(3, 9), +(4, 9); diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 82b9d74f711..27cfb8058d5 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -59,6 +59,7 @@ enum RBACPermissions RBAC_PERM_GAMEMASTER_COMMANDS,
RBAC_PERM_ADMINISTRATOR_COMMANDS,
RBAC_PERM_LOG_GM_TRADE,
+ RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES = 13,
RBAC_PERM_MAX
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 593d9586156..db4ab2f32d2 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -954,7 +954,7 @@ class instance_icecrown_citadel : public InstanceMapScript bool CheckRequiredBosses(uint32 bossId, Player const* player = NULL) const { - if (player && AccountMgr::IsGMAccount(player->GetSession()->GetSecurity())) + if (player && player->GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES)) return true; switch (bossId) |