diff --git a/FreshShit/ChannelDinger/event.lua b/FreshShit/ChannelDinger/event.lua new file mode 100644 index 0000000..fe39c92 --- /dev/null +++ b/FreshShit/ChannelDinger/event.lua @@ -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 \ No newline at end of file diff --git a/FreshShit/ChannelDinger/export b/FreshShit/ChannelDinger/export new file mode 100644 index 0000000..568bef2 --- /dev/null +++ b/FreshShit/ChannelDinger/export @@ -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 \ No newline at end of file diff --git a/FreshShit/ChannelDinger/init.lua b/FreshShit/ChannelDinger/init.lua new file mode 100644 index 0000000..d44534f --- /dev/null +++ b/FreshShit/ChannelDinger/init.lua @@ -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