Implement saving data for who stinky detected

This commit is contained in:
2024-10-18 16:02:51 +02:00
parent c29ff7af93
commit ca1f3ac546
3 changed files with 37 additions and 1 deletions

View File

@@ -8,6 +8,15 @@ function()
local player = aura_env.alliance[name] local player = aura_env.alliance[name]
if not player then if not player then
player = Player.new(name, guild, race, class, zone) player = Player.new(name, guild, race, class, zone)
local timestamp = date("%Y-%m-%dT%H:%M:%S")
if not WeakAurasSaved.Cyka.WhoSniffer[name] then WeakAurasSaved.Cyka.WhoSniffer[name] = {} end
WeakAurasSaved.Cyka.WhoSniffer[name][timestamp] = {
["name"] = name,
["guild"] = guild,
["race"] = race,
["class"] = class,
["zone"] = zone,
}
PlaySoundFile("Interface\\Sounds\\Cloak.ogg", "Master") PlaySoundFile("Interface\\Sounds\\Cloak.ogg", "Master")
end end
player:Touch() player:Touch()
@@ -15,5 +24,9 @@ function()
aura_env.alliance[name] = player aura_env.alliance[name] = player
end end
end end
-- Turns out WA cannot do this (
-- aura_env.UpdateMacro()
_G["FriendsFrameCloseButton"]:Click() _G["FriendsFrameCloseButton"]:Click()
end end
--/run WeakAurasSaved.Cyka.WhoSniffer = {}

View File

@@ -7,6 +7,17 @@ function(allstates)
if ago > aura_env.ttl then if ago > aura_env.ttl then
allstates[k] = { show = false, changed = true } allstates[k] = { show = false, changed = true }
aura_env.alliance[k] = nil aura_env.alliance[k] = nil
PlaySoundFile("Interface\\Sounds\\Uncloak.ogg", "Master")
local timestamp = date("%Y-%m-%dT%H:%M:%S")
WeakAurasSaved.Cyka.WhoSniffer[v.name][timestamp] = {
["name"] = v.name,
["guild"] = v.guild,
["race"] = v.race,
["class"] = v.class,
["zone"] = v.zone,
["left"] = true,
}
else else
if allstates[k] then if allstates[k] then
allstates[k].ago = string.format("%6.1fs", ago) allstates[k].ago = string.format("%6.1fs", ago)

View File

@@ -1,9 +1,13 @@
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
if not WeakAurasSaved.Cyka.WhoSniffer then WeakAurasSaved.Cyka.WhoSniffer = {} end
---@class aura_env ---@class aura_env
---@field raceMap table<string, string> ---@field raceMap table<string, string>
---@field alliance table<string, Player> ---@field alliance table<string, Player>
---@field classColors table<string, string> ---@field classColors table<string, string>
---@field whoQuery string ---@field whoQuery string
---@field ttl number ---@field ttl number
---@field UpdateMacro fun()
---@param input string ---@param input string
---@return number ---@return number
@@ -122,4 +126,12 @@ aura_env.classColors = {
["Monk"] = "00FF98", ["Monk"] = "00FF98",
["Druid"] = "FF7C0A", ["Druid"] = "FF7C0A",
["Demon Hunter"] = "A330C9", ["Demon Hunter"] = "A330C9",
} }
aura_env.UpdateMacro = function()
local body = {}
for k, v in pairs(aura_env.alliance) do
table.insert(body, string.format("/tar %s", v.name))
end
EditMacro("tar", nil, nil, string.join("\n", body))
end