anchor.diff:      procedure AfterMissionInit();
       procedure UpdateState(aTick: Cardinal);
       procedure OwnerUpdate(aPlayer: TKMHandIndex);
  -    function FindBestTarget(var TargetOwner: TKMHandIndex; var aTargetPoint: TKMPoint; aForceToAttack: Boolean = False): Boolean;
       procedure CreateCompany(aTargetPoint: TKMPoint; aGroups: TKMUnitGroupArray; aCompanyMode: TKMCompanyMode = cm_Attack);
       function IsGroupInAction(aGroup: TKMUnitGroup): Boolean;
   
  
positive.code: 
    procedure SetOrders(aCnt: Integer; var aPositions: TKMPointArray);
    const
      TIME_PER_A_TILE = 8; // Max ticks per a tile
      INIT_DIST = 1000;
    var
      I, K, Dist, ClosestDist, ClosestIdx: Integer;
  
negative.code:         if (ClosestDist = INIT_DIST) then
            break;
          Squads[ClosestIdx].FinalPosition := KMPointDir(Position, Dir);
          Squads[ClosestIdx].TimeLimit := aTick + KMDistanceAbs(Position, Squads[ClosestIdx].Position) * TIME_PER_A_TILE;
          AvailableSquads[ClosestIdx] := False;
        end;
      finally
  