anchor.diff:  procedure TKMArmyManagement.UpdateState(aTick: Cardinal);
   const
     PERF_TIME_LIMIT = MAX_HANDS * 10 * 10;
  +  //PERF_TIME_LIMIT = 10;
   begin
     if (aTick mod MAX_HANDS = fOwner) then
     begin
  
positive.code:   TargetOwner: TKMHandIndex;
    TargetPoint: TKMPoint;
    Group: TKMUnitGroup;
    AvaiableGroups: TKMUnitGroupArray;
  begin
    //Do not process attack or defence during peacetime
    if gGame.IsPeaceTime then Exit;
  
negative.code:     GTArr: array[TKMGroupType] of Integer;
      Groups: TKMUnitGroupArray;
    begin
      // Get count of available group types
      FillChar(GTArr, SizeOf(GTArr), #0);
      for I := 0 to Length(aAvailableGroups) - 1 do
        Inc(  GTArr[ aAvailableGroups[I].GroupType ]  );
  
      CompaniesCnt := Max(1, Ceil(Length(aAvailableGroups) / MAX_GROUPS_IN_COMPANY));
      HighAG := Length(aAvailableGroups) - 1;
      for I := 0 to CompaniesCnt - 1 do
      begin
        GCnt := 0;
  