reznok/GMCAbilitySystem

Periodic effects don't tick correctly when first applied or after paused

Opened this issue · 0 comments

I had a couple observations while looking at effect periods:

First delayed PeriodTick is incorrect

The first PeriodTick (not including the one called from PeriodTickAtStart) will happen at an arbitrary point between 0 seconds and the defined period depending on what the initial mod value for ActionTimer is. For example: with a period of 10 seconds, the first PeriodTick could occur immediately, at 10 seconds, or anywhere between.

PausePeriodicEffect unexpected behavior

Pausing the period with the PausePeriodicEffect tag does not actually pause the period, it only disables PeriodTicks. Intuitively, it seems like pausing the effect should also pause the timer. For example:

  • With a period tick of 10 seconds:
  • Period tick occurs
  • Wait 1 second
  • PausePeriodicEffect tag applied
  • Wait 1 second
  • PausePeriodicEffect tag removed
  • Period tick should occur after 9 more seconds (currently would fire in 8 seconds)