Another issue that could be fixed are short term effects that could be used once (or few times) during fight. All of those have effects that significantly depend on fight duration. Because of that I propose that we rename "OOM time" to "Fight time" (cell should remaoi named "oom_time"), and use it for all such cases.
There is number of cases in different areas. One example are all Potions. They can be used usually once per fight, but effect should be based on fight duration. Now its fixed on 300sec, and with many fights now lasting 150sec it means real effect of those is almost double of what is shown. Solution is to divide with /oom_time instead of /300. For Potion of Wild Magic on 155sec fight it improve effect from 13 to 26.
Another , slightly more complex case, is when short term effects has CD shorter than some fights and can be reused more than once. For example, Demonic Empowerment is now "(15/60)*0.2" or around 5%. But in fight of duration of 135 sec it should be 6.7%. Similar case is with many effects/abilities on CD. For example on above Potion of Wild Magis, if its CD is 60sec it could be used twice in 155sec, so effect is 200*30/155= 39 ... much more than 13 !
Solution for that is to make function that take effect time, CD time, fight time, and return effect uptime percentage. I made such example function in XLS, in Alt-F11, new module3 :
Function uptime_perc(effectDurationSec As Double, cooldownSec As Double, fightDurationSec As Double) As Double
'Return uptime of effect, given its duration, cooldown and fight duration (in seconds)
Dim full_N, remains, added_N As Double
full_N = Int(fightDurationSec / cooldownSec)
remains = fightDurationSec - full_N * cooldownSec
If (remains > effectDurationSec) Then
added_N = 1
Else
added_N = remains / effectDurationSec
End If
uptime_perc = (full_N + added_N) * effectDurationSec / fightDurationSec
End Function
It can be used on all those places, for example:
- instead of 15/60 for DE if field F41 (frequency for FG), use uptime_perc(15,60,oom_time)
- instead of 15/300 in Potions for WildMagic and others, use uptime_perc(15,60,oom_time)
It could even be used on more delicate trinket uptimes. Its bit tricky since it need estimated time for trinket to proc (usually based on your crit chances or number of casted spells etc). But if you have calculated such "TriggerTime", then uptime for trinket would be:
TrinketUptime%= uptime_perc( EffectTime, TriggerTime+CD, oom_time)
For example, Dying Curse is trinket with 15% chance to trigger on your casted spell and 45sec CD, and have effect lasting 10sec. One way to estimate uptime was to estimate TriggerTime (Models!$C$30/0.15) at 13sec, and say that its used once in 58sec (13+45), giving uptime of 10/58 = 17.24%, and estimated effect of 765*17.24% = 132dmg
But in fight of length 140sec, that should be instead 3xDyingCurse/140sec = 3*10/140 = 21.42%*765= 164 dmg!
Since difference is not small, correct way to calculate effect of trinket would be:
DyingCurseDmg= uptime_perc(10, Models!$C$30/0.15+45, oom_time)*765
SundialOfTheExiledDmg= uptime_perc(10, Models!$C$30/0.10+45, oom_time)*590
Those are just some of examples where more accurate numbers could be obtained by taking fight duration into consideration on timed effect.