anchor.diff:      for I := 0 to Length(aAvaiableGroups) - 1 do
         Inc(  GTArr[ aAvaiableGroups[I].GroupType ]  );
   
  -    CompaniesCnt := Max(1, Round(Length(aAvaiableGroups) / MAX_GROUPS_IN_COMPANY));
  +    CompaniesCnt := Max(1, Ceil(Length(aAvaiableGroups) / MAX_GROUPS_IN_COMPANY));
       HighAG := Length(aAvaiableGroups) - 1;
       for I := 0 to CompaniesCnt - 1 do
       begin
  
positive.code:     fHostileGroups.Delete(I);
      if (Group <> nil) then
      begin
        gHands.CleanUpGroupPointer(Group);
        UGA[I] := Group;
      end;
    end;
    fDefence.FindEnemyInDefLine(UGA);
  
negative.code:           end;
         end;
  
        SetLength(Groups, GCnt);
        fattack.CreateCompany(aTargetPoint, Groups);
      end;
    end;
  