How to force squad size to 6 for first mission only

I found the function, but have hard time (and coding experience) to understand it :

//--------------------------------------------------------------------------------------- static function CreateStartingSoldiers(XComGameState StartState, optional bool bTutorialEnabled = false) { local XComGameState_Unit NewSoldierState;
local XComGameState_HeadquartersXCom XComHQ; local XGCharacterGenerator CharacterGenerator; local TSoldier TutSoldier; local int Index, i; local XComGameState_GameTime GameTime; local XComGameState_Analytics Analytics; local TAppearance TutSoldierAppearance; local TDateTime TutKIADate; local StateObjectReference EmptyRef; local X2MissionSourceTemplate MissionSource;

assert(StartState != none);

foreach StartState.IterateByClassType(class'XComGameState_HeadquartersXCom', XComHQ)
{
    break;
}

foreach StartState.IterateByClassType(class'XComGameState_GameTime', GameTime)
{
    break;
}
`assert( GameTime != none );

foreach StartState.IterateByClassType( class'XComGameState_Analytics', Analytics )
{
    break;
}
`assert( Analytics != none );

CharacterGenerator = XComGameInfo(class'WorldInfo'.static.GetWorldInfo().Game).m_CharacterGen;

// Starting soldiers
for( Index = 0; Index < class'XGTacticalGameCore'.default.NUM_STARTING_SOLDIERS; ++Index )
{
    NewSoldierState = `CHARACTERPOOLMGR.CreateCharacter(StartState, default.InitialSoldiersCharacterPoolSelectionMode);

    if(bTutorialEnabled && Index == 0)
    {
        TutSoldier = CharacterGenerator.CreateTSoldier('Soldier', default.TutorialSoldierGender, default.TutorialSoldierCountry);
        TutSoldierAppearance = default.TutorialSoldierAppearance;

        if(GetLanguage() == "FRA")
        {
            TutSoldierAppearance.nmVoice = default.TutorialSoldierFrenchVoice;
        }
        else if(GetLanguage() == "DEU")
        {
            TutSoldierAppearance.nmVoice = default.TutorialSoldierGermanVoice;
        }
        else if(GetLanguage() == "ITA")
        {
            TutSoldierAppearance.nmVoice = default.TutorialSoldierItalianVoice;
        }
        else if(GetLanguage() == "ESN")
        {
            TutSoldierAppearance.nmVoice = default.TutorialSoldierSpanishVoice;
        }
        else
        {
            TutSoldierAppearance.nmVoice = default.TutorialSoldierEnglishVoice;
        }

        NewSoldierState.SetTAppearance(TutSoldierAppearance);
        NewSoldierState.SetCharacterName(class'XLocalizedData'.default.TutorialSoldierFirstName, class'XLocalizedData'.default.TutorialSoldierLastName, TutSoldier.strNickName);
        NewSoldierState.SetCountry(TutSoldier.nmCountry);
        NewSoldierState.SetXPForRank(1);
        NewSoldierState.StartingRank = 1;
        NewSoldierState.iNumMissions = 1;
        XComHQ.TutorialSoldier = NewSoldierState.GetReference();
    }

    NewSoldierState.GiveRandomPersonality();
    NewSoldierState.RandomizeStats();
    NewSoldierState.ApplyInventoryLoadout(StartState);

    NewSoldierState.SetHQLocation(eSoldierLoc_Barracks);

    XComHQ.AddToCrew(StartState, NewSoldierState);
    NewSoldierState.m_RecruitDate = GameTime.CurrentTime; // AddToCrew does this, but during start state creation the StrategyRuleset hasn't been created yet

    if(XComHQ.Squad.Length < class'X2StrategyGameRulesetDataStructures'.static.GetMaxSoldiersAllowedOnMission())
    {
        XComHQ.Squad.AddItem(NewSoldierState.GetReference());
    }

    StartState.AddStateObject( NewSoldierState );
}
/r/xcom2mods Thread