diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-09-20 03:31:54 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-27 20:59:19 +0100 |
commit | 46d4e2fa8378eed414c07eb161a19b772c474735 (patch) | |
tree | d075a9e3b907399fd4216a2f03e020959c4301a6 /src/server | |
parent | 3fd2eb126cbed36292fa5defc024c2b93e8d8671 (diff) |
1eca51b follow-up, nuke `command`.`permission` from orbit; it was only duplicating data already stored in the core.
(cherry picked from commit 991dc8e050777b5e33ff22b008ab2125bae22437)
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/database/Database/Implementation/WorldDatabase.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Accounts/RBAC.h | 2 | ||||
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommand.cpp | 11 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_gm.cpp | 36 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_reload.cpp | 13 |
6 files changed, 18 insertions, 48 deletions
diff --git a/src/server/database/Database/Implementation/WorldDatabase.cpp b/src/server/database/Database/Implementation/WorldDatabase.cpp index bcf3df6c980..3c87a79111e 100644 --- a/src/server/database/Database/Implementation/WorldDatabase.cpp +++ b/src/server/database/Database/Implementation/WorldDatabase.cpp @@ -76,7 +76,7 @@ void WorldDatabaseConnection::DoPrepareStatements() PrepareStatement(WORLD_UPD_WAYPOINT_SCRIPT_O, "UPDATE waypoint_scripts SET o = ? WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_ID_BY_GUID, "SELECT id FROM waypoint_scripts WHERE guid = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_DEL_CREATURE, "DELETE FROM creature WHERE guid = ?", CONNECTION_ASYNC); - PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, permission, help FROM command", CONNECTION_SYNCH); + PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, help FROM command", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT entry, difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, name, femaleName, subname, TitleAlt, IconName, gossip_menu_id, minlevel, maxlevel, HealthScalingExpansion, RequiredExpansion, VignetteID, faction, npcflag, speed_walk, speed_run, scale, `rank`, dmgschool, BaseAttackTime, RangeAttackTime, BaseVariance, RangeVariance, unit_class, unit_flags, unit_flags2, unit_flags3, dynamicflags, family, trainer_class, type, type_flags, type_flags2, lootid, pickpocketloot, skinloot, VehicleId, mingold, maxgold, AIName, MovementType, ctm.Ground, ctm.Swim, ctm.Flight, ctm.Rooted, ctm.Chase, ctm.Random, HoverHeight, HealthModifier, HealthModifierExtra, ManaModifier, ManaModifierExtra, ArmorModifier, DamageModifier, ExperienceModifier, RacialLeader, movementId, CreatureDifficultyID, WidgetSetID, WidgetSetUnitConditionID, RegenHealth, mechanic_immune_mask, spell_school_immune_mask, flags_extra, ScriptName FROM creature_template ct LEFT JOIN creature_template_movement ctm ON ct.entry = ctm.CreatureId WHERE entry = ? OR 1 = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, "SELECT guid, delay, command, datalong, datalong2, dataint, x, y, z, o FROM waypoint_scripts WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_CREATURE_BY_ID, "SELECT guid FROM creature WHERE id = ?", CONNECTION_SYNCH); diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 408da2515dc..22250b95c50 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -497,7 +497,7 @@ enum RBACPermissions RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT = 625, RBAC_PERM_COMMAND_RELOAD_AUCTIONS = 626, RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST = 627, - RBAC_PERM_COMMAND_RELOAD_COMMAND = 628, + // 628 previously used, do not reuse RBAC_PERM_COMMAND_RELOAD_CONDITIONS = 629, RBAC_PERM_COMMAND_RELOAD_CONFIG = 630, RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE = 631, diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.cpp b/src/server/game/Chat/ChatCommands/ChatCommand.cpp index 865979999d7..e0f997b71ee 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.cpp +++ b/src/server/game/Chat/ChatCommands/ChatCommand.cpp @@ -80,8 +80,7 @@ static ChatSubCommandMap COMMAND_MAP; { Field* fields = result->Fetch(); std::string_view const name = fields[0].GetStringView(); - uint16 const permission = fields[1].GetUInt16(); - std::string_view const help = fields[2].GetStringView(); + std::string_view const help = fields[1].GetStringView(); ChatCommandNode* cmd = nullptr; ChatSubCommandMap* map = &COMMAND_MAP; @@ -104,14 +103,6 @@ static ChatSubCommandMap COMMAND_MAP; if (!cmd) continue; - if (cmd->_invoker && (cmd->_permission.RequiredPermission != permission)) - { - TC_LOG_WARN("sql.sql", "Table `command` has permission %u for '" STRING_VIEW_FMT "' which does not match the core (%u). Overriding.", - permission, STRING_VIEW_FMT_ARG(name), cmd->_permission.RequiredPermission); - - cmd->_permission.RequiredPermission = static_cast<rbac::RBACPermissions>(permission); - } - cmd->_help.assign(help); } while (result->NextRow()); } diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index 17b7889b64a..54078045b85 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -50,7 +50,8 @@ public: { "ingame", HandleGMListIngameCommand, rbac::RBAC_PERM_COMMAND_GM_INGAME, Console::Yes }, { "list", HandleGMListFullCommand, rbac::RBAC_PERM_COMMAND_GM_LIST, Console::Yes }, { "visible", HandleGMVisibleCommand, rbac::RBAC_PERM_COMMAND_GM_VISIBLE, Console::No }, - { "", HandleGMCommand, rbac::RBAC_PERM_COMMAND_GM, Console::No }, + { "on", HandleGMOnCommand, rbac::RBAC_PERM_COMMAND_GM, Console::No }, + { "off", HandleGMOffCommand, rbac::RBAC_PERM_COMMAND_GM, Console::No }, }; static ChatCommandTable commandTable = { @@ -222,30 +223,19 @@ public: return true; } - //Enable\Disable GM Mode - static bool HandleGMCommand(ChatHandler* handler, Optional<bool> enableArg) + static bool HandleGMOnCommand(ChatHandler* handler) { - Player* _player = handler->GetSession()->GetPlayer(); - - if (!enableArg) - { - handler->GetSession()->SendNotification(_player->IsGameMaster() ? LANG_GM_ON : LANG_GM_OFF); - return true; - } - - if (*enableArg) - { - _player->SetGameMaster(true); - handler->GetSession()->SendNotification(LANG_GM_ON); - _player->UpdateTriggerVisibility(); - } - else - { - _player->SetGameMaster(false); - handler->GetSession()->SendNotification(LANG_GM_OFF); - _player->UpdateTriggerVisibility(); - } + handler->GetPlayer()->SetGameMaster(true); + handler->GetPlayer()->UpdateTriggerVisibility(); + handler->GetSession()->SendNotification(LANG_GM_ON); + return true; + } + static bool HandleGMOffCommand(ChatHandler* handler) + { + handler->GetPlayer()->SetGameMaster(false); + handler->GetPlayer()->UpdateTriggerVisibility(); + handler->GetSession()->SendNotification(LANG_GM_OFF); return true; } }; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 7985a1ad5bb..c89360972f2 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -701,6 +701,8 @@ public: static bool HandleHelpCommand(ChatHandler* handler, Tail cmd) { Trinity::ChatCommands::SendCommandHelpFor(*handler, cmd); + if (cmd.empty()) + Trinity::ChatCommands::SendCommandHelpFor(*handler, "help"); return true; } diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 9efb9155dce..eac2eb77640 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -89,7 +89,6 @@ public: { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "" }, { "battleground_template", rbac::RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE, true, &HandleReloadBattlegroundTemplate, "" }, { "character_template", rbac::RBAC_PERM_COMMAND_RELOAD_CHARACTER_TEMPLATE, true, &HandleReloadCharacterTemplate, "" }, - { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "" }, { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "" }, { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "" }, { "conversation_template", rbac::RBAC_PERM_COMMAND_RELOAD_CONVERSATION_TEMPLATE, true, &HandleReloadConversationTemplateCommand, "" }, @@ -204,7 +203,6 @@ public: HandleReloadAccessRequirementCommand(handler, ""); HandleReloadMailLevelRewardCommand(handler, ""); - HandleReloadCommandCommand(handler, ""); HandleReloadReservedNameCommand(handler, ""); HandleReloadTrinityStringCommand(handler, ""); HandleReloadGameTeleCommand(handler, ""); @@ -410,17 +408,6 @@ public: return true; } - static bool HandleReloadCommandCommand(ChatHandler* handler, char const* /*args*/) - { - TC_LOG_INFO("misc", "Reloading .command information..."); - Trinity::ChatCommands::LoadCommandMap(); - handler->SendGlobalGMSysMessage("DB table `command` reloaded."); - - // do not log this invocation, otherwise we might crash (the command table we used to get here is no longer valid!) - handler->SetSentErrorMessage(true); - return false; - } - static bool HandleReloadOnKillReputationCommand(ChatHandler* handler, char const* /*args*/) { TC_LOG_INFO("misc", "Re-Loading creature award reputation definitions..."); |