Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------------------------------------------------------------------
- // FILE: XComDownloadableContentInfo_Chimera_ConeOfFire.uc
- //
- // The X2DownloadableContentInfo class provides basic hooks into XCOM gameplay events.
- // Ex. behavior when the player creates a new campaign or loads a saved game.
- //
- //---------------------------------------------------------------------------------------
- class X2DownloadableContentInfo_Chimera_ConeOfFire extends X2DownloadableContentInfo;
- /// <summary>
- /// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
- /// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
- /// create without the content installed. Subsequent saves will record that the content was installed.
- /// </summary>
- static event OnLoadedSavedGame()
- {
- GetEarnedSoldierAbilities();
- }
- /// <summary>
- /// This method is run when the player loads a saved game directly into Strategy while this DLC is installed
- /// </summary>
- static event OnLoadedSavedGameToStrategy()
- {
- }
- /// <summary>
- /// Called when the player starts a new campaign while this DLC / Mod is installed. When a new campaign is started the initial state of the world
- /// is contained in a strategy start state. Never add additional history frames inside of InstallNewCampaign, add new state objects to the start state
- /// or directly modify start state objects
- /// </summary>
- static event InstallNewCampaign(XComGameState StartState)
- {
- }
- /// <summary>
- /// Called just before the player launches into a tactical a mission while this DLC / Mod is installed.
- /// Allows dlcs/mods to modify the start state before launching into the mission
- /// </summary>
- static event OnPreMission(XComGameState StartGameState, XComGameState_MissionSite MissionState)
- {
- }
- /// <summary>
- /// Called when the player completes a mission while this DLC / Mod is installed.
- /// </summary>
- static event OnPostMission()
- {
- }
- /// <summary>
- /// Called when the player is doing a direct tactical->tactical mission transfer. Allows mods to modify the
- /// start state of the new transfer mission if needed
- /// </summary>
- static event ModifyTacticalTransferStartState(XComGameState TransferStartState)
- {
- }
- /// <summary>
- /// Called after the player exits the post-mission sequence while this DLC / Mod is installed.
- /// </summary>
- static event OnExitPostMissionSequence()
- {
- }
- /// <summary>
- /// Called after the Templates have been created (but before they are validated) while this DLC / Mod is installed.
- /// </summary>
- static event OnPostTemplatesCreated()
- {
- AddAbilities('AssaultRifle_CV', 'Suppression');
- AddAbilities('AssaultRifle_MG', 'Suppression');
- AddAbilities('AssaultRifle_BM', 'Suppression');
- AddAbilities('Pistol_CV', 'Suppression');
- AddAbilities('Pistol_MG', 'Suppression');
- AddAbilities('Pistol_BM', 'Suppression');
- AddAbilities('Bullpup_CV', 'Suppression');
- AddAbilities('Bullpup_MG', 'Suppression');
- AddAbilities('Bullpup_BM', 'Suppression');
- }
- static function array<SoldierClassAbilityType> GetEarnedSoldierAbilities()
- {
- local X2SoldierClassTemplate ClassTemplate;
- local array<SoldierClassAbilityType> EarnedAbilities, AbilityTree;
- local SoldierClassAbilityType Ability;
- local int i;
- ClassTemplate = GetSoldierClassTemplate();
- if (ClassTemplate != none)
- {
- for (i = 0; i < m_SoldierProgressionAbilties.Length; ++i)
- {
- if (ClassTemplate.GetMaxConfiguredRank() <= m_SoldierProgressionAbilties[i].iRank)
- continue;
- AbilityTree = ClassTemplate.GetAbilityTree(m_SoldierProgressionAbilties[i].iRank);
- if (AbilityTree.Length <= m_SoldierProgressionAbilties[i].iBranch)
- continue;
- Ability = AbilityTree[m_SoldierProgressionAbilties[i].iBranch];
- EarnedAbilities.AddItem(Ability);
- }
- }
- }
- /// <summary>
- /// Called when the difficulty changes and this DLC is active
- /// </summary>
- static event OnDifficultyChanged()
- {
- }
- /// <summary>
- /// Called by the Geoscape tick
- /// </summary>
- static event UpdateDLC()
- {
- }
- /// <summary>
- /// Called after HeadquartersAlien builds a Facility
- /// </summary>
- static event OnPostAlienFacilityCreated(XComGameState NewGameState, StateObjectReference MissionRef)
- {
- }
- /// <summary>
- /// Called after a new Alien Facility's doom generation display is completed
- /// </summary>
- static event OnPostFacilityDoomVisualization()
- {
- }
- /// <summary>
- /// Called when viewing mission blades, used primarily to modify tactical tags for spawning
- /// Returns true when the mission's spawning info needs to be updated
- /// </summary>
- static function bool ShouldUpdateMissionSpawningInfo(StateObjectReference MissionRef)
- {
- return false;
- }
- /// <summary>
- /// Called when viewing mission blades, used primarily to modify tactical tags for spawning
- /// Returns true when the mission's spawning info needs to be updated
- /// </summary>
- static function bool UpdateMissionSpawningInfo(StateObjectReference MissionRef)
- {
- return false;
- }
- /// <summary>
- /// Called when viewing mission blades, used to add any additional text to the mission description
- /// </summary>
- static function string GetAdditionalMissionDesc(StateObjectReference MissionRef)
- {
- return "";
- }
- /// <summary>
- /// Called from X2AbilityTag:ExpandHandler after processing the base game tags. Return true (and fill OutString correctly)
- /// to indicate the tag has been expanded properly and no further processing is needed.
- /// </summary>
- static function bool AbilityTagExpandHandler(string InString, out string OutString)
- {
- return false;
- }
- /// <summary>
- /// Called from XComGameState_Unit:GatherUnitAbilitiesForInit after the game has built what it believes is the full list of
- /// abilities for the unit based on character, class, equipment, et cetera. You can add or remove abilities in SetupData.
- /// </summary>
- static function FinalizeUnitAbilitiesForInit(XComGameState_Unit UnitState, out array<AbilitySetupData> SetupData, optional XComGameState StartState, optional XComGameState_Player PlayerState, optional bool bMultiplayerDisplay)
- {
- }
- /// <summary>
- /// Calls DLC specific popup handlers to route messages to correct display functions
- /// </summary>
- static function bool DisplayQueuedDynamicPopup(DynamicPropertySet PropertySet)
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement