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:
@@ -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
|
||||
|
Reference in New Issue
Block a user