Do not stack return packages

pull/456/head
Andrei Kortunov 7 years ago
parent 74a2cbe696
commit 6ed2773299

@ -308,11 +308,13 @@ void AiSequence::stack (const AiPackage& package, const MWWorld::Ptr& actor, boo
if (isActualAiPackage(package.getTypeId())) if (isActualAiPackage(package.getTypeId()))
stopCombat(); stopCombat();
// we should return a wandering actor back after combat or pursuit // We should return a wandering actor back after combat or pursuit.
// the same thing for actors without AI packages // The same thing for actors without AI packages.
// Also there is no point to stack return packages.
int currentTypeId = getTypeId(); int currentTypeId = getTypeId();
int newTypeId = package.getTypeId(); int newTypeId = package.getTypeId();
if (currentTypeId <= MWMechanics::AiPackage::TypeIdWander if (currentTypeId <= MWMechanics::AiPackage::TypeIdWander
&& !hasPackage(MWMechanics::AiPackage::TypeIdInternalTravel)
&& (newTypeId <= MWMechanics::AiPackage::TypeIdCombat && (newTypeId <= MWMechanics::AiPackage::TypeIdCombat
|| newTypeId == MWMechanics::AiPackage::TypeIdPursue)) || newTypeId == MWMechanics::AiPackage::TypeIdPursue))
{ {

Loading…
Cancel
Save