Add throttle to inviter so it doesn't have a stroke
This commit is contained in:
@@ -84,6 +84,7 @@ local function init()
|
|||||||
---@field keyword string
|
---@field keyword string
|
||||||
---@field allAssist boolean
|
---@field allAssist boolean
|
||||||
---@field agentsAssist boolean
|
---@field agentsAssist boolean
|
||||||
|
---@field throttle number
|
||||||
|
|
||||||
---@class HeimdallDuelerConfig
|
---@class HeimdallDuelerConfig
|
||||||
---@field enabled boolean
|
---@field enabled boolean
|
||||||
@@ -180,6 +181,7 @@ local function init()
|
|||||||
keyword = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "keyword" }, "+"),
|
keyword = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "keyword" }, "+"),
|
||||||
allAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "allAssist" }, false),
|
allAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "allAssist" }, false),
|
||||||
agentsAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "agentsAssist" }, false),
|
agentsAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "agentsAssist" }, false),
|
||||||
|
throttle = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "throttle" }, 1),
|
||||||
},
|
},
|
||||||
dueler = {
|
dueler = {
|
||||||
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "enabled" }, false),
|
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "enabled" }, false),
|
||||||
|
|||||||
BIN
Heimdall.zip
(Stored with Git LFS)
BIN
Heimdall.zip
(Stored with Git LFS)
Binary file not shown.
@@ -5,24 +5,29 @@ local addonname, shared = ...
|
|||||||
---@diagnostic disable-next-line: missing-fields
|
---@diagnostic disable-next-line: missing-fields
|
||||||
shared.Inviter = {}
|
shared.Inviter = {}
|
||||||
function shared.Inviter.Init()
|
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")
|
local inviterGroupFrame = CreateFrame("Frame")
|
||||||
inviterGroupFrame:RegisterEvent("GROUP_ROSTER_UPDATE")
|
inviterGroupFrame:RegisterEvent("GROUP_ROSTER_UPDATE")
|
||||||
inviterGroupFrame:SetScript("OnEvent", function(self, event, ...)
|
inviterGroupFrame:SetScript("OnEvent", function(self, event, ...)
|
||||||
if not Heimdall_Data.config.inviter.enabled then return end
|
if not Heimdall_Data.config.inviter.enabled then return end
|
||||||
if not UnitIsGroupLeader("player") then return end
|
if not UnitIsGroupLeader("player") then return end
|
||||||
|
|
||||||
if not IsInRaid() then
|
if updateTimer then updateTimer:Cancel() end
|
||||||
ConvertToRaid()
|
updateTimer = C_Timer.NewTimer(Heimdall_Data.config.inviter.throttle, FixGroup)
|
||||||
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
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local inviterChannelFrame = CreateFrame("Frame")
|
local inviterChannelFrame = CreateFrame("Frame")
|
||||||
@@ -44,10 +49,7 @@ function shared.Inviter.Init()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if channelname ~= Heimdall_Data.config.inviter.listeningChannel then return 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)
|
end)
|
||||||
|
|
||||||
print("Heimdall - Inviter loaded")
|
print("Heimdall - Inviter loaded")
|
||||||
|
|||||||
@@ -67,6 +67,9 @@ local config = {
|
|||||||
enabled = aura_env.config.inviter.enabled,
|
enabled = aura_env.config.inviter.enabled,
|
||||||
listeningChannel = aura_env.config.inviter.listeningChannel,
|
listeningChannel = aura_env.config.inviter.listeningChannel,
|
||||||
keyword = aura_env.config.inviter.keyword,
|
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 = {
|
dueler = {
|
||||||
enabled = aura_env.config.dueler.enabled,
|
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.enabled = config.inviter.enabled
|
||||||
Heimdall_Data.config.inviter.listeningChannel = config.inviter.listeningChannel
|
Heimdall_Data.config.inviter.listeningChannel = config.inviter.listeningChannel
|
||||||
Heimdall_Data.config.inviter.keyword = config.inviter.keyword
|
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.enabled = config.dueler.enabled
|
||||||
Heimdall_Data.config.dueler.declineOther = config.dueler.declineOther
|
Heimdall_Data.config.dueler.declineOther = config.dueler.declineOther
|
||||||
|
|||||||
Reference in New Issue
Block a user