Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Game Setup/Load Events
- static event OnLoadedSavedGame()
- {
- ManageWeaponTemplates();
- }
- static event InstallNewCampaign(XComGameState StartState)
- {
- // Not needed here.
- }
- static event OnLoadedSavedGameToStrategy()
- {
- ManageWeaponTemplates();
- }
- static event OnPostMission()
- {
- ManageWeaponTemplates();
- }
- // Add initial XPACK CV weapons to inventory if not already present
- static function ManageWeaponTemplates()
- {
- local XComGameState NewGameState;
- local XComGameStateHistory History;
- local XComGameState_HeadquartersXCom XComHQ;
- local X2ItemTemplateManager ItemTemplateMgr;
- local array<X2ItemTemplate> CheckItemTemplates, AddItemTemplates;
- local XComGameState_Item NewItemState;
- local int i;
- History = `XCOMHISTORY;
- ItemTemplateMgr = class'X2ItemTemplateManager'.static.GetItemTemplateManager();
- XComHQ = XComGameState_HeadquartersXCom(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
- // Check to see if the base items are in the HQ Inventory - if any are not, add them
- CheckItemTemplates.AddItem(ItemTemplateMgr.FindItemTemplate('Bullpup_CV'));
- CheckItemTemplates.AddItem(ItemTemplateMgr.FindItemTemplate('VektorRifle_CV'));
- for (i = 0; i < CheckItemTemplates.Length; ++i)
- {
- if(CheckItemTemplates[i] != none)
- {
- if (!XComHQ.HasItem(CheckItemTemplates[i]))
- {
- AddItemTemplates.AddItem(CheckItemTemplates[i]);
- } } }
- // If any items need to be added, create a new gamestate and add them
- if (AddItemTemplates.length > 0)
- {
- NewGameState = class'XComGameStateContext_ChangeContainer'.static.CreateChangeState("LW2 Secondaries: Updating HQ Storage");
- XComHQ = XComGameState_HeadquartersXCom(NewGameState.CreateStateObject(class'XComGameState_HeadquartersXCom', XComHQ.ObjectID));
- NewGameState.AddStateObject(XComHQ);
- for (i = 0; i < AddItemTemplates.Length; ++i)
- {
- if(AddItemTemplates[i] != none)
- {
- NewItemState = AddItemTemplates[i].CreateInstanceFromTemplate(NewGameState);
- NewGameState.AddStateObject(NewItemState);
- XComHQ.AddItemToHQInventory(NewItemState);
- } }
- History.AddGameStateToHistory(NewGameState);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement