anchor.diff:  uses
     KM_AIFields, KM_NavMesh, KM_HandsCollection;
   
  -const
  -  SHIFT_COEF = 2;
   
   {TNavMeshInfluenceSearch}
  -function TNavMeshInfluenceSearch.CanBeVisited(const aIdx: Word): Boolean;
  +function TNavMeshInfluenceSearch.CanBeExpanded(const aIdx: Word): Boolean;
   begin
     // Can be visited only in case that we have space in array (and we are not out of enemies)
     Result := (fHighEnemiesIdx >= 0) AND (fHighStatsIdx < fMaxEnemiesCnt);
  
positive.code:     fHouseInfluence: Boolean;
      fHighEnemiesIdx, fHighStatsIdx, fMaxEnemiesCnt: Integer;
  
      function CanBeVisited(const aIdx: Word): Boolean; override;
      procedure MarkAsVisited(const aIdx, aDistance: Word; const aPoint: TKMPoint); override;
    public
      EnemiesStats: TKMEnemyStatisticsArray;
  
negative.code:   TKMInfluenceFloodFill = class(TNavMeshFloodFill)
    private
      fCityFlood: Boolean;
      fDecreaseCoef: Word;
      fUnitStrength, fMaxDistance, fHouseInfluence: Word;
      fGroupType: TGroupType;
    protected
      fOwner: TKMHandIndex;
      function CanBeExpanded(const aIdx: Word): Boolean; override;
      procedure MarkAsVisited(const aIdx, aDistance: Word; const aPoint: TKMPoint); override;
    public
      function MilitaryPresence(aPlayer: TKMHandIndex; aUnitStrength, aMaxDistance, aMaximalIdx: Word; aGroupType: TGroupType; aInitIdxArray: TKMWordArray): Boolean;
  