diff options
| -rw-r--r-- | sql/updates/auth/2013_09_10_09_auth_misc.sql | 27 | ||||
| -rw-r--r-- | sql/updates/world/2013_09_10_09_world_command.sql | 2 | ||||
| -rw-r--r-- | sql/updates/world/2013_09_10_10_world_command.sql | 2 | ||||
| -rw-r--r-- | sql/updates/world/2013_09_10_11_world_command.sql | 13 | ||||
| -rw-r--r-- | src/server/game/Accounts/RBAC.h | 8 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_reset.cpp | 20 |
6 files changed, 60 insertions, 12 deletions
diff --git a/sql/updates/auth/2013_09_10_09_auth_misc.sql b/sql/updates/auth/2013_09_10_09_auth_misc.sql new file mode 100644 index 00000000000..8e0e340bfec --- /dev/null +++ b/sql/updates/auth/2013_09_10_09_auth_misc.sql @@ -0,0 +1,27 @@ +/* cs_reset.cpp */ + +SET @id = 710; + +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+7; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(@id+0, 'reset'), +(@id+1, 'reset achievements'), +(@id+2, 'reset honor'), +(@id+3, 'reset level'), +(@id+4, 'reset spells'), +(@id+5, 'reset stats'), +(@id+6, 'reset talents'), +(@id+7, 'reset all'); + +-- Add permissions to "corresponding Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+7; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(4, @id+0), +(4, @id+1), +(4, @id+2), +(4, @id+3), +(4, @id+4), +(4, @id+5), +(4, @id+6), +(4, @id+7); diff --git a/sql/updates/world/2013_09_10_09_world_command.sql b/sql/updates/world/2013_09_10_09_world_command.sql index 6523202aa24..6f4070ed588 100644 --- a/sql/updates/world/2013_09_10_09_world_command.sql +++ b/sql/updates/world/2013_09_10_09_world_command.sql @@ -1,4 +1,4 @@ -/* cs_npc.cpp */ +/* cs_quest.cpp */ SET @id = 602; diff --git a/sql/updates/world/2013_09_10_10_world_command.sql b/sql/updates/world/2013_09_10_10_world_command.sql index 4249ff1ad5b..f7c74f01537 100644 --- a/sql/updates/world/2013_09_10_10_world_command.sql +++ b/sql/updates/world/2013_09_10_10_world_command.sql @@ -1,4 +1,4 @@ -/* cs_npc.cpp */ +/* cs_reload.cpp */ SET @id = 607; diff --git a/sql/updates/world/2013_09_10_11_world_command.sql b/sql/updates/world/2013_09_10_11_world_command.sql new file mode 100644 index 00000000000..b6e1ca651c2 --- /dev/null +++ b/sql/updates/world/2013_09_10_11_world_command.sql @@ -0,0 +1,13 @@ +/* cs_reset.cpp */ + +SET @id = 710; + +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'reload'; +UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'reload achievements'; +UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'reload honor'; +UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'reload level'; +UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'reload spells'; +UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'reload stats'; +UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'reload talents'; +UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'reload all'; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 6d6e483a874..d6d778df40c 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -609,6 +609,14 @@ enum RBACPermissions RBAC_PERM_COMMANDS_RELOAD_WARDEN_ACTION = 707,
RBAC_PERM_COMMANDS_RELOAD_WAYPOINT_DATA = 708,
RBAC_PERM_COMMANDS_RELOAD_WAYPOINT_SCRIPTS = 709,
+ RBAC_PERM_COMMAND_RESET = 710,
+ RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS = 711,
+ RBAC_PERM_COMMAND_RESET_HONOR = 712,
+ RBAC_PERM_COMMAND_RESET_LEVEL = 713,
+ RBAC_PERM_COMMAND_RESET_SPELLS = 714,
+ RBAC_PERM_COMMAND_RESET_STATS = 715,
+ RBAC_PERM_COMMAND_RESET_TALENTS = 716,
+ RBAC_PERM_COMMAND_RESET_ALL = 717,
// custom permissions 1000+
RBAC_PERM_MAX
diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index 3c95ceae4be..9b0b19bc51c 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -39,19 +39,19 @@ public: { static ChatCommand resetCommandTable[] = { - { "achievements", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetAchievementsCommand, "", NULL }, - { "honor", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetHonorCommand, "", NULL }, - { "level", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetLevelCommand, "", NULL }, - { "spells", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetSpellsCommand, "", NULL }, - { "stats", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetStatsCommand, "", NULL }, - { "talents", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetTalentsCommand, "", NULL }, - { "all", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleResetAllCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "achievements", RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "", NULL }, + { "honor", RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "", NULL }, + { "level", RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "", NULL }, + { "spells", RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "", NULL }, + { "stats", RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "", NULL }, + { "talents", RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "", NULL }, + { "all", RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", resetCommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "reset", RBAC_PERM_COMMAND_RESET, true, NULL, "", resetCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } |
