Cast to long to avoid overflow when multiplying by the health (part 2)

This commit is contained in:
Arular101
2018-01-10 18:12:37 +01:00
committed by reaperrr
parent 30acee38c9
commit 24b7f7a23f
6 changed files with 17 additions and 7 deletions

View File

@@ -198,7 +198,8 @@ namespace OpenRA.Mods.Common.AI
if (sumOfMaxHp == 0)
return 0.0f;
return (sumOfHp * normalizeByValue) / sumOfMaxHp;
// Cast to long to avoid overflow when multiplying by the health
return (int)((long)sumOfHp * normalizeByValue / sumOfMaxHp);
}
static float RelativePower(IEnumerable<Actor> own, IEnumerable<Actor> enemy)