anchor.diff:            GT := BEST_TARGET[  UGA[ fTargetU[I].Index ].GroupType, K  ];
             if (GT = gt_Ranged) then // Skip ranged groups
               continue;
  -          while (fTargetU[I].CloseThreat > 0) AND (AvaiableSquads[GT].Count > 0) do
  +          while (fTargetU[I].CloseThreat > 0) AND (AvailableSquads[GT].Count > 0) do
             begin
               BestDist := 100000;
  -            for L := 0 to AvaiableSquads[GT].Count - 1 do
  +            for L := 0 to AvailableSquads[GT].Count - 1 do
               begin
  -              Dist := KMDistanceSqr(AvaiableSquads[GT].Squads[L].Position, UA[ fTargetU[I].Index ].GetPosition);
  +              Dist := KMDistanceSqr(AvailableSquads[GT].Squads[L].Position, UA[ fTargetU[I].Index ].GetPosition);
                 if (Dist < BestDist) then
                 begin
                   BestDist := Dist;
  
positive.code:       Dir := KMGetDirection( aActualPosition, fPathPosition );
  
        SetLength(Squads, aCnt);
        SetLength(AvaiableSquads, aCnt);
        K := 0;
        for GT := Low(TKMGroupType) to High(TKMGroupType) do
          for I := 0 to fSquads[GT].Count - 1 do
          begin
            Squads[K] := fSquads[GT].Items[I];
            AvaiableSquads[K] := True;
            K := K + 1;
          end;
        ClosestIdx := 0; // Only for compiler
  
negative.code: 
      Cnt := 0;
      for GT := Low(TKMGroupType) to High(TKMGroupType) do
        for I := 0 to AvailableSquads[GT].Count - 1 do
        begin
          Squad := AvailableSquads[GT].Squads[I];
          Squad.FinalPosition := KMPointDir(  Positions[Cnt], KMGetDirection( Squad.Position, Positions[Cnt] )  );
          // Time limit does not make sence for unit in combat
          //Squad.TimeLimit := gGame.GameTickCount + KMDistanceAbs(Position, Squads[ClosestIdx].Position) * TIME_PER_A_TILE;
  