|
@@ -37,7 +37,7 @@ CPathfinder::PathfinderOptions::PathfinderOptions()
|
|
|
}
|
|
|
|
|
|
CPathfinder::CPathfinder(CPathsInfo & _out, CGameState * _gs, const CGHeroInstance * _hero)
|
|
|
- : CGameInfoCallback(_gs, boost::optional<PlayerColor>()), out(_out), hero(_hero)
|
|
|
+ : CGameInfoCallback(_gs, boost::optional<PlayerColor>()), out(_out), hero(_hero), FoW(getPlayerTeam(hero->tempOwner)->fogOfWarMap)
|
|
|
{
|
|
|
assert(hero);
|
|
|
assert(hero == getHero(hero->id));
|
|
@@ -602,7 +602,7 @@ void CPathfinder::initializeGraph()
|
|
|
|
|
|
CGPathNode::EAccessibility CPathfinder::evaluateAccessibility(const int3 & pos, const TerrainTile * tinfo, const ELayer layer) const
|
|
|
{
|
|
|
- if(tinfo->terType == ETerrainType::ROCK || !isVisible(pos, hero->tempOwner))
|
|
|
+ if(tinfo->terType == ETerrainType::ROCK || !FoW[pos.x][pos.y][pos.z])
|
|
|
return CGPathNode::BLOCKED;
|
|
|
|
|
|
switch(layer)
|