local addonname, shared = ... ---@cast shared HeimdallShared ---@cast addonname string 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: OnEvent", ModuleName)) shared.dumpTable(Heimdall_Data.config.dueler) end if not Heimdall_Data.config.dueler.enabled then return end if Heimdall_Data.config.dueler.debug then print(string.format("%s: sender = %s", ModuleName, sender)) shared.dumpTable(Heimdall_Data.config.agents) end local allow = Heimdall_Data.config.agents[sender] if allow then if Heimdall_Data.config.dueler.debug then print(string.format("%s: Accepting duel from %s", ModuleName, sender)) end AcceptDuel() else if Heimdall_Data.config.dueler.autoDecline then if Heimdall_Data.config.dueler.debug then print(string.format("%s: Auto declining duel from %s", ModuleName, sender)) end CancelDuel() end end end) print("Heimdall - Dueler loaded") end