You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Set for example Arcane Mage damage config to 0.25, the values showed in combat log / floating combat text are correct, however the true damage values and calculations server side are actually double dipped.
For example 100 damage at 0.25 should be 25 damage.
Instead we get 100 x 0.25 x 0.25 = 6.25 total damage.
This is due to an awkward implementation for spells only that use this function:
uint32 Unit::RecaculateDamage(uint32 damage)
This is called once in Unit::DealDamage but is also called in: HandlePeriodicDamageAurasTick()
HandlePeriodicDamageAurasTick calls Unit::DealDamage therefore the calculation double dips.
Potential hack fix is just passing another param to Unit::DealDamage that says whether it has been re-calculated yet or not and check if this is true and decide whether to call it inside Unit::DealDamage.
The text was updated successfully, but these errors were encountered:
🐛 Bug report
Set for example Arcane Mage damage config to 0.25, the values showed in combat log / floating combat text are correct, however the true damage values and calculations server side are actually double dipped.
For example 100 damage at 0.25 should be 25 damage.
Instead we get 100 x 0.25 x 0.25 = 6.25 total damage.
This is due to an awkward implementation for spells only that use this function:
uint32 Unit::RecaculateDamage(uint32 damage)
This is called once in Unit::DealDamage but is also called in: HandlePeriodicDamageAurasTick()
HandlePeriodicDamageAurasTick calls Unit::DealDamage therefore the calculation double dips.
Potential hack fix is just passing another param to Unit::DealDamage that says whether it has been re-calculated yet or not and check if this is true and decide whether to call it inside Unit::DealDamage.
The text was updated successfully, but these errors were encountered: