This is the first addon I've tried writing myself and I'm no professional programmer, so please keep that in mind when reading this.
Imagine the following scenario:
I buff Prayer of Mending (ProM) on myself.
Then, I get damaged and the ProM buff jumps to a party member. There are 4 charges left on the ProM buff.
Then, I cast ProM on the party member that already has the buff with 4 charges, so that they now have 5 charges.
Shouldn't the change from 4 charges to 5 charges trigger a COMBAT_LOG_EVENT_UNFILTERED, like SPELL_AURA_APPLIED_DOSE or SPELL_AURA_REFRESH? I wrote the following line to detect any events involving ProM:
Code:
-- inside the COMBAT_LOG_EVENT_UNFILTERED handler
-- spellName is the spell name of the event
-- event is the event name
-- promName is the localized name of Prayer of Mending ("Prayer of Mending")
if spellName == promName then self:Print(event) end
The only event I detect during the problematic moment in the given scenario is SPELL_CAST_SUCCESS, which isn't what I'm looking for (because those ProM events are too damn complicated/unreliable... long story). Is it possible that there is a server side bug preventing SPELL_AURA_APPLIED_DOSE from firing? Or is that very unlikely (which means I'm missing something)?
The addon is supposed to track where the ProM buff is at the moment and how many charges there are left. Am I better off just constantly scanning all my party/raid members for ProM buffs? My concern is that this is too expensive, but I'm getting really frustrated with my current approach, which is tracing the ProM path by scanning the combat log events.