Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static function XComGameState_Unit CreateMTFPersonnelUnit(XComGameState NewGameState, name nmCharacter, name nmCountry, optional bool bIsRookie) //That's my bootleg version of CreatePersonnelUnit function, that is set to give the soldier class of mtf chief no matter what
- {
- local XComGameStateHistory History;
- local XComGameState_Unit NewUnitState;
- local XComGameState_HeadquartersXCom XComHQ;
- local XComGameState_HeadquartersResistance ResistanceHQ;
- local int idx, NewRank, StartingIdx;
- History = `XCOMHISTORY;
- //Use the character pool's creation method to retrieve a unit
- NewUnitState = `CHARACTERPOOLMGR.CreateCharacter(NewGameState, `XPROFILESETTINGS.Data.m_eCharPoolUsage, nmCharacter, nmCountry);
- NewUnitState.RandomizeStats();
- if (NewUnitState.IsSoldier())
- {
- XComHQ = XComGameState_HeadquartersXCom(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
- ResistanceHQ = XComGameState_HeadquartersResistance(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersResistance'));
- if (!NewGameState.GetContext().IsStartState())
- {
- ResistanceHQ = XComGameState_HeadquartersResistance(NewGameState.ModifyStateObject(class'XComGameState_HeadquartersResistance', ResistanceHQ.ObjectID));
- }
- NewUnitState.ApplyInventoryLoadout(NewGameState);
- NewRank = GetPersonnelRewardRank(true, bIsRookie);
- NewUnitState.SetXPForRank(NewRank);
- NewUnitState.StartingRank = NewRank;
- StartingIdx = 0;
- if(NewUnitState.GetMyTemplate().DefaultSoldierClass != '' && NewUnitState.GetMyTemplate().DefaultSoldierClass != class'X2SoldierClassTemplateManager'.default.DefaultSoldierClass)
- {
- // Some character classes start at squaddie on creation
- StartingIdx = 1;
- }
- for (idx = StartingIdx; idx < NewRank; idx++)
- {
- // Rank up to squaddie
- if (idx == 0)
- {
- NewUnitState.RankUpSoldier(NewGameState, 'MTFChief');
- NewUnitState.ApplySquaddieLoadout(NewGameState);
- NewUnitState.bNeedsNewClassPopup = false;
- }
- else
- {
- NewUnitState.RankUpSoldier(NewGameState, 'MTFChief');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement