From 3232b69ff3b12441723349e2febe74f81d98cd24 Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 13:47:43 +0200 Subject: Core/RBAC: Move commands security to RBAC (using generic RBAC Permissions) - Warning: This will break commands for any custom security level --- src/server/scripts/Commands/cs_account.cpp | 36 ++--- src/server/scripts/Commands/cs_achievement.cpp | 4 +- src/server/scripts/Commands/cs_arena.cpp | 18 +-- src/server/scripts/Commands/cs_ban.cpp | 36 ++--- src/server/scripts/Commands/cs_bf.cpp | 12 +- src/server/scripts/Commands/cs_cast.cpp | 14 +- src/server/scripts/Commands/cs_character.cpp | 36 ++--- src/server/scripts/Commands/cs_cheat.cpp | 18 +-- src/server/scripts/Commands/cs_debug.cpp | 90 +++++------ src/server/scripts/Commands/cs_deserter.cpp | 22 +-- src/server/scripts/Commands/cs_disable.cpp | 38 ++--- src/server/scripts/Commands/cs_event.cpp | 10 +- src/server/scripts/Commands/cs_gm.cpp | 14 +- src/server/scripts/Commands/cs_go.cpp | 22 +-- src/server/scripts/Commands/cs_gobject.cpp | 28 ++-- src/server/scripts/Commands/cs_guild.cpp | 14 +- src/server/scripts/Commands/cs_honor.cpp | 10 +- src/server/scripts/Commands/cs_instance.cpp | 10 +- src/server/scripts/Commands/cs_learn.cpp | 28 ++-- src/server/scripts/Commands/cs_lfg.cpp | 16 +- src/server/scripts/Commands/cs_list.cpp | 12 +- src/server/scripts/Commands/cs_lookup.cpp | 42 ++--- src/server/scripts/Commands/cs_message.cpp | 20 +-- src/server/scripts/Commands/cs_misc.cpp | 128 +++++++-------- src/server/scripts/Commands/cs_mmaps.cpp | 12 +- src/server/scripts/Commands/cs_modify.cpp | 58 +++---- src/server/scripts/Commands/cs_npc.cpp | 88 +++++------ src/server/scripts/Commands/cs_quest.cpp | 14 +- src/server/scripts/Commands/cs_rbac.cpp | 56 +++---- src/server/scripts/Commands/cs_reload.cpp | 210 ++++++++++++------------- src/server/scripts/Commands/cs_reset.cpp | 16 +- src/server/scripts/Commands/cs_server.cpp | 46 +++--- src/server/scripts/Commands/cs_tele.cpp | 12 +- src/server/scripts/Commands/cs_ticket.cpp | 38 ++--- src/server/scripts/Commands/cs_titles.cpp | 18 +-- src/server/scripts/Commands/cs_wp.cpp | 16 +- 36 files changed, 631 insertions(+), 631 deletions(-) (limited to 'src/server/scripts/Commands') diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 9b98fb5d151..dcbc86b19c5 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -37,33 +37,33 @@ public: { static ChatCommand accountSetCommandTable[] = { - { "addon", SEC_ADMINISTRATOR, true, &HandleAccountSetAddonCommand, "", NULL }, - { "gmlevel", SEC_CONSOLE, true, &HandleAccountSetGmLevelCommand, "", NULL }, - { "password", SEC_CONSOLE, true, &HandleAccountSetPasswordCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "addon", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAccountSetAddonCommand, "", NULL }, + { "gmlevel", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountSetGmLevelCommand, "", NULL }, + { "password", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountSetPasswordCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand accountLockCommandTable[] = { - { "country", SEC_PLAYER, true, &HandleAccountLockCountryCommand, "", NULL }, - { "ip", SEC_PLAYER, true, &HandleAccountLockIpCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL }, + { "country", RBAC_PERM_PLAYER_COMMANDS, true, &HandleAccountLockCountryCommand, "", NULL }, + { "ip", RBAC_PERM_PLAYER_COMMANDS, true, &HandleAccountLockIpCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }, }; static ChatCommand accountCommandTable[] = { - { "addon", SEC_MODERATOR, false, &HandleAccountAddonCommand, "", NULL }, - { "create", SEC_CONSOLE, true, &HandleAccountCreateCommand, "", NULL }, - { "delete", SEC_CONSOLE, true, &HandleAccountDeleteCommand, "", NULL }, - { "onlinelist", SEC_CONSOLE, true, &HandleAccountOnlineListCommand, "", NULL }, - { "lock", SEC_PLAYER, false, NULL, "", accountLockCommandTable }, - { "set", SEC_ADMINISTRATOR, true, NULL, "", accountSetCommandTable }, - { "password", SEC_PLAYER, false, &HandleAccountPasswordCommand, "", NULL }, - { "", SEC_PLAYER, false, &HandleAccountCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "addon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleAccountAddonCommand, "", NULL }, + { "create", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountCreateCommand, "", NULL }, + { "delete", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountDeleteCommand, "", NULL }, + { "onlinelist", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountOnlineListCommand, "", NULL }, + { "lock", RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", accountLockCommandTable }, + { "set", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", accountSetCommandTable }, + { "password", RBAC_PERM_PLAYER_COMMANDS, false, &HandleAccountPasswordCommand, "", NULL }, + { "", RBAC_PERM_PLAYER_COMMANDS, false, &HandleAccountCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "account", SEC_PLAYER, true, NULL, "", accountCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "account", RBAC_PERM_PLAYER_COMMANDS, true, NULL, "", accountCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_achievement.cpp b/src/server/scripts/Commands/cs_achievement.cpp index 8b7151046b3..1ea4b5b08db 100644 --- a/src/server/scripts/Commands/cs_achievement.cpp +++ b/src/server/scripts/Commands/cs_achievement.cpp @@ -37,12 +37,12 @@ public: { static ChatCommand achievementCommandTable[] = { - { "add", SEC_ADMINISTRATOR, false, &HandleAchievementAddCommand, "", NULL }, + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAchievementAddCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "achievement", SEC_ADMINISTRATOR, false, NULL, "", achievementCommandTable }, + { "achievement", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", achievementCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp index 4dbdab25747..ece9a316ac8 100644 --- a/src/server/scripts/Commands/cs_arena.cpp +++ b/src/server/scripts/Commands/cs_arena.cpp @@ -38,18 +38,18 @@ public: { static ChatCommand arenaCommandTable[] = { - { "create", SEC_ADMINISTRATOR, true, &HandleArenaCreateCommand, "", NULL }, - { "disband", SEC_ADMINISTRATOR, true, &HandleArenaDisbandCommand, "", NULL }, - { "rename", SEC_ADMINISTRATOR, true, &HandleArenaRenameCommand, "", NULL }, - { "captain", SEC_ADMINISTRATOR, false, &HandleArenaCaptainCommand, "", NULL }, - { "info", SEC_GAMEMASTER, true, &HandleArenaInfoCommand, "", NULL }, - { "lookup", SEC_GAMEMASTER, false, &HandleArenaLookupCommand, "", NULL }, - { NULL, SEC_GAMEMASTER, false, NULL, "", NULL } + { "create", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaCreateCommand, "", NULL }, + { "disband", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaDisbandCommand, "", NULL }, + { "rename", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaRenameCommand, "", NULL }, + { "captain", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleArenaCaptainCommand, "", NULL }, + { "info", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleArenaInfoCommand, "", NULL }, + { "lookup", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleArenaLookupCommand, "", NULL }, + { NULL, RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "arena", SEC_GAMEMASTER, false, NULL, "", arenaCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "arena", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", arenaCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp index c3eb92cae32..932a1def6f0 100644 --- a/src/server/scripts/Commands/cs_ban.cpp +++ b/src/server/scripts/Commands/cs_ban.cpp @@ -39,40 +39,40 @@ public: { static ChatCommand unbanCommandTable[] = { - { "account", SEC_ADMINISTRATOR, true, &HandleUnBanAccountCommand, "", NULL }, - { "character", SEC_ADMINISTRATOR, true, &HandleUnBanCharacterCommand, "", NULL }, - { "playeraccount", SEC_ADMINISTRATOR, true, &HandleUnBanAccountByCharCommand, "", NULL }, - { "ip", SEC_ADMINISTRATOR, true, &HandleUnBanIPCommand, "", NULL }, + { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanIPCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banlistCommandTable[] = { - { "account", SEC_ADMINISTRATOR, true, &HandleBanListAccountCommand, "", NULL }, - { "character", SEC_ADMINISTRATOR, true, &HandleBanListCharacterCommand, "", NULL }, - { "ip", SEC_ADMINISTRATOR, true, &HandleBanListIPCommand, "", NULL }, + { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListAccountCommand, "", NULL }, + { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListIPCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand baninfoCommandTable[] = { - { "account", SEC_ADMINISTRATOR, true, &HandleBanInfoAccountCommand, "", NULL }, - { "character", SEC_ADMINISTRATOR, true, &HandleBanInfoCharacterCommand, "", NULL }, - { "ip", SEC_ADMINISTRATOR, true, &HandleBanInfoIPCommand, "", NULL }, + { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoAccountCommand, "", NULL }, + { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoIPCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banCommandTable[] = { - { "account", SEC_ADMINISTRATOR, true, &HandleBanAccountCommand, "", NULL }, - { "character", SEC_ADMINISTRATOR, true, &HandleBanCharacterCommand, "", NULL }, - { "playeraccount", SEC_ADMINISTRATOR, true, &HandleBanAccountByCharCommand, "", NULL }, - { "ip", SEC_ADMINISTRATOR, true, &HandleBanIPCommand, "", NULL }, + { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanIPCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "ban", SEC_ADMINISTRATOR, true, NULL, "", banCommandTable }, - { "baninfo", SEC_ADMINISTRATOR, true, NULL, "", baninfoCommandTable }, - { "banlist", SEC_ADMINISTRATOR, true, NULL, "", banlistCommandTable }, - { "unban", SEC_ADMINISTRATOR, true, NULL, "", unbanCommandTable }, + { "ban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banCommandTable }, + { "baninfo", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", baninfoCommandTable }, + { "banlist", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banlistCommandTable }, + { "unban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", unbanCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_bf.cpp b/src/server/scripts/Commands/cs_bf.cpp index 4593a88cc90..5ab94062a85 100644 --- a/src/server/scripts/Commands/cs_bf.cpp +++ b/src/server/scripts/Commands/cs_bf.cpp @@ -35,16 +35,16 @@ public: { static ChatCommand battlefieldcommandTable[] = { - { "start", SEC_ADMINISTRATOR, false, &HandleBattlefieldStart, "", NULL }, - { "stop", SEC_ADMINISTRATOR, false, &HandleBattlefieldEnd, "", NULL }, - { "switch", SEC_ADMINISTRATOR, false, &HandleBattlefieldSwitch, "", NULL }, - { "timer", SEC_ADMINISTRATOR, false, &HandleBattlefieldTimer, "", NULL }, - { "enable", SEC_ADMINISTRATOR, false, &HandleBattlefieldEnable, "", NULL }, + { "start", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldStart, "", NULL }, + { "stop", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldEnd, "", NULL }, + { "switch", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldSwitch, "", NULL }, + { "timer", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldTimer, "", NULL }, + { "enable", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldEnable, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "bf", SEC_ADMINISTRATOR, false, NULL, "", battlefieldcommandTable }, + { "bf", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", battlefieldcommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_cast.cpp b/src/server/scripts/Commands/cs_cast.cpp index 1dbfb0c2b8a..02a3aec9e82 100644 --- a/src/server/scripts/Commands/cs_cast.cpp +++ b/src/server/scripts/Commands/cs_cast.cpp @@ -37,17 +37,17 @@ public: { static ChatCommand castCommandTable[] = { - { "back", SEC_ADMINISTRATOR, false, &HandleCastBackCommand, "", NULL }, - { "dist", SEC_ADMINISTRATOR, false, &HandleCastDistCommand, "", NULL }, - { "self", SEC_ADMINISTRATOR, false, &HandleCastSelfCommand, "", NULL }, - { "target", SEC_ADMINISTRATOR, false, &HandleCastTargetCommad, "", NULL }, - { "dest", SEC_ADMINISTRATOR, false, &HandleCastDestCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, false, &HandleCastCommand, "", NULL }, + { "back", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastBackCommand, "", NULL }, + { "dist", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastDistCommand, "", NULL }, + { "self", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastSelfCommand, "", NULL }, + { "target", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastTargetCommad, "", NULL }, + { "dest", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastDestCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCastCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "cast", SEC_ADMINISTRATOR, false, NULL, "", castCommandTable }, + { "cast", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", castCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index 7a49fc2d191..d9baa5d56c3 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -39,38 +39,38 @@ public: { static ChatCommand pdumpCommandTable[] = { - { "load", SEC_ADMINISTRATOR, true, &HandlePDumpLoadCommand, "", NULL }, - { "write", SEC_ADMINISTRATOR, true, &HandlePDumpWriteCommand, "", NULL }, + { "load", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandlePDumpLoadCommand, "", NULL }, + { "write", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandlePDumpWriteCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand characterDeletedCommandTable[] = { - { "delete", SEC_CONSOLE, true, &HandleCharacterDeletedDeleteCommand, "", NULL }, - { "list", SEC_ADMINISTRATOR, true, &HandleCharacterDeletedListCommand, "", NULL }, - { "restore", SEC_ADMINISTRATOR, true, &HandleCharacterDeletedRestoreCommand, "", NULL }, - { "old", SEC_CONSOLE, true, &HandleCharacterDeletedOldCommand, "", NULL }, + { "delete", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleCharacterDeletedDeleteCommand, "", NULL }, + { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleCharacterDeletedListCommand, "", NULL }, + { "restore", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleCharacterDeletedRestoreCommand, "", NULL }, + { "old", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleCharacterDeletedOldCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand characterCommandTable[] = { - { "customize", SEC_GAMEMASTER, true, &HandleCharacterCustomizeCommand, "", NULL }, - { "changefaction", SEC_GAMEMASTER, true, &HandleCharacterChangeFactionCommand, "", NULL }, - { "changerace", SEC_GAMEMASTER, true, &HandleCharacterChangeRaceCommand, "", NULL }, - { "deleted", SEC_GAMEMASTER, true, NULL, "", characterDeletedCommandTable }, - { "erase", SEC_CONSOLE, true, &HandleCharacterEraseCommand, "", NULL }, - { "level", SEC_ADMINISTRATOR, true, &HandleCharacterLevelCommand, "", NULL }, - { "rename", SEC_GAMEMASTER, true, &HandleCharacterRenameCommand, "", NULL }, - { "reputation", SEC_GAMEMASTER, true, &HandleCharacterReputationCommand, "", NULL }, - { "titles", SEC_GAMEMASTER, true, &HandleCharacterTitlesCommand, "", NULL }, + { "customize", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterCustomizeCommand, "", NULL }, + { "changefaction", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterChangeFactionCommand, "", NULL }, + { "changerace", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterChangeRaceCommand, "", NULL }, + { "deleted", RBAC_PERM_GAMEMASTER_COMMANDS, true, NULL, "", characterDeletedCommandTable }, + { "erase", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleCharacterEraseCommand, "", NULL }, + { "level", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleCharacterLevelCommand, "", NULL }, + { "rename", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterRenameCommand, "", NULL }, + { "reputation", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterReputationCommand, "", NULL }, + { "titles", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCharacterTitlesCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "character", SEC_GAMEMASTER, true, NULL, "", characterCommandTable }, - { "levelup", SEC_ADMINISTRATOR, false, &HandleLevelUpCommand, "", NULL }, - { "pdump", SEC_ADMINISTRATOR, true, NULL, "", pdumpCommandTable }, + { "character", RBAC_PERM_GAMEMASTER_COMMANDS, true, NULL, "", characterCommandTable }, + { "levelup", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLevelUpCommand, "", NULL }, + { "pdump", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", pdumpCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp index 36d03797426..874e79f64e4 100644 --- a/src/server/scripts/Commands/cs_cheat.cpp +++ b/src/server/scripts/Commands/cs_cheat.cpp @@ -38,21 +38,21 @@ public: static ChatCommand cheatCommandTable[] = { - { "god", SEC_GAMEMASTER, false, &HandleGodModeCheatCommand, "", NULL }, - { "casttime", SEC_GAMEMASTER, false, &HandleCasttimeCheatCommand, "", NULL }, - { "cooldown", SEC_GAMEMASTER, false, &HandleCoolDownCheatCommand, "", NULL }, - { "power", SEC_GAMEMASTER, false, &HandlePowerCheatCommand, "", NULL }, - { "waterwalk", SEC_GAMEMASTER, false, &HandleWaterWalkCheatCommand, "", NULL }, - { "status", SEC_GAMEMASTER, false, &HandleCheatStatusCommand, "", NULL }, - { "taxi", SEC_GAMEMASTER, false, &HandleTaxiCheatCommand, "", NULL }, - { "explore", SEC_GAMEMASTER, false, &HandleExploreCheatCommand, "", NULL }, + { "god", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGodModeCheatCommand, "", NULL }, + { "casttime", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCasttimeCheatCommand, "", NULL }, + { "cooldown", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCoolDownCheatCommand, "", NULL }, + { "power", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePowerCheatCommand, "", NULL }, + { "waterwalk", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWaterWalkCheatCommand, "", NULL }, + { "status", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCheatStatusCommand, "", NULL }, + { "taxi", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTaxiCheatCommand, "", NULL }, + { "explore", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleExploreCheatCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "cheat", SEC_GAMEMASTER, false, NULL, "", cheatCommandTable }, + { "cheat", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", cheatCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index bb2167abbe7..4c099d49773 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -44,60 +44,60 @@ public: { static ChatCommand debugPlayCommandTable[] = { - { "cinematic", SEC_MODERATOR, false, &HandleDebugPlayCinematicCommand, "", NULL }, - { "movie", SEC_MODERATOR, false, &HandleDebugPlayMovieCommand, "", NULL }, - { "sound", SEC_MODERATOR, false, &HandleDebugPlaySoundCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "cinematic", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleDebugPlayCinematicCommand, "", NULL }, + { "movie", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleDebugPlayMovieCommand, "", NULL }, + { "sound", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleDebugPlaySoundCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand debugSendCommandTable[] = { - { "buyerror", SEC_ADMINISTRATOR, false, &HandleDebugSendBuyErrorCommand, "", NULL }, - { "channelnotify", SEC_ADMINISTRATOR, false, &HandleDebugSendChannelNotifyCommand, "", NULL }, - { "chatmmessage", SEC_ADMINISTRATOR, false, &HandleDebugSendChatMsgCommand, "", NULL }, - { "equiperror", SEC_ADMINISTRATOR, false, &HandleDebugSendEquipErrorCommand, "", NULL }, - { "largepacket", SEC_ADMINISTRATOR, false, &HandleDebugSendLargePacketCommand, "", NULL }, - { "opcode", SEC_ADMINISTRATOR, false, &HandleDebugSendOpcodeCommand, "", NULL }, - { "qpartymsg", SEC_ADMINISTRATOR, false, &HandleDebugSendQuestPartyMsgCommand, "", NULL }, - { "qinvalidmsg", SEC_ADMINISTRATOR, false, &HandleDebugSendQuestInvalidMsgCommand, "", NULL }, - { "sellerror", SEC_ADMINISTRATOR, false, &HandleDebugSendSellErrorCommand, "", NULL }, - { "setphaseshift", SEC_ADMINISTRATOR, false, &HandleDebugSendSetPhaseShiftCommand, "", NULL }, - { "spellfail", SEC_ADMINISTRATOR, false, &HandleDebugSendSpellFailCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "buyerror", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendBuyErrorCommand, "", NULL }, + { "channelnotify", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendChannelNotifyCommand, "", NULL }, + { "chatmmessage", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendChatMsgCommand, "", NULL }, + { "equiperror", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendEquipErrorCommand, "", NULL }, + { "largepacket", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendLargePacketCommand, "", NULL }, + { "opcode", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendOpcodeCommand, "", NULL }, + { "qpartymsg", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendQuestPartyMsgCommand, "", NULL }, + { "qinvalidmsg", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendQuestInvalidMsgCommand, "", NULL }, + { "sellerror", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendSellErrorCommand, "", NULL }, + { "setphaseshift", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendSetPhaseShiftCommand, "", NULL }, + { "spellfail", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSendSpellFailCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand debugCommandTable[] = { - { "setbit", SEC_ADMINISTRATOR, false, &HandleDebugSet32BitCommand, "", NULL }, - { "threat", SEC_ADMINISTRATOR, false, &HandleDebugThreatListCommand, "", NULL }, - { "hostil", SEC_ADMINISTRATOR, false, &HandleDebugHostileRefListCommand, "", NULL }, - { "anim", SEC_GAMEMASTER, false, &HandleDebugAnimCommand, "", NULL }, - { "arena", SEC_ADMINISTRATOR, false, &HandleDebugArenaCommand, "", NULL }, - { "bg", SEC_ADMINISTRATOR, false, &HandleDebugBattlegroundCommand, "", NULL }, - { "getitemstate", SEC_ADMINISTRATOR, false, &HandleDebugGetItemStateCommand, "", NULL }, - { "lootrecipient", SEC_GAMEMASTER, false, &HandleDebugGetLootRecipientCommand, "", NULL }, - { "getvalue", SEC_ADMINISTRATOR, false, &HandleDebugGetValueCommand, "", NULL }, - { "getitemvalue", SEC_ADMINISTRATOR, false, &HandleDebugGetItemValueCommand, "", NULL }, - { "Mod32Value", SEC_ADMINISTRATOR, false, &HandleDebugMod32ValueCommand, "", NULL }, - { "play", SEC_MODERATOR, false, NULL, "", debugPlayCommandTable }, - { "send", SEC_ADMINISTRATOR, false, NULL, "", debugSendCommandTable }, - { "setaurastate", SEC_ADMINISTRATOR, false, &HandleDebugSetAuraStateCommand, "", NULL }, - { "setitemvalue", SEC_ADMINISTRATOR, false, &HandleDebugSetItemValueCommand, "", NULL }, - { "setvalue", SEC_ADMINISTRATOR, false, &HandleDebugSetValueCommand, "", NULL }, - { "spawnvehicle", SEC_ADMINISTRATOR, false, &HandleDebugSpawnVehicleCommand, "", NULL }, - { "setvid", SEC_ADMINISTRATOR, false, &HandleDebugSetVehicleIdCommand, "", NULL }, - { "entervehicle", SEC_ADMINISTRATOR, false, &HandleDebugEnterVehicleCommand, "", NULL }, - { "uws", SEC_ADMINISTRATOR, false, &HandleDebugUpdateWorldStateCommand, "", NULL }, - { "update", SEC_ADMINISTRATOR, false, &HandleDebugUpdateCommand, "", NULL }, - { "itemexpire", SEC_ADMINISTRATOR, false, &HandleDebugItemExpireCommand, "", NULL }, - { "areatriggers", SEC_ADMINISTRATOR, false, &HandleDebugAreaTriggersCommand, "", NULL }, - { "los", SEC_MODERATOR, false, &HandleDebugLoSCommand, "", NULL }, - { "moveflags", SEC_ADMINISTRATOR, false, &HandleDebugMoveflagsCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "setbit", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSet32BitCommand, "", NULL }, + { "threat", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugThreatListCommand, "", NULL }, + { "hostil", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugHostileRefListCommand, "", NULL }, + { "anim", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleDebugAnimCommand, "", NULL }, + { "arena", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugArenaCommand, "", NULL }, + { "bg", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugBattlegroundCommand, "", NULL }, + { "getitemstate", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugGetItemStateCommand, "", NULL }, + { "lootrecipient", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleDebugGetLootRecipientCommand, "", NULL }, + { "getvalue", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugGetValueCommand, "", NULL }, + { "getitemvalue", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugGetItemValueCommand, "", NULL }, + { "Mod32Value", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugMod32ValueCommand, "", NULL }, + { "play", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", debugPlayCommandTable }, + { "send", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", debugSendCommandTable }, + { "setaurastate", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSetAuraStateCommand, "", NULL }, + { "setitemvalue", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSetItemValueCommand, "", NULL }, + { "setvalue", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSetValueCommand, "", NULL }, + { "spawnvehicle", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSpawnVehicleCommand, "", NULL }, + { "setvid", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugSetVehicleIdCommand, "", NULL }, + { "entervehicle", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugEnterVehicleCommand, "", NULL }, + { "uws", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugUpdateWorldStateCommand, "", NULL }, + { "update", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugUpdateCommand, "", NULL }, + { "itemexpire", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugItemExpireCommand, "", NULL }, + { "areatriggers", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugAreaTriggersCommand, "", NULL }, + { "los", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleDebugLoSCommand, "", NULL }, + { "moveflags", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDebugMoveflagsCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "debug", SEC_MODERATOR, true, NULL, "", debugCommandTable }, - { "wpgps", SEC_ADMINISTRATOR, false, &HandleWPGPSCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "debug", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", debugCommandTable }, + { "wpgps", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleWPGPSCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_deserter.cpp b/src/server/scripts/Commands/cs_deserter.cpp index 285b68a6162..583b6b741bd 100644 --- a/src/server/scripts/Commands/cs_deserter.cpp +++ b/src/server/scripts/Commands/cs_deserter.cpp @@ -47,27 +47,27 @@ public: { static ChatCommand deserterInstanceCommandTable[] = { - { "add", SEC_ADMINISTRATOR, false, &HandleDeserterInstanceAdd, "", NULL }, - { "remove", SEC_ADMINISTRATOR, false, &HandleDeserterInstanceRemove, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDeserterInstanceAdd, "", NULL }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDeserterInstanceRemove, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand deserterBGCommandTable[] = { - { "add", SEC_ADMINISTRATOR, false, &HandleDeserterBGAdd, "", NULL }, - { "remove", SEC_ADMINISTRATOR, false, &HandleDeserterBGRemove, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDeserterBGAdd, "", NULL }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDeserterBGRemove, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand deserterCommandTable[] = { - { "instance", SEC_ADMINISTRATOR, false, NULL, "", deserterInstanceCommandTable }, - { "bg", SEC_ADMINISTRATOR, false, NULL, "", deserterBGCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "instance", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", deserterInstanceCommandTable }, + { "bg", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", deserterBGCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "deserter", SEC_ADMINISTRATOR, false, NULL, "", deserterCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "deserter", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", deserterCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_disable.cpp b/src/server/scripts/Commands/cs_disable.cpp index e6acb17373f..038727a6207 100644 --- a/src/server/scripts/Commands/cs_disable.cpp +++ b/src/server/scripts/Commands/cs_disable.cpp @@ -41,37 +41,37 @@ public: { static ChatCommand removeDisableCommandTable[] = { - { "spell", SEC_ADMINISTRATOR, true, &HandleRemoveDisableSpellCommand, "", NULL }, - { "quest", SEC_ADMINISTRATOR, true, &HandleRemoveDisableQuestCommand, "", NULL }, - { "map", SEC_ADMINISTRATOR, true, &HandleRemoveDisableMapCommand, "", NULL }, - { "battleground", SEC_ADMINISTRATOR, true, &HandleRemoveDisableBattlegroundCommand, "", NULL }, - { "achievement_criteria", SEC_ADMINISTRATOR, true, &HandleRemoveDisableAchievementCriteriaCommand, "", NULL }, - { "outdoorpvp", SEC_ADMINISTRATOR, true, &HandleRemoveDisableOutdoorPvPCommand, "", NULL }, - { "vmap", SEC_ADMINISTRATOR, true, &HandleRemoveDisableVmapCommand, "", NULL }, - { "mmap", SEC_ADMINISTRATOR, true, &HandleRemoveDisableMMapCommand, "", NULL }, + { "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableSpellCommand, "", NULL }, + { "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableQuestCommand, "", NULL }, + { "map", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableMapCommand, "", NULL }, + { "battleground", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableBattlegroundCommand, "", NULL }, + { "achievement_criteria", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableAchievementCriteriaCommand, "", NULL }, + { "outdoorpvp", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableOutdoorPvPCommand, "", NULL }, + { "vmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableVmapCommand, "", NULL }, + { "mmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRemoveDisableMMapCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand addDisableCommandTable[] = { - { "spell", SEC_ADMINISTRATOR, true, &HandleAddDisableSpellCommand, "", NULL }, - { "quest", SEC_ADMINISTRATOR, true, &HandleAddDisableQuestCommand, "", NULL }, - { "map", SEC_ADMINISTRATOR, true, &HandleAddDisableMapCommand, "", NULL }, - { "battleground", SEC_ADMINISTRATOR, true, &HandleAddDisableBattlegroundCommand, "", NULL }, - { "achievement_criteria", SEC_ADMINISTRATOR, true, &HandleAddDisableAchievementCriteriaCommand, "", NULL }, - { "outdoorpvp", SEC_ADMINISTRATOR, true, &HandleAddDisableOutdoorPvPCommand, "", NULL }, - { "vmap", SEC_ADMINISTRATOR, true, &HandleAddDisableVmapCommand, "", NULL }, - { "mmap", SEC_ADMINISTRATOR, true, &HandleAddDisableMMapCommand, "", NULL }, + { "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableSpellCommand, "", NULL }, + { "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableQuestCommand, "", NULL }, + { "map", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableMapCommand, "", NULL }, + { "battleground", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableBattlegroundCommand, "", NULL }, + { "achievement_criteria", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableAchievementCriteriaCommand, "", NULL }, + { "outdoorpvp", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableOutdoorPvPCommand, "", NULL }, + { "vmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableVmapCommand, "", NULL }, + { "mmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAddDisableMMapCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand disableCommandTable[] = { - { "add", SEC_ADMINISTRATOR, true, NULL, "", addDisableCommandTable }, - { "remove", SEC_ADMINISTRATOR, true, NULL, "", removeDisableCommandTable }, + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", addDisableCommandTable }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", removeDisableCommandTable }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "disable", SEC_ADMINISTRATOR, false, NULL, "", disableCommandTable }, + { "disable", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", disableCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_event.cpp b/src/server/scripts/Commands/cs_event.cpp index 7a5977074a3..0deb0c95fcc 100644 --- a/src/server/scripts/Commands/cs_event.cpp +++ b/src/server/scripts/Commands/cs_event.cpp @@ -37,15 +37,15 @@ public: { static ChatCommand eventCommandTable[] = { - { "activelist", SEC_GAMEMASTER, true, &HandleEventActiveListCommand, "", NULL }, - { "start", SEC_GAMEMASTER, true, &HandleEventStartCommand, "", NULL }, - { "stop", SEC_GAMEMASTER, true, &HandleEventStopCommand, "", NULL }, - { "", SEC_GAMEMASTER, true, &HandleEventInfoCommand, "", NULL }, + { "activelist", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleEventActiveListCommand, "", NULL }, + { "start", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleEventStartCommand, "", NULL }, + { "stop", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleEventStopCommand, "", NULL }, + { "", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleEventInfoCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "event", SEC_GAMEMASTER, false, NULL, "", eventCommandTable }, + { "event", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", eventCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index f3669f7cffd..0eb5bc1ef69 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -40,17 +40,17 @@ public: { static ChatCommand gmCommandTable[] = { - { "chat", SEC_MODERATOR, false, &HandleGMChatCommand, "", NULL }, - { "fly", SEC_ADMINISTRATOR, false, &HandleGMFlyCommand, "", NULL }, - { "ingame", SEC_PLAYER, true, &HandleGMListIngameCommand, "", NULL }, - { "list", SEC_ADMINISTRATOR, true, &HandleGMListFullCommand, "", NULL }, - { "visible", SEC_MODERATOR, false, &HandleGMVisibleCommand, "", NULL }, - { "", SEC_MODERATOR, false, &HandleGMCommand, "", NULL }, + { "chat", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGMChatCommand, "", NULL }, + { "fly", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGMFlyCommand, "", NULL }, + { "ingame", RBAC_PERM_PLAYER_COMMANDS, true, &HandleGMListIngameCommand, "", NULL }, + { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMListFullCommand, "", NULL }, + { "visible", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGMVisibleCommand, "", NULL }, + { "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGMCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "gm", SEC_MODERATOR, false, NULL, "", gmCommandTable }, + { "gm", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", gmCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index 762e37dbae7..21a545ae3f9 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -39,22 +39,22 @@ public: { static ChatCommand goCommandTable[] = { - { "creature", SEC_MODERATOR, false, &HandleGoCreatureCommand, "", NULL }, - { "graveyard", SEC_MODERATOR, false, &HandleGoGraveyardCommand, "", NULL }, - { "grid", SEC_MODERATOR, false, &HandleGoGridCommand, "", NULL }, - { "object", SEC_MODERATOR, false, &HandleGoObjectCommand, "", NULL }, - { "taxinode", SEC_MODERATOR, false, &HandleGoTaxinodeCommand, "", NULL }, - { "trigger", SEC_MODERATOR, false, &HandleGoTriggerCommand, "", NULL }, - { "zonexy", SEC_MODERATOR, false, &HandleGoZoneXYCommand, "", NULL }, - { "xyz", SEC_MODERATOR, false, &HandleGoXYZCommand, "", NULL }, - { "ticket", SEC_MODERATOR, false, &HandleGoTicketCommand, "", NULL }, - { "", SEC_MODERATOR, false, &HandleGoXYZCommand, "", NULL }, + { "creature", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoCreatureCommand, "", NULL }, + { "graveyard", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoGraveyardCommand, "", NULL }, + { "grid", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoGridCommand, "", NULL }, + { "object", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoObjectCommand, "", NULL }, + { "taxinode", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoTaxinodeCommand, "", NULL }, + { "trigger", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoTriggerCommand, "", NULL }, + { "zonexy", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoZoneXYCommand, "", NULL }, + { "xyz", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoXYZCommand, "", NULL }, + { "ticket", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoTicketCommand, "", NULL }, + { "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGoXYZCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "go", SEC_MODERATOR, false, NULL, "", goCommandTable }, + { "go", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", goCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp index 8ae2e7b4dfb..140219cdf3c 100644 --- a/src/server/scripts/Commands/cs_gobject.cpp +++ b/src/server/scripts/Commands/cs_gobject.cpp @@ -41,32 +41,32 @@ public: { static ChatCommand gobjectAddCommandTable[] = { - { "temp", SEC_GAMEMASTER, false, &HandleGameObjectAddTempCommand, "", NULL }, - { "", SEC_GAMEMASTER, false, &HandleGameObjectAddCommand, "", NULL }, + { "temp", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectAddTempCommand, "", NULL }, + { "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectAddCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand gobjectSetCommandTable[] = { - { "phase", SEC_GAMEMASTER, false, &HandleGameObjectSetPhaseCommand, "", NULL }, - { "state", SEC_GAMEMASTER, false, &HandleGameObjectSetStateCommand, "", NULL }, + { "phase", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectSetPhaseCommand, "", NULL }, + { "state", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectSetStateCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand gobjectCommandTable[] = { - { "activate", SEC_GAMEMASTER, false, &HandleGameObjectActivateCommand, "", NULL }, - { "delete", SEC_GAMEMASTER, false, &HandleGameObjectDeleteCommand, "", NULL }, - { "info", SEC_GAMEMASTER, false, &HandleGameObjectInfoCommand, "", NULL }, - { "move", SEC_GAMEMASTER, false, &HandleGameObjectMoveCommand, "", NULL }, - { "near", SEC_GAMEMASTER, false, &HandleGameObjectNearCommand, "", NULL }, - { "target", SEC_GAMEMASTER, false, &HandleGameObjectTargetCommand, "", NULL }, - { "turn", SEC_GAMEMASTER, false, &HandleGameObjectTurnCommand, "", NULL }, - { "add", SEC_GAMEMASTER, false, NULL, "", gobjectAddCommandTable }, - { "set", SEC_GAMEMASTER, false, NULL, "", gobjectSetCommandTable }, + { "activate", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectActivateCommand, "", NULL }, + { "delete", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectDeleteCommand, "", NULL }, + { "info", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectInfoCommand, "", NULL }, + { "move", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectMoveCommand, "", NULL }, + { "near", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectNearCommand, "", NULL }, + { "target", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectTargetCommand, "", NULL }, + { "turn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGameObjectTurnCommand, "", NULL }, + { "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", gobjectAddCommandTable }, + { "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", gobjectSetCommandTable }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "gobject", SEC_GAMEMASTER, false, NULL, "", gobjectCommandTable }, + { "gobject", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", gobjectCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp index 9d2214c82e9..f1251cb2932 100644 --- a/src/server/scripts/Commands/cs_guild.cpp +++ b/src/server/scripts/Commands/cs_guild.cpp @@ -38,17 +38,17 @@ public: { static ChatCommand guildCommandTable[] = { - { "create", SEC_GAMEMASTER, true, &HandleGuildCreateCommand, "", NULL }, - { "delete", SEC_GAMEMASTER, true, &HandleGuildDeleteCommand, "", NULL }, - { "invite", SEC_GAMEMASTER, true, &HandleGuildInviteCommand, "", NULL }, - { "uninvite", SEC_GAMEMASTER, true, &HandleGuildUninviteCommand, "", NULL }, - { "rank", SEC_GAMEMASTER, true, &HandleGuildRankCommand, "", NULL }, - { "rename", SEC_GAMEMASTER, true, &HandleGuildRenameCommand, "", NULL }, + { "create", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildCreateCommand, "", NULL }, + { "delete", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildDeleteCommand, "", NULL }, + { "invite", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildInviteCommand, "", NULL }, + { "uninvite", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildUninviteCommand, "", NULL }, + { "rank", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildRankCommand, "", NULL }, + { "rename", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGuildRenameCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "guild", SEC_ADMINISTRATOR, true, NULL, "", guildCommandTable }, + { "guild", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", guildCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_honor.cpp b/src/server/scripts/Commands/cs_honor.cpp index 75c7fcf71e2..4707e3d65c3 100644 --- a/src/server/scripts/Commands/cs_honor.cpp +++ b/src/server/scripts/Commands/cs_honor.cpp @@ -37,21 +37,21 @@ public: { static ChatCommand honorAddCommandTable[] = { - { "kill", SEC_GAMEMASTER, false, &HandleHonorAddKillCommand, "", NULL }, - { "", SEC_GAMEMASTER, false, &HandleHonorAddCommand, "", NULL }, + { "kill", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorAddKillCommand, "", NULL }, + { "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorAddCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand honorCommandTable[] = { - { "add", SEC_GAMEMASTER, false, NULL, "", honorAddCommandTable }, - { "update", SEC_GAMEMASTER, false, &HandleHonorUpdateCommand, "", NULL }, + { "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", honorAddCommandTable }, + { "update", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorUpdateCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "honor", SEC_GAMEMASTER, false, NULL, "", honorCommandTable }, + { "honor", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", honorCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp index a0cd306c631..65dfa46ebd7 100644 --- a/src/server/scripts/Commands/cs_instance.cpp +++ b/src/server/scripts/Commands/cs_instance.cpp @@ -39,16 +39,16 @@ public: { static ChatCommand instanceCommandTable[] = { - { "listbinds", SEC_ADMINISTRATOR, false, &HandleInstanceListBindsCommand, "", NULL }, - { "unbind", SEC_ADMINISTRATOR, false, &HandleInstanceUnbindCommand, "", NULL }, - { "stats", SEC_ADMINISTRATOR, true, &HandleInstanceStatsCommand, "", NULL }, - { "savedata", SEC_ADMINISTRATOR, false, &HandleInstanceSaveDataCommand, "", NULL }, + { "listbinds", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleInstanceListBindsCommand, "", NULL }, + { "unbind", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleInstanceUnbindCommand, "", NULL }, + { "stats", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleInstanceStatsCommand, "", NULL }, + { "savedata", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleInstanceSaveDataCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "instance", SEC_ADMINISTRATOR, true, NULL, "", instanceCommandTable }, + { "instance", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", instanceCommandTable }, { NULL, 0, false, NULL, "", NULL } }; diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp index baebc3d0bd5..f2ff911fdf9 100644 --- a/src/server/scripts/Commands/cs_learn.cpp +++ b/src/server/scripts/Commands/cs_learn.cpp @@ -40,35 +40,35 @@ public: { static ChatCommand learnAllMyCommandTable[] = { - { "class", SEC_ADMINISTRATOR, false, &HandleLearnAllMyClassCommand, "", NULL }, - { "pettalents", SEC_ADMINISTRATOR, false, &HandleLearnAllMyPetTalentsCommand, "", NULL }, - { "spells", SEC_ADMINISTRATOR, false, &HandleLearnAllMySpellsCommand, "", NULL }, - { "talents", SEC_ADMINISTRATOR, false, &HandleLearnAllMyTalentsCommand, "", NULL }, + { "class", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLearnAllMyClassCommand, "", NULL }, + { "pettalents", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLearnAllMyPetTalentsCommand, "", NULL }, + { "spells", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLearnAllMySpellsCommand, "", NULL }, + { "talents", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLearnAllMyTalentsCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand learnAllCommandTable[] = { - { "my", SEC_ADMINISTRATOR, false, NULL, "", learnAllMyCommandTable }, - { "gm", SEC_GAMEMASTER, false, &HandleLearnAllGMCommand, "", NULL }, - { "crafts", SEC_GAMEMASTER, false, &HandleLearnAllCraftsCommand, "", NULL }, - { "default", SEC_MODERATOR, false, &HandleLearnAllDefaultCommand, "", NULL }, - { "lang", SEC_MODERATOR, false, &HandleLearnAllLangCommand, "", NULL }, - { "recipes", SEC_GAMEMASTER, false, &HandleLearnAllRecipesCommand, "", NULL }, + { "my", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", learnAllMyCommandTable }, + { "gm", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLearnAllGMCommand, "", NULL }, + { "crafts", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLearnAllCraftsCommand, "", NULL }, + { "default", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleLearnAllDefaultCommand, "", NULL }, + { "lang", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleLearnAllLangCommand, "", NULL }, + { "recipes", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLearnAllRecipesCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand learnCommandTable[] = { - { "all", SEC_ADMINISTRATOR, false, NULL, "", learnAllCommandTable }, - { "", SEC_ADMINISTRATOR, false, &HandleLearnCommand, "", NULL }, + { "all", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", learnAllCommandTable }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLearnCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable }, - { "unlearn", SEC_ADMINISTRATOR, false, &HandleUnLearnCommand, "", NULL }, + { "learn", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", learnCommandTable }, + { "unlearn", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleUnLearnCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp index 3a9e7a67214..c11a00c7bba 100644 --- a/src/server/scripts/Commands/cs_lfg.cpp +++ b/src/server/scripts/Commands/cs_lfg.cpp @@ -45,18 +45,18 @@ public: { static ChatCommand lfgCommandTable[] = { - { "player", SEC_GAMEMASTER, false, &HandleLfgPlayerInfoCommand, "", NULL }, - { "group", SEC_GAMEMASTER, false, &HandleLfgGroupInfoCommand, "", NULL }, - { "queue", SEC_GAMEMASTER, false, &HandleLfgQueueInfoCommand, "", NULL }, - { "clean", SEC_ADMINISTRATOR, false, &HandleLfgCleanCommand, "", NULL }, - { "options", SEC_ADMINISTRATOR, false, &HandleLfgOptionsCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "player", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLfgPlayerInfoCommand, "", NULL }, + { "group", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLfgGroupInfoCommand, "", NULL }, + { "queue", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleLfgQueueInfoCommand, "", NULL }, + { "clean", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLfgCleanCommand, "", NULL }, + { "options", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLfgOptionsCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "lfg", SEC_GAMEMASTER, false, NULL, "", lfgCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "lfg", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", lfgCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp index 7595932ecbb..228eb1afb80 100644 --- a/src/server/scripts/Commands/cs_list.cpp +++ b/src/server/scripts/Commands/cs_list.cpp @@ -40,16 +40,16 @@ public: { static ChatCommand listCommandTable[] = { - { "creature", SEC_ADMINISTRATOR, true, &HandleListCreatureCommand, "", NULL }, - { "item", SEC_ADMINISTRATOR, true, &HandleListItemCommand, "", NULL }, - { "object", SEC_ADMINISTRATOR, true, &HandleListObjectCommand, "", NULL }, - { "auras", SEC_ADMINISTRATOR, false, &HandleListAurasCommand, "", NULL }, - { "mail", SEC_ADMINISTRATOR, true, &HandleListMailCommand, "", NULL }, + { "creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListCreatureCommand, "", NULL }, + { "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListItemCommand, "", NULL }, + { "object", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListObjectCommand, "", NULL }, + { "auras", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleListAurasCommand, "", NULL }, + { "mail", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListMailCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "list", SEC_ADMINISTRATOR, true, NULL, "", listCommandTable }, + { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", listCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp index 91f3e5451c4..990c82df568 100644 --- a/src/server/scripts/Commands/cs_lookup.cpp +++ b/src/server/scripts/Commands/cs_lookup.cpp @@ -41,42 +41,42 @@ public: { static ChatCommand lookupPlayerCommandTable[] = { - { "ip", SEC_GAMEMASTER, true, &HandleLookupPlayerIpCommand, "", NULL }, - { "account", SEC_GAMEMASTER, true, &HandleLookupPlayerAccountCommand, "", NULL }, - { "email", SEC_GAMEMASTER, true, &HandleLookupPlayerEmailCommand, "", NULL }, + { "ip", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerIpCommand, "", NULL }, + { "account", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerAccountCommand, "", NULL }, + { "email", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerEmailCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand lookupSpellCommandTable[] = { - { "id", SEC_ADMINISTRATOR, true, &HandleLookupSpellIdCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, true, &HandleLookupSpellCommand, "", NULL }, + { "id", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSpellIdCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSpellCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand lookupCommandTable[] = { - { "area", SEC_MODERATOR, true, &HandleLookupAreaCommand, "", NULL }, - { "creature", SEC_ADMINISTRATOR, true, &HandleLookupCreatureCommand, "", NULL }, - { "event", SEC_GAMEMASTER, true, &HandleLookupEventCommand, "", NULL }, - { "faction", SEC_ADMINISTRATOR, true, &HandleLookupFactionCommand, "", NULL }, - { "item", SEC_ADMINISTRATOR, true, &HandleLookupItemCommand, "", NULL }, - { "itemset", SEC_ADMINISTRATOR, true, &HandleLookupItemSetCommand, "", NULL }, - { "object", SEC_ADMINISTRATOR, true, &HandleLookupObjectCommand, "", NULL }, - { "quest", SEC_ADMINISTRATOR, true, &HandleLookupQuestCommand, "", NULL }, - { "player", SEC_GAMEMASTER, true, NULL, "", lookupPlayerCommandTable }, - { "skill", SEC_ADMINISTRATOR, true, &HandleLookupSkillCommand, "", NULL }, - { "spell", SEC_ADMINISTRATOR, true, NULL, "", lookupSpellCommandTable }, - { "taxinode", SEC_ADMINISTRATOR, true, &HandleLookupTaxiNodeCommand, "", NULL }, - { "tele", SEC_MODERATOR, true, &HandleLookupTeleCommand, "", NULL }, - { "title", SEC_GAMEMASTER, true, &HandleLookupTitleCommand, "", NULL }, - { "map", SEC_ADMINISTRATOR, true, &HandleLookupMapCommand, "", NULL }, + { "area", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleLookupAreaCommand, "", NULL }, + { "creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupCreatureCommand, "", NULL }, + { "event", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupEventCommand, "", NULL }, + { "faction", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupFactionCommand, "", NULL }, + { "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupItemCommand, "", NULL }, + { "itemset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupItemSetCommand, "", NULL }, + { "object", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupObjectCommand, "", NULL }, + { "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupQuestCommand, "", NULL }, + { "player", RBAC_PERM_GAMEMASTER_COMMANDS, true, NULL, "", lookupPlayerCommandTable }, + { "skill", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSkillCommand, "", NULL }, + { "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", lookupSpellCommandTable }, + { "taxinode", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupTaxiNodeCommand, "", NULL }, + { "tele", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleLookupTeleCommand, "", NULL }, + { "title", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupTitleCommand, "", NULL }, + { "map", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupMapCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "lookup", SEC_ADMINISTRATOR, true, NULL, "", lookupCommandTable }, + { "lookup", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", lookupCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_message.cpp b/src/server/scripts/Commands/cs_message.cpp index cc50490e831..334968037c3 100644 --- a/src/server/scripts/Commands/cs_message.cpp +++ b/src/server/scripts/Commands/cs_message.cpp @@ -38,24 +38,24 @@ public: { static ChatCommand channelSetCommandTable[] = { - { "ownership", SEC_ADMINISTRATOR, false, &HandleChannelSetOwnership, "", NULL }, + { "ownership", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleChannelSetOwnership, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand channelCommandTable[] = { - { "set", SEC_ADMINISTRATOR, true, NULL, "", channelSetCommandTable }, + { "set", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", channelSetCommandTable }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "channel", SEC_ADMINISTRATOR, true, NULL, "", channelCommandTable }, - { "nameannounce", SEC_MODERATOR, true, &HandleNameAnnounceCommand, "", NULL }, - { "gmnameannounce", SEC_MODERATOR, true, &HandleGMNameAnnounceCommand, "", NULL }, - { "announce", SEC_MODERATOR, true, &HandleAnnounceCommand, "", NULL }, - { "gmannounce", SEC_MODERATOR, true, &HandleGMAnnounceCommand, "", NULL }, - { "notify", SEC_MODERATOR, true, &HandleNotifyCommand, "", NULL }, - { "gmnotify", SEC_MODERATOR, true, &HandleGMNotifyCommand, "", NULL }, - { "whispers", SEC_MODERATOR, false, &HandleWhispersCommand, "", NULL }, + { "channel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", channelCommandTable }, + { "nameannounce", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleNameAnnounceCommand, "", NULL }, + { "gmnameannounce", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMNameAnnounceCommand, "", NULL }, + { "announce", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleAnnounceCommand, "", NULL }, + { "gmannounce", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMAnnounceCommand, "", NULL }, + { "notify", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleNotifyCommand, "", NULL }, + { "gmnotify", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMNotifyCommand, "", NULL }, + { "whispers", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleWhispersCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 6c7e8386bdf..ee31542c53a 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -46,82 +46,82 @@ public: { static ChatCommand groupCommandTable[] = { - { "leader", SEC_ADMINISTRATOR, false, &HandleGroupLeaderCommand, "", NULL }, - { "disband", SEC_ADMINISTRATOR, false, &HandleGroupDisbandCommand, "", NULL }, - { "remove", SEC_ADMINISTRATOR, false, &HandleGroupRemoveCommand, "", NULL }, - { "join", SEC_ADMINISTRATOR, false, &HandleGroupJoinCommand, "", NULL }, - { "list", SEC_ADMINISTRATOR, false, &HandleGroupListCommand, "", NULL }, + { "leader", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupLeaderCommand, "", NULL }, + { "disband", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupDisbandCommand, "", NULL }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupRemoveCommand, "", NULL }, + { "join", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupJoinCommand, "", NULL }, + { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupListCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand petCommandTable[] = { - { "create", SEC_GAMEMASTER, false, &HandleCreatePetCommand, "", NULL }, - { "learn", SEC_GAMEMASTER, false, &HandlePetLearnCommand, "", NULL }, - { "unlearn", SEC_GAMEMASTER, false, &HandlePetUnlearnCommand, "", NULL }, + { "create", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCreatePetCommand, "", NULL }, + { "learn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetLearnCommand, "", NULL }, + { "unlearn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetUnlearnCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand sendCommandTable[] = { - { "items", SEC_ADMINISTRATOR, true, &HandleSendItemsCommand, "", NULL }, - { "mail", SEC_MODERATOR, true, &HandleSendMailCommand, "", NULL }, - { "message", SEC_ADMINISTRATOR, true, &HandleSendMessageCommand, "", NULL }, - { "money", SEC_ADMINISTRATOR, true, &HandleSendMoneyCommand, "", NULL }, + { "items", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendItemsCommand, "", NULL }, + { "mail", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSendMailCommand, "", NULL }, + { "message", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMessageCommand, "", NULL }, + { "money", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMoneyCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "dev", SEC_ADMINISTRATOR, false, &HandleDevCommand, "", NULL }, - { "gps", SEC_ADMINISTRATOR, false, &HandleGPSCommand, "", NULL }, - { "aura", SEC_ADMINISTRATOR, false, &HandleAuraCommand, "", NULL }, - { "unaura", SEC_ADMINISTRATOR, false, &HandleUnAuraCommand, "", NULL }, - { "appear", SEC_MODERATOR, false, &HandleAppearCommand, "", NULL }, - { "summon", SEC_MODERATOR, false, &HandleSummonCommand, "", NULL }, - { "groupsummon", SEC_MODERATOR, false, &HandleGroupSummonCommand, "", NULL }, - { "commands", SEC_PLAYER, true, &HandleCommandsCommand, "", NULL }, - { "die", SEC_ADMINISTRATOR, false, &HandleDieCommand, "", NULL }, - { "revive", SEC_ADMINISTRATOR, true, &HandleReviveCommand, "", NULL }, - { "dismount", SEC_PLAYER, false, &HandleDismountCommand, "", NULL }, - { "guid", SEC_GAMEMASTER, false, &HandleGUIDCommand, "", NULL }, - { "help", SEC_PLAYER, true, &HandleHelpCommand, "", NULL }, - { "itemmove", SEC_GAMEMASTER, false, &HandleItemMoveCommand, "", NULL }, - { "cooldown", SEC_ADMINISTRATOR, false, &HandleCooldownCommand, "", NULL }, - { "distance", SEC_ADMINISTRATOR, false, &HandleGetDistanceCommand, "", NULL }, - { "recall", SEC_MODERATOR, false, &HandleRecallCommand, "", NULL }, - { "save", SEC_PLAYER, false, &HandleSaveCommand, "", NULL }, - { "saveall", SEC_MODERATOR, true, &HandleSaveAllCommand, "", NULL }, - { "kick", SEC_GAMEMASTER, true, &HandleKickPlayerCommand, "", NULL }, - { "unstuck", SEC_PLAYER, true, &HandleUnstuckCommand, "", NULL }, - { "linkgrave", SEC_ADMINISTRATOR, false, &HandleLinkGraveCommand, "", NULL }, - { "neargrave", SEC_ADMINISTRATOR, false, &HandleNearGraveCommand, "", NULL }, - { "showarea", SEC_ADMINISTRATOR, false, &HandleShowAreaCommand, "", NULL }, - { "hidearea", SEC_ADMINISTRATOR, false, &HandleHideAreaCommand, "", NULL }, - { "additem", SEC_ADMINISTRATOR, false, &HandleAddItemCommand, "", NULL }, - { "additemset", SEC_ADMINISTRATOR, false, &HandleAddItemSetCommand, "", NULL }, - { "bank", SEC_ADMINISTRATOR, false, &HandleBankCommand, "", NULL }, - { "wchange", SEC_ADMINISTRATOR, false, &HandleChangeWeather, "", NULL }, - { "maxskill", SEC_ADMINISTRATOR, false, &HandleMaxSkillCommand, "", NULL }, - { "setskill", SEC_ADMINISTRATOR, false, &HandleSetSkillCommand, "", NULL }, - { "pinfo", SEC_GAMEMASTER, true, &HandlePInfoCommand, "", NULL }, - { "respawn", SEC_ADMINISTRATOR, false, &HandleRespawnCommand, "", NULL }, - { "send", SEC_MODERATOR, true, NULL, "", sendCommandTable }, - { "pet", SEC_GAMEMASTER, false, NULL, "", petCommandTable }, - { "mute", SEC_MODERATOR, true, &HandleMuteCommand, "", NULL }, - { "unmute", SEC_MODERATOR, true, &HandleUnmuteCommand, "", NULL }, - { "movegens", SEC_ADMINISTRATOR, false, &HandleMovegensCommand, "", NULL }, - { "cometome", SEC_ADMINISTRATOR, false, &HandleComeToMeCommand, "", NULL }, - { "damage", SEC_ADMINISTRATOR, false, &HandleDamageCommand, "", NULL }, - { "combatstop", SEC_GAMEMASTER, true, &HandleCombatStopCommand, "", NULL }, - { "flusharenapoints", SEC_ADMINISTRATOR, false, &HandleFlushArenaPointsCommand, "", NULL }, - { "repairitems", SEC_GAMEMASTER, true, &HandleRepairitemsCommand, "", NULL }, - { "freeze", SEC_MODERATOR, false, &HandleFreezeCommand, "", NULL }, - { "unfreeze", SEC_MODERATOR, false, &HandleUnFreezeCommand, "", NULL }, - { "listfreeze", SEC_MODERATOR, false, &HandleListFreezeCommand, "", NULL }, - { "group", SEC_ADMINISTRATOR, false, NULL, "", groupCommandTable }, - { "possess", SEC_ADMINISTRATOR, false, HandlePossessCommand, "", NULL }, - { "unpossess", SEC_ADMINISTRATOR, false, HandleUnPossessCommand, "", NULL }, - { "bindsight", SEC_ADMINISTRATOR, false, HandleBindSightCommand, "", NULL }, - { "unbindsight", SEC_ADMINISTRATOR, false, HandleUnbindSightCommand, "", NULL }, - { "playall", SEC_GAMEMASTER, false, HandlePlayAllCommand, "", NULL }, + { "dev", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDevCommand, "", NULL }, + { "gps", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGPSCommand, "", NULL }, + { "aura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAuraCommand, "", NULL }, + { "unaura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleUnAuraCommand, "", NULL }, + { "appear", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleAppearCommand, "", NULL }, + { "summon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleSummonCommand, "", NULL }, + { "groupsummon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGroupSummonCommand, "", NULL }, + { "commands", RBAC_PERM_PLAYER_COMMANDS, true, &HandleCommandsCommand, "", NULL }, + { "die", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDieCommand, "", NULL }, + { "revive", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReviveCommand, "", NULL }, + { "dismount", RBAC_PERM_PLAYER_COMMANDS, false, &HandleDismountCommand, "", NULL }, + { "guid", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGUIDCommand, "", NULL }, + { "help", RBAC_PERM_PLAYER_COMMANDS, true, &HandleHelpCommand, "", NULL }, + { "itemmove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleItemMoveCommand, "", NULL }, + { "cooldown", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCooldownCommand, "", NULL }, + { "distance", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGetDistanceCommand, "", NULL }, + { "recall", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleRecallCommand, "", NULL }, + { "save", RBAC_PERM_PLAYER_COMMANDS, false, &HandleSaveCommand, "", NULL }, + { "saveall", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSaveAllCommand, "", NULL }, + { "kick", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleKickPlayerCommand, "", NULL }, + { "unstuck", RBAC_PERM_PLAYER_COMMANDS, true, &HandleUnstuckCommand, "", NULL }, + { "linkgrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLinkGraveCommand, "", NULL }, + { "neargrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNearGraveCommand, "", NULL }, + { "showarea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleShowAreaCommand, "", NULL }, + { "hidearea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleHideAreaCommand, "", NULL }, + { "additem", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemCommand, "", NULL }, + { "additemset", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemSetCommand, "", NULL }, + { "bank", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBankCommand, "", NULL }, + { "wchange", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleChangeWeather, "", NULL }, + { "maxskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMaxSkillCommand, "", NULL }, + { "setskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleSetSkillCommand, "", NULL }, + { "pinfo", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandlePInfoCommand, "", NULL }, + { "respawn", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleRespawnCommand, "", NULL }, + { "send", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", sendCommandTable }, + { "pet", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", petCommandTable }, + { "mute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleMuteCommand, "", NULL }, + { "unmute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleUnmuteCommand, "", NULL }, + { "movegens", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMovegensCommand, "", NULL }, + { "cometome", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleComeToMeCommand, "", NULL }, + { "damage", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDamageCommand, "", NULL }, + { "combatstop", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCombatStopCommand, "", NULL }, + { "flusharenapoints", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleFlushArenaPointsCommand, "", NULL }, + { "repairitems", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleRepairitemsCommand, "", NULL }, + { "freeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleFreezeCommand, "", NULL }, + { "unfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleUnFreezeCommand, "", NULL }, + { "listfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleListFreezeCommand, "", NULL }, + { "group", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", groupCommandTable }, + { "possess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandlePossessCommand, "", NULL }, + { "unpossess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnPossessCommand, "", NULL }, + { "bindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleBindSightCommand, "", NULL }, + { "unbindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnbindSightCommand, "", NULL }, + { "playall", RBAC_PERM_GAMEMASTER_COMMANDS, false, HandlePlayAllCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp index 4d7b42e1885..6667499af58 100644 --- a/src/server/scripts/Commands/cs_mmaps.cpp +++ b/src/server/scripts/Commands/cs_mmaps.cpp @@ -45,17 +45,17 @@ public: { static ChatCommand mmapCommandTable[] = { - { "path", SEC_ADMINISTRATOR, false, &HandleMmapPathCommand, "", NULL }, - { "loc", SEC_ADMINISTRATOR, false, &HandleMmapLocCommand, "", NULL }, - { "loadedtiles", SEC_ADMINISTRATOR, false, &HandleMmapLoadedTilesCommand, "", NULL }, - { "stats", SEC_ADMINISTRATOR, false, &HandleMmapStatsCommand, "", NULL }, - { "testarea", SEC_ADMINISTRATOR, false, &HandleMmapTestArea, "", NULL }, + { "path", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapPathCommand, "", NULL }, + { "loc", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapLocCommand, "", NULL }, + { "loadedtiles", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapLoadedTilesCommand, "", NULL }, + { "stats", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapStatsCommand, "", NULL }, + { "testarea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMmapTestArea, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "mmap", SEC_ADMINISTRATOR, true, NULL, "", mmapCommandTable }, + { "mmap", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", mmapCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index bac6447a0e6..bdca4dac1ba 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -40,43 +40,43 @@ public: { static ChatCommand modifyspeedCommandTable[] = { - { "fly", SEC_MODERATOR, false, &HandleModifyFlyCommand, "", NULL }, - { "all", SEC_MODERATOR, false, &HandleModifyASpeedCommand, "", NULL }, - { "walk", SEC_MODERATOR, false, &HandleModifySpeedCommand, "", NULL }, - { "backwalk", SEC_MODERATOR, false, &HandleModifyBWalkCommand, "", NULL }, - { "swim", SEC_MODERATOR, false, &HandleModifySwimCommand, "", NULL }, - { "", SEC_MODERATOR, false, &HandleModifyASpeedCommand, "", NULL }, + { "fly", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyFlyCommand, "", NULL }, + { "all", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyASpeedCommand, "", NULL }, + { "walk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySpeedCommand, "", NULL }, + { "backwalk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyBWalkCommand, "", NULL }, + { "swim", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySwimCommand, "", NULL }, + { "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyASpeedCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand modifyCommandTable[] = { - { "hp", SEC_MODERATOR, false, &HandleModifyHPCommand, "", NULL }, - { "mana", SEC_MODERATOR, false, &HandleModifyManaCommand, "", NULL }, - { "rage", SEC_MODERATOR, false, &HandleModifyRageCommand, "", NULL }, - { "runicpower", SEC_MODERATOR, false, &HandleModifyRunicPowerCommand, "", NULL }, - { "energy", SEC_MODERATOR, false, &HandleModifyEnergyCommand, "", NULL }, - { "money", SEC_MODERATOR, false, &HandleModifyMoneyCommand, "", NULL }, - { "scale", SEC_MODERATOR, false, &HandleModifyScaleCommand, "", NULL }, - { "bit", SEC_MODERATOR, false, &HandleModifyBitCommand, "", NULL }, - { "faction", SEC_MODERATOR, false, &HandleModifyFactionCommand, "", NULL }, - { "spell", SEC_MODERATOR, false, &HandleModifySpellCommand, "", NULL }, - { "talentpoints", SEC_MODERATOR, false, &HandleModifyTalentCommand, "", NULL }, - { "mount", SEC_MODERATOR, false, &HandleModifyMountCommand, "", NULL }, - { "honor", SEC_MODERATOR, false, &HandleModifyHonorCommand, "", NULL }, - { "reputation", SEC_GAMEMASTER, false, &HandleModifyRepCommand, "", NULL }, - { "arenapoints", SEC_MODERATOR, false, &HandleModifyArenaCommand, "", NULL }, - { "drunk", SEC_MODERATOR, false, &HandleModifyDrunkCommand, "", NULL }, - { "standstate", SEC_GAMEMASTER, false, &HandleModifyStandStateCommand, "", NULL }, - { "phase", SEC_ADMINISTRATOR, false, &HandleModifyPhaseCommand, "", NULL }, - { "gender", SEC_GAMEMASTER, false, &HandleModifyGenderCommand, "", NULL }, - { "speed", SEC_MODERATOR, false, NULL, "", modifyspeedCommandTable }, + { "hp", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyHPCommand, "", NULL }, + { "mana", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyManaCommand, "", NULL }, + { "rage", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyRageCommand, "", NULL }, + { "runicpower", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyRunicPowerCommand, "", NULL }, + { "energy", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyEnergyCommand, "", NULL }, + { "money", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyMoneyCommand, "", NULL }, + { "scale", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyScaleCommand, "", NULL }, + { "bit", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyBitCommand, "", NULL }, + { "faction", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyFactionCommand, "", NULL }, + { "spell", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifySpellCommand, "", NULL }, + { "talentpoints", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyTalentCommand, "", NULL }, + { "mount", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyMountCommand, "", NULL }, + { "honor", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyHonorCommand, "", NULL }, + { "reputation", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyRepCommand, "", NULL }, + { "arenapoints", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyArenaCommand, "", NULL }, + { "drunk", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleModifyDrunkCommand, "", NULL }, + { "standstate", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyStandStateCommand, "", NULL }, + { "phase", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleModifyPhaseCommand, "", NULL }, + { "gender", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyGenderCommand, "", NULL }, + { "speed", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", modifyspeedCommandTable }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "morph", SEC_GAMEMASTER, false, &HandleModifyMorphCommand, "", NULL }, - { "demorph", SEC_GAMEMASTER, false, &HandleDeMorphCommand, "", NULL }, - { "modify", SEC_MODERATOR, false, NULL, "", modifyCommandTable }, + { "morph", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleModifyMorphCommand, "", NULL }, + { "demorph", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleDeMorphCommand, "", NULL }, + { "modify", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", modifyCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index f708acc3dee..872be042074 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -163,69 +163,69 @@ public: { static ChatCommand npcAddCommandTable[] = { - { "formation", SEC_MODERATOR, false, &HandleNpcAddFormationCommand, "", NULL }, - { "item", SEC_GAMEMASTER, false, &HandleNpcAddVendorItemCommand, "", NULL }, - { "move", SEC_GAMEMASTER, false, &HandleNpcAddMoveCommand, "", NULL }, - { "temp", SEC_GAMEMASTER, false, &HandleNpcAddTempSpawnCommand, "", NULL }, + { "formation", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcAddFormationCommand, "", NULL }, + { "item", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddVendorItemCommand, "", NULL }, + { "move", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddMoveCommand, "", NULL }, + { "temp", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddTempSpawnCommand, "", NULL }, //{@todo fix or remove this command - { "weapon", SEC_ADMINISTRATOR, false, &HandleNpcAddWeaponCommand, "", NULL }, + { "weapon", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcAddWeaponCommand, "", NULL }, //} - { "", SEC_GAMEMASTER, false, &HandleNpcAddCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcAddCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand npcDeleteCommandTable[] = { - { "item", SEC_GAMEMASTER, false, &HandleNpcDeleteVendorItemCommand, "", NULL }, - { "", SEC_GAMEMASTER, false, &HandleNpcDeleteCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "item", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcDeleteVendorItemCommand, "", NULL }, + { "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcDeleteCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand npcFollowCommandTable[] = { - { "stop", SEC_GAMEMASTER, false, &HandleNpcUnFollowCommand, "", NULL }, - { "", SEC_GAMEMASTER, false, &HandleNpcFollowCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "stop", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcUnFollowCommand, "", NULL }, + { "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcFollowCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand npcSetCommandTable[] = { - { "allowmove", SEC_ADMINISTRATOR, false, &HandleNpcSetAllowMovementCommand, "", NULL }, - { "entry", SEC_ADMINISTRATOR, false, &HandleNpcSetEntryCommand, "", NULL }, - { "factionid", SEC_GAMEMASTER, false, &HandleNpcSetFactionIdCommand, "", NULL }, - { "flag", SEC_GAMEMASTER, false, &HandleNpcSetFlagCommand, "", NULL }, - { "level", SEC_GAMEMASTER, false, &HandleNpcSetLevelCommand, "", NULL }, - { "link", SEC_GAMEMASTER, false, &HandleNpcSetLinkCommand, "", NULL }, - { "model", SEC_GAMEMASTER, false, &HandleNpcSetModelCommand, "", NULL }, - { "movetype", SEC_GAMEMASTER, false, &HandleNpcSetMoveTypeCommand, "", NULL }, - { "phase", SEC_GAMEMASTER, false, &HandleNpcSetPhaseCommand, "", NULL }, - { "spawndist", SEC_GAMEMASTER, false, &HandleNpcSetSpawnDistCommand, "", NULL }, - { "spawntime", SEC_GAMEMASTER, false, &HandleNpcSetSpawnTimeCommand, "", NULL }, - { "data", SEC_ADMINISTRATOR, false, &HandleNpcSetDataCommand, "", NULL }, + { "allowmove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetAllowMovementCommand, "", NULL }, + { "entry", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetEntryCommand, "", NULL }, + { "factionid", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetFactionIdCommand, "", NULL }, + { "flag", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetFlagCommand, "", NULL }, + { "level", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetLevelCommand, "", NULL }, + { "link", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetLinkCommand, "", NULL }, + { "model", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetModelCommand, "", NULL }, + { "movetype", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetMoveTypeCommand, "", NULL }, + { "phase", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetPhaseCommand, "", NULL }, + { "spawndist", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSpawnDistCommand, "", NULL }, + { "spawntime", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSpawnTimeCommand, "", NULL }, + { "data", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcSetDataCommand, "", NULL }, //{ @todo fix or remove these commands - { "name", SEC_GAMEMASTER, false, &HandleNpcSetNameCommand, "", NULL }, - { "subname", SEC_GAMEMASTER, false, &HandleNpcSetSubNameCommand, "", NULL }, + { "name", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetNameCommand, "", NULL }, + { "subname", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcSetSubNameCommand, "", NULL }, //} - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand npcCommandTable[] = { - { "info", SEC_ADMINISTRATOR, false, &HandleNpcInfoCommand, "", NULL }, - { "near", SEC_GAMEMASTER, false, &HandleNpcNearCommand, "", NULL }, - { "move", SEC_GAMEMASTER, false, &HandleNpcMoveCommand, "", NULL }, - { "playemote", SEC_ADMINISTRATOR, false, &HandleNpcPlayEmoteCommand, "", NULL }, - { "say", SEC_MODERATOR, false, &HandleNpcSayCommand, "", NULL }, - { "textemote", SEC_MODERATOR, false, &HandleNpcTextEmoteCommand, "", NULL }, - { "whisper", SEC_MODERATOR, false, &HandleNpcWhisperCommand, "", NULL }, - { "yell", SEC_MODERATOR, false, &HandleNpcYellCommand, "", NULL }, - { "tame", SEC_GAMEMASTER, false, &HandleNpcTameCommand, "", NULL }, - { "add", SEC_GAMEMASTER, false, NULL, "", npcAddCommandTable }, - { "delete", SEC_GAMEMASTER, false, NULL, "", npcDeleteCommandTable }, - { "follow", SEC_GAMEMASTER, false, NULL, "", npcFollowCommandTable }, - { "set", SEC_GAMEMASTER, false, NULL, "", npcSetCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "info", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcInfoCommand, "", NULL }, + { "near", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcNearCommand, "", NULL }, + { "move", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcMoveCommand, "", NULL }, + { "playemote", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNpcPlayEmoteCommand, "", NULL }, + { "say", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcSayCommand, "", NULL }, + { "textemote", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcTextEmoteCommand, "", NULL }, + { "whisper", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcWhisperCommand, "", NULL }, + { "yell", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleNpcYellCommand, "", NULL }, + { "tame", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleNpcTameCommand, "", NULL }, + { "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcAddCommandTable }, + { "delete", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcDeleteCommandTable }, + { "follow", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcFollowCommandTable }, + { "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", npcSetCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "npc", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", npcCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index 12912f68bd5..0ffda4ba390 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -37,16 +37,16 @@ public: { static ChatCommand questCommandTable[] = { - { "add", SEC_ADMINISTRATOR, false, &HandleQuestAdd, "", NULL }, - { "complete", SEC_ADMINISTRATOR, false, &HandleQuestComplete, "", NULL }, - { "remove", SEC_ADMINISTRATOR, false, &HandleQuestRemove, "", NULL }, - { "reward", SEC_ADMINISTRATOR, false, &HandleQuestReward, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestAdd, "", NULL }, + { "complete", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestComplete, "", NULL }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestRemove, "", NULL }, + { "reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestReward, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "quest", SEC_ADMINISTRATOR, false, NULL, "", questCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", questCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp index 667815ce16c..22a71115e76 100644 --- a/src/server/scripts/Commands/cs_rbac.cpp +++ b/src/server/scripts/Commands/cs_rbac.cpp @@ -53,58 +53,58 @@ public: { static ChatCommand rbacGroupsCommandTable[] = { - { "add", SEC_ADMINISTRATOR, true, &HandleRBACGroupAddCommand, "", NULL }, - { "remove", SEC_ADMINISTRATOR, true, &HandleRBACGroupRemoveCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, true, &HandleRBACGroupListCommand, "", NULL }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupAddCommand, "", NULL }, + { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupRemoveCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupListCommand, "", NULL }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand rbacRolesCommandTable[] = { - { "grant", SEC_ADMINISTRATOR, true, &HandleRBACRoleGrantCommand, "", NULL }, - { "deny", SEC_ADMINISTRATOR, true, &HandleRBACRoleDenyCommand, "", NULL }, - { "revoke", SEC_ADMINISTRATOR, true, &HandleRBACRoleRevokeCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, true, &HandleRBACRoleListCommand, "", NULL }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "grant", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleGrantCommand, "", NULL }, + { "deny", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleDenyCommand, "", NULL }, + { "revoke", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleRevokeCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleListCommand, "", NULL }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand rbacPermsCommandTable[] = { - { "grant", SEC_ADMINISTRATOR, true, &HandleRBACPermGrantCommand, "", NULL }, - { "deny", SEC_ADMINISTRATOR, true, &HandleRBACPermDenyCommand, "", NULL }, - { "revoke", SEC_ADMINISTRATOR, true, &HandleRBACPermRevokeCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, true, &HandleRBACPermListCommand, "", NULL }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "grant", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermGrantCommand, "", NULL }, + { "deny", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermDenyCommand, "", NULL }, + { "revoke", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermRevokeCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermListCommand, "", NULL }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand rbacListCommandTable[] = { - { "groups", SEC_ADMINISTRATOR, true, &HandleRBACListGroupsCommand, "", NULL }, - { "roles", SEC_ADMINISTRATOR, true, &HandleRBACListRolesCommand, "", NULL }, - { "permissions", SEC_ADMINISTRATOR, true, &HandleRBACListPermissionsCommand, "", NULL }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "groups", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListGroupsCommand, "", NULL }, + { "roles", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListRolesCommand, "", NULL }, + { "permissions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListPermissionsCommand, "", NULL }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand rbacAccountCommandTable[] = { - { "group", SEC_ADMINISTRATOR, true, NULL, "", rbacGroupsCommandTable }, - { "role", SEC_ADMINISTRATOR, true, NULL, "", rbacRolesCommandTable }, - { "permission", SEC_ADMINISTRATOR, true, NULL, "", rbacPermsCommandTable }, - { "", SEC_ADMINISTRATOR, true, &HandleRBACAccountPermissionCommand, "", NULL }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "group", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacGroupsCommandTable }, + { "role", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacRolesCommandTable }, + { "permission", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacPermsCommandTable }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACAccountPermissionCommand, "", NULL }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand rbacCommandTable[] = { - { "account", SEC_ADMINISTRATOR, true, NULL, "", rbacAccountCommandTable }, - { "list", SEC_ADMINISTRATOR, true, NULL, "", rbacListCommandTable }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacAccountCommandTable }, + { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacListCommandTable }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "rbac", SEC_ADMINISTRATOR, true, NULL, "", rbacCommandTable }, - { NULL, SEC_ADMINISTRATOR, false, NULL, "", NULL } + { "rbac", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacCommandTable }, + { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 829152b7fa7..36b1c76110d 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -51,119 +51,119 @@ public: { static ChatCommand reloadAllCommandTable[] = { - { "achievement", SEC_ADMINISTRATOR, true, &HandleReloadAllAchievementCommand, "", NULL }, - { "area", SEC_ADMINISTRATOR, true, &HandleReloadAllAreaCommand, "", NULL }, - { "eventai", SEC_ADMINISTRATOR, true, &HandleReloadAllEventAICommand, "", NULL }, - { "gossips", SEC_ADMINISTRATOR, true, &HandleReloadAllGossipsCommand, "", NULL }, - { "item", SEC_ADMINISTRATOR, true, &HandleReloadAllItemCommand, "", NULL }, - { "locales", SEC_ADMINISTRATOR, true, &HandleReloadAllLocalesCommand, "", NULL }, - { "loot", SEC_ADMINISTRATOR, true, &HandleReloadAllLootCommand, "", NULL }, - { "npc", SEC_ADMINISTRATOR, true, &HandleReloadAllNpcCommand, "", NULL }, - { "quest", SEC_ADMINISTRATOR, true, &HandleReloadAllQuestCommand, "", NULL }, - { "scripts", SEC_ADMINISTRATOR, true, &HandleReloadAllScriptsCommand, "", NULL }, - { "spell", SEC_ADMINISTRATOR, true, &HandleReloadAllSpellCommand, "", NULL }, - { "", SEC_ADMINISTRATOR, true, &HandleReloadAllCommand, "", NULL }, + { "achievement", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllAchievementCommand, "", NULL }, + { "area", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllAreaCommand, "", NULL }, + { "eventai", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllEventAICommand, "", NULL }, + { "gossips", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllGossipsCommand, "", NULL }, + { "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllItemCommand, "", NULL }, + { "locales", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllLocalesCommand, "", NULL }, + { "loot", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllLootCommand, "", NULL }, + { "npc", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllNpcCommand, "", NULL }, + { "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllQuestCommand, "", NULL }, + { "scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllScriptsCommand, "", NULL }, + { "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllSpellCommand, "", NULL }, + { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAllCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand reloadCommandTable[] = { - { "auctions", SEC_ADMINISTRATOR, true, &HandleReloadAuctionsCommand, "", NULL }, - { "access_requirement", SEC_ADMINISTRATOR, true, &HandleReloadAccessRequirementCommand, "", NULL }, - { "achievement_criteria_data", SEC_ADMINISTRATOR, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL }, - { "achievement_reward", SEC_ADMINISTRATOR, true, &HandleReloadAchievementRewardCommand, "", NULL }, - { "all", SEC_ADMINISTRATOR, true, NULL, "", reloadAllCommandTable }, - { "areatrigger_involvedrelation", SEC_ADMINISTRATOR, true, &HandleReloadQuestAreaTriggersCommand, "", NULL }, - { "areatrigger_tavern", SEC_ADMINISTRATOR, true, &HandleReloadAreaTriggerTavernCommand, "", NULL }, - { "areatrigger_teleport", SEC_ADMINISTRATOR, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL }, - { "autobroadcast", SEC_ADMINISTRATOR, true, &HandleReloadAutobroadcastCommand, "", NULL }, - { "command", SEC_ADMINISTRATOR, true, &HandleReloadCommandCommand, "", NULL }, - { "conditions", SEC_ADMINISTRATOR, true, &HandleReloadConditions, "", NULL }, - { "config", SEC_ADMINISTRATOR, true, &HandleReloadConfigCommand, "", NULL }, - { "creature_text", SEC_ADMINISTRATOR, true, &HandleReloadCreatureText, "", NULL }, - { "creature_ai_scripts", SEC_ADMINISTRATOR, true, &HandleReloadEventAIScriptsCommand, "", NULL }, - { "creature_ai_texts", SEC_ADMINISTRATOR, true, &HandleReloadEventAITextsCommand, "", NULL }, - { "creature_questender", SEC_ADMINISTRATOR, true, &HandleReloadCreatureQuestEnderCommand, "", NULL }, - { "creature_linked_respawn", SEC_GAMEMASTER, true, &HandleReloadLinkedRespawnCommand, "", NULL }, - { "creature_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL }, - { "creature_onkill_reputation", SEC_ADMINISTRATOR, true, &HandleReloadOnKillReputationCommand, "", NULL }, - { "creature_queststarter", SEC_ADMINISTRATOR, true, &HandleReloadCreatureQuestStarterCommand, "", NULL }, - { "creature_summon_groups", SEC_ADMINISTRATOR, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL }, - { "creature_template", SEC_ADMINISTRATOR, true, &HandleReloadCreatureTemplateCommand, "", NULL }, - //{ "db_script_string", SEC_ADMINISTRATOR, true, &HandleReloadDbScriptStringCommand, "", NULL }, - { "disables", SEC_ADMINISTRATOR, true, &HandleReloadDisablesCommand, "", NULL }, - { "disenchant_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL }, - { "event_scripts", SEC_ADMINISTRATOR, true, &HandleReloadEventScriptsCommand, "", NULL }, - { "fishing_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesFishingCommand, "", NULL }, - { "game_graveyard_zone", SEC_ADMINISTRATOR, true, &HandleReloadGameGraveyardZoneCommand, "", NULL }, - { "game_tele", SEC_ADMINISTRATOR, true, &HandleReloadGameTeleCommand, "", NULL }, - { "gameobject_questender", SEC_ADMINISTRATOR, true, &HandleReloadGOQuestEnderCommand, "", NULL }, - { "gameobject_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL }, - { "gameobject_queststarter", SEC_ADMINISTRATOR, true, &HandleReloadGOQuestStarterCommand, "", NULL }, - { "gm_tickets", SEC_ADMINISTRATOR, true, &HandleReloadGMTicketsCommand, "", NULL }, - { "gossip_menu", SEC_ADMINISTRATOR, true, &HandleReloadGossipMenuCommand, "", NULL }, - { "gossip_menu_option", SEC_ADMINISTRATOR, true, &HandleReloadGossipMenuOptionCommand, "", NULL }, - { "item_enchantment_template", SEC_ADMINISTRATOR, true, &HandleReloadItemEnchantementsCommand, "", NULL }, - { "item_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesItemCommand, "", NULL }, - { "item_set_names", SEC_ADMINISTRATOR, true, &HandleReloadItemSetNamesCommand, "", NULL }, - { "lfg_dungeon_rewards", SEC_ADMINISTRATOR, true, &HandleReloadLfgRewardsCommand, "", NULL }, - { "locales_achievement_reward", SEC_ADMINISTRATOR, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL }, - { "locales_creature", SEC_ADMINISTRATOR, true, &HandleReloadLocalesCreatureCommand, "", NULL }, - { "locales_creature_text", SEC_ADMINISTRATOR, true, &HandleReloadLocalesCreatureTextCommand, "", NULL }, - { "locales_gameobject", SEC_ADMINISTRATOR, true, &HandleReloadLocalesGameobjectCommand, "", NULL }, - { "locales_gossip_menu_option", SEC_ADMINISTRATOR, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL }, - { "locales_item", SEC_ADMINISTRATOR, true, &HandleReloadLocalesItemCommand, "", NULL }, - { "locales_item_set_name", SEC_ADMINISTRATOR, true, &HandleReloadLocalesItemSetNameCommand, "", NULL }, - { "locales_npc_text", SEC_ADMINISTRATOR, true, &HandleReloadLocalesNpcTextCommand, "", NULL }, - { "locales_page_text", SEC_ADMINISTRATOR, true, &HandleReloadLocalesPageTextCommand, "", NULL }, - { "locales_points_of_interest", SEC_ADMINISTRATOR, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL }, - { "locales_quest", SEC_ADMINISTRATOR, true, &HandleReloadLocalesQuestCommand, "", NULL }, - { "mail_level_reward", SEC_ADMINISTRATOR, true, &HandleReloadMailLevelRewardCommand, "", NULL }, - { "mail_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesMailCommand, "", NULL }, - { "milling_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesMillingCommand, "", NULL }, - { "npc_spellclick_spells", SEC_ADMINISTRATOR, true, &HandleReloadSpellClickSpellsCommand, "", NULL}, - { "npc_trainer", SEC_ADMINISTRATOR, true, &HandleReloadNpcTrainerCommand, "", NULL }, - { "npc_vendor", SEC_ADMINISTRATOR, true, &HandleReloadNpcVendorCommand, "", NULL }, - { "page_text", SEC_ADMINISTRATOR, true, &HandleReloadPageTextsCommand, "", NULL }, - { "pickpocketing_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL}, - { "points_of_interest", SEC_ADMINISTRATOR, true, &HandleReloadPointsOfInterestCommand, "", NULL }, - { "prospecting_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL }, - { "quest_poi", SEC_ADMINISTRATOR, true, &HandleReloadQuestPOICommand, "", NULL }, - { "quest_template", SEC_ADMINISTRATOR, true, &HandleReloadQuestTemplateCommand, "", NULL }, - { "rbac", SEC_ADMINISTRATOR, true, &HandleReloadRBACCommand, "", NULL }, - { "reference_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL }, - { "reserved_name", SEC_ADMINISTRATOR, true, &HandleReloadReservedNameCommand, "", NULL }, - { "reputation_reward_rate", SEC_ADMINISTRATOR, true, &HandleReloadReputationRewardRateCommand, "", NULL }, - { "reputation_spillover_template", SEC_ADMINISTRATOR, true, &HandleReloadReputationRewardRateCommand, "", NULL }, - { "skill_discovery_template", SEC_ADMINISTRATOR, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL }, - { "skill_extra_item_template", SEC_ADMINISTRATOR, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL }, - { "skill_fishing_base_level", SEC_ADMINISTRATOR, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL }, - { "skinning_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL }, - { "smart_scripts", SEC_ADMINISTRATOR, true, &HandleReloadSmartScripts, "", NULL }, - { "spell_required", SEC_ADMINISTRATOR, true, &HandleReloadSpellRequiredCommand, "", NULL }, - { "spell_area", SEC_ADMINISTRATOR, true, &HandleReloadSpellAreaCommand, "", NULL }, - { "spell_bonus_data", SEC_ADMINISTRATOR, true, &HandleReloadSpellBonusesCommand, "", NULL }, - { "spell_group", SEC_ADMINISTRATOR, true, &HandleReloadSpellGroupsCommand, "", NULL }, - { "spell_learn_spell", SEC_ADMINISTRATOR, true, &HandleReloadSpellLearnSpellCommand, "", NULL }, - { "spell_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesSpellCommand, "", NULL }, - { "spell_linked_spell", SEC_ADMINISTRATOR, true, &HandleReloadSpellLinkedSpellCommand, "", NULL }, - { "spell_pet_auras", SEC_ADMINISTRATOR, true, &HandleReloadSpellPetAurasCommand, "", NULL }, - { "spell_proc_event", SEC_ADMINISTRATOR, true, &HandleReloadSpellProcEventCommand, "", NULL }, - { "spell_proc", SEC_ADMINISTRATOR, true, &HandleReloadSpellProcsCommand, "", NULL }, - { "spell_scripts", SEC_ADMINISTRATOR, true, &HandleReloadSpellScriptsCommand, "", NULL }, - { "spell_target_position", SEC_ADMINISTRATOR, true, &HandleReloadSpellTargetPositionCommand, "", NULL }, - { "spell_threats", SEC_ADMINISTRATOR, true, &HandleReloadSpellThreatsCommand, "", NULL }, - { "spell_group_stack_rules", SEC_ADMINISTRATOR, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL }, - { "trinity_string", SEC_ADMINISTRATOR, true, &HandleReloadTrinityStringCommand, "", NULL }, - { "warden_action", SEC_ADMINISTRATOR, true, &HandleReloadWardenactionCommand, "", NULL }, - { "waypoint_scripts", SEC_ADMINISTRATOR, true, &HandleReloadWpScriptsCommand, "", NULL }, - { "waypoint_data", SEC_ADMINISTRATOR, true, &HandleReloadWpCommand, "", NULL }, - { "vehicle_accessory", SEC_ADMINISTRATOR, true, &HandleReloadVehicleAccessoryCommand, "", NULL }, - { "vehicle_template_accessory", SEC_ADMINISTRATOR, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL }, + { "auctions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAuctionsCommand, "", NULL }, + { "access_requirement", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAccessRequirementCommand, "", NULL }, + { "achievement_criteria_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL }, + { "achievement_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAchievementRewardCommand, "", NULL }, + { "all", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", reloadAllCommandTable }, + { "areatrigger_involvedrelation", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestAreaTriggersCommand, "", NULL }, + { "areatrigger_tavern", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAreaTriggerTavernCommand, "", NULL }, + { "areatrigger_teleport", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL }, + { "autobroadcast", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadAutobroadcastCommand, "", NULL }, + { "command", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCommandCommand, "", NULL }, + { "conditions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadConditions, "", NULL }, + { "config", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadConfigCommand, "", NULL }, + { "creature_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureText, "", NULL }, + { "creature_ai_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadEventAIScriptsCommand, "", NULL }, + { "creature_ai_texts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadEventAITextsCommand, "", NULL }, + { "creature_questender", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureQuestEnderCommand, "", NULL }, + { "creature_linked_respawn", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleReloadLinkedRespawnCommand, "", NULL }, + { "creature_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL }, + { "creature_onkill_reputation", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadOnKillReputationCommand, "", NULL }, + { "creature_queststarter", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureQuestStarterCommand, "", NULL }, + { "creature_summon_groups", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL }, + { "creature_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadCreatureTemplateCommand, "", NULL }, + //{ "db_script_string", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadDbScriptStringCommand, "", NULL }, + { "disables", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadDisablesCommand, "", NULL }, + { "disenchant_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL }, + { "event_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadEventScriptsCommand, "", NULL }, + { "fishing_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesFishingCommand, "", NULL }, + { "game_graveyard_zone", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGameGraveyardZoneCommand, "", NULL }, + { "game_tele", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGameTeleCommand, "", NULL }, + { "gameobject_questender", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGOQuestEnderCommand, "", NULL }, + { "gameobject_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL }, + { "gameobject_queststarter", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGOQuestStarterCommand, "", NULL }, + { "gm_tickets", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGMTicketsCommand, "", NULL }, + { "gossip_menu", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGossipMenuCommand, "", NULL }, + { "gossip_menu_option", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadGossipMenuOptionCommand, "", NULL }, + { "item_enchantment_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadItemEnchantementsCommand, "", NULL }, + { "item_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesItemCommand, "", NULL }, + { "item_set_names", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadItemSetNamesCommand, "", NULL }, + { "lfg_dungeon_rewards", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLfgRewardsCommand, "", NULL }, + { "locales_achievement_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL }, + { "locales_creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesCreatureCommand, "", NULL }, + { "locales_creature_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesCreatureTextCommand, "", NULL }, + { "locales_gameobject", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesGameobjectCommand, "", NULL }, + { "locales_gossip_menu_option", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL }, + { "locales_item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesItemCommand, "", NULL }, + { "locales_item_set_name", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesItemSetNameCommand, "", NULL }, + { "locales_npc_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesNpcTextCommand, "", NULL }, + { "locales_page_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesPageTextCommand, "", NULL }, + { "locales_points_of_interest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL }, + { "locales_quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLocalesQuestCommand, "", NULL }, + { "mail_level_reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadMailLevelRewardCommand, "", NULL }, + { "mail_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesMailCommand, "", NULL }, + { "milling_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesMillingCommand, "", NULL }, + { "npc_spellclick_spells", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellClickSpellsCommand, "", NULL}, + { "npc_trainer", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadNpcTrainerCommand, "", NULL }, + { "npc_vendor", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadNpcVendorCommand, "", NULL }, + { "page_text", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadPageTextsCommand, "", NULL }, + { "pickpocketing_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL}, + { "points_of_interest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadPointsOfInterestCommand, "", NULL }, + { "prospecting_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL }, + { "quest_poi", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestPOICommand, "", NULL }, + { "quest_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadQuestTemplateCommand, "", NULL }, + { "rbac", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadRBACCommand, "", NULL }, + { "reference_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL }, + { "reserved_name", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReservedNameCommand, "", NULL }, + { "reputation_reward_rate", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReputationRewardRateCommand, "", NULL }, + { "reputation_spillover_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadReputationRewardRateCommand, "", NULL }, + { "skill_discovery_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL }, + { "skill_extra_item_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL }, + { "skill_fishing_base_level", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL }, + { "skinning_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL }, + { "smart_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSmartScripts, "", NULL }, + { "spell_required", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellRequiredCommand, "", NULL }, + { "spell_area", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellAreaCommand, "", NULL }, + { "spell_bonus_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellBonusesCommand, "", NULL }, + { "spell_group", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellGroupsCommand, "", NULL }, + { "spell_learn_spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellLearnSpellCommand, "", NULL }, + { "spell_loot_template", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadLootTemplatesSpellCommand, "", NULL }, + { "spell_linked_spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellLinkedSpellCommand, "", NULL }, + { "spell_pet_auras", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellPetAurasCommand, "", NULL }, + { "spell_proc_event", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellProcEventCommand, "", NULL }, + { "spell_proc", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellProcsCommand, "", NULL }, + { "spell_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellScriptsCommand, "", NULL }, + { "spell_target_position", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellTargetPositionCommand, "", NULL }, + { "spell_threats", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellThreatsCommand, "", NULL }, + { "spell_group_stack_rules", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL }, + { "trinity_string", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadTrinityStringCommand, "", NULL }, + { "warden_action", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWardenactionCommand, "", NULL }, + { "waypoint_scripts", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWpScriptsCommand, "", NULL }, + { "waypoint_data", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadWpCommand, "", NULL }, + { "vehicle_accessory", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadVehicleAccessoryCommand, "", NULL }, + { "vehicle_template_accessory", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "reload", SEC_ADMINISTRATOR, true, NULL, "", reloadCommandTable }, + { "reload", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", reloadCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index 10877c49d55..3c95ceae4be 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -39,18 +39,18 @@ public: { static ChatCommand resetCommandTable[] = { - { "achievements", SEC_ADMINISTRATOR, true, &HandleResetAchievementsCommand, "", NULL }, - { "honor", SEC_ADMINISTRATOR, true, &HandleResetHonorCommand, "", NULL }, - { "level", SEC_ADMINISTRATOR, true, &HandleResetLevelCommand, "", NULL }, - { "spells", SEC_ADMINISTRATOR, true, &HandleResetSpellsCommand, "", NULL }, - { "stats", SEC_ADMINISTRATOR, true, &HandleResetStatsCommand, "", NULL }, - { "talents", SEC_ADMINISTRATOR, true, &HandleResetTalentsCommand, "", NULL }, - { "all", SEC_ADMINISTRATOR, true, &HandleResetAllCommand, "", NULL }, + { "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 } }; static ChatCommand commandTable[] = { - { "reset", SEC_ADMINISTRATOR, true, NULL, "", resetCommandTable }, + { "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", resetCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index ec8771cc2f4..34543a1a4a5 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -39,59 +39,59 @@ public: { static ChatCommand serverIdleRestartCommandTable[] = { - { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , SEC_ADMINISTRATOR, true, &HandleServerIdleRestartCommand, "", NULL }, + { "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL }, + { "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerIdleRestartCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand serverIdleShutdownCommandTable[] = { - { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , SEC_ADMINISTRATOR, true, &HandleServerIdleShutDownCommand, "", NULL }, + { "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL }, + { "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerIdleShutDownCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand serverRestartCommandTable[] = { - { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , SEC_ADMINISTRATOR, true, &HandleServerRestartCommand, "", NULL }, + { "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL }, + { "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerRestartCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand serverShutdownCommandTable[] = { - { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , SEC_ADMINISTRATOR, true, &HandleServerShutDownCommand, "", NULL }, + { "cancel", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCancelCommand, "", NULL }, + { "" , RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerShutDownCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand serverSetCommandTable[] = { - { "difftime", SEC_CONSOLE, true, &HandleServerSetDiffTimeCommand, "", NULL }, - { "loglevel", SEC_CONSOLE, true, &HandleServerSetLogLevelCommand, "", NULL }, - { "motd", SEC_ADMINISTRATOR, true, &HandleServerSetMotdCommand, "", NULL }, - { "closed", SEC_ADMINISTRATOR, true, &HandleServerSetClosedCommand, "", NULL }, + { "difftime", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerSetDiffTimeCommand, "", NULL }, + { "loglevel", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerSetLogLevelCommand, "", NULL }, + { "motd", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerSetMotdCommand, "", NULL }, + { "closed", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerSetClosedCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand serverCommandTable[] = { - { "corpses", SEC_GAMEMASTER, true, &HandleServerCorpsesCommand, "", NULL }, - { "exit", SEC_CONSOLE, true, &HandleServerExitCommand, "", NULL }, - { "idlerestart", SEC_ADMINISTRATOR, true, NULL, "", serverIdleRestartCommandTable }, - { "idleshutdown", SEC_ADMINISTRATOR, true, NULL, "", serverIdleShutdownCommandTable }, - { "info", SEC_PLAYER, true, &HandleServerInfoCommand, "", NULL }, - { "motd", SEC_PLAYER, true, &HandleServerMotdCommand, "", NULL }, - { "plimit", SEC_ADMINISTRATOR, true, &HandleServerPLimitCommand, "", NULL }, - { "restart", SEC_ADMINISTRATOR, true, NULL, "", serverRestartCommandTable }, - { "shutdown", SEC_ADMINISTRATOR, true, NULL, "", serverShutdownCommandTable }, - { "set", SEC_ADMINISTRATOR, true, NULL, "", serverSetCommandTable }, + { "corpses", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleServerCorpsesCommand, "", NULL }, + { "exit", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleServerExitCommand, "", NULL }, + { "idlerestart", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverIdleRestartCommandTable }, + { "idleshutdown", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverIdleShutdownCommandTable }, + { "info", RBAC_PERM_PLAYER_COMMANDS, true, &HandleServerInfoCommand, "", NULL }, + { "motd", RBAC_PERM_PLAYER_COMMANDS, true, &HandleServerMotdCommand, "", NULL }, + { "plimit", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleServerPLimitCommand, "", NULL }, + { "restart", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverRestartCommandTable }, + { "shutdown", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverShutdownCommandTable }, + { "set", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverSetCommandTable }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "server", SEC_ADMINISTRATOR, true, NULL, "", serverCommandTable }, + { "server", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", serverCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp index 12276102df1..9dc013a995f 100644 --- a/src/server/scripts/Commands/cs_tele.cpp +++ b/src/server/scripts/Commands/cs_tele.cpp @@ -39,16 +39,16 @@ public: { static ChatCommand teleCommandTable[] = { - { "add", SEC_ADMINISTRATOR, false, &HandleTeleAddCommand, "", NULL }, - { "del", SEC_ADMINISTRATOR, true, &HandleTeleDelCommand, "", NULL }, - { "name", SEC_MODERATOR, true, &HandleTeleNameCommand, "", NULL }, - { "group", SEC_MODERATOR, false, &HandleTeleGroupCommand, "", NULL }, - { "", SEC_MODERATOR, false, &HandleTeleCommand, "", NULL }, + { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleTeleAddCommand, "", NULL }, + { "del", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleTeleDelCommand, "", NULL }, + { "name", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleTeleNameCommand, "", NULL }, + { "group", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleTeleGroupCommand, "", NULL }, + { "", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleTeleCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "tele", SEC_MODERATOR, false, NULL, "", teleCommandTable }, + { "tele", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", teleCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp index 0795b2ab90c..5c1ce304723 100644 --- a/src/server/scripts/Commands/cs_ticket.cpp +++ b/src/server/scripts/Commands/cs_ticket.cpp @@ -40,33 +40,33 @@ public: { static ChatCommand ticketResponseCommandTable[] = { - { "append", SEC_MODERATOR, true, &HandleGMTicketResponseAppendCommand, "", NULL }, - { "appendln", SEC_MODERATOR, true, &HandleGMTicketResponseAppendLnCommand, "", NULL }, + { "append", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendCommand, "", NULL }, + { "appendln", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendLnCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand ticketCommandTable[] = { - { "assign", SEC_GAMEMASTER, true, &HandleGMTicketAssignToCommand, "", NULL }, - { "close", SEC_MODERATOR, true, &HandleGMTicketCloseByIdCommand, "", NULL }, - { "closedlist", SEC_MODERATOR, true, &HandleGMTicketListClosedCommand, "", NULL }, - { "comment", SEC_MODERATOR, true, &HandleGMTicketCommentCommand, "", NULL }, - { "complete", SEC_MODERATOR, true, &HandleGMTicketCompleteCommand, "", NULL }, - { "delete", SEC_ADMINISTRATOR, true, &HandleGMTicketDeleteByIdCommand, "", NULL }, - { "escalate", SEC_MODERATOR, true, &HandleGMTicketEscalateCommand, "", NULL }, - { "escalatedlist", SEC_GAMEMASTER, true, &HandleGMTicketListEscalatedCommand, "", NULL }, - { "list", SEC_MODERATOR, true, &HandleGMTicketListCommand, "", NULL }, - { "onlinelist", SEC_MODERATOR, true, &HandleGMTicketListOnlineCommand, "", NULL }, - { "reset", SEC_ADMINISTRATOR, true, &HandleGMTicketResetCommand, "", NULL }, - { "response", SEC_MODERATOR, true, NULL, "", ticketResponseCommandTable }, - { "togglesystem", SEC_ADMINISTRATOR, true, &HandleToggleGMTicketSystem, "", NULL }, - { "unassign", SEC_GAMEMASTER, true, &HandleGMTicketUnAssignCommand, "", NULL }, - { "viewid", SEC_MODERATOR, true, &HandleGMTicketGetByIdCommand, "", NULL }, - { "viewname", SEC_MODERATOR, true, &HandleGMTicketGetByNameCommand, "", NULL }, + { "assign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketAssignToCommand, "", NULL }, + { "close", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCloseByIdCommand, "", NULL }, + { "closedlist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListClosedCommand, "", NULL }, + { "comment", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCommentCommand, "", NULL }, + { "complete", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCompleteCommand, "", NULL }, + { "delete", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketDeleteByIdCommand, "", NULL }, + { "escalate", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketEscalateCommand, "", NULL }, + { "escalatedlist", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketListEscalatedCommand, "", NULL }, + { "list", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListCommand, "", NULL }, + { "onlinelist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListOnlineCommand, "", NULL }, + { "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketResetCommand, "", NULL }, + { "response", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", ticketResponseCommandTable }, + { "togglesystem", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleToggleGMTicketSystem, "", NULL }, + { "unassign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketUnAssignCommand, "", NULL }, + { "viewid", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByIdCommand, "", NULL }, + { "viewname", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByNameCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable }, + { "ticket", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", ticketCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp index 93545c07728..1ffb7206f68 100644 --- a/src/server/scripts/Commands/cs_titles.cpp +++ b/src/server/scripts/Commands/cs_titles.cpp @@ -37,21 +37,21 @@ public: { static ChatCommand titlesSetCommandTable[] = { - { "mask", SEC_GAMEMASTER, false, &HandleTitlesSetMaskCommand, "", NULL }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "mask", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesSetMaskCommand, "", NULL }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand titlesCommandTable[] = { - { "add", SEC_GAMEMASTER, false, &HandleTitlesAddCommand, "", NULL }, - { "current", SEC_GAMEMASTER, false, &HandleTitlesCurrentCommand, "", NULL }, - { "remove", SEC_GAMEMASTER, false, &HandleTitlesRemoveCommand, "", NULL }, - { "set", SEC_GAMEMASTER, false, NULL, "", titlesSetCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesAddCommand, "", NULL }, + { "current", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesCurrentCommand, "", NULL }, + { "remove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesRemoveCommand, "", NULL }, + { "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesSetCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "titles", SEC_GAMEMASTER, false, NULL, "", titlesCommandTable }, - { NULL, SEC_PLAYER, false, NULL, "", NULL } + { "titles", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesCommandTable }, + { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp index 38c12e75e7e..834c0e1b266 100644 --- a/src/server/scripts/Commands/cs_wp.cpp +++ b/src/server/scripts/Commands/cs_wp.cpp @@ -38,18 +38,18 @@ public: { static ChatCommand wpCommandTable[] = { - { "add", SEC_GAMEMASTER, false, &HandleWpAddCommand, "", NULL }, - { "event", SEC_GAMEMASTER, false, &HandleWpEventCommand, "", NULL }, - { "load", SEC_GAMEMASTER, false, &HandleWpLoadCommand, "", NULL }, - { "modify", SEC_GAMEMASTER, false, &HandleWpModifyCommand, "", NULL }, - { "unload", SEC_GAMEMASTER, false, &HandleWpUnLoadCommand, "", NULL }, - { "reload", SEC_ADMINISTRATOR, false, &HandleWpReloadCommand, "", NULL }, - { "show", SEC_GAMEMASTER, false, &HandleWpShowCommand, "", NULL }, + { "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpAddCommand, "", NULL }, + { "event", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpEventCommand, "", NULL }, + { "load", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpLoadCommand, "", NULL }, + { "modify", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpModifyCommand, "", NULL }, + { "unload", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpUnLoadCommand, "", NULL }, + { "reload", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleWpReloadCommand, "", NULL }, + { "show", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpShowCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "wp", SEC_GAMEMASTER, false, NULL, "", wpCommandTable }, + { "wp", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", wpCommandTable }, { NULL, 0, false, NULL, "", NULL } }; return commandTable; -- cgit v1.2.3 From ea26928a99fbd0cc8ce33141b690152cfe49fe28 Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 14:52:53 +0200 Subject: Core/RBAC: Move RBAC commands to RBAC using individual permissions - Use this commit as a sample on how to move commands to RBAC --- sql/updates/auth/2013_08_30_00_auth_misc.sql | 40 ++++++++++++++++ sql/updates/world/2013_08_30_02_world_command.sql | 17 +++++++ src/server/game/Accounts/RBAC.h | 20 ++++++++ src/server/scripts/Commands/cs_rbac.cpp | 56 +++++++++++------------ 4 files changed, 105 insertions(+), 28 deletions(-) create mode 100644 sql/updates/auth/2013_08_30_00_auth_misc.sql create mode 100644 sql/updates/world/2013_08_30_02_world_command.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/auth/2013_08_30_00_auth_misc.sql b/sql/updates/auth/2013_08_30_00_auth_misc.sql new file mode 100644 index 00000000000..1f51a8deee8 --- /dev/null +++ b/sql/updates/auth/2013_08_30_00_auth_misc.sql @@ -0,0 +1,40 @@ +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 200 AND 216; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(200, 'Command: .rbac'), +(201, 'Command: .rbac account'), +(202, 'Command: .rbac account group'), +(203, 'Command: .rbac account group add'), +(204, 'Command: .rbac account group remove'), +(205, 'Command: .rbac account role'), +(206, 'Command: .rbac account role grant'), +(207, 'Command: .rbac account role deny'), +(208, 'Command: .rbac account role revoke'), +(209, 'Command: .rbac account permission'), +(210, 'Command: .rbac account permission grant'), +(211, 'Command: .rbac account permission deny'), +(212, 'Command: .rbac account permission revoke'), +(213, 'Command: .rbac list'), +(214, 'Command: .rbac list groups'), +(215, 'Command: .rbac list roles'), +(216, 'Command: .rbac list permissions'); + +-- Add Permissions to "Administrator Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `roleId` = 4 AND `permissionId` BETWEEN 200 AND 216; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(4, 200), +(4, 201), +(4, 202), +(4, 203), +(4, 204), +(4, 205), +(4, 206), +(4, 207), +(4, 208), +(4, 209), +(4, 210), +(4, 211), +(4, 213), +(4, 214), +(4, 215), +(4, 216); diff --git a/sql/updates/world/2013_08_30_02_world_command.sql b/sql/updates/world/2013_08_30_02_world_command.sql new file mode 100644 index 00000000000..1b0f1a2a663 --- /dev/null +++ b/sql/updates/world/2013_08_30_02_world_command.sql @@ -0,0 +1,17 @@ +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = 200 WHERE `name` = '.rbac'; +UPDATE `command` SET `permission` = 201 WHERE `name` = '.rbac account'; +UPDATE `command` SET `permission` = 202 WHERE `name` = '.rbac account group'; +UPDATE `command` SET `permission` = 203 WHERE `name` = '.rbac account group add'; +UPDATE `command` SET `permission` = 204 WHERE `name` = '.rbac account group remove'; +UPDATE `command` SET `permission` = 205 WHERE `name` = '.rbac account role'; +UPDATE `command` SET `permission` = 206 WHERE `name` = '.rbac account role grant'; +UPDATE `command` SET `permission` = 207 WHERE `name` = '.rbac account role deny'; +UPDATE `command` SET `permission` = 208 WHERE `name` = '.rbac account role revoke'; +UPDATE `command` SET `permission` = 209 WHERE `name` = '.rbac account permission'; +UPDATE `command` SET `permission` = 210 WHERE `name` = '.rbac account permission grant'; +UPDATE `command` SET `permission` = 211 WHERE `name` = '.rbac account permission deny'; +UPDATE `command` SET `permission` = 212 WHERE `name` = '.rbac account permission revoke'; +UPDATE `command` SET `permission` = 214 WHERE `name` = '.rbac account list groups'; +UPDATE `command` SET `permission` = 215 WHERE `name` = '.rbac account list roles'; +UPDATE `command` SET `permission` = 216 WHERE `name` = '.rbac account list permissions'; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 4e98e5f003e..30902f944df 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -96,6 +96,26 @@ enum RBACPermissions RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR = 46, RBAC_PERM_CHECK_FOR_LOWER_SECURITY = 47, RBAC_PERM_COMMANDS_PINFO_CHECK_PERSONAL_DATA = 48, + // Leave some space for core permissions + RBAC_PERM_COMMAND_RBAC = 200, + RBAC_PERM_COMMAND_RBAC_ACC = 201, + RBAC_PERM_COMMAND_RBAC_ACC_GROUP = 202, + RBAC_PERM_COMMAND_RBAC_ACC_GROUP_ADD = 203, + RBAC_PERM_COMMAND_RBAC_ACC_GROUP_DEL = 204, + RBAC_PERM_COMMAND_RBAC_ACC_ROLE = 205, + RBAC_PERM_COMMAND_RBAC_ACC_ROLE_GRANT = 206, + RBAC_PERM_COMMAND_RBAC_ACC_ROLE_DENY = 207, + RBAC_PERM_COMMAND_RBAC_ACC_ROLE_REVOKE = 208, + RBAC_PERM_COMMAND_RBAC_ACC_PERM = 209, + RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT = 210, + RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY = 211, + RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE = 212, + RBAC_PERM_COMMAND_RBAC_LIST = 213, + RBAC_PERM_COMMAND_RBAC_LIST_GROUPS = 214, + RBAC_PERM_COMMAND_RBAC_LIST_ROLES = 215, + RBAC_PERM_COMMAND_RBAC_LIST_PERMS = 216, + + // custom permissions 1000+ RBAC_PERM_MAX }; diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp index 22a71115e76..9c682acb224 100644 --- a/src/server/scripts/Commands/cs_rbac.cpp +++ b/src/server/scripts/Commands/cs_rbac.cpp @@ -53,58 +53,58 @@ public: { static ChatCommand rbacGroupsCommandTable[] = { - { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupAddCommand, "", NULL }, - { "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupRemoveCommand, "", NULL }, - { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACGroupListCommand, "", NULL }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "add", RBAC_PERM_COMMAND_RBAC_ACC_GROUP_ADD, true, &HandleRBACGroupAddCommand, "", NULL }, + { "remove", RBAC_PERM_COMMAND_RBAC_ACC_GROUP_DEL, true, &HandleRBACGroupRemoveCommand, "", NULL }, + { "", RBAC_PERM_COMMAND_RBAC_ACC_GROUP, true, &HandleRBACGroupListCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand rbacRolesCommandTable[] = { - { "grant", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleGrantCommand, "", NULL }, - { "deny", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleDenyCommand, "", NULL }, - { "revoke", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleRevokeCommand, "", NULL }, - { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACRoleListCommand, "", NULL }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "grant", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_GRANT, true, &HandleRBACRoleGrantCommand, "", NULL }, + { "deny", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_DENY, true, &HandleRBACRoleDenyCommand, "", NULL }, + { "revoke", RBAC_PERM_COMMAND_RBAC_ACC_ROLE_REVOKE, true, &HandleRBACRoleRevokeCommand, "", NULL }, + { "", RBAC_PERM_COMMAND_RBAC_ACC_ROLE, true, &HandleRBACRoleListCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand rbacPermsCommandTable[] = { - { "grant", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermGrantCommand, "", NULL }, - { "deny", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermDenyCommand, "", NULL }, - { "revoke", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermRevokeCommand, "", NULL }, - { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACPermListCommand, "", NULL }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "grant", RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "", NULL }, + { "deny", RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "", NULL }, + { "revoke", RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "", NULL }, + { "", RBAC_PERM_COMMAND_RBAC_ACC_PERM, true, &HandleRBACPermListCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand rbacListCommandTable[] = { - { "groups", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListGroupsCommand, "", NULL }, - { "roles", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListRolesCommand, "", NULL }, - { "permissions", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACListPermissionsCommand, "", NULL }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "groups", RBAC_PERM_COMMAND_RBAC_LIST_GROUPS, true, &HandleRBACListGroupsCommand, "", NULL }, + { "roles", RBAC_PERM_COMMAND_RBAC_LIST_ROLES, true, &HandleRBACListRolesCommand, "", NULL }, + { "permissions", RBAC_PERM_COMMAND_RBAC_LIST_PERMS, true, &HandleRBACListPermissionsCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand rbacAccountCommandTable[] = { - { "group", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacGroupsCommandTable }, - { "role", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacRolesCommandTable }, - { "permission", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacPermsCommandTable }, - { "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleRBACAccountPermissionCommand, "", NULL }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "group", RBAC_PERM_COMMAND_RBAC_ACC_GROUP, true, NULL, "", rbacGroupsCommandTable }, + { "role", RBAC_PERM_COMMAND_RBAC_ACC_ROLE, true, NULL, "", rbacRolesCommandTable }, + { "permission", RBAC_PERM_COMMAND_RBAC_ACC_PERM, true, NULL, "", rbacPermsCommandTable }, + { "", RBAC_PERM_COMMAND_RBAC_ACC, true, &HandleRBACAccountPermissionCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand rbacCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacAccountCommandTable }, - { "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacListCommandTable }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_RBAC_ACC, true, NULL, "", rbacAccountCommandTable }, + { "list", RBAC_PERM_COMMAND_RBAC_LIST, true, NULL, "", rbacListCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "rbac", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", rbacCommandTable }, - { NULL, RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", NULL } + { "rbac", RBAC_PERM_COMMAND_RBAC, true, NULL, "", rbacCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; -- cgit v1.2.3 From 109188a203d1745888596cac3bc78f1a057d934e Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 15:53:29 +0200 Subject: Core/RBAC: Move account commands to RBAC (using individual permissions) --- sql/updates/auth/2013_08_30_01_auth_misc.sql | 28 ++++++++++++++++++ sql/updates/world/2013_08_30_01_world_command.sql | 2 +- sql/updates/world/2013_08_30_04_world_command.sql | 14 +++++++++ src/server/game/Accounts/RBAC.h | 13 ++++++++ src/server/scripts/Commands/cs_account.cpp | 36 +++++++++++------------ 5 files changed, 74 insertions(+), 19 deletions(-) create mode 100644 sql/updates/auth/2013_08_30_01_auth_misc.sql create mode 100644 sql/updates/world/2013_08_30_04_world_command.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/auth/2013_08_30_01_auth_misc.sql b/sql/updates/auth/2013_08_30_01_auth_misc.sql new file mode 100644 index 00000000000..743551163ce --- /dev/null +++ b/sql/updates/auth/2013_08_30_01_auth_misc.sql @@ -0,0 +1,28 @@ +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 200 AND 216; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(217, 'Command: .account'), +(218, 'Command: .account addon'), +(219, 'Command: .account create'), +(220, 'Command: .account delete'), +(221, 'Command: .account lock'), +(222, 'Command: .account lock country'), +(223, 'Command: .account lock ip'), +(224, 'Command: .account onlinelist'), +(225, 'Command: .account password'), +(226, 'Command: .account set'), +(227, 'Command: .account set addon'), +(228, 'Command: .account set gmlevel'), +(229, 'Command: .account set password'); + +-- Add Permissions to "corresponding Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN 217 AND 229; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(1, 217), +(2, 218), +(1, 221), +(1, 222), +(1, 223), +(1, 225), +(4, 226), +(4, 227); diff --git a/sql/updates/world/2013_08_30_01_world_command.sql b/sql/updates/world/2013_08_30_01_world_command.sql index 89f83d7e424..e786c85a118 100644 --- a/sql/updates/world/2013_08_30_01_world_command.sql +++ b/sql/updates/world/2013_08_30_01_world_command.sql @@ -1,4 +1,4 @@ -ALTER TABLE `command` CHANGE `security` `permission` UNSIGNED SMALLINT(5) DEFAULT 0 NOT NULL; +ALTER TABLE `command` CHANGE `security` `permission` SMALLINT(5) UNSIGNED DEFAULT 0 NOT NULL; -- Player commands UPDATE `command` SET `permission` = 7 WHERE `permission` = 0; diff --git a/sql/updates/world/2013_08_30_04_world_command.sql b/sql/updates/world/2013_08_30_04_world_command.sql new file mode 100644 index 00000000000..c77f651f9e5 --- /dev/null +++ b/sql/updates/world/2013_08_30_04_world_command.sql @@ -0,0 +1,14 @@ +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = 217 WHERE `name` = 'account'; +UPDATE `command` SET `permission` = 218 WHERE `name` = 'account addon'; +UPDATE `command` SET `permission` = 219 WHERE `name` = 'account create'; +UPDATE `command` SET `permission` = 220 WHERE `name` = 'account delete'; +UPDATE `command` SET `permission` = 221 WHERE `name` = 'account lock'; +UPDATE `command` SET `permission` = 222 WHERE `name` = 'account lock country'; +UPDATE `command` SET `permission` = 223 WHERE `name` = 'account lock ip'; +UPDATE `command` SET `permission` = 224 WHERE `name` = 'account onlinelist'; +UPDATE `command` SET `permission` = 225 WHERE `name` = 'account password'; +UPDATE `command` SET `permission` = 226 WHERE `name` = 'account set'; +UPDATE `command` SET `permission` = 227 WHERE `name` = 'account set addon'; +UPDATE `command` SET `permission` = 228 WHERE `name` = 'account set gmlevel'; +UPDATE `command` SET `permission` = 229 WHERE `name` = 'account set password'; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 30902f944df..aa1fa70cc70 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -114,6 +114,19 @@ enum RBACPermissions RBAC_PERM_COMMAND_RBAC_LIST_GROUPS = 214, RBAC_PERM_COMMAND_RBAC_LIST_ROLES = 215, RBAC_PERM_COMMAND_RBAC_LIST_PERMS = 216, + RBAC_PERM_COMMAND_ACCOUNT = 217, + RBAC_PERM_COMMAND_ACCOUNT_ADDON = 218, + RBAC_PERM_COMMAND_ACCOUNT_CREATE = 219, + RBAC_PERM_COMMAND_ACCOUNT_DELETE = 220, + RBAC_PERM_COMMAND_ACCOUNT_LOCK = 221, + RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY = 222, + RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP = 223, + RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST = 224, + RBAC_PERM_COMMAND_ACCOUNT_PASSWORD = 225, + RBAC_PERM_COMMAND_ACCOUNT_SET = 226, + RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON = 227, + RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL = 228, + RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD = 229, // custom permissions 1000+ RBAC_PERM_MAX diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index dcbc86b19c5..42e33faee1c 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -37,33 +37,33 @@ public: { static ChatCommand accountSetCommandTable[] = { - { "addon", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleAccountSetAddonCommand, "", NULL }, - { "gmlevel", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountSetGmLevelCommand, "", NULL }, - { "password", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountSetPasswordCommand, "", NULL }, - { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } + { "addon", RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, true, &HandleAccountSetAddonCommand, "", NULL }, + { "gmlevel", RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL, true, &HandleAccountSetGmLevelCommand, "", NULL }, + { "password", RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand accountLockCommandTable[] = { - { "country", RBAC_PERM_PLAYER_COMMANDS, true, &HandleAccountLockCountryCommand, "", NULL }, - { "ip", RBAC_PERM_PLAYER_COMMANDS, true, &HandleAccountLockIpCommand, "", NULL }, - { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }, + { "country", RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, true, &HandleAccountLockCountryCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, true, &HandleAccountLockIpCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand accountCommandTable[] = { - { "addon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleAccountAddonCommand, "", NULL }, - { "create", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountCreateCommand, "", NULL }, - { "delete", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountDeleteCommand, "", NULL }, - { "onlinelist", RBAC_PERM_CONSOLE_COMMANDS, true, &HandleAccountOnlineListCommand, "", NULL }, - { "lock", RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", accountLockCommandTable }, - { "set", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", accountSetCommandTable }, - { "password", RBAC_PERM_PLAYER_COMMANDS, false, &HandleAccountPasswordCommand, "", NULL }, - { "", RBAC_PERM_PLAYER_COMMANDS, false, &HandleAccountCommand, "", NULL }, - { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } + { "addon", RBAC_PERM_COMMAND_ACCOUNT_ADDON, false, &HandleAccountAddonCommand, "", NULL }, + { "create", RBAC_PERM_COMMAND_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "", NULL }, + { "delete", RBAC_PERM_COMMAND_ACCOUNT_DELETE, true, &HandleAccountDeleteCommand, "", NULL }, + { "onlinelist", RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, true, &HandleAccountOnlineListCommand, "", NULL }, + { "lock", RBAC_PERM_COMMAND_ACCOUNT_LOCK, false, NULL, "", accountLockCommandTable }, + { "set", RBAC_PERM_COMMAND_ACCOUNT_SET, true, NULL, "", accountSetCommandTable }, + { "password", RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "", NULL }, + { "", RBAC_PERM_COMMAND_ACCOUNT, false, &HandleAccountCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "account", RBAC_PERM_PLAYER_COMMANDS, true, NULL, "", accountCommandTable }, - { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_ACCOUNT, true, NULL, "", accountCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } -- cgit v1.2.3 From 2b69f83823af84da08be5888185b6da14742c387 Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 16:14:00 +0200 Subject: Core/RBAC: Move Achievements and Arena commands to RBAC (using individual permissions) --- sql/updates/auth/2013_08_30_01_auth_misc.sql | 2 +- sql/updates/auth/2013_08_30_02_auth_misc.sql | 25 +++++++++++++++++++++++ sql/updates/world/2013_08_30_05_world_command.sql | 10 +++++++++ src/server/game/Accounts/RBAC.h | 9 ++++++++ src/server/scripts/Commands/cs_achievement.cpp | 8 ++++---- src/server/scripts/Commands/cs_arena.cpp | 18 ++++++++-------- 6 files changed, 58 insertions(+), 14 deletions(-) create mode 100644 sql/updates/auth/2013_08_30_02_auth_misc.sql create mode 100644 sql/updates/world/2013_08_30_05_world_command.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/auth/2013_08_30_01_auth_misc.sql b/sql/updates/auth/2013_08_30_01_auth_misc.sql index 743551163ce..096588ba2ab 100644 --- a/sql/updates/auth/2013_08_30_01_auth_misc.sql +++ b/sql/updates/auth/2013_08_30_01_auth_misc.sql @@ -1,5 +1,5 @@ -- Add new permissions -DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 200 AND 216; +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 217 AND 229; INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (217, 'Command: .account'), (218, 'Command: .account addon'), diff --git a/sql/updates/auth/2013_08_30_02_auth_misc.sql b/sql/updates/auth/2013_08_30_02_auth_misc.sql new file mode 100644 index 00000000000..da5f187627b --- /dev/null +++ b/sql/updates/auth/2013_08_30_02_auth_misc.sql @@ -0,0 +1,25 @@ +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 230 AND 238; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(230, 'achievement'), +(231, 'achievement add'), +(232, 'arena'), +(233, 'arena captain'), +(234, 'arena create'), +(235, 'arena disband'), +(236, 'arena info'), +(237, 'arena lookup'), +(238, 'arena rename'); + +-- Add Permissions to "corresponding Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN 230 AND 238; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(4, 230), +(4, 231), +(3, 232), +(4, 233), +(4, 234), +(4, 235), +(3, 236), +(3, 237), +(4, 238); diff --git a/sql/updates/world/2013_08_30_05_world_command.sql b/sql/updates/world/2013_08_30_05_world_command.sql new file mode 100644 index 00000000000..017ab4fa03e --- /dev/null +++ b/sql/updates/world/2013_08_30_05_world_command.sql @@ -0,0 +1,10 @@ +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = 230 WHERE `name` = 'achievement'; +UPDATE `command` SET `permission` = 231 WHERE `name` = 'achievement add'; +UPDATE `command` SET `permission` = 232 WHERE `name` = 'arena'; +UPDATE `command` SET `permission` = 233 WHERE `name` = 'arena captain'; +UPDATE `command` SET `permission` = 234 WHERE `name` = 'arena create'; +UPDATE `command` SET `permission` = 235 WHERE `name` = 'arena disband'; +UPDATE `command` SET `permission` = 236 WHERE `name` = 'arena info'; +UPDATE `command` SET `permission` = 237 WHERE `name` = 'arena lookup'; +UPDATE `command` SET `permission` = 238 WHERE `name` = 'arena rename'; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index aa1fa70cc70..f0e6f547ba3 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -127,6 +127,15 @@ enum RBACPermissions RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON = 227, RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL = 228, RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD = 229, + RBAC_PERM_COMMAND_ACHIEVEMENT = 230, + RBAC_PERM_COMMAND_ACHIEVEMENT_ADD = 231, + RBAC_PERM_COMMAND_ARENA = 232, + RBAC_PERM_COMMAND_ARENA_CAPTAIN = 233, + RBAC_PERM_COMMAND_ARENA_CREATE = 234, + RBAC_PERM_COMMAND_ARENA_DISBAND = 235, + RBAC_PERM_COMMAND_ARENA_INFO = 236, + RBAC_PERM_COMMAND_ARENA_LOOKUP = 237, + RBAC_PERM_COMMAND_ARENA_RENAME = 238, // custom permissions 1000+ RBAC_PERM_MAX diff --git a/src/server/scripts/Commands/cs_achievement.cpp b/src/server/scripts/Commands/cs_achievement.cpp index 1ea4b5b08db..bba55cd1fe8 100644 --- a/src/server/scripts/Commands/cs_achievement.cpp +++ b/src/server/scripts/Commands/cs_achievement.cpp @@ -37,13 +37,13 @@ public: { static ChatCommand achievementCommandTable[] = { - { "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAchievementAddCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", RBAC_PERM_COMMAND_ACHIEVEMENT_ADD, false, &HandleAchievementAddCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "achievement", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", achievementCommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "achievement", RBAC_PERM_COMMAND_ACHIEVEMENT, false, NULL, "", achievementCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp index ece9a316ac8..90e47fda19f 100644 --- a/src/server/scripts/Commands/cs_arena.cpp +++ b/src/server/scripts/Commands/cs_arena.cpp @@ -38,18 +38,18 @@ public: { static ChatCommand arenaCommandTable[] = { - { "create", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaCreateCommand, "", NULL }, - { "disband", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaDisbandCommand, "", NULL }, - { "rename", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleArenaRenameCommand, "", NULL }, - { "captain", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleArenaCaptainCommand, "", NULL }, - { "info", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleArenaInfoCommand, "", NULL }, - { "lookup", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleArenaLookupCommand, "", NULL }, - { NULL, RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", NULL } + { "create", RBAC_PERM_COMMAND_ARENA_CREATE, true, &HandleArenaCreateCommand, "", NULL }, + { "disband", RBAC_PERM_COMMAND_ARENA_DISBAND, true, &HandleArenaDisbandCommand, "", NULL }, + { "rename", RBAC_PERM_COMMAND_ARENA_RENAME, true, &HandleArenaRenameCommand, "", NULL }, + { "captain", RBAC_PERM_COMMAND_ARENA_CAPTAIN, false, &HandleArenaCaptainCommand, "", NULL }, + { "info", RBAC_PERM_COMMAND_ARENA_INFO, true, &HandleArenaInfoCommand, "", NULL }, + { "lookup", RBAC_PERM_COMMAND_ARENA_LOOKUP, false, &HandleArenaLookupCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "arena", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", arenaCommandTable }, - { NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL } + { "arena", RBAC_PERM_COMMAND_ARENA, false, NULL, "", arenaCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } -- cgit v1.2.3 From 9bea4fc4515b556fc69412cccc3c3f186553fe7b Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 16:26:52 +0200 Subject: Core/RBAC: Move ban commands to RBAC (using individual permissions) --- sql/updates/auth/2013_08_30_03_auth_misc.sql | 43 +++++++++++++++++++++ sql/updates/world/2013_08_30_06_world_command.sql | 19 ++++++++++ src/server/game/Accounts/RBAC.h | 18 +++++++++ src/server/scripts/Commands/cs_ban.cpp | 46 +++++++++++------------ 4 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 sql/updates/auth/2013_08_30_03_auth_misc.sql create mode 100644 sql/updates/world/2013_08_30_06_world_command.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/auth/2013_08_30_03_auth_misc.sql b/sql/updates/auth/2013_08_30_03_auth_misc.sql new file mode 100644 index 00000000000..a6495a2de6e --- /dev/null +++ b/sql/updates/auth/2013_08_30_03_auth_misc.sql @@ -0,0 +1,43 @@ +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 239 AND 256; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(239, 'ban'), +(240, 'ban account'), +(241, 'ban character'), +(242, 'ban ip'), +(243, 'ban playeraccount'), +(244, 'baninfo'), +(245, 'baninfo account'), +(246, 'baninfo character'), +(247, 'baninfo ip'), +(248, 'banlist'), +(249, 'banlist account'), +(250, 'banlist character'), +(251, 'banlist ip'), +(252, 'unban'), +(253, 'unban account'), +(254, 'unban character'), +(255, 'unban ip'), +(256, 'unban playeraccount'); + +-- Add Permissions to "corresponding Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN 239 AND 256; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(4, 239), +(4, 240), +(4, 241), +(4, 242), +(4, 243), +(4, 244), +(4, 245), +(4, 246), +(4, 247), +(4, 248), +(4, 249), +(4, 250), +(4, 251), +(4, 252), +(4, 253), +(4, 254), +(4, 255), +(4, 256); diff --git a/sql/updates/world/2013_08_30_06_world_command.sql b/sql/updates/world/2013_08_30_06_world_command.sql new file mode 100644 index 00000000000..777319613ce --- /dev/null +++ b/sql/updates/world/2013_08_30_06_world_command.sql @@ -0,0 +1,19 @@ +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = 239 WHERE `name` = 'ban'; +UPDATE `command` SET `permission` = 240 WHERE `name` = 'ban account'; +UPDATE `command` SET `permission` = 241 WHERE `name` = 'ban character'; +UPDATE `command` SET `permission` = 242 WHERE `name` = 'ban ip'; +UPDATE `command` SET `permission` = 243 WHERE `name` = 'ban playeraccount'; +UPDATE `command` SET `permission` = 244 WHERE `name` = 'baninfo'; +UPDATE `command` SET `permission` = 245 WHERE `name` = 'baninfo account'; +UPDATE `command` SET `permission` = 246 WHERE `name` = 'baninfo character'; +UPDATE `command` SET `permission` = 247 WHERE `name` = 'baninfo ip'; +UPDATE `command` SET `permission` = 248 WHERE `name` = 'banlist'; +UPDATE `command` SET `permission` = 249 WHERE `name` = 'banlist account'; +UPDATE `command` SET `permission` = 250 WHERE `name` = 'banlist character'; +UPDATE `command` SET `permission` = 251 WHERE `name` = 'banlist ip'; +UPDATE `command` SET `permission` = 252 WHERE `name` = 'unban'; +UPDATE `command` SET `permission` = 253 WHERE `name` = 'unban account'; +UPDATE `command` SET `permission` = 254 WHERE `name` = 'unban character'; +UPDATE `command` SET `permission` = 255 WHERE `name` = 'unban ip'; +UPDATE `command` SET `permission` = 256 WHERE `name` = 'unban playeraccount'; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index f0e6f547ba3..55f8527a125 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -136,6 +136,24 @@ enum RBACPermissions RBAC_PERM_COMMAND_ARENA_INFO = 236, RBAC_PERM_COMMAND_ARENA_LOOKUP = 237, RBAC_PERM_COMMAND_ARENA_RENAME = 238, + RBAC_PERM_COMMAND_BAN = 239, + RBAC_PERM_COMMAND_BAN_ACCOUNT = 240, + RBAC_PERM_COMMAND_BAN_CHARACTER = 241, + RBAC_PERM_COMMAND_BAN_IP = 242, + RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT = 243, + RBAC_PERM_COMMAND_BANINFO = 244, + RBAC_PERM_COMMAND_BANINFO_ACCOUNT = 245, + RBAC_PERM_COMMAND_BANINFO_CHARACTER = 246, + RBAC_PERM_COMMAND_BANINFO_IP = 247, + RBAC_PERM_COMMAND_BANLIST = 248, + RBAC_PERM_COMMAND_BANLIST_ACCOUNT = 249, + RBAC_PERM_COMMAND_BANLIST_CHARACTER = 250, + RBAC_PERM_COMMAND_BANLIST_IP = 251, + RBAC_PERM_COMMAND_UNBAN = 252, + RBAC_PERM_COMMAND_UNBAN_ACCOUNT = 253, + RBAC_PERM_COMMAND_UNBAN_CHARACTER = 254, + RBAC_PERM_COMMAND_UNBAN_IP = 255, + RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT = 256, // custom permissions 1000+ RBAC_PERM_MAX diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp index 932a1def6f0..b12e058a78f 100644 --- a/src/server/scripts/Commands/cs_ban.cpp +++ b/src/server/scripts/Commands/cs_ban.cpp @@ -39,41 +39,41 @@ public: { static ChatCommand unbanCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanCharacterCommand, "", NULL }, - { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountByCharCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banlistCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListCharacterCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand baninfoCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoCharacterCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanCharacterCommand, "", NULL }, - { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountByCharCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "ban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banCommandTable }, - { "baninfo", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", baninfoCommandTable }, - { "banlist", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banlistCommandTable }, - { "unban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", unbanCommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "ban", RBAC_PERM_COMMAND_BAN, true, NULL, "", banCommandTable }, + { "baninfo", RBAC_PERM_COMMAND_BANINFO, true, NULL, "", baninfoCommandTable }, + { "banlist", RBAC_PERM_COMMAND_BANLIST, true, NULL, "", banlistCommandTable }, + { "unban", RBAC_PERM_COMMAND_UNBAN, true, NULL, "", unbanCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } -- cgit v1.2.3 From 7776016106e748fee8cb3e052ec3c8e575e84a55 Mon Sep 17 00:00:00 2001 From: Nay Date: Fri, 30 Aug 2013 16:42:49 +0100 Subject: Core/Quests: Remove CastedCreatureOrGO method - Remove EAI's ACTION_T_CAST_EVENT and ACTION_T_CAST_EVENT_ALL - Remove SAI's SMART_ACTION_CALL_CASTEDCREATUREORGO - Split QUEST_TRINITY_FLAGS_KILL_OR_CAST into QUEST_TRINITY_FLAGS_KILL and QUEST_TRINITY_FLAGS_CAST - Assign QUEST_TRINITY_FLAGS_CAST to all the quests that were using RequiredSpellCastX - (unrelated) Fix a warning in Player.cpp - Replace CastedCreatureOrGO usage in scripts by KilledMonsterCredit TODO: Convert the two EAI scripts commented out in the .sql to proper SAI Closes #10667 --- sql/updates/world/2013_08_30_06_world_eai_sai.sql | 25 +++++++++ src/server/game/AI/EventAI/CreatureEventAI.cpp | 14 ----- src/server/game/AI/EventAI/CreatureEventAI.h | 17 +----- src/server/game/AI/EventAI/CreatureEventAIMgr.cpp | 14 ----- src/server/game/AI/SmartScripts/SmartScript.cpp | 22 -------- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 7 --- src/server/game/AI/SmartScripts/SmartScriptMgr.h | 8 +-- src/server/game/Entities/GameObject/GameObject.cpp | 2 +- src/server/game/Entities/Player/Player.cpp | 60 +++++----------------- src/server/game/Entities/Player/Player.h | 2 +- src/server/game/Globals/ObjectMgr.cpp | 2 +- src/server/game/Quests/QuestDef.h | 7 +-- src/server/game/Spells/Spell.cpp | 48 ----------------- src/server/scripts/Commands/cs_quest.cpp | 6 +-- .../scripts/Kalimdor/zone_bloodmyst_isle.cpp | 2 +- .../scripts/Outland/zone_shadowmoon_valley.cpp | 2 +- 16 files changed, 52 insertions(+), 186 deletions(-) create mode 100644 sql/updates/world/2013_08_30_06_world_eai_sai.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/world/2013_08_30_06_world_eai_sai.sql b/sql/updates/world/2013_08_30_06_world_eai_sai.sql new file mode 100644 index 00000000000..33814d2cc36 --- /dev/null +++ b/sql/updates/world/2013_08_30_06_world_eai_sai.sql @@ -0,0 +1,25 @@ +DELETE FROM `creature_ai_scripts` WHERE `action1_type`=27; + +-- INSERT INTO `creature_ai_scripts` (`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`) VALUES +-- ('343001', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '5043', '17013', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Agamaggan''s Agility on Quest Complete'), +-- ('343002', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '5042', '16612', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Agamaggan''s Strength on Quest Complete'), +-- ('343003', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '5046', '16610', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Razorhide on Quest Complete'), +-- ('343004', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '5045', '10767', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Rising Spirit on Quest Complete'), +-- ('343005', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '889', '16618', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Spirit of the Wind on Quest Complete'), +-- ('343006', '3430', '0', '0', '100', '0', '0', '0', '0', '0', '27', '5044', '7764', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Mangletooth - Cast Wisdom of Agamaggan on Quest Complete'); + +UPDATE `smart_scripts` SET `action_type`=33, `action_param2`=0 WHERE `source_type`=0 AND `action_type`=27; -- by VM + +-- all quests that used RequiredSpellCastX fields +UPDATE `quest_template` SET `SpecialFlags`=`SpecialFlags`|32 WHERE `entry` IN +(28,29,532,553,849,877,905,974,2118,2932,2994,3825,5096,5163,5165,5441, +6124,6129,6381,6395,6661,8346,8889,9066,9169,9193,9275,9294,9391,9440, +9444,9447,9489,9526,9600,9629,9667,9685,9720,9805,9824,9874,9910,10011, +10078,10087,10129,10144,10146,10182,10208,10233,10240,10305,10306,10307, +10313,10335,10345,10392,10426,10446,10447,10488,10545,10564,10598,10637, +10688,10714,10771,10792,10802,10808,10813,10833,10859,10866,10895,10913, +10923,10935,11055,11150,11205,11232,11245,11247,11258,11259,11285,11330, +11332,11421,11496,11515,11523,11542,11543,11547,11568,11576,11582,11610, +11617,11637,11656,11677,11684,11694,11713,11880,12092,12094,12096,12154, +12172,12173,12180,12213,12232,12267,12417,12449,12502,12588,12591,12598, +12641,12669,12728,12859,13110,13119,13211); diff --git a/src/server/game/AI/EventAI/CreatureEventAI.cpp b/src/server/game/AI/EventAI/CreatureEventAI.cpp index c35dbebaad5..c7180836040 100644 --- a/src/server/game/AI/EventAI/CreatureEventAI.cpp +++ b/src/server/game/AI/EventAI/CreatureEventAI.cpp @@ -511,11 +511,6 @@ void CreatureEventAI::ProcessAction(CreatureEventAI_Action const& action, uint32 if (target->GetTypeId() == TYPEID_PLAYER) target->ToPlayer()->AreaExploredOrEventHappens(action.quest_event.questId); break; - case ACTION_T_CAST_EVENT: - if (Unit* target = GetTargetByType(action.cast_event.target, actionInvoker)) - if (target->GetTypeId() == TYPEID_PLAYER) - target->ToPlayer()->CastedCreatureOrGO(action.cast_event.creatureId, me->GetGUID(), action.cast_event.spellId); - break; case ACTION_T_SET_UNIT_FIELD: { Unit* target = GetTargetByType(action.set_unit_field.target, actionInvoker); @@ -612,15 +607,6 @@ void CreatureEventAI::ProcessAction(CreatureEventAI_Action const& action, uint32 Temp->ToPlayer()->GroupEventHappens(action.quest_event_all.questId, me); } break; - case ACTION_T_CAST_EVENT_ALL: - { - ThreatContainer::StorageType const& threatList = me->getThreatManager().getThreatList(); - for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i) - if (Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid())) - if (unit->GetTypeId() == TYPEID_PLAYER) - unit->ToPlayer()->CastedCreatureOrGO(action.cast_event_all.creatureId, me->GetGUID(), action.cast_event_all.spellId); - break; - } case ACTION_T_REMOVEAURASFROMSPELL: if (Unit* target = GetTargetByType(action.remove_aura.target, actionInvoker)) target->RemoveAurasDueToSpell(action.remove_aura.spellId); diff --git a/src/server/game/AI/EventAI/CreatureEventAI.h b/src/server/game/AI/EventAI/CreatureEventAI.h index d67fef64b95..d98dbfdc234 100644 --- a/src/server/game/AI/EventAI/CreatureEventAI.h +++ b/src/server/game/AI/EventAI/CreatureEventAI.h @@ -81,7 +81,7 @@ enum EventAI_ActionType ACTION_T_THREAT_SINGLE_PCT = 13, // Threat%, Target ACTION_T_THREAT_ALL_PCT = 14, // Threat% ACTION_T_QUEST_EVENT = 15, // QuestID, Target - ACTION_T_CAST_EVENT = 16, // CreatureId, SpellId, Target - must be removed as hack? + // none = 16, ACTION_T_SET_UNIT_FIELD = 17, // Field_Number, Value, Target ACTION_T_SET_UNIT_FLAG = 18, // Flags (may be more than one field OR'd together), Target ACTION_T_REMOVE_UNIT_FLAG = 19, // Flags (may be more than one field OR'd together), Target @@ -92,7 +92,7 @@ enum EventAI_ActionType ACTION_T_EVADE = 24, // No Params ACTION_T_FLEE_FOR_ASSIST = 25, // No Params ACTION_T_QUEST_EVENT_ALL = 26, // QuestID - ACTION_T_CAST_EVENT_ALL = 27, // CreatureId, SpellId + // none = 27, ACTION_T_REMOVEAURASFROMSPELL = 28, // Target, Spellid ACTION_T_RANGED_MOVEMENT = 29, // Distance, Angle ACTION_T_RANDOM_PHASE = 30, // PhaseId1, PhaseId2, PhaseId3 @@ -269,13 +269,6 @@ struct CreatureEventAI_Action uint32 questId; uint32 target; } quest_event; - // ACTION_T_CAST_EVENT = 16 - struct - { - uint32 creatureId; - uint32 spellId; - uint32 target; - } cast_event; // ACTION_T_SET_UNIT_FIELD = 17 struct { @@ -316,12 +309,6 @@ struct CreatureEventAI_Action { uint32 questId; } quest_event_all; - // ACTION_T_CAST_EVENT_ALL = 27 - struct - { - uint32 creatureId; - uint32 spellId; - } cast_event_all; // ACTION_T_REMOVEAURASFROMSPELL = 28 struct { diff --git a/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp b/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp index 4d2aa9b469f..f77499fa7e3 100644 --- a/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp +++ b/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp @@ -517,14 +517,6 @@ void CreatureEventAIMgr::LoadCreatureEventAI_Scripts() TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses incorrect Target type", i, j+1); break; - case ACTION_T_CAST_EVENT: - if (!sObjectMgr->GetCreatureTemplate(action.cast_event.creatureId)) - TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent creature entry %u.", i, j+1, action.cast_event.creatureId); - if (!sSpellMgr->GetSpellInfo(action.cast_event.spellId)) - TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent SpellID %u.", i, j+1, action.cast_event.spellId); - if (action.cast_event.target >= TARGET_T_END) - TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses incorrect Target type", i, j+1); - break; case ACTION_T_SET_UNIT_FIELD: if (action.set_unit_field.field < OBJECT_END || action.set_unit_field.field >= UNIT_END) TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u param1 (UNIT_FIELD*). Index out of range for intended use.", i, j+1); @@ -555,12 +547,6 @@ void CreatureEventAIMgr::LoadCreatureEventAI_Scripts() else TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent Quest entry %u.", i, j+1, action.quest_event_all.questId); break; - case ACTION_T_CAST_EVENT_ALL: - if (!sObjectMgr->GetCreatureTemplate(action.cast_event_all.creatureId)) - TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent creature entry %u.", i, j+1, action.cast_event_all.creatureId); - if (!sSpellMgr->GetSpellInfo(action.cast_event_all.spellId)) - TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent SpellID %u.", i, j+1, action.cast_event_all.spellId); - break; case ACTION_T_REMOVEAURASFROMSPELL: if (!sSpellMgr->GetSpellInfo(action.remove_aura.spellId)) TC_LOG_ERROR(LOG_FILTER_SQL, "CreatureEventAI: Event %u Action %u uses non-existent SpellID %u.", i, j+1, action.remove_aura.spellId); diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 3285ce4dec9..2d6046cbddf 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -766,28 +766,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u player->GroupEventHappens(e.action.quest.quest, GetBaseObject()); break; } - case SMART_ACTION_CALL_CASTEDCREATUREORGO: - { - if (!GetBaseObject()) - break; - - ObjectList* targets = GetTargets(e, unit); - if (!targets) - break; - - for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) - { - if (IsPlayer((*itr))) - { - (*itr)->ToPlayer()->CastedCreatureOrGO(e.action.callCastedCreatureOrGO.creature, GetBaseObject()->GetGUID(), e.action.callCastedCreatureOrGO.spell); - TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_CASTEDCREATUREORGO: Player %u, target %u, spell %u", - (*itr)->GetGUIDLow(), e.action.callCastedCreatureOrGO.creature, e.action.callCastedCreatureOrGO.spell); - } - } - - delete targets; - break; - } case SMART_ACTION_REMOVEAURASFROMSPELL: { ObjectList* targets = GetTargets(e, unit); diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index d12e8ab179c..2e0fd222b6e 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -727,13 +727,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) return false; } break; - case SMART_ACTION_CALL_CASTEDCREATUREORGO: - if (!IsCreatureValid(e, e.action.callCastedCreatureOrGO.creature)) - return false; - - if (!IsSpellValid(e, e.action.callCastedCreatureOrGO.spell)) - return false; - break; case SMART_ACTION_REMOVEAURASFROMSPELL: if (e.action.removeAura.spell != 0 && !IsSpellValid(e, e.action.removeAura.spell)) return false; diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 4c0f5d1b25b..8337f9e15ee 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -417,7 +417,7 @@ enum SMART_ACTION SMART_ACTION_EVADE = 24, // No Params SMART_ACTION_FLEE_FOR_ASSIST = 25, // With Emote SMART_ACTION_CALL_GROUPEVENTHAPPENS = 26, // QuestID - SMART_ACTION_CALL_CASTEDCREATUREORGO = 27, // CreatureId, SpellId + // none = 27, SMART_ACTION_REMOVEAURASFROMSPELL = 28, // Spellid, 0 removes all auras SMART_ACTION_FOLLOW = 29, // Distance (0 = default), Angle (0 = default), EndCreatureEntry, credit, creditType (0monsterkill, 1event) SMART_ACTION_RANDOM_PHASE = 30, // PhaseId1, PhaseId2, PhaseId3... @@ -627,12 +627,6 @@ struct SmartAction uint32 dec; } incEventPhase; - struct - { - uint32 creature; - uint32 spell; - } callCastedCreatureOrGO; - struct { uint32 spell; diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index f903e0b2ee5..15e7eb436e1 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1257,7 +1257,7 @@ void GameObject::Use(Unit* user) if (Battleground* bg = player->GetBattleground()) bg->EventPlayerUsedGO(player, this); - player->CastedCreatureOrGO(info->entry, GetGUID(), 0); + player->KillCreditGO(info->entry, GetGUID()); } if (uint32 trapEntry = info->goober.linkedTrapId) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 2c0d22bee29..9b381175280 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -5709,15 +5709,10 @@ void Player::HandleBaseModValue(BaseModGroup modGroup, BaseModType modType, floa return; } - switch (modType) - { - case FLAT_MOD: - m_auraBaseMod[modGroup][modType] += apply ? amount : -amount; - break; - case PCT_MOD: - ApplyPercentModFloatVar(m_auraBaseMod[modGroup][modType], amount, apply); - break; - } + if (modType == FLAT_MOD) + m_auraBaseMod[modGroup][modType] += apply ? amount : -amount; + else // PCT_MOD + ApplyPercentModFloatVar(m_auraBaseMod[modGroup][modType], amount, apply); if (!CanModifyStats()) return; @@ -14935,7 +14930,7 @@ bool Player::CanCompleteQuest(uint32 quest_id) } } - if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) + if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL | QUEST_TRINITY_FLAGS_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) { for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; i++) { @@ -15090,7 +15085,7 @@ void Player::AddQuest(Quest const* quest, Object* questGiver) questStatusData.ItemCount[i] = 0; } - if (quest->HasFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) + if (quest->HasFlag(QUEST_TRINITY_FLAGS_KILL | QUEST_TRINITY_FLAGS_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) { for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i) questStatusData.CreatureOrGOCount[i] = 0; @@ -16259,7 +16254,7 @@ void Player::KilledMonsterCredit(uint32 entry, uint64 guid /*= 0*/) QuestStatusData& q_status = m_QuestStatus[questid]; if (q_status.Status == QUEST_STATUS_INCOMPLETE && (!GetGroup() || !GetGroup()->isRaidGroup() || qInfo->IsAllowedInRaid(GetMap()->GetDifficulty()))) { - if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST)) + if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL) /*&& !qInfo->HasFlag(QUEST_TRINITY_FLAGS_CAST)*/) { for (uint8 j = 0; j < QUEST_OBJECTIVES_COUNT; ++j) { @@ -16333,10 +16328,8 @@ void Player::KilledPlayerCredit() } } -void Player::CastedCreatureOrGO(uint32 entry, uint64 guid, uint32 spell_id) +void Player::KillCreditGO(uint32 entry, uint64 guid) { - bool isCreature = IS_CRE_OR_VEH_GUID(guid); - uint16 addCastCount = 1; for (uint8 i = 0; i < MAX_QUEST_LOG_SIZE; ++i) { @@ -16352,41 +16345,16 @@ void Player::CastedCreatureOrGO(uint32 entry, uint64 guid, uint32 spell_id) if (q_status.Status == QUEST_STATUS_INCOMPLETE) { - if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST)) + if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_CAST) /*&& !qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL)*/) { for (uint8 j = 0; j < QUEST_OBJECTIVES_COUNT; ++j) { uint32 reqTarget = 0; - if (isCreature) - { - // creature activate objectives - if (qInfo->RequiredNpcOrGo[j] > 0) - { - // checked at quest_template loading - reqTarget = qInfo->RequiredNpcOrGo[j]; - if (reqTarget != entry) // if entry doesn't match, check for killcredits referenced in template - { - CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry); - if (!cinfo) - { - TC_LOG_ERROR(LOG_FILTER_PLAYER, "Player::CastedCreatureOrGO: GetCreatureTemplate failed for entry %u. Skipping.", entry); - continue; - } - - for (uint8 k = 0; k < MAX_KILL_CREDIT; ++k) - if (cinfo->KillCredit[k] == reqTarget) - entry = cinfo->KillCredit[k]; - } - } - } - else - { - // GO activate objective - if (qInfo->RequiredNpcOrGo[j] < 0) - // checked at quest_template loading - reqTarget = - qInfo->RequiredNpcOrGo[j]; - } + // GO activate objective + if (qInfo->RequiredNpcOrGo[j] < 0) + // checked at quest_template loading + reqTarget = - qInfo->RequiredNpcOrGo[j]; // other not this creature/GO related objectives if (reqTarget != entry) @@ -16431,7 +16399,7 @@ void Player::TalkedToCreature(uint32 entry, uint64 guid) if (q_status.Status == QUEST_STATUS_INCOMPLETE) { - if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) + if (qInfo->HasFlag(QUEST_TRINITY_FLAGS_KILL | QUEST_TRINITY_FLAGS_CAST | QUEST_TRINITY_FLAGS_SPEAKTO)) { for (uint8 j = 0; j < QUEST_OBJECTIVES_COUNT; ++j) { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 9a17033de67..bac794422be 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1416,7 +1416,7 @@ class Player : public Unit, public GridObject void KilledMonster(CreatureTemplate const* cInfo, uint64 guid); void KilledMonsterCredit(uint32 entry, uint64 guid = 0); void KilledPlayerCredit(); - void CastedCreatureOrGO(uint32 entry, uint64 guid, uint32 spell_id); + void KillCreditGO(uint32 entry, uint64 guid = 0); void TalkedToCreature(uint32 entry, uint64 guid); void MoneyChanged(uint32 value); void ReputationChanged(FactionEntry const* factionEntry); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index a46720e6d03..804967c760a 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -4080,7 +4080,7 @@ void ObjectMgr::LoadQuests() { // In fact SpeakTo and Kill are quite same: either you can speak to mob:SpeakTo or you can't:Kill/Cast - qinfo->SetFlag(QUEST_TRINITY_FLAGS_KILL_OR_CAST | QUEST_TRINITY_FLAGS_SPEAKTO); + qinfo->SetFlag(QUEST_TRINITY_FLAGS_KILL | QUEST_TRINITY_FLAGS_CAST | QUEST_TRINITY_FLAGS_SPEAKTO); if (!qinfo->RequiredNpcOrGoCount[j]) { diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index c202374187f..b2796652a01 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -152,13 +152,14 @@ enum QuestFlags QUEST_TRINITY_FLAGS_AUTO_ACCEPT = 0x00400000, // Set by 4 in SpecialFlags in DB if the quest is to be auto-accepted. QUEST_TRINITY_FLAGS_DF_QUEST = 0x00800000, // Set by 8 in SpecialFlags in DB if the quest is used by Dungeon Finder. QUEST_TRINITY_FLAGS_MONTHLY = 0x01000000, // Set by 16 in SpecialFlags in DB if the quest is reset at the begining of the month - - QUEST_TRINITY_FLAGS_DB_ALLOWED = 0xFFFFF | QUEST_TRINITY_FLAGS_REPEATABLE | QUEST_TRINITY_FLAGS_EXPLORATION_OR_EVENT | QUEST_TRINITY_FLAGS_AUTO_ACCEPT | QUEST_TRINITY_FLAGS_DF_QUEST | QUEST_TRINITY_FLAGS_MONTHLY, + QUEST_TRINITY_FLAGS_CAST = 0x02000000, // Set by 32 in SpecialFlags in DB if the quest requires RequiredOrNpcGo killcredit but NOT kill (a spell cast) + + QUEST_TRINITY_FLAGS_DB_ALLOWED = 0xFFFFF | QUEST_TRINITY_FLAGS_REPEATABLE | QUEST_TRINITY_FLAGS_EXPLORATION_OR_EVENT | QUEST_TRINITY_FLAGS_AUTO_ACCEPT | QUEST_TRINITY_FLAGS_DF_QUEST | QUEST_TRINITY_FLAGS_MONTHLY | QUEST_TRINITY_FLAGS_CAST, // Trinity flags for internal use only QUEST_TRINITY_FLAGS_DELIVER = 0x04000000, // Internal flag computed only QUEST_TRINITY_FLAGS_SPEAKTO = 0x08000000, // Internal flag computed only - QUEST_TRINITY_FLAGS_KILL_OR_CAST = 0x10000000, // Internal flag computed only + QUEST_TRINITY_FLAGS_KILL = 0x10000000, // Internal flag computed only QUEST_TRINITY_FLAGS_TIMED = 0x20000000, // Internal flag computed only QUEST_TRINITY_FLAGS_PLAYER_KILL = 0x40000000 // Internal flag computed only }; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f1c60cb4e90..866cd888c3e 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2569,17 +2569,9 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target) { //AI functions if (spellHitTarget->GetTypeId() == TYPEID_UNIT) - { if (spellHitTarget->ToCreature()->IsAIEnabled) spellHitTarget->ToCreature()->AI()->SpellHit(m_caster, m_spellInfo); - // cast at creature (or GO) quest objectives update at successful cast finished (+channel finished) - // ignore pets or autorepeat/melee casts for speed (not exist quest for spells (hm...) - if (m_originalCaster && m_originalCaster->IsControlledByPlayer() && !spellHitTarget->ToCreature()->IsPet() && !IsAutoRepeat() && !IsNextMeleeSwingSpell() && !IsChannelActive()) - if (Player* p = m_originalCaster->GetCharmerOrOwnerPlayerOrPlayerItself()) - p->CastedCreatureOrGO(spellHitTarget->GetEntry(), spellHitTarget->GetGUID(), m_spellInfo->Id); - } - if (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->ToCreature()->IsAIEnabled) m_caster->ToCreature()->AI()->SpellHitTarget(spellHitTarget, m_spellInfo); @@ -2882,12 +2874,6 @@ void Spell::DoAllEffectOnTarget(GOTargetInfo* target) HandleEffects(NULL, NULL, go, effectNumber, SPELL_EFFECT_HANDLE_HIT_TARGET); CallScriptOnHitHandlers(); - - // cast at creature (or GO) quest objectives update at successful cast finished (+channel finished) - // ignore autorepeat/melee casts for speed (not exist quest for spells (hm...) - if (m_originalCaster && m_originalCaster->IsControlledByPlayer() && !IsAutoRepeat() && !IsNextMeleeSwingSpell() && !IsChannelActive()) - if (Player* p = m_originalCaster->GetCharmerOrOwnerPlayerOrPlayerItself()) - p->CastedCreatureOrGO(go->GetEntry(), go->GetGUID(), m_spellInfo->Id); CallScriptAfterHitHandlers(); } @@ -3641,40 +3627,6 @@ void Spell::update(uint32 difftime) if (m_timer == 0) { SendChannelUpdate(0); - - // channeled spell processed independently for quest targeting - // cast at creature (or GO) quest objectives update at successful cast channel finished - // ignore autorepeat/melee casts for speed (not exist quest for spells (hm...) - if (!IsAutoRepeat() && !IsNextMeleeSwingSpell()) - { - if (Player* p = m_caster->GetCharmerOrOwnerPlayerOrPlayerItself()) - { - for (std::list::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) - { - TargetInfo* target = &*ihit; - if (!IS_CRE_OR_VEH_GUID(target->targetGUID)) - continue; - - Unit* unit = m_caster->GetGUID() == target->targetGUID ? m_caster : ObjectAccessor::GetUnit(*m_caster, target->targetGUID); - if (unit == NULL) - continue; - - p->CastedCreatureOrGO(unit->GetEntry(), unit->GetGUID(), m_spellInfo->Id); - } - - for (std::list::iterator ihit = m_UniqueGOTargetInfo.begin(); ihit != m_UniqueGOTargetInfo.end(); ++ihit) - { - GOTargetInfo* target = &*ihit; - - GameObject* go = m_caster->GetMap()->GetGameObject(target->targetGUID); - if (!go) - continue; - - p->CastedCreatureOrGO(go->GetEntry(), go->GetGUID(), m_spellInfo->Id); - } - } - } - finish(); } break; diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index 0ffda4ba390..2ecb05db713 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -208,16 +208,12 @@ public: uint32 creaturecount = quest->RequiredNpcOrGoCount[i]; if (creature > 0) - { if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(creature)) for (uint16 z = 0; z < creaturecount; ++z) player->KilledMonster(cInfo, 0); - } else if (creature < 0) - { for (uint16 z = 0; z < creaturecount; ++z) - player->CastedCreatureOrGO(creature, 0, 0); - } + player->KillCreditGO(creature, 0); } // If the quest requires reputation to complete diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index ab74a76a440..8ee1de1c8d5 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -172,7 +172,7 @@ public: if (Creature* stillpine = go->FindNearestCreature(NPC_PRINCESS_STILLPINE, 25, true)) { stillpine->GetMotionMaster()->MovePoint(1, go->GetPositionX(), go->GetPositionY()-15, go->GetPositionZ()); - player->CastedCreatureOrGO(NPC_PRINCESS_STILLPINE, 0, SPELL_OPENING_PRINCESS_STILLPINE_CREDIT); + player->KilledMonsterCredit(NPC_PRINCESS_STILLPINE, stillpine->GetGUID()); } return true; } diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index cb88e5a5a9c..eac3dce43b0 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -1899,7 +1899,7 @@ class spell_unlocking_zuluheds_chains : public SpellScriptLoader { if (GetCaster()->GetTypeId() == TYPEID_PLAYER) if (Creature* karynaku = GetCaster()->FindNearestCreature(NPC_KARYNAKU, 15.0f)) - GetCaster()->ToPlayer()->CastedCreatureOrGO(NPC_KARYNAKU, karynaku->GetGUID(), GetSpellInfo()->Id); + GetCaster()->ToPlayer()->KilledMonsterCredit(NPC_KARYNAKU, karynaku->GetGUID()); } void Register() OVERRIDE -- cgit v1.2.3 From 87e105c81836b46e2a307031bf0083fcc7f75f8b Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Fri, 30 Aug 2013 20:56:41 +0200 Subject: Core: Fix warning --- src/server/game/Server/WorldSession.cpp | 2 +- src/server/scripts/Commands/cs_quest.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src/server/scripts/Commands') diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 5e329944a23..ffd8805901a 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1250,7 +1250,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p) const case BAN_IP: nameOrIp = Session->GetRemoteAddress(); break; } sWorld->BanAccount(bm, nameOrIp, duration, "DOS (Packet Flooding/Spoofing", "Server: AutoDOS"); - sLog->outInfo(LOG_FILTER_NETWORKIO, "AntiDOS: Player automatically banned for %u seconds.", duration); + TC_LOG_INFO(LOG_FILTER_NETWORKIO, "AntiDOS: Player automatically banned for %u seconds.", duration); return false; } diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index 2ecb05db713..20515eb0921 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -205,14 +205,16 @@ public: for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i) { int32 creature = quest->RequiredNpcOrGo[i]; - uint32 creaturecount = quest->RequiredNpcOrGoCount[i]; + uint32 creatureCount = quest->RequiredNpcOrGoCount[i]; if (creature > 0) - if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(creature)) - for (uint16 z = 0; z < creaturecount; ++z) - player->KilledMonster(cInfo, 0); + { + if (CreatureTemplate const* creatureInfo = sObjectMgr->GetCreatureTemplate(creature)) + for (uint16 z = 0; z < creatureCount; ++z) + player->KilledMonster(creatureInfo, 0); + } else if (creature < 0) - for (uint16 z = 0; z < creaturecount; ++z) + for (uint16 z = 0; z < creatureCount; ++z) player->KillCreditGO(creature, 0); } -- cgit v1.2.3