1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-04 10:45:34 +00:00

Change NPC equip logic to be more like original

(Bug #3754)
This commit is contained in:
Allofich 2017-02-16 22:41:19 +09:00
parent bef0b1f1d6
commit bc60421615

View file

@ -290,11 +290,17 @@ void MWWorld::InventoryStore::autoEquip (const MWWorld::Ptr& actor)
if (iter.getType() == ContainerStore::Type_Armor) if (iter.getType() == ContainerStore::Type_Armor)
{ {
if (old.getTypeName() == typeid(ESM::Armor).name()) if (old.getTypeName() == typeid(ESM::Armor).name())
{
if (old.get<ESM::Armor>()->mBase->mData.mType < test.get<ESM::Armor>()->mBase->mData.mType)
continue;
if (old.get<ESM::Armor>()->mBase->mData.mType == test.get<ESM::Armor>()->mBase->mData.mType)
{ {
if (old.getClass().getEffectiveArmorRating(old, actor) >= test.getClass().getEffectiveArmorRating(test, actor)) if (old.getClass().getEffectiveArmorRating(old, actor) >= test.getClass().getEffectiveArmorRating(test, actor))
// old armor had better armor rating // old armor had better armor rating
continue; continue;
} }
}
// suitable armor should replace already equipped clothing // suitable armor should replace already equipped clothing
} }
else if (iter.getType() == ContainerStore::Type_Clothing) else if (iter.getType() == ContainerStore::Type_Clothing)