aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-09-20 03:31:54 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-27 20:59:19 +0100
commit46d4e2fa8378eed414c07eb161a19b772c474735 (patch)
treed075a9e3b907399fd4216a2f03e020959c4301a6 /src/server
parent3fd2eb126cbed36292fa5defc024c2b93e8d8671 (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.cpp2
-rw-r--r--src/server/game/Accounts/RBAC.h2
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommand.cpp11
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp36
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp2
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp13
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...");