EP1_S01_PathMusicGameDynamicState.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3. <!-- This file contains PathMusic Dynamic State Sets which are specially designed to work with
  4. the special Romania mission in EP1. Triggers for change are similar to the Yuriko missions, since
  5. you're not really building an army here, just recruting as you go.-->
  6. <!-- ******************************************************************************
  7. TOTAL STATE SET
  8. ****************************************************************************** -->
  9. <PathMusicGameDynamicStateSet id="Expedition_Scuffle_From_Explore_NoLeadIn" Category="SCRIPTED">
  10. <State>Expedition_Explore_NoLeadIn</State>
  11. <State>Expedition_Small_Combat</State>
  12. <State>Expedition_Calm</State>
  13. </PathMusicGameDynamicStateSet>
  14. <PathMusicGameDynamicStateSet id="Expedition_Scuffle_From_Threat" Category="SCRIPTED">
  15. <State>Expedition_Threat</State>
  16. <State>Expedition_Small_Combat</State>
  17. <State>Expedition_Calm</State>
  18. </PathMusicGameDynamicStateSet>
  19. <!-- ******************************************************************************
  20. STATES
  21. ****************************************************************************** -->
  22. <PathMusicGameDynamicState id="Expedition_Explore_NoLeadIn">
  23. <Transition>Expedition_Explore_NoLeadIn_to_Expedition_Small_Combat</Transition>
  24. </PathMusicGameDynamicState>
  25. <PathMusicGameDynamicState id="Expedition_Threat" EnterEvent="S_S01RomaniaThreat">
  26. <Transition>Expedition_Threat_to_Expedition_Small_Combat</Transition>
  27. </PathMusicGameDynamicState>
  28. <PathMusicGameDynamicState id="Expedition_Small_Combat" EnterEvent="S_S01RomaniaSmallFight">
  29. <Transition>Expedition_Small_Combat_to_Expedition_Calm</Transition>
  30. </PathMusicGameDynamicState>
  31. <PathMusicGameDynamicState id="Expedition_Calm" EnterEvent="S_S01RomaniaFightFinished">
  32. <Transition>Expedition_Calm_to_Expedition_Small_Combat</Transition>
  33. </PathMusicGameDynamicState>
  34. <!-- ******************************************************************************
  35. TRANSITIONS
  36. ****************************************************************************** -->
  37. <PathMusicGameDynamicTransition id="Expedition_Explore_NoLeadIn_to_Expedition_Small_Combat" DestinationState="Expedition_Small_Combat">
  38. <Condition>Expedition_Explore_NoLeadIn_to_Expedition_Small_Combat_Allowed</Condition>
  39. </PathMusicGameDynamicTransition>
  40. <PathMusicGameDynamicTransition id="Expedition_Threat_to_Expedition_Small_Combat" DestinationState="Expedition_Small_Combat">
  41. <Condition>Expedition_Threat_to_Expedition_Small_Combat_Allowed</Condition>
  42. </PathMusicGameDynamicTransition>
  43. <PathMusicGameDynamicTransition id="Expedition_Small_Combat_to_Expedition_Calm" DestinationState="Expedition_Calm">
  44. <Condition>Expedition_Small_Combat_to_Expedition_Calm_Allowed</Condition>
  45. </PathMusicGameDynamicTransition>
  46. <PathMusicGameDynamicTransition id="Expedition_Calm_to_Expedition_Small_Combat" DestinationState="Expedition_Small_Combat">
  47. <Condition>Expedition_Calm_to_Expedition_Small_Combat_Allowed</Condition>
  48. </PathMusicGameDynamicTransition>
  49. <!-- ******************************************************************************
  50. CONDITIONS : General-Reuseable
  51. ****************************************************************************** -->
  52. <MusicScriptConditionNugget_Not id="SomeEnemyUnits_Not_NearExpedition1" >
  53. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  54. </MusicScriptConditionNugget_Not>
  55. <MusicScriptConditionNugget_ObjectTypesInProximity id="SomeEnemyUnits_NearExpedition1"
  56. TypeAFilter="EP1_S01_PlayerUnits"
  57. TypeACount="1"
  58. TypeBFilter="EP1_S01_EnemyUnits"
  59. TypeBCount="3"
  60. Distance="300.0"
  61. TimeBetweenConditionChecks="0.6s">
  62. </MusicScriptConditionNugget_ObjectTypesInProximity>
  63. <MusicScriptConditionNugget_Not id="AnyEnemyUnits_Not_NearExpedition1" >
  64. <Condition>AnyEnemyUnits_NearExpedition1</Condition>
  65. </MusicScriptConditionNugget_Not>
  66. <MusicScriptConditionNugget_ObjectTypesInProximity id="AnyEnemyUnits_NearExpedition1"
  67. TypeAFilter="EP1_S01_PlayerUnits"
  68. TypeACount="1"
  69. TypeBFilter="EP1_S01_EnemyUnits"
  70. TypeBCount="1"
  71. Distance="300.0"
  72. TimeBetweenConditionChecks="0.5s">
  73. </MusicScriptConditionNugget_ObjectTypesInProximity>
  74. <MusicScriptConditionNugget_Not id="NoEnemiesEngagedExpedition" >
  75. <Condition>AnyEnemiesEngagedExpedition</Condition>
  76. </MusicScriptConditionNugget_Not>
  77. <MusicScriptConditionNugget_EngagementCount id="AnyEnemiesEngagedExpedition"
  78. Count="1"
  79. Time="10s"
  80. CountOnlyEngagementsAgainstTheLocalPlayer="true"
  81. CountOnlyEngagementsByTheLocalPlayer="false"
  82. RequiredScreenStatus="ON_OR_OFF_SCREEN"
  83. TimeBetweenConditionChecks="0.5s">
  84. </MusicScriptConditionNugget_EngagementCount>
  85. <MusicScriptConditionNugget_EngagementCount id="FewEnemiesEngagedExpedition"
  86. Count="2"
  87. Time="10s"
  88. CountOnlyEngagementsAgainstTheLocalPlayer="true"
  89. CountOnlyEngagementsByTheLocalPlayer="false"
  90. RequiredScreenStatus="ON_OR_OFF_SCREEN"
  91. TimeBetweenConditionChecks="0.5s">
  92. </MusicScriptConditionNugget_EngagementCount>
  93. <MusicScriptConditionNugget_EngagementCount id="ManyEnemiesEngagedExpedition"
  94. Count="6"
  95. Time="10s"
  96. CountOnlyEngagementsAgainstTheLocalPlayer="true"
  97. CountOnlyEngagementsByTheLocalPlayer="false"
  98. RequiredScreenStatus="ON_OR_OFF_SCREEN"
  99. TimeBetweenConditionChecks="0.5s">
  100. </MusicScriptConditionNugget_EngagementCount>
  101. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Explore_NoLeadIn_EnteredMomentAgo"
  102. TrackedState="Expedition_Explore_NoLeadIn"
  103. TrackedStateChange="ENTER"
  104. TimeSinceLastActive="20s"
  105. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  106. </MusicScriptConditionNugget_PathMusicStateLastActive>
  107. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Threat_EnteredMomentAgo"
  108. TrackedState="Expedition_Threat"
  109. TrackedStateChange="ENTER"
  110. TimeSinceLastActive="20s"
  111. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  112. </MusicScriptConditionNugget_PathMusicStateLastActive>
  113. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Small_Combat_EnteredBitAgo"
  114. TrackedState="Expedition_Small_Combat"
  115. TrackedStateChange="ENTER"
  116. TimeSinceLastActive="10s"
  117. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  118. </MusicScriptConditionNugget_PathMusicStateLastActive>
  119. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Small_Combat_EnteredMomentAgo"
  120. TrackedState="Expedition_Small_Combat"
  121. TrackedStateChange="ENTER"
  122. TimeSinceLastActive="20s"
  123. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  124. </MusicScriptConditionNugget_PathMusicStateLastActive>
  125. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Medium_Combat_EnteredMomentAgo"
  126. TrackedState="Expedition_Medium_Combat"
  127. TrackedStateChange="ENTER"
  128. TimeSinceLastActive="20s"
  129. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  130. </MusicScriptConditionNugget_PathMusicStateLastActive>
  131. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Calm_EnteredMomentAgo"
  132. TrackedState="Expedition_Calm"
  133. TrackedStateChange="ENTER"
  134. TimeSinceLastActive="20s"
  135. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  136. </MusicScriptConditionNugget_PathMusicStateLastActive>
  137. <!-- ******************************************************************************
  138. CONDITIONS : Transition-Specific Combinations
  139. ****************************************************************************** -->
  140. <MusicScriptConditionNugget_And id="Expedition_Threat_to_Expedition_Small_Combat_Allowed" >
  141. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  142. <Condition>Expedition_Threat_EnteredMomentAgo</Condition>
  143. </MusicScriptConditionNugget_And>
  144. <MusicScriptConditionNugget_And id="Expedition_Explore_NoLeadIn_to_Expedition_Small_Combat_Allowed" >
  145. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  146. <Condition>Expedition_Explore_NoLeadIn_EnteredMomentAgo</Condition>
  147. </MusicScriptConditionNugget_And>
  148. <MusicScriptConditionNugget_And id="Expedition_Small_Combat_to_Expedition_Calm_Allowed" >
  149. <Condition>AnyEnemyUnits_Not_NearExpedition1</Condition>
  150. <Condition>NoEnemiesEngagedExpedition</Condition>
  151. <Condition>Expedition_Small_Combat_EnteredBitAgo</Condition>
  152. </MusicScriptConditionNugget_And>
  153. <MusicScriptConditionNugget_And id="Expedition_Calm_to_Expedition_Small_Combat_Allowed" >
  154. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  155. <Condition>Expedition_Calm_EnteredMomentAgo</Condition>
  156. </MusicScriptConditionNugget_And>
  157. <!-- ==============================================
  158. PART 2 SYSTEM
  159. ==============================================-->
  160. <!-- ******************************************************************************
  161. TOTAL STATE SET
  162. ****************************************************************************** -->
  163. <PathMusicGameDynamicStateSet id="Expedition_Scuffle_From_Explore_NoLeadIn_Pt2" Category="SCRIPTED">
  164. <State>Expedition_Explore_NoLeadIn_Pt2</State>
  165. <State>Expedition_Small_Combat_Pt2</State>
  166. <State>Expedition_Calm_Pt2</State>
  167. </PathMusicGameDynamicStateSet>
  168. <!-- ******************************************************************************
  169. STATES
  170. ****************************************************************************** -->
  171. <PathMusicGameDynamicState id="Expedition_Explore_NoLeadIn_Pt2">
  172. <Transition>Expedition_Explore_NoLeadIn_Pt2_to_Expedition_Small_Combat_Pt2</Transition>
  173. </PathMusicGameDynamicState>
  174. <PathMusicGameDynamicState id="Expedition_Small_Combat_Pt2" EnterEvent="S_S01RomaniaBigFight">
  175. <Transition>Expedition_Small_Combat_Pt2_to_Expedition_Calm_Pt2</Transition>
  176. </PathMusicGameDynamicState>
  177. <PathMusicGameDynamicState id="Expedition_Calm_Pt2" EnterEvent="S_S01RomaniaFightFinished">
  178. <Transition>Expedition_Calm_Pt2_to_Expedition_Small_Combat_Pt2</Transition>
  179. </PathMusicGameDynamicState>
  180. <!-- ******************************************************************************
  181. TRANSITIONS
  182. ****************************************************************************** -->
  183. <PathMusicGameDynamicTransition id="Expedition_Explore_NoLeadIn_Pt2_to_Expedition_Small_Combat_Pt2" DestinationState="Expedition_Small_Combat_Pt2">
  184. <Condition>Expedition_Explore_NoLeadIn_Pt2_to_Expedition_Small_Combat_Pt2_Allowed</Condition>
  185. </PathMusicGameDynamicTransition>
  186. <PathMusicGameDynamicTransition id="Expedition_Small_Combat_Pt2_to_Expedition_Calm_Pt2" DestinationState="Expedition_Calm_Pt2">
  187. <Condition>Expedition_Small_Combat_Pt2_to_Expedition_Calm_Pt2_Allowed</Condition>
  188. </PathMusicGameDynamicTransition>
  189. <PathMusicGameDynamicTransition id="Expedition_Calm_Pt2_to_Expedition_Small_Combat_Pt2" DestinationState="Expedition_Small_Combat_Pt2">
  190. <Condition>Expedition_Calm_Pt2_to_Expedition_Small_Combat_Pt2_Allowed</Condition>
  191. </PathMusicGameDynamicTransition>
  192. <!-- ******************************************************************************
  193. CONDITIONS : General-Reuseable
  194. ****************************************************************************** -->
  195. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Explore_NoLeadIn_Pt2_EnteredMomentAgo"
  196. TrackedState="Expedition_Explore_NoLeadIn_Pt2"
  197. TrackedStateChange="ENTER"
  198. TimeSinceLastActive="20s"
  199. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  200. </MusicScriptConditionNugget_PathMusicStateLastActive>
  201. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Small_Combat_Pt2_EnteredBitAgo"
  202. TrackedState="Expedition_Small_Combat_Pt2"
  203. TrackedStateChange="ENTER"
  204. TimeSinceLastActive="10s"
  205. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  206. </MusicScriptConditionNugget_PathMusicStateLastActive>
  207. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Small_Combat_Pt2_EnteredMomentAgo"
  208. TrackedState="Expedition_Small_Combat_Pt2"
  209. TrackedStateChange="ENTER"
  210. TimeSinceLastActive="20s"
  211. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  212. </MusicScriptConditionNugget_PathMusicStateLastActive>
  213. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Medium_Combat_Pt2_EnteredMomentAgo"
  214. TrackedState="Expedition_Medium_Combat_Pt2"
  215. TrackedStateChange="ENTER"
  216. TimeSinceLastActive="20s"
  217. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  218. </MusicScriptConditionNugget_PathMusicStateLastActive>
  219. <MusicScriptConditionNugget_PathMusicStateLastActive id="Expedition_Calm_Pt2_EnteredMomentAgo"
  220. TrackedState="Expedition_Calm_Pt2"
  221. TrackedStateChange="ENTER"
  222. TimeSinceLastActive="20s"
  223. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  224. </MusicScriptConditionNugget_PathMusicStateLastActive>
  225. <!-- ******************************************************************************
  226. CONDITIONS : Transition-Specific Combinations
  227. ****************************************************************************** -->
  228. <MusicScriptConditionNugget_And id="Expedition_Explore_NoLeadIn_Pt2_to_Expedition_Small_Combat_Pt2_Allowed" >
  229. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  230. <Condition>Expedition_Explore_NoLeadIn_Pt2_EnteredMomentAgo</Condition>
  231. </MusicScriptConditionNugget_And>
  232. <MusicScriptConditionNugget_And id="Expedition_Small_Combat_Pt2_to_Expedition_Calm_Pt2_Allowed" >
  233. <Condition>AnyEnemyUnits_Not_NearExpedition1</Condition>
  234. <Condition>NoEnemiesEngagedExpedition</Condition>
  235. <Condition>Expedition_Small_Combat_Pt2_EnteredMomentAgo</Condition>
  236. </MusicScriptConditionNugget_And>
  237. <MusicScriptConditionNugget_And id="Expedition_Calm_Pt2_to_Expedition_Small_Combat_Pt2_Allowed" >
  238. <Condition>SomeEnemyUnits_NearExpedition1</Condition>
  239. <Condition>Expedition_Calm_Pt2_EnteredMomentAgo</Condition>
  240. </MusicScriptConditionNugget_And>
  241. <!-- Extra Data -->
  242. <ObjectFilterAsset id="EP1_S01_PlayerUnits">
  243. <Filter
  244. Rule="ALL"
  245. Relationship="SAME_PLAYER"
  246. Exclude="PROJECTILE STRUCTURE UNATTACKABLE SIMPLE_OBJECT_PROP"
  247. StatusBitFlagsExclude="RUBBLE">
  248. </Filter>
  249. </ObjectFilterAsset>
  250. <ObjectFilterAsset id="EP1_S01_EnemyUnits">
  251. <Filter
  252. Rule="ALL"
  253. Relationship="ENEMIES"
  254. Exclude="PROJECTILE STRUCTURE UNATTACKABLE SIMPLE_OBJECT_PROP"
  255. StatusBitFlagsExclude="RUBBLE">
  256. </Filter>
  257. </ObjectFilterAsset>
  258. </AssetDeclaration>