Refactor Heimdall modules to use class-based structure for improved organization and clarity
This commit is contained in:
@@ -2,54 +2,57 @@ local _, shared = ...
|
||||
---@cast shared HeimdallShared
|
||||
local ModuleName = "Dueler"
|
||||
|
||||
---@diagnostic disable-next-line: missing-fields
|
||||
shared.Dueler = {}
|
||||
function shared.Dueler.Init()
|
||||
local frame = CreateFrame("Frame")
|
||||
frame:RegisterEvent("DUEL_REQUESTED")
|
||||
frame:SetScript("OnEvent", function(self, event, sender)
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Duel request received from: %s", ModuleName, sender))
|
||||
end
|
||||
if not Heimdall_Data.config.dueler.enabled then
|
||||
---@class Dueler
|
||||
shared.Dueler = {
|
||||
Init = function()
|
||||
local frame = CreateFrame("Frame")
|
||||
frame:RegisterEvent("DUEL_REQUESTED")
|
||||
frame:SetScript("OnEvent", function(self, event, sender)
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Module disabled, ignoring duel request", ModuleName))
|
||||
print(string.format("[%s] Duel request received from: %s", ModuleName, sender))
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Checking if sender '%s' is in agents list", ModuleName, sender))
|
||||
end
|
||||
|
||||
local allow = shared.AgentTracker.IsAgent(sender)
|
||||
if allow then
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Accepting duel from trusted agent: %s", ModuleName, sender))
|
||||
end
|
||||
AcceptDuel()
|
||||
else
|
||||
if Heimdall_Data.config.dueler.declineOther then
|
||||
if not Heimdall_Data.config.dueler.enabled then
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Auto-declining duel from untrusted sender: %s", ModuleName, sender))
|
||||
print(string.format("[%s] Module disabled, ignoring duel request", ModuleName))
|
||||
end
|
||||
CancelDuel()
|
||||
return
|
||||
end
|
||||
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Checking if sender '%s' is in agents list", ModuleName, sender))
|
||||
end
|
||||
|
||||
local allow = shared.AgentTracker.IsAgent(sender)
|
||||
if allow then
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Accepting duel from trusted agent: %s", ModuleName, sender))
|
||||
end
|
||||
AcceptDuel()
|
||||
else
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Leaving duel request from %s for manual response", ModuleName, sender))
|
||||
if Heimdall_Data.config.dueler.declineOther then
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(string.format("[%s] Auto-declining duel from untrusted sender: %s", ModuleName, sender))
|
||||
end
|
||||
CancelDuel()
|
||||
else
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(
|
||||
string.format("[%s] Leaving duel request from %s for manual response", ModuleName, sender)
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(
|
||||
string.format(
|
||||
"[%s] Module initialized with auto-decline: %s",
|
||||
ModuleName,
|
||||
tostring(Heimdall_Data.config.dueler.declineOther)
|
||||
if Heimdall_Data.config.dueler.debug then
|
||||
print(
|
||||
string.format(
|
||||
"[%s] Module initialized with auto-decline: %s",
|
||||
ModuleName,
|
||||
tostring(Heimdall_Data.config.dueler.declineOther)
|
||||
)
|
||||
)
|
||||
)
|
||||
end
|
||||
print("[Heimdall] Dueler loaded")
|
||||
end
|
||||
end
|
||||
print("[Heimdall] Dueler loaded")
|
||||
end,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user