Add macro command

This commit is contained in:
2025-01-13 10:16:51 +01:00
parent 18fd4bb9d2
commit 22b1b6bc73
3 changed files with 39 additions and 3 deletions

View File

@@ -202,6 +202,41 @@ function shared.Commander.Init()
return {}
end
---@param args string[]
local function MacroTarget(args)
if Heimdall_Data.config.commander.debug then
print(string.format("[%s] Macroing: %s", ModuleName,
strjoin(" ", unpack(args))))
end
if #args < 2 or #args % 2 ~= 0 then
if #args < 2 or #args % 2 ~= 0 then
if Heimdall_Data.config.commander.debug then
print(string.format(
"[%s] Invalid number of arguments for MacroTarget", ModuleName))
end
return {}
end
end
table.remove(args, 1)
for i = 1, #args do
local stinky = strtrim(args[i])
local name = stinky:match("([^/]+)")
local class = stinky:match("/([^ $]+)")
if Heimdall_Data.config.commander.debug then
print(string.format("[%s] Adding stinky: %s/%s", ModuleName, name, tostring(class)))
end
shared.stinkyTracker.stinkies[name] = {
name = name,
class = class or "unknown",
seenAt = GetTime(),
hostile = true
}
shared.dumpTable(shared.stinkyTracker.stinkies)
end
return {}
end
---@class Command
---@field keywordRe string
---@field commanderOnly boolean
@@ -216,6 +251,7 @@ function shared.Commander.Init()
{ keywordRe = "^joingroup$", commanderOnly = false, callback = JoinGroup },
{ keywordRe = "^leavegroup$", commanderOnly = false, callback = LeaveGroup },
{ keywordRe = "^follow$", commanderOnly = false, callback = FollowTarget },
{ keywordRe = "^macro", commanderOnly = false, callback = MacroTarget },
}
local commanderChannelFrame = CreateFrame("Frame")