Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ```static function UpdateStorage()
- {
- local XComGameState NewGameState;
- local XComGameStateHistory History;
- local XComGameState_HeadquartersXCom XComHQ;
- local X2ItemTemplateManager ItemTemplateMgr;
- local X2DataTemplate ItemTemplate;
- local name TemplateName;
- local XComGameState_Item NewItemState;
- local array<name> AllTemplateNames;
- History = `XCOMHISTORY;
- NewGameState = class'XComGameStateContext_ChangeContainer'.static.CreateChangeState(" Updating HQ Storage to add utility variants");
- XComHQ = XComGameState_HeadquartersXCom(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
- XComHQ = XComGameState_HeadquartersXCom(NewGameState.ModifyStateObject(class'XComGameState_HeadquartersXCom', XComHQ.ObjectID));
- //NewGameState.ModifyStateObject(XComHQ);
- ItemTemplateMgr = class'X2ItemTemplateManager'.static.GetItemTemplateManager();
- ItemTemplateMgr.GetTemplateNames(AllTemplateNames);
- foreach AllTemplateNames(TemplateName)
- {
- if (InStr(string(TemplateName), "Paired") != INDEX_NONE && InStr(string(TemplateName), "PsiAmp") != INDEX_NONE) // Does the TemplateName have "Paired" and "PsiAmp" in it?
- {
- ItemTemplate = ItemTemplateMgr.FindItemTemplate(name(Repl(string(TemplateName), "Paired", ""))); // Find the non-Paired "parent" template
- if (XComHQ.HasItem(X2ItemTemplate(ItemTemplate))) // Does XCOM have the non-Paired "parent" item?
- {
- ItemTemplate = ItemTemplateMgr.FindItemTemplate(name("Paired" $ ItemTemplate.DataName)); // Find the Paired template
- if (!XComHQ.HasItem(X2ItemTemplate(ItemTemplate))) // Does XCOM NOT have the Paired item?
- {
- `LOG("Adding to HQ" @ ItemTemplate.DataName,, 'UtilitySlotPsiamps');
- NewItemState = X2ItemTemplate(ItemTemplate).CreateInstanceFromTemplate(NewGameState);
- NewGameState.AddStateObject(NewItemState);
- XComHQ.AddItemToHQInventory(NewItemState);
- }
- }
- }
- }
- History.AddGameStateToHistory(NewGameState);
- History.CleanupPendingGameState(NewGameState);
- }```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement