anchor.diff:  
     procedure SetOrders(aCnt: Integer; var aPositions: TKMPointArray);
     const
  -    TIME_PER_A_TILE = 8; // Max ticks per a tile
  +    TIME_PER_A_TILE = 7; // Max ticks per a tile
       INIT_DIST = 1000;
     var
       I, K, Dist, ClosestDist, ClosestIdx: Integer;
  
positive.code:   else if (fTargetHouse <> nil) then
    begin
      FinPos := fTargetHouse.GetPosition;
      if PlanPath(ActPos, FinPos, False, True) then
        Group.OrderWalk(FinPos, True, wtokAISquad, FinalPosition.Dir)
      else if fTargetChanged OR (fAttackTimeLimit < aTick) then
      begin
  
negative.code:   fOnPlace := False;
    SQRDist := KMDistanceSqr(aActualPosition, aTargetPosition);
    // Time limit (time limit MUST be always set by higher rank (platoon))
    if (not (aOrderAttack OR aOrderDestroy) AND (fTimeLimit < aTick)) // Time limit is set to 0 in case that unit attack something
      // Target position is reached
      OR (KMDistanceSqr(aActualPosition, aTargetPosition) < SQR_POSITION_REACHED_TOLERANCE)
      // Target unit is close
  