From 85cb445e8e8f4a47226f679b04f6bbdcf83fd988 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sun, 22 Dec 2024 14:11:25 +0100 Subject: [PATCH] Add 1s timer to remove buffs --- Dechickenator.lua | 26 ++++++++++++++++++++++++-- Dechickenator.zip | Bin 4853 -> 5000 bytes 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Dechickenator.lua b/Dechickenator.lua index 62eccde..e0a42b9 100644 --- a/Dechickenator.lua +++ b/Dechickenator.lua @@ -1,6 +1,10 @@ local addonname, shared = ... ---@cast addonname string +---@class shared +---@field timer number? +shared = { timer = nil } + ---@class DechickenatorData ---@field alerts table @@ -12,7 +16,7 @@ local addonname, shared = ... --/dechicken a:Greater Blessing of Kings;R;e:spit;m:cuntfucker --/dechicken a:Greater Blessing of Kings;R;e:spit;m:cuntfucker --/dechicken a:Greater Blessing of Kings;R;m:cuntfucker ---/dechicken a:Greater Blessing of Kings;R;e:laugh +--/dechicken a:Turkey Feathers;R;e:laugh ---@class Alert ---@field message string? ---@field channel string? @@ -25,6 +29,24 @@ local addonname, shared = ... if not Dechickenator_Data then Dechickenator_Data = {} end if not Dechickenator_Data.alerts then Dechickenator_Data.alerts = {} end local function init() + local function RemoveBuff(buff) + if UnitAffectingCombat("player") then return end + CancelUnitBuff("player", buff) + end + local function RemoveBuffs() + if UnitAffectingCombat("player") then return end + for buff, enabled in pairs(Dechickenator_Data.alerts) do + if enabled then + RemoveBuff(buff) + end + end + end + if not shared.timer then + shared.timer = C_Timer.NewTicker(1, function() + RemoveBuffs() + end) + end + local cleuFrame = CreateFrame("Frame") cleuFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") cleuFrame:SetScript("OnEvent", function(self, event, ...) @@ -50,7 +72,7 @@ local function init() DoEmote(Dechickenator_Data.alerts[spellName].emote, source) end if Dechickenator_Data.alerts[spellName].remove then - CancelUnitBuff("player", spellName) + RemoveBuff(spellName) end end end) diff --git a/Dechickenator.zip b/Dechickenator.zip index 15d86efba0a832bed84e1abb839a2fba72b3b9ca..920a904ed5a93d68de4f3abc7b8baae92e26cdbb 100644 GIT binary patch delta 1496 zcmV;}1t+4E{c8|KW&)NJS}( zj~xZFCL0soIyD^h*eu2XEfI`RwDIX%3V#8YYXw14WE*o+}}_G7m`r&OKB*YfB55X;$CdI_ zlo>Vn`2cAc&QX%GZH(ZHHh>32l3<5yPihblJIESIp2m5R_$*8l6eb}vJBJ4do;A`$ z?0@y7n9t1_d~hc9fHl`3XU*pXSd+ytjc1sdMi$|FLXD2Jh7wlLglpB3L!9^|;=&xa zlIS9>feSohPj3DbW9BIpdb_a9k9+{$Kp75cZnk=|gMw5dX#J(Q(4>g^+2O}(x9dOj ziwwM~emzmxnrfP)0UCN!{?@xBKc;*K)PFqcRz5VF$~Ro9&8Wws9t}St#VLiu!BvSW zAby#K_%fuJ=IT$#BFv#wI4hDsP=@1+6Km>?#%G@M&AFU<*O#Z~qp34->`hshFxRJH z26E#>02sBc=|F0c0W#bxXMZ&E ztm}#8Syxx1b1)I5w3TP#oK76~i?J3SZ4bkAK{liQ%ZRj~{uT?wa;ph@sqdA&L3@2uf1EGS;7M>AN!z2^L2n)= zfeDaZWW3CcPN{kGk$Nk!l*X7zL4TIYMN@jFQ{THjgDu;sdLGX|>$@S@p5r?Ov||T~ zV_)wn_C0sw!s>8|*@g7Ea80Rkvr0ZMJw%sp*`S>|oNDe5)K#hcudI{f#N&OV64|$T z0H1u%Xvphs!x~5<9FX7zued@;O$BOwcX_XPHjBGu+v7{9?UwD>n)S)GTz}jH)MlkK z^%4}_>YlLXw`!EBe8K%t&g~fnGvs71KkLf@$=FigB&vzSF5+y;nN1}=$CCnIb4b#(4d9oyp< zH{%u!bY_N0Rau1~-%tRRL7E+IV6rWNk7JVy-yGd)Pb#{KK$QM~84{Kn zlak~Cv+e%xO7?x=2Dx;rG4r-vKBHP#CJwN=ZnO%`MlnKycQf+qpXp7qr^Gwrx*I!}k9G zvjY(Z0S4`y%5`*9lMfOW4z_ZZS-dii8c+oQ01Xq9GZHZlKox0mbX3~`fD4bqbX1da y5;Osplcy3WCheTcb#zqQ0WGgx|0Gk}0Z>Z?1^@s600RI6044zd08A190001f`O;?q delta 1365 zcmV-b1*-apC-o(;Aq);eSCv_g_UFmH1ONcD5R)$q7k{l+ZEu?}5dL1N|G`6=Mzkz@ z`Is!*NT6A@w5dWmX{svZf@x5}AY(FBd-?728yG^!l5Y8s1m8V(kMGWRCQf}A0~iD; z#xOyBkgp*@0T_e9U~qc!>eZ`HKFq1s068TQzCS%t!WiZ`u#vxx{0D>~O^FRDl)^AV zaR6Y92!G81g?BM}FVTHq@x>3N6&Ob_2e2S;^_U^C_7l9AT%Vo2C?9M`J@SRuLFo{{ z;fx?i5do7JI1-eEZz#qQ=!oeQwKo+bpu}7>e$ukrd*r!p7L4+e} z_D)X#`$&-=qvDLPZ8OkRBuYG)hWIh0uGShZ(S4M&Y&si+scB3X7ZYpc%@;Gz`RZJ* zynpMmusY6o-9)_;R10a0S;?^WsiOIn%jweFaI5 z$Y92dDuLNVMPUsx28Mg(%;%nUy|g^*>S}(@D1wx9>MWhJrQ?1!M6k70&4)sAkJ@Z( zlv7?uH8z@23Hm(-*Eo`TMi#?IM2w#B#D9v776gm*wVmoRZAXDiIvoG4pl&L&w+E3( z3*zr!AeK8R9OQmbo_Zbiw*Mr*2jip6X-k@qI_QHi!hy+5_JQ#{H+rS#_DA}yU@1u; zl|Y)xMN>wm*K6UcP`0;Ibu(Un);B|{JtcO^(4HMAjYFfS)DPT^%T}jrNH1i}MSo~Y zk7YzO{%PeQ`gg|$?bP8?^Ke6bRm%U1ofs5d^rjH|DCWn0QiNf3?EBT3?xLX|)E}lN z|7RrPUAV!G6%`Cn@Qn9g0a8;yt?zI4l}@|WTeiKpWS!o!9b2m&-Py%$O>I_&Rxhy@ zT;1ljqF9ZtDi$&ha!hBC(U8|T`F~ws4p2td02j#}B5Zb7!_Y30Y{ivL0qIM{ik8BS z#XN74DMjE-#iv4lIxi$SV zKX+G-?eSZ>aSO(}G9#Q7v~eF27d~-=;(b2P;)o?|#K=fh@JlN5>f*6gw^nUHyeV*a zV^SLi2kP8;ed&njFOmtAj(>FqwZ(w-nk_;@Lm8+DY4r#6D2Eh_abj}t&D&cYNhMbq zh|}+gm~5$WZ<0EUHr#Rh5jz}IyW95l?shBxHFK!Toan|!nM%4$sfmA-F~7@LIRK9_ zM!Jlt>A-AJQlPHVmVfoh;>fBeZO8sM^S9-0&!B38`9a_-+sDeCTSo3@@1VoYk+1wylKx?8)~2tg&9?ssvz8GC0V*o%xwDQ_+X2?VUjHOh+W}BZ0Rle&6aWAK2mnG?m06DV=gGYU z006TPlg1J;4o?s#(~eWy0S*u_*p5?^1rsy@1Cu%vC?>T2xwDQ_+W{@FUH>Fg+W}BZ X1qJ{B000930{|ug006lW00000D{YK-