anchor.diff:  
   
   { TKMInfluenceFloodFill }
  -function TKMInfluenceFloodFill.CanBeVisited(const aIdx: Word): Boolean;
  +function TKMInfluenceFloodFill.CanBeExpanded(const aIdx: Word): Boolean;
   begin
     Result := (fQueueArray[aIdx].Distance < fMaxDistance);
   end;
   
   
   procedure TKMInfluenceFloodFill.MarkAsVisited(const aIdx, aDistance: Word; const aPoint: TKMPoint);
  +const
  +  HOUSE_COEF = 2;
   begin
     if fCityFlood then
  -    gAIFields.Influences.OwnPoly[fOwner,aIdx] := Max(0, fHouseInfluence - (aDistance shl SHIFT_COEF))
  +    gAIFields.Influences.OwnPoly[fOwner,aIdx] := Max(0, fHouseInfluence - (aDistance shl HOUSE_COEF))
     else
  -    gAIFields.Influences.IncPresence[fOwner,aIdx,fGroupType] := Max(0, fUnitStrength - aDistance);
  +    gAIFields.Influences.IncPresence[fOwner,aIdx,fGroupType] := Max(0, fUnitStrength - aDistance * fDecreaseCoef );
     inherited MarkAsVisited(aIdx, aDistance, aPoint);
   end;
   
  
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:   fUnitStrength := aUnitStrength;
    fMaxDistance := aMaxDistance;
    fGroupType := aGroupType;
    fDecreaseCoef := Max( 1, Round(aUnitStrength / (aMaxDistance * 1.0)) );
    Result := inherited FillPolygons(aMaximalIdx, aInitIdxArray);
  end;
  
  