Setting an aura's buff linger duration to 0 is something which should be avoided. Because it causes several issues:
1. The aura's status buff becomes invisible (because it gets applied and removed immediately, periodically, it never gets a chance to stabilize in the HUD).
2. It causes a modifier to get spammed rapidly, which affects performance
3. The aura's effect may not apply to the unit in several server ticks because of how fast it gets removed again.
In this case, Borrowed Time simply does nothing for allies sometimes. It neither reduces damage they take by 50%, nor heals Abaddon for the redirected damage.
Proposed solution:
1. Make the aura buff (modifier_abaddon_borrowed_time_damage_redirect) use the default 0.5 second linger duration
2. Add some line of codes to Borrowed Time (I assume the modifier_abaddon_borrowed_time modifier is responsible for the aura?) which destroys all aura buffs as soon as Abaddon loses the Borrowed Time buff.
Something like this
(hTarget would be all allies buffed by the aura. This would be much simplier if the codes could be viewed)
This way, the aura would behave like all other auras (linger), and would not last too long after the spell finishes, so Abaddon cannot be damaged by redirect damage.
1. The aura's status buff becomes invisible (because it gets applied and removed immediately, periodically, it never gets a chance to stabilize in the HUD).
2. It causes a modifier to get spammed rapidly, which affects performance
3. The aura's effect may not apply to the unit in several server ticks because of how fast it gets removed again.
In this case, Borrowed Time simply does nothing for allies sometimes. It neither reduces damage they take by 50%, nor heals Abaddon for the redirected damage.
Proposed solution:
1. Make the aura buff (modifier_abaddon_borrowed_time_damage_redirect) use the default 0.5 second linger duration
2. Add some line of codes to Borrowed Time (I assume the modifier_abaddon_borrowed_time modifier is responsible for the aura?) which destroys all aura buffs as soon as Abaddon loses the Borrowed Time buff.
Something like this
Code:
local hBuff = self:GetCaster():FindModifierByName( "modifier_abaddon_borrowed_time" ) if hBuff == nil or hBuff:Duration() <= 0 then hTarget:RemoveModifierByName( "modifier_abaddon_borrowed_time_damage_redirect" )
This way, the aura would behave like all other auras (linger), and would not last too long after the spell finishes, so Abaddon cannot be damaged by redirect damage.