mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-30 16:20:21 +00:00
Revert "Apply the AiTravel maxRange to AiEscort as well (Fixes #2697)"
This reverts commit 1f543b4d79744886aa9a03ad7fcff6d97dc5f70c.
This commit is contained in:
parent
145756c0a1
commit
7aeafd3bb9
@ -75,9 +75,6 @@ namespace MWMechanics
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isWithinMaxRange(osg::Vec3f(mX, mY, mZ), actor.getRefData().getPosition().asVec3()))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!mCellId.empty() && mCellId != actor.getCell()->getCell()->getCellId().mWorldspace)
|
if (!mCellId.empty() && mCellId != actor.getCell()->getCell()->getCellId().mWorldspace)
|
||||||
return false; // Not in the correct cell, pause and rely on the player to go back through a teleport door
|
return false; // Not in the correct cell, pause and rely on the player to go back through a teleport door
|
||||||
|
|
||||||
|
@ -97,19 +97,10 @@ namespace MWMechanics
|
|||||||
|
|
||||||
ESM::Pathgrid::Point mPrevDest;
|
ESM::Pathgrid::Point mPrevDest;
|
||||||
|
|
||||||
bool isWithinMaxRange(const osg::Vec3f& pos1, const osg::Vec3f& pos2) const
|
|
||||||
{
|
|
||||||
// Maximum travel distance for vanilla compatibility.
|
|
||||||
// Was likely meant to prevent NPCs walking into non-loaded exterior cells, but for some reason is used in interior cells as well.
|
|
||||||
// We can make this configurable at some point, but the default *must* be the below value. Anything else will break shoddily-written content (*cough* MW *cough*) in bizarre ways.
|
|
||||||
return (pos1 - pos2).length2() <= 7168*7168;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool isNearInactiveCell(const ESM::Position& actorPos);
|
bool isNearInactiveCell(const ESM::Position& actorPos);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -13,6 +13,18 @@
|
|||||||
#include "movement.hpp"
|
#include "movement.hpp"
|
||||||
#include "creaturestats.hpp"
|
#include "creaturestats.hpp"
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
|
||||||
|
bool isWithinMaxRange(const osg::Vec3f& pos1, const osg::Vec3f& pos2)
|
||||||
|
{
|
||||||
|
// Maximum travel distance for vanilla compatibility.
|
||||||
|
// Was likely meant to prevent NPCs walking into non-loaded exterior cells, but for some reason is used in interior cells as well.
|
||||||
|
// We can make this configurable at some point, but the default *must* be the below value. Anything else will break shoddily-written content (*cough* MW *cough*) in bizarre ways.
|
||||||
|
return (pos1 - pos2).length2() <= 7168*7168;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
namespace MWMechanics
|
namespace MWMechanics
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user