I should start by noting that between the time I've spent investigating when fervour pips get generated and looking at your code, we're talking about ten minutes tops, and so I am speaking from a position of ignorance...
That said, have you tried getting the start time of the Champion's Fervour effect, and then using the current time to calculate how soon the next pip is going to occur? It should be something like:
(4 - ((Turbine.Engine.GetGameTime() - startTime) % 4))
(Turbine.Engine.GetGameTime() - startTime) will give you the total elapsed time since the effect started. (_ % 4) will give you how far into the current 4 second interval you are, and (4 - _) will give you the amount of time left in the current 4 second interval.
Since it doesn't depend on Update() to keep a timer running, Update() not firing won't affect the code.
|