Add framework for stinky detector
This commit is contained in:
72
FreshShit/StinkyDetector/event.lua
Normal file
72
FreshShit/StinkyDetector/event.lua
Normal file
@@ -0,0 +1,72 @@
|
||||
-- COMBAT_LOG_EVENT_UNFILTERED TICKER_1000
|
||||
---@param allstates allstates
|
||||
---@param e string
|
||||
function(allstates, e, ...)
|
||||
if e == "TICKER_1000" then
|
||||
local ttl = 120
|
||||
for _, state in pairs(allstates) do
|
||||
if state.progress then
|
||||
local elapsedTime = GetTime() - state.index
|
||||
if elapsedTime > ttl then
|
||||
state.show = false
|
||||
state.changed = true
|
||||
else
|
||||
local prettyTime = ""
|
||||
|
||||
local minutes = 0
|
||||
while elapsedTime > 60 do
|
||||
elapsedTime = elapsedTime - 60
|
||||
minutes = minutes + 1
|
||||
end
|
||||
if minutes > 0 then
|
||||
prettyTime = string.format("%s%dm", prettyTime, minutes)
|
||||
end
|
||||
if elapsedTime > 0 then
|
||||
prettyTime = string.format("%s %ds", prettyTime, elapsedTime)
|
||||
end
|
||||
|
||||
state.progress = string.format("%20s", prettyTime)
|
||||
state.changed = true
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
local detected = false
|
||||
local stinky = ""
|
||||
|
||||
local source, err = CLEUParser.GetSourceName(...)
|
||||
if not err then
|
||||
if aura_env.stinkies[source] then
|
||||
stinky = source
|
||||
detected = true
|
||||
end
|
||||
end
|
||||
if not detected then
|
||||
local destination, err = CLEUParser.GetDestName(...)
|
||||
if not err then
|
||||
if aura_env.stinkies[destination] then
|
||||
stinky = destination
|
||||
detected = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if detected then
|
||||
aura_env.StinkyDetected(stinky)
|
||||
allstates[stinky] = {
|
||||
show = true,
|
||||
changed = true,
|
||||
name = string.format("%30s", stinky),
|
||||
progressType = "timed",
|
||||
duration = 60,
|
||||
expirationTime = GetTime() + 60,
|
||||
autohide = true,
|
||||
index = GetTime(),
|
||||
progress = string.format("%20s", "0s"),
|
||||
}
|
||||
end
|
||||
return true
|
||||
end
|
12
FreshShit/StinkyDetector/init.lua
Normal file
12
FreshShit/StinkyDetector/init.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
||||
if not WeakAurasSaved.Cyka.Stinkies then WeakAurasSaved.Cyka.Stinkies = {} end
|
||||
|
||||
aura_env.stinkies = WeakAurasSaved.Cyka.Stinkies
|
||||
aura_env.stinkies[UnitName("player")] = true
|
||||
aura_env.localStinkies = {}
|
||||
|
||||
---@param name string
|
||||
aura_env.StinkyDetected = function(name)
|
||||
aura_env.localStinkies[name] = GetTime()
|
||||
DevTools_Dump(aura_env.localStinkies)
|
||||
end
|
Reference in New Issue
Block a user