From 610e87cb24f57aaf4083df6e71f4f83be990fbc2 Mon Sep 17 00:00:00 2001 From: Artem Nykolenko Date: Thu, 1 Aug 2019 10:02:35 +0000 Subject: [PATCH] Fix Non-swimming enemies entering water if player is water walking (bug #5099) --- CHANGELOG.md | 1 + apps/openmw/mwmechanics/aicombataction.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c481994ea7..d7ce625401 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -114,6 +114,7 @@ Bug #5082: Scrolling with controller in GUI mode is broken Bug #5092: NPCs with enchanted weapons play sound when out of charges Bug #5093: Hand to hand sound plays on knocked out enemies + Bug #5099: Non-swimming enemies will enter water if player is water walking Feature #1774: Handle AvoidNode Feature #2229: Improve pathfinding AI Feature #3025: Analogue gamepad movement controls diff --git a/apps/openmw/mwmechanics/aicombataction.cpp b/apps/openmw/mwmechanics/aicombataction.cpp index 96ff0c308f..167e131282 100644 --- a/apps/openmw/mwmechanics/aicombataction.cpp +++ b/apps/openmw/mwmechanics/aicombataction.cpp @@ -422,6 +422,11 @@ namespace MWMechanics return true; } + if (actor.getClass().isPureLandCreature(actor) && MWBase::Environment::get().getWorld()->isWalkingOnWater(enemy)) + { + return false; + } + if (actor.getClass().isPureFlyingCreature(actor) || actor.getClass().isPureLandCreature(actor)) { if (MWBase::Environment::get().getWorld()->isSwimming(enemy))