Add channelDinger

Plays a ding when semi final tick of a channel ticks
This commit is contained in:
2024-08-16 22:29:08 +02:00
parent 4fd6cec919
commit 77f1ac5d7a
3 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
-- COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
local se, err = CLEUParser.GetSubevent(...)
if err ~= nil then return end
local caster, err = CLEUParser.GetSourceGUID(...)
if err ~= nil then return end
local id, err = CLEUParser.GetSpellId(...)
if err ~= nil then return end
if caster == aura_env.player and id == 198590 then
if se == "SPELL_CAST_SUCCESS" then
local finalTick = aura_env.EstimateSemiFinalTick() * 1.06
if aura_env.ticker ~= nil then
aura_env.ticker:Cancel()
aura_env.ticker = nil
end
aura_env.ticker = C_Timer.NewTimer(finalTick, function()
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg")
end)
end
if se == "SPELL_AURA_REMOVED" then
if aura_env.ticker ~= nil then
aura_env.ticker:Cancel()
aura_env.ticker = nil
end
end
end
end

View File

@@ -0,0 +1 @@
!DBvBVPUnu4)linj62Agq7TBDs7dPPHEBfnWWHwnPkNysCaVgSr2o9wUAk)23XojqAlSlAAFAcuuYX(8QFo(8G7JdXOvyuQ5p8QOqNZ4umA8SWr3g4JrzcUgX(kfh0FagPfjVqLkMGJd(5EN1Rhg964SmfvJdG3tzQ15KnH0x1y03TgJ20ArcpzPqorW4WIE(bH(tXOcg46ExozZk3q1e3ZXOerUqcXsqF7)b2NNzFEU5jOCsHslwz8YS1PeneU0xOgRska5enl5rwQEjg5cFdst0qaRm5NstKA4fyVzmotT0kuuWHO4wUMkZij0NCtthZvp9iL8SBHKOE6EAkJ8eYSp1ttfZf6RYzRDelwa5SiQYaZnwfmQX(gPvrj(QM41eEsseL)IJMTIklJ)TY4EL3TtQqtYdzjpRSl9PwlzQQ1Amd8WnZU96UDQe25KY7kVlRGBZYY4T64Ra3avhpIshcoSRzJXv)YfjK8Y4LWsuRvVHQ9eRMt0tHYhFXvcEHQ7GETu50tlJVOmMbbNEjO0CIcEMawaeaMVmwKvgNkjmiiGks(ovLuDHKBv)NkJ72Vm(h26Bqq)Eg)q5PFJebrxXgY4v1O9Knj1jQnHoQYqtG1DNQMaCpNiNCsz833YQTpRGct)64hGaaiqlzlwaTjvO4WTcSVUznDhIqvm3cDrfzzSxXOipxuyek0DA4wq9NPKCdyUzVtKu7Ert8hncqA05GYHwZ(z)rtgodewyGHOkaYoVzoc9gF)vUHrJgFtK)dqty0SGH3oc6f9VExXVl9hlJDCC(ynwzwHkRGIEJ8NnHivuPdGFq1Xx33QilRwHY)cuHZYT4h(UIF1b)hpkPYd7krHmHA7c(pWzS0d7O1088Bt)35L3S)QmcCrBSztBnb2pegvR2)YF5tx2R2KBTrBBzA8m7SJfcuJzM555JqDoKEVlNZA6J2FZY7B1my)(o9U4W21exTUFl5z6hRphu5MFVZa)QhmZGM3UJ9i10MvghFqfFdq4ySMxK5ccPta9l2x6UTecONTnohrOUDSIdkHW9nTmQUDMmY9pIGXUbx3bSxNDdJAMg1ACu98OMbsVDIuNt(ht69S6Elf7bN5oBQB0u)7h)G)1FtC2)lWdVrO9dQHPaNSIQQyruD1Au1T61xyRQU0OEhwHkGXZHV4DRzwYsbZyMMMAuTGVBWHDWIHjZl0WkH3lGnhCA)EMvK0fa8RAkG2s)Izqqac9Hg(AdUaJ(tWpSSny0i)HHgkzMUDZQT4gHsHANryDwPOjcaM1m6Ila(HG9xbd6p(DVJT1rTFt8dfAVLeoNMFnWiXohtWZylQPVjHdbyWkrtmdzRzxo0iTQkG8M67hy5eclmEDdhqDfNwmAOK91Y4FVGKAmszCyO1dPSw7eM5o1wzR)(lcz6JscWS9XTVbdJPPveodgyyeNliwY0aoiXYVUixZAoctYjk1hKQmmSFNqJyAEwnH5Rghgo(ERqmAGt)lCodJEbs9Zhy4eJ)7

View File

@@ -0,0 +1,14 @@
aura_env.timer = 0
aura_env.totalTicks = 5
aura_env.player = UnitGUID("player")
function aura_env.EstimateCastTime()
local haste = GetCombatRatingBonus(20)
-- 6 is the base cast time of drain soul
return 6 / (1 + haste / 100)
end
function aura_env.EstimateSemiFinalTick()
local castTime = aura_env.EstimateCastTime()
return (castTime / (aura_env.totalTicks)) * aura_env.totalTicks - 1
end