diff --git a/Messenger.lua b/Messenger.lua index 5a34dba..3afde0a 100644 --- a/Messenger.lua +++ b/Messenger.lua @@ -4,10 +4,10 @@ local addonname, shared = ... shared.Messenger = {} function shared.Messenger.Init() --- if not Heimdall_Data.config.messenger.enabled then --- print("Heimdall - Messenger disabled") --- return --- end + -- if not Heimdall_Data.config.messenger.enabled then + -- print("Heimdall - Messenger disabled") + -- return + -- end ---@class Message ---@field message string diff --git a/Spotter.lua b/Spotter.lua index d7afd9f..2e47a5a 100644 --- a/Spotter.lua +++ b/Spotter.lua @@ -1,13 +1,13 @@ -local addonname, data = ... ----@cast data HeimdallData +local addonname, shared = ... +---@cast shared HeimdallShared ---@cast addonname string -data.Spotter = {} -function data.Spotter.Init() - if not data.config.spotter.enabled then - print("Heimdall - Spotter disabled") - return - end +shared.Spotter = {} +function shared.Spotter.Init() +-- if not Heimdall_Data.config.spotter.enabled then +-- print("Heimdall - Spotter disabled") +-- return +-- end local function FormatHP(hp) if hp > 1e9 then @@ -31,16 +31,16 @@ function data.Spotter.Init() ---@return boolean ---@return string? error local function ShouldNotify(unit, name, faction, hostile) - if data.config.spotter.stinky then - if data.config.stinkies[name] then return true end + if Heimdall_Data.config.spotter.stinky then + if Heimdall_Data.config.stinkies[name] then return true end end - if data.config.spotter.alliance then + if Heimdall_Data.config.spotter.alliance then if faction == "Alliance" then return true end end - if data.config.spotter.hostile then + if Heimdall_Data.config.spotter.hostile then if hostile then return true end end - return data.config.spotter.everyone + return Heimdall_Data.config.spotter.everyone end ---@param unit string @@ -53,17 +53,17 @@ function data.Spotter.Init() if not name then return string.format("Could not find name for unit %s", tostring(unit)) end local time = GetTime() - if throttleTable[name] and time - throttleTable[name] < data.config.spotter.throttleTime then + if throttleTable[name] and time - throttleTable[name] < Heimdall_Data.config.spotter.throttleTime then return string.format("Throttled %s", tostring(name)) end throttleTable[name] = time local race = UnitRace(unit) if not race then return string.format("Could not find race for unit %s", tostring(unit)) end - local faction = data.raceMap[race] + local faction = shared.raceMap[race] if not faction then return string.format("Could not find faction for race %s", tostring(race)) end - local hostile = UnitCanAttack("player", unit) + local hostile = UnitCanAttack("player", unit) == 1 local doNotify = ShouldNotify(unit, name, faction, hostile) if not doNotify then return string.format("Not notifying for %s", tostring(name)) end @@ -73,7 +73,7 @@ function data.Spotter.Init() local maxHp = UnitHealthMax(unit) if not maxHp then return string.format("Could not find maxHp for unit %s", tostring(unit)) end - local location = data.config.spotter.zoneOverride + local location = Heimdall_Data.config.spotter.zoneOverride if not location then local zone = GetZoneText() if not zone then return string.format("Could not find zone for unit %s", tostring(unit)) end @@ -82,7 +82,7 @@ function data.Spotter.Init() location = string.format("%s (%s)", zone, subzone) end - local stinky = data.config.stinkies[name] or false + local stinky = Heimdall_Data.config.stinkies[name] or false local text = string.format("I see (%s) %s %s of race %s (%s) with health %s/%s at %s", hostile and "Hostile" or "Friendly", stinky and string.format("(%s)", "!!!!") or "", @@ -96,17 +96,18 @@ function data.Spotter.Init() ---@type Message local msg = { channel = "CHANNEL", - data = data.config.spotter.notifyChannel, + data = Heimdall_Data.config.spotter.notifyChannel, message = text } - data.dumpTable(msg) - table.insert(data.messenger.queue, msg) + --shared.dumpTable(msg) + table.insert(shared.messenger.queue, msg) end local frame = CreateFrame("Frame") frame:RegisterEvent("NAME_PLATE_UNIT_ADDED") frame:RegisterEvent("TARGET_UNIT_CHANGED") frame:SetScript("OnEvent", function(self, event, unit) + if not Heimdall_Data.config.spotter.enabled then return end local err = NotifySpotted(unit) if err then print(string.format("Error notifying %s: %s", tostring(unit), tostring(err)))