anchor.diff:  
     // If we cannot walk there choose first group instead
     I := gAIFields.NavMesh.KMPoint2Polygon[Output];
  -  if not (aIgnorePassability
  -          OR (gTerrain.CheckPassability(Output, tpWalk)
  -              AND ((gAIFields.Influences.PresenceAllGroups[ fOwner, I ] > 0)
  -                   //OR (gAIFields.Influences.ArmyTraffic[ fOwner, I ] > 0)
  -                  )
  -             )
  +  if not (gTerrain.CheckPassability(Output, tpWalk)
  +          AND ((gAIFields.Influences.PresenceAllGroups[ fOwner, I ] > 0)
  +               //OR (gAIFields.Influences.ArmyTraffic[ fOwner, I ] > 0)
  +              )
            ) then
       for G := Low(TKMGroupType) to High(TKMGroupType) do
         if (fSquads[G].Count > 0) then
  
positive.code:     fDEBUGScanRad: Single;
      fTargetU: TKMTargetSelection;
  
      function GetPosition(aIgnorePassability: Boolean = False): TKMPoint; overload;
      function GetPosition(var aSQRRadius: Single): TKMPoint; overload;
      function GetTargetPosition(): TKMPoint;
      function OrderToAttack(aActualPosition: TKMPoint; UA: TKMUnitArray; UGA: TKMUnitGroupArray; HA: TKMHouseArray): Boolean;
  
negative.code:   I: Integer;
    G: TKMGroupType;
  begin
    Result := GetPosition();
  
    aSQRRadius := 0;
    for G := Low(TKMGroupType) to High(TKMGroupType) do
  