From 9cb48bd6e602ac73273085713a2bfcd8b9859c48 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 24 Aug 2024 22:43:21 +0200 Subject: [PATCH] Update ChannelDinger to be a little more reliable --- FreshShit/ChannelDinger/event.lua | 17 +++++----------- FreshShit/ChannelDinger/export | 2 +- FreshShit/ChannelDinger/init.lua | 34 +++++++++++++++++++++---------- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/FreshShit/ChannelDinger/event.lua b/FreshShit/ChannelDinger/event.lua index fe39c92..1ac49c9 100644 --- a/FreshShit/ChannelDinger/event.lua +++ b/FreshShit/ChannelDinger/event.lua @@ -9,20 +9,13 @@ function(e, ...) 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) + aura_env.statee:set(1) + end + if se == "SPELL_DAMAGE" then + aura_env.tick:set(aura_env.tick + 1) end if se == "SPELL_AURA_REMOVED" then - if aura_env.ticker ~= nil then - aura_env.ticker:Cancel() - aura_env.ticker = nil - end + aura_env.statee:set(0) end end end \ No newline at end of file diff --git a/FreshShit/ChannelDinger/export b/FreshShit/ChannelDinger/export index 568bef2..1cb2e9d 100644 --- a/FreshShit/ChannelDinger/export +++ b/FreshShit/ChannelDinger/export @@ -1 +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 \ No newline at end of file +!TAvFVjUny8VlrAsCAxraTRB9KU)ifs71kiWWHwDsitCtCaVlyJSD6vonLp77X2j8wPSQBtGICEE)f)8lp424imAjgLA(dhff6CgNIrdNe1)UWamktW1i2pO4W2DWiTi5zQuXeCC4V368wTWOxgMLPOACiCoLPwLtwhrFrJr)YkmA9omL05GErRxbMxBLOGb(T1vJwV0psnY)cmkrKlKqGe22(VJ9552NxymcOusHslwACXKvPenym6ZuoWGua0jAwYJSu9cmYhEhOMObVQmjNstKA4ailJZmNqPIzo7HVU2YgdjjZO8NBQzlPYY4pxg3Q8(TufAsEel5BklRl3HLj5R0yc4HBNCxVgEoIEFyxtaABLAm1eFptFGKxqBYPFVrRDLdIynLEcjp7SYyezDZMnDNBvgdp5co19EB77jliCofASZDu7yPMtuABGC)R84Ne8UGoZPnYk42cydWJwEGtlJD)mMALKX1n8Q5wg7bHs8reMLTLmKqF2gB6fu(wroIDLu42J2e4XMqv59Hxl(Ev1pbYBRm1CP80tfeDERG4rk5B(GLvnrjeEG5kMQH3O((FDgmCe2Z7JqUEhxtLzKe60P(PPd5QPt3O30PdOPmY0PWqfpfEDS4jH(6C2QMI5Z9omeHhhEd5iDbBr44TaT7gPxzSPdCOGMmVsctAF0lZNDIEYHxqmL5ohphmZxzWaMAHDOZK9y02kvvHABDYvMQQs7vKSZNod8eyvWUAjB(CaaYbreTHG9OfzPEiwv8KfxavKLXEbJM11hfndf5poAdIXxOKCdsrTSJKuRSOrb97xBQzlyPgelaliTstfg1D4GR9JM1F4TZcEiimA2KWBURFuW4GEG9wrZZVlv5WAQJitV6eQvE)MUm9JMMyZDkV5IesEzSYWHkDimD7hmzerQOYM3sH80Ldn2xrtF3Qq5FdQWz5vn4yjvxi5hmFu5MeazGkFBxjkKjul42)doJL(2oYvh)58YEY7YOdU7xJwta5HWOcv6Q)43UQ1BngySLQc6WZEnP6E1KUDdqiV3sVtng1(iyA7vOoHZ75pW)2G3VB3arEWNI(viX)peg(tg7pBCWGHpe07NQg06FZ514lBMkDt7vdYCYsA10wH5l7ixRfWpOpbZ)UDo(sq)r3mPVtOT4gwCf33wJCehiGb(WZABx3GWtwiKJemJF6cJSbJnRpa3M4K8hQ3fQZLy0FbbglBng1p4MiJImZ2ia3Dw9OcKY8bAi4GcHrGQCrrteaeOXPljm(7x6TGTVl5nR)a1XUULc6bFC1uPaUzS5UAyMeQNa0krtmWSv1GBmuDLsu3XbbH2vUagdxvVIL2TVigDJK9JY4)SGKAmszCuKjmFHM62nlSJzZra2DSDNWkv)UqM(OKaRn(4MtMGMTJ5Zfe7IQaeBID31ICnRUlMaR0OEfvLz71diAitZZQARxpmkA4alrmQtZ2x28Cm6zi1VOtBGk(F( \ No newline at end of file diff --git a/FreshShit/ChannelDinger/init.lua b/FreshShit/ChannelDinger/init.lua index d44534f..a29fa1d 100644 --- a/FreshShit/ChannelDinger/init.lua +++ b/FreshShit/ChannelDinger/init.lua @@ -1,14 +1,26 @@ aura_env.timer = 0 -aura_env.totalTicks = 5 +aura_env.totalTicks = 6 aura_env.player = UnitGUID("player") +aura_env.tick = ReactiveValue.new(0) +aura_env.statee = ReactiveValue.new(0) +-- Say... +-- 0 - none +-- 1 - channeling +-- 2 - lasttick -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 +aura_env.statee:onChange(function(newstate) + -- print("newstate ".. newstate) + if newstate == 1 then + -- print("resetting ticks") + aura_env.tick:set(0) + end + if newstate == 2 then + WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\AddOns\\WeakAuras\\Media\\Sounds\\RobotBlip.ogg") + end +end) +aura_env.tick:onChange(function(ticks) + -- print("ticks " .. ticks) + if ticks == aura_env.totalTicks - 1 then + aura_env.statee:set(2) + end +end)