Advertisement
kregano

(Chimera Squad) Cone of Fire DLCInfo

Apr 25th, 2020
456
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.36 KB | None | 0 0
  1. //---------------------------------------------------------------------------------------
  2. // FILE: XComDownloadableContentInfo_Chimera_ConeOfFire.uc
  3. //
  4. // The X2DownloadableContentInfo class provides basic hooks into XCOM gameplay events.
  5. // Ex. behavior when the player creates a new campaign or loads a saved game.
  6. //
  7. //---------------------------------------------------------------------------------------
  8.  
  9. class X2DownloadableContentInfo_Chimera_ConeOfFire extends X2DownloadableContentInfo;
  10.  
  11. /// <summary>
  12. /// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
  13. /// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
  14. /// create without the content installed. Subsequent saves will record that the content was installed.
  15. /// </summary>
  16. static event OnLoadedSavedGame()
  17. {
  18. GetEarnedSoldierAbilities();
  19. }
  20.  
  21. /// <summary>
  22. /// This method is run when the player loads a saved game directly into Strategy while this DLC is installed
  23. /// </summary>
  24. static event OnLoadedSavedGameToStrategy()
  25. {
  26.  
  27. }
  28.  
  29. /// <summary>
  30. /// 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
  31. /// is contained in a strategy start state. Never add additional history frames inside of InstallNewCampaign, add new state objects to the start state
  32. /// or directly modify start state objects
  33. /// </summary>
  34. static event InstallNewCampaign(XComGameState StartState)
  35. {
  36.  
  37. }
  38.  
  39. /// <summary>
  40. /// Called just before the player launches into a tactical a mission while this DLC / Mod is installed.
  41. /// Allows dlcs/mods to modify the start state before launching into the mission
  42. /// </summary>
  43. static event OnPreMission(XComGameState StartGameState, XComGameState_MissionSite MissionState)
  44. {
  45.  
  46. }
  47.  
  48. /// <summary>
  49. /// Called when the player completes a mission while this DLC / Mod is installed.
  50. /// </summary>
  51. static event OnPostMission()
  52. {
  53.  
  54. }
  55.  
  56. /// <summary>
  57. /// Called when the player is doing a direct tactical->tactical mission transfer. Allows mods to modify the
  58. /// start state of the new transfer mission if needed
  59. /// </summary>
  60. static event ModifyTacticalTransferStartState(XComGameState TransferStartState)
  61. {
  62.  
  63. }
  64.  
  65. /// <summary>
  66. /// Called after the player exits the post-mission sequence while this DLC / Mod is installed.
  67. /// </summary>
  68. static event OnExitPostMissionSequence()
  69. {
  70.  
  71. }
  72.  
  73. /// <summary>
  74. /// Called after the Templates have been created (but before they are validated) while this DLC / Mod is installed.
  75. /// </summary>
  76. static event OnPostTemplatesCreated()
  77. {
  78. AddAbilities('AssaultRifle_CV', 'Suppression');
  79. AddAbilities('AssaultRifle_MG', 'Suppression');
  80. AddAbilities('AssaultRifle_BM', 'Suppression');
  81. AddAbilities('Pistol_CV', 'Suppression');
  82. AddAbilities('Pistol_MG', 'Suppression');
  83. AddAbilities('Pistol_BM', 'Suppression');
  84. AddAbilities('Bullpup_CV', 'Suppression');
  85. AddAbilities('Bullpup_MG', 'Suppression');
  86. AddAbilities('Bullpup_BM', 'Suppression');
  87. }
  88.  
  89. static function array<SoldierClassAbilityType> GetEarnedSoldierAbilities()
  90. {
  91. local X2SoldierClassTemplate ClassTemplate;
  92. local array<SoldierClassAbilityType> EarnedAbilities, AbilityTree;
  93. local SoldierClassAbilityType Ability;
  94. local int i;
  95.  
  96. ClassTemplate = GetSoldierClassTemplate();
  97. if (ClassTemplate != none)
  98. {
  99. for (i = 0; i < m_SoldierProgressionAbilties.Length; ++i)
  100. {
  101. if (ClassTemplate.GetMaxConfiguredRank() <= m_SoldierProgressionAbilties[i].iRank)
  102. continue;
  103. AbilityTree = ClassTemplate.GetAbilityTree(m_SoldierProgressionAbilties[i].iRank);
  104. if (AbilityTree.Length <= m_SoldierProgressionAbilties[i].iBranch)
  105. continue;
  106. Ability = AbilityTree[m_SoldierProgressionAbilties[i].iBranch];
  107. EarnedAbilities.AddItem(Ability);
  108. }
  109. }
  110. }
  111.  
  112. /// <summary>
  113. /// Called when the difficulty changes and this DLC is active
  114. /// </summary>
  115. static event OnDifficultyChanged()
  116. {
  117.  
  118. }
  119.  
  120. /// <summary>
  121. /// Called by the Geoscape tick
  122. /// </summary>
  123. static event UpdateDLC()
  124. {
  125.  
  126. }
  127.  
  128. /// <summary>
  129. /// Called after HeadquartersAlien builds a Facility
  130. /// </summary>
  131. static event OnPostAlienFacilityCreated(XComGameState NewGameState, StateObjectReference MissionRef)
  132. {
  133.  
  134. }
  135.  
  136. /// <summary>
  137. /// Called after a new Alien Facility's doom generation display is completed
  138. /// </summary>
  139. static event OnPostFacilityDoomVisualization()
  140. {
  141.  
  142. }
  143.  
  144. /// <summary>
  145. /// Called when viewing mission blades, used primarily to modify tactical tags for spawning
  146. /// Returns true when the mission's spawning info needs to be updated
  147. /// </summary>
  148. static function bool ShouldUpdateMissionSpawningInfo(StateObjectReference MissionRef)
  149. {
  150. return false;
  151. }
  152.  
  153. /// <summary>
  154. /// Called when viewing mission blades, used primarily to modify tactical tags for spawning
  155. /// Returns true when the mission's spawning info needs to be updated
  156. /// </summary>
  157. static function bool UpdateMissionSpawningInfo(StateObjectReference MissionRef)
  158. {
  159. return false;
  160. }
  161.  
  162. /// <summary>
  163. /// Called when viewing mission blades, used to add any additional text to the mission description
  164. /// </summary>
  165. static function string GetAdditionalMissionDesc(StateObjectReference MissionRef)
  166. {
  167. return "";
  168. }
  169.  
  170. /// <summary>
  171. /// Called from X2AbilityTag:ExpandHandler after processing the base game tags. Return true (and fill OutString correctly)
  172. /// to indicate the tag has been expanded properly and no further processing is needed.
  173. /// </summary>
  174. static function bool AbilityTagExpandHandler(string InString, out string OutString)
  175. {
  176. return false;
  177. }
  178.  
  179. /// <summary>
  180. /// Called from XComGameState_Unit:GatherUnitAbilitiesForInit after the game has built what it believes is the full list of
  181. /// abilities for the unit based on character, class, equipment, et cetera. You can add or remove abilities in SetupData.
  182. /// </summary>
  183. static function FinalizeUnitAbilitiesForInit(XComGameState_Unit UnitState, out array<AbilitySetupData> SetupData, optional XComGameState StartState, optional XComGameState_Player PlayerState, optional bool bMultiplayerDisplay)
  184. {
  185.  
  186. }
  187.  
  188. /// <summary>
  189. /// Calls DLC specific popup handlers to route messages to correct display functions
  190. /// </summary>
  191. static function bool DisplayQueuedDynamicPopup(DynamicPropertySet PropertySet)
  192. {
  193.  
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement