Add throttle to inviter so it doesn't have a stroke

This commit is contained in:
2025-01-01 16:01:47 +01:00
parent c9627779ba
commit 4dc3335a86
4 changed files with 28 additions and 18 deletions

View File

@@ -84,6 +84,7 @@ local function init()
---@field keyword string
---@field allAssist boolean
---@field agentsAssist boolean
---@field throttle number
---@class HeimdallDuelerConfig
---@field enabled boolean
@@ -180,6 +181,7 @@ local function init()
keyword = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "keyword" }, "+"),
allAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "allAssist" }, false),
agentsAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "agentsAssist" }, false),
throttle = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "throttle" }, 1),
},
dueler = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "enabled" }, false),

BIN
Heimdall.zip (Stored with Git LFS)

Binary file not shown.

View File

@@ -5,24 +5,29 @@ local addonname, shared = ...
---@diagnostic disable-next-line: missing-fields
shared.Inviter = {}
function shared.Inviter.Init()
---@type Timer
local updateTimer = nil
local function FixGroup()
if not IsInRaid() then ConvertToRaid() end
if Heimdall_Data.config.inviter.allAssist then SetEveryoneIsAssistant() end
shared.dumpTable(Heimdall_Data.config.inviter)
if Heimdall_Data.config.inviter.agentsAssist then
shared.dumpTable(Heimdall_Data.config.agents)
for name, _ in pairs(Heimdall_Data.config.agents) do
PromoteToAssistant(name, true)
end
end
end
local inviterGroupFrame = CreateFrame("Frame")
inviterGroupFrame:RegisterEvent("GROUP_ROSTER_UPDATE")
inviterGroupFrame:SetScript("OnEvent", function(self, event, ...)
if not Heimdall_Data.config.inviter.enabled then return end
if not UnitIsGroupLeader("player") then return end
if not IsInRaid() then
ConvertToRaid()
end
if Heimdall_Data.config.inviter.allAssist then
SetEveryoneIsAssistant()
end
if Heimdall_Data.config.inviter.agentsAssist then
for name, _ in pairs(Heimdall_Data.config.agents) do
PromoteToAssistant(name, true)
end
end
if updateTimer then updateTimer:Cancel() end
updateTimer = C_Timer.NewTimer(Heimdall_Data.config.inviter.throttle, FixGroup)
end)
local inviterChannelFrame = CreateFrame("Frame")
@@ -44,10 +49,7 @@ function shared.Inviter.Init()
end
if channelname ~= Heimdall_Data.config.inviter.listeningChannel then return end
if msg == Heimdall_Data.config.inviter.keyword then
InviteUnit(sender)
end
if msg == Heimdall_Data.config.inviter.keyword then InviteUnit(sender) end
end)
print("Heimdall - Inviter loaded")

View File

@@ -67,6 +67,9 @@ local config = {
enabled = aura_env.config.inviter.enabled,
listeningChannel = aura_env.config.inviter.listeningChannel,
keyword = aura_env.config.inviter.keyword,
allAssist = aura_env.config.inviter.allAssist,
agentsAssist = aura_env.config.inviter.agentsAssist,
throttle = aura_env.config.inviter.throttle,
},
dueler = {
enabled = aura_env.config.dueler.enabled,
@@ -110,6 +113,9 @@ Heimdall_Data.config.deathReporter.duelThrottle = config.deathReporter.duelThrot
Heimdall_Data.config.inviter.enabled = config.inviter.enabled
Heimdall_Data.config.inviter.listeningChannel = config.inviter.listeningChannel
Heimdall_Data.config.inviter.keyword = config.inviter.keyword
Heimdall_Data.config.inviter.allAssist = config.inviter.allAssist
Heimdall_Data.config.inviter.agentsAssist = config.inviter.agentsAssist
Heimdall_Data.config.inviter.throttle = config.inviter.throttle
Heimdall_Data.config.dueler.enabled = config.dueler.enabled
Heimdall_Data.config.dueler.declineOther = config.dueler.declineOther