comparison Turok/Modules/Timer/Aura.lua @ 11:0b1a2f3dbfc4 tip

aura duration override triggering activation twice when aura data still exists briefly after duration end
author Nenue
date Mon, 22 Feb 2016 03:11:54 -0500
parents 9400a0ff8540
children
comparison
equal deleted inserted replaced
10:e08df0af1849 11:0b1a2f3dbfc4
123 123
124 local active, rank, _, count, dispelType, duration, expires, caster, isStealable, shouldConsolidate, spellID, canApplyAura, isBossDebuff = self:Query() 124 local active, rank, _, count, dispelType, duration, expires, caster, isStealable, shouldConsolidate, spellID, canApplyAura, isBossDebuff = self:Query()
125 local state 125 local state
126 if self.cvars.duration and active ~= self.active then 126 if self.cvars.duration and active ~= self.active then
127 print('passive aura with forced duration') 127 print('passive aura with forced duration')
128 state = self.flags.active 128 if active then
129 duration = self.cvars.duration 129 state = self.flags.active
130 expires = GetTime() + self.cvars.duration 130 duration = self.cvars.duration
131 expires = GetTime() + self.cvars.duration
132 else
133 duration = 0
134 expires = 0
135 state = self.cvars.persist and self.flags.passive or self.flags.hidden
136 end
137
131 elseif (not self.cvars.duration and (duration ~= self.duration or expires ~= self.expires)) or active ~= self.active then 138 elseif (not self.cvars.duration and (duration ~= self.duration or expires ~= self.expires)) or active ~= self.active then
132 if not active then 139 if not active then
133 if (not self.untriggerFunc) or self:untriggerFunc() then 140 if (not self.untriggerFunc) or self:untriggerFunc() then
134 state = self.flags.hidden 141 state = self.flags.hidden
135 end 142 end