Cast to long to avoid overflow when multiplying by the health

This commit is contained in:
Arular101
2018-01-04 00:23:40 +01:00
committed by reaperrr
parent 32b0170785
commit 30acee38c9
9 changed files with 38 additions and 19 deletions

View File

@@ -32,7 +32,8 @@ namespace OpenRA.Mods.Common.Traits
int IPowerModifier.GetPowerModifier()
{
return 100 * health.HP / health.MaxHP;
// Cast to long to avoid overflow when multiplying by the health
return (int)(100L * health.HP / health.MaxHP);
}
void INotifyDamage.Damaged(Actor self, AttackInfo e) { power.UpdateActor(self); }