Fix stinky detector spam
This commit is contained in:
@@ -22,7 +22,7 @@ function(allstates, e, prefix, msg, ...)
|
|||||||
allstates[stinky].changed = true
|
allstates[stinky].changed = true
|
||||||
aura_env.detectedStinkies[stinky] = nil
|
aura_env.detectedStinkies[stinky] = nil
|
||||||
else
|
else
|
||||||
allstates[stinky].progress = string.format("%20s", elapsed)
|
allstates[stinky].progress = string.format("%20ss", string.format("%.1f", elapsed))
|
||||||
allstates[stinky].changed = true
|
allstates[stinky].changed = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -35,7 +35,7 @@ function(allstates, e, prefix, msg, ...)
|
|||||||
expirationTime = GetTime() + ttl,
|
expirationTime = GetTime() + ttl,
|
||||||
autohide = true,
|
autohide = true,
|
||||||
index = GetTime(),
|
index = GetTime(),
|
||||||
progress = string.format("%20s", elapsed)
|
progress = string.format("%20ss", string.format("%.1f", elapsed))
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---@class aura_env
|
---@class aura_env
|
||||||
---@field config table<string, any>
|
---@field config table<string, any>
|
||||||
---@field stinkies table<string, boolean>
|
---@field stinkies table<string, boolean>
|
||||||
---@field detectedStinkies table<string, {seen: number, soundPlayed: number?}>
|
---@field detectedStinkies table<string, {seen: number, muteUntil: number?}>
|
||||||
---@field StinkyDetected fun(name: string)
|
---@field StinkyDetected fun(name: string)
|
||||||
aura_env.stinkies = {}
|
aura_env.stinkies = {}
|
||||||
aura_env.detectedStinkies = {}
|
aura_env.detectedStinkies = {}
|
||||||
@@ -25,12 +25,16 @@ for _, name in ipairs(stinkies) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
aura_env.StinkyDetected = function(name)
|
aura_env.StinkyDetected = function(name)
|
||||||
print("StinkyDetected", name)
|
local now = GetTime()
|
||||||
DevTools_Dump(aura_env.detectedStinkies)
|
local existing = aura_env.detectedStinkies[name]
|
||||||
aura_env.detectedStinkies[name] = { seen = GetTime() }
|
if not existing then
|
||||||
if not aura_env.detectedStinkies[name].soundPlayed or
|
aura_env.detectedStinkies[name] = { seen = now, muteUntil = 0 }
|
||||||
aura_env.detectedStinkies[name].soundPlayed < GetTime() - aura_env.config.soundThrottle then
|
else
|
||||||
PlaySoundFile("Interface\\Sounds\\Domination.ogg", "Master")
|
existing.seen = now
|
||||||
aura_env.detectedStinkies[name].soundPlayed = GetTime()
|
|
||||||
end
|
end
|
||||||
|
if existing.muteUntil < now then
|
||||||
|
print(existing.muteUntil, now)
|
||||||
|
PlaySoundFile("Interface\\Sounds\\Domination.ogg", "Master")
|
||||||
|
end
|
||||||
|
aura_env.detectedStinkies[name].muteUntil = now + aura_env.config.alertThrottle
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user