diff 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
line wrap: on
line diff
--- a/Turok/Modules/Timer/Aura.lua	Sun Feb 21 13:11:44 2016 -0500
+++ b/Turok/Modules/Timer/Aura.lua	Mon Feb 22 03:11:54 2016 -0500
@@ -125,9 +125,16 @@
   local state
   if self.cvars.duration and active ~= self.active then
     print('passive aura with forced duration')
-    state = self.flags.active
-    duration = self.cvars.duration
-    expires = GetTime() + self.cvars.duration
+    if active then
+      state = self.flags.active
+      duration = self.cvars.duration
+      expires = GetTime() + self.cvars.duration
+    else
+      duration = 0
+      expires = 0
+      state = self.cvars.persist and self.flags.passive or self.flags.hidden
+    end
+
   elseif (not self.cvars.duration and (duration ~= self.duration or expires ~= self.expires)) or active ~= self.active then
     if not active then
       if (not self.untriggerFunc) or self:untriggerFunc() then