From e2113dd722db571c897c49b3a9a839181d18c840 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Fri, 8 Nov 2024 00:38:33 +0100 Subject: [PATCH] Implement ore camper for mobs --- FreshShit/OreCamper/event2.lua | 40 ++++++++++++++++++++++++++++++++++ FreshShit/OreCamper/init.lua | 5 ++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 FreshShit/OreCamper/event2.lua diff --git a/FreshShit/OreCamper/event2.lua b/FreshShit/OreCamper/event2.lua new file mode 100644 index 0000000..5e07777 --- /dev/null +++ b/FreshShit/OreCamper/event2.lua @@ -0,0 +1,40 @@ +---COMBAT_LOG_EVENT_UNFILTERED +function(allstates, e, ...) + local source, err = CLEUParser.GetSourceName(...) + if err then return end + if source ~= UnitName("player") then return end + local targetGUID, err = CLEUParser.GetDestGUID(...) + if err then return end + local targetName, err = CLEUParser.GetDestName(...) + if err then return end + --if target ~= "Valkor" then return end + local overkill, err = CLEUParser.GetOverkill(...) + if err then return end + if overkill <= 0 then return end + + local currentTime = GetTime() + if aura_env.lastEvent > 0 and currentTime - aura_env.lastEvent < aura_env.throttle then return end + aura_env.lastEvent = currentTime + + print("Current time: " .. currentTime) + local lastEventTime = aura_env.lastEventTimes[targetGUID] or currentTime + print("Last event time: " .. lastEventTime) + local timeSinceLastEvent = currentTime - lastEventTime + print("Time since last event: " .. timeSinceLastEvent) + + local dynamicCooldown = math.min(300, timeSinceLastEvent) + local state = { + changed = true, + show = true, + progressType = "timed", + autoHide = true, + duration = dynamicCooldown, + expirationTime = currentTime + dynamicCooldown, + name = string.format("%s", targetName), + } + + print(string.format("Setting time for %s to %d", targetGUID, currentTime)) + aura_env.lastEventTimes[targetGUID] = currentTime + allstates[targetGUID] = state + return true +end diff --git a/FreshShit/OreCamper/init.lua b/FreshShit/OreCamper/init.lua index d34e502..a68b584 100644 --- a/FreshShit/OreCamper/init.lua +++ b/FreshShit/OreCamper/init.lua @@ -1,2 +1,5 @@ -aura_env.cooldown = 205 +aura_env.cooldown = 300 aura_env.depositIterator = {} +aura_env.lastEventTimes = {} +aura_env.throttle = 0.5 +aura_env.lastEvent = 0