summaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptDefines
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Scripting/ScriptDefines')
-rw-r--r--src/server/game/Scripting/ScriptDefines/AllCommandScript.cpp6
-rw-r--r--src/server/game/Scripting/ScriptDefines/AllCommandScript.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptDefines/AllCommandScript.cpp b/src/server/game/Scripting/ScriptDefines/AllCommandScript.cpp
index 59b1395f5a..cf01d40919 100644
--- a/src/server/game/Scripting/ScriptDefines/AllCommandScript.cpp
+++ b/src/server/game/Scripting/ScriptDefines/AllCommandScript.cpp
@@ -16,6 +16,7 @@
*/
#include "AllCommandScript.h"
+#include "ChatCommand.h"
#include "ScriptMgr.h"
#include "ScriptMgrMacros.h"
@@ -29,6 +30,11 @@ bool ScriptMgr::OnTryExecuteCommand(ChatHandler& handler, std::string_view cmdSt
CALL_ENABLED_BOOLEAN_HOOKS(AllCommandScript, ALLCOMMANDHOOK_ON_TRY_EXECUTE_COMMAND, !script->OnTryExecuteCommand(handler, cmdStr));
}
+bool ScriptMgr::OnBeforeIsInvokerVisible(std::string name, Acore::Impl::ChatCommands::CommandPermissions permissions, ChatHandler const& who)
+{
+ CALL_ENABLED_BOOLEAN_HOOKS(AllCommandScript, ALLCOMMANDHOOK_ON_BEFORE_IS_INVOKER_VISIBLE, !script->OnBeforeIsInvokerVisible(name, permissions, who));
+}
+
AllCommandScript::AllCommandScript(const char* name, std::vector<uint16> enabledHooks)
: ScriptObject(name, ALLCOMMANDHOOK_END)
{
diff --git a/src/server/game/Scripting/ScriptDefines/AllCommandScript.h b/src/server/game/Scripting/ScriptDefines/AllCommandScript.h
index 7500281153..e56615b152 100644
--- a/src/server/game/Scripting/ScriptDefines/AllCommandScript.h
+++ b/src/server/game/Scripting/ScriptDefines/AllCommandScript.h
@@ -19,12 +19,14 @@
#define SCRIPT_OBJECT_ALL_COMMAND_SCRIPT_H_
#include "ScriptObject.h"
+#include "ChatCommand.h"
#include <vector>
enum AllCommandHook
{
ALLCOMMANDHOOK_ON_HANDLE_DEV_COMMAND,
ALLCOMMANDHOOK_ON_TRY_EXECUTE_COMMAND,
+ ALLCOMMANDHOOK_ON_BEFORE_IS_INVOKER_VISIBLE,
ALLCOMMANDHOOK_END
};
@@ -45,6 +47,8 @@ public:
* @param cmdStr Contains information about the command name
*/
[[nodiscard]] virtual bool OnTryExecuteCommand(ChatHandler& /*handler*/, std::string_view /*cmdStr*/) { return true; }
+
+ [[nodiscard]] virtual bool OnBeforeIsInvokerVisible(std::string /*name*/, Acore::Impl::ChatCommands::CommandPermissions /*permissions*/, ChatHandler const& /*who*/) { return true; }
};
// Compatibility for old scripts