1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-15 20:03:15 +02:00

CPathfinder: avoid pathing through hero standing on Subterranean Gate

Subterranean Gates unlike Monolith allow to visit hero standing on other exit. So of course pathfinder allowed that, but it's also allowed future movement through that hero which caused infinite loop for AI.
This commit is contained in:
ArseniyShestakov
2015-12-10 16:51:19 +03:00
parent 5aadc1ed6f
commit c3e5231146

View File

@@ -195,8 +195,15 @@ void CPathfinder::calculatePaths()
dp->moveRemains = movement;
dp->turns = turn;
dp->theNodeBefore = cp;
dp->action = CGPathNode::NORMAL;
pq.push(dp);
dtObj = gs->map->getTile(neighbour).topVisitableObj();
if(CGTeleport::isTeleport(dtObj))
{
dp->action = CGPathNode::NORMAL;
pq.push(dp);
}
else
dp->action = getDestAction(); // TODO: We only need to check for hero on other side, but not for guards.
}
}
} //queue loop