mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-27 01:46:03 +00:00
d6951b386e
ClassicAPI's recent C_UnitAuras additions (sourceUnit / sourceGUID / non-player expirationTime / the PLAYER filter token) finally cover everything libdebuff:UnitDebuff and :UnitOwnDebuff were doing — caster attribution, accurate timing for non-player units, and the own-debuffs filter. Migrating the remaining callers off the libdebuff readers. - api/unitframes.lua: collapses the debuff render path's three-branch if/else into a single C_UnitAuras.GetAuraDataByIndex with a HARMFUL or HARMFUL|PLAYER filter selected by the selfdebuff config; tooltip slot-finders match by sourceGUID instead of libdebuff's caster flag; custom-debuff indicator scan unifies the same way. - modules/buffwatch.lua: GetBuffData drops the libdebuff fallback; tooltip slot-finder mirrors the unitframes pattern. - libs/libpredict.lua: drops the orphaned UnitHasBuff slot-loop (no callers left). - api/api.lua: pfUI.api.UnitHasBuff tightens from a HELPFUL iteration to a single GetAuraDataBySpellName lookup. Each site that builds a cooldown ring from expirationTime carries the talent-extension guard — when expirationTime exceeds the dbc base duration (e.g. Shadow Affinity → SW:P), clamp start to now and use the remaining time as the effective duration so CooldownFrame_SetTimer doesn't get a future start it treats as "not yet begun".