From 854491ac1511386606fdae2ce0a8a3291e09b88e Mon Sep 17 00:00:00 2001 From: scrawl Date: Sun, 24 Aug 2014 22:39:46 +0200 Subject: [PATCH] Don't treat actors as following if another non-combat AiPackage precedes (Fixes #1843) --- apps/openmw/mwmechanics/actors.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/openmw/mwmechanics/actors.cpp b/apps/openmw/mwmechanics/actors.cpp index c0f9e803d..26332e47c 100644 --- a/apps/openmw/mwmechanics/actors.cpp +++ b/apps/openmw/mwmechanics/actors.cpp @@ -1402,6 +1402,7 @@ namespace MWMechanics if (stats.isDead()) continue; + // An actor counts as following if AiFollow is the current AiPackage, or there are only Combat packages before the AiFollow package for (std::list::const_iterator it = stats.getAiSequence().begin(); it != stats.getAiSequence().end(); ++it) { if ((*it)->getTypeId() == MWMechanics::AiPackage::TypeIdFollow) @@ -1412,6 +1413,8 @@ namespace MWMechanics if (followTarget == actor) list.push_back(iter->first); } + else if ((*it)->getTypeId() != MWMechanics::AiPackage::TypeIdCombat) + break; } } return list;