Take in account armor condition in the armor rating calculation (bug #4246)

This commit is contained in:
Andrei Kortunov 2017-12-07 22:43:32 +04:00
parent a4d8aef40d
commit 744859f327

View file

@ -1129,6 +1129,15 @@ namespace MWClass
else
{
ratings[i] = it->getClass().getEffectiveArmorRating(*it, ptr);
// Take in account armor condition
const bool hasHealth = it->getClass().hasItemHealth(*it);
if (hasHealth)
{
int armorHealth = it->getClass().getItemHealth(*it);
int armorMaxHealth = it->getClass().getItemMaxHealth(*it);
ratings[i] *= (float(armorHealth) / armorMaxHealth);
}
}
}