diff options
author | Bret Curtis <psi29a@gmail.com> | 2019-03-10 11:48:48 +0100 |
---|---|---|
committer | Bret Curtis <psi29a@gmail.com> | 2019-03-10 11:50:29 +0100 |
commit | e29e3248fcf57d6cfac6efd049955c133f2d9896 (patch) | |
tree | c00e0a942e260f37f6eca1b5b804842adbbc711f | |
parent | 1f3813a2301edc17c132f07d360d8f00fe596c4d (diff) |
Merge pull request #2235 from akortunov/aifixopenmw-0.45.0openmw-45
[0.45 regression] Fix AI regressions
-rw-r--r-- | apps/openmw/mwmechanics/spellpriority.cpp | 2 | ||||
-rw-r--r-- | apps/openmw/mwmechanics/weaponpriority.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/apps/openmw/mwmechanics/spellpriority.cpp b/apps/openmw/mwmechanics/spellpriority.cpp index 3b242266c2..a0822bf20a 100644 --- a/apps/openmw/mwmechanics/spellpriority.cpp +++ b/apps/openmw/mwmechanics/spellpriority.cpp @@ -171,7 +171,7 @@ namespace MWMechanics float rating = rateEffects(enchantment->mEffects, actor, enemy); - rating *= 2; // prefer rechargable magic items over spells + rating *= 1.25f; // prefer rechargable magic items over spells return rating; } diff --git a/apps/openmw/mwmechanics/weaponpriority.cpp b/apps/openmw/mwmechanics/weaponpriority.cpp index 55fb2eaf09..2e56dc45e9 100644 --- a/apps/openmw/mwmechanics/weaponpriority.cpp +++ b/apps/openmw/mwmechanics/weaponpriority.cpp @@ -125,7 +125,9 @@ namespace MWMechanics value = ref->mBase->mData.mCombat; } - rating *= getHitChance(actor, enemy, value) / 100.f; + // Take hit chance in account, but do not allow rating become negative. + float chance = getHitChance(actor, enemy, value) / 100.f; + rating *= std::min(1.f, std::max(0.01f, chance)); if (weapon->mData.mType < ESM::Weapon::Arrow) rating *= weapon->mData.mSpeed; |