Since nearly all Damage/Healing over times have an Interval length of 1 second, these can be simplified to:
Total Duration = Base Duration * (1 + Debuff Duration)
Total Value = Base Value / Base Duration * floor(Total Duration)
Value per second = Total Value / Base Duration
ExamplesExample 1: Rogue's Rupture
Rogue's Rupture which normally does 20 damage, with -17% Physical Power Bonus% and +10 additional physical damage will instead deal 23.3 damage due to having a 50% Attribute Bonus Ratio.
Total damage (before debuff duration) = 20 * (1-.17 * .5)+10 * .5 = 23.3
Rupture lasts 5s and deals damage in 1s intervals, so against a Bard with 25% longer Debuff duration, it will instead deal 27.96 damage
Base ticks = 5/1 = 5 ticks
Total duration = 5 * (1 + .25) = 6.25s
Total Damage = 23.3/5 * floor(6.25) = 27.96 damage
Damage per second = 27.96/5 = 5.592 damage per second
Example 2: Wizard's Zap's Burn
Zap's Burn deals damage with a 1s interval and lasts only 1s total, meaning any negative debuff duration, even -1% (in theory), will make it have 0 ticks and deal 0 damage due to rounding.
On the contrary, it would require at least 100% debuff duration% on the target to get an extra tick from Zap.
NOTE: In reality, if the unrounded # of ticks is very close to a whole number, its susceptible to client-server ticks per second (TPS) variation and can therefore have varying results.
With the Zap example, if the unrounded # of ticks is ~.97 - 1, the zap burn will likely still be applied due to game tick delay.
If the # of ticks is ~.96, the zap burn may happen sometimes, and not happen other times.
If the # of ticks is ~.95 or lower, then you can nearly guarantee that the burn will never properly tick.
以上是wiki的原文,可以看到有5%的减益免疫就能让不带火精的法师少掉点燃的伤害了(该死的网络波动,本来1%就够了)