Fix an issue with pathfinding not respecting the PathFindAllowCreatures flag properly (#1090)

This commit is contained in:
diath 2020-06-13 09:00:01 +02:00 committed by GitHub
parent b0a73e5525
commit 59059321a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -751,7 +751,7 @@ std::tuple<std::vector<Otc::Direction>, Otc::PathFindResult> Map::findPath(const
// check the goal pos is walkable
if(g_map.isAwareOfPosition(goalPos)) {
const TilePtr goalTile = getTile(goalPos);
if(!goalTile || !goalTile->isWalkable()) {
if(!goalTile || !goalTile->isWalkable((flags & Otc::PathFindAllowCreatures))) {
return ret;
}
}
@ -799,7 +799,7 @@ std::tuple<std::vector<Otc::Direction>, Otc::PathFindResult> Map::findPath(const
wasSeen = true;
if(const TilePtr& tile = getTile(neighborPos)) {
hasCreature = tile->hasCreature();
isNotWalkable = !tile->isWalkable();
isNotWalkable = !tile->isWalkable((flags & Otc::PathFindAllowCreatures));
isNotPathable = !tile->isPathable();
speed = tile->getGroundSpeed();
}