anchor.diff:        // Take group in defence position
         if (fDefence.FindPositionOf(Group) <> nil) then
         begin
  -        if (Length(AvaiableGroups) <= Cnt) then
  -          SetLength(AvaiableGroups, Length(AvaiableGroups) + 16);
  -        AvaiableGroups[Cnt] := Group;
  +        if (Length(AvailableGroups) <= Cnt) then
  +          SetLength(AvailableGroups, Length(AvailableGroups) + 16);
  +        AvailableGroups[Cnt] := Group;
           Cnt := Cnt + 1;
         end;
       end;
  
positive.code:         for K := HighAG downto 0 do
            if (GTMaxCnt <= 0) then
              break
            else if (aAvaiableGroups[K].GroupType = GT) then
            begin
              if (Length(Groups) <= GCnt) then
                SetLength(Groups, GCnt + MAX_GROUPS_IN_COMPANY);
              Groups[GCnt] := aAvaiableGroups[K];
              GCnt := GCnt + 1;
              aAvaiableGroups[K] := aAvaiableGroups[HighAG];
              HighAG := HighAG - 1;
              GTMaxCnt := GTMaxCnt - 1;
            end;
  
negative.code:   end;
    // ForceToAttack := ForceToAttack OR (gGame.MissionMode = mm_Tactic); // Maybe force attack in mm_Tactic map? But some of mm_Tactic map are also defensive...
  
    // Get array of pointers to available groups
    Cnt := 0;
    for I := 0 to gHands[fOwner].UnitGroups.Count - 1 do
    begin
  