summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBret Curtis <psi29a@gmail.com>2019-03-10 11:48:48 +0100
committerBret Curtis <psi29a@gmail.com>2019-03-10 11:50:29 +0100
commite29e3248fcf57d6cfac6efd049955c133f2d9896 (patch)
treec00e0a942e260f37f6eca1b5b804842adbbc711f
parent1f3813a2301edc17c132f07d360d8f00fe596c4d (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.cpp2
-rw-r--r--apps/openmw/mwmechanics/weaponpriority.cpp4
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;