ScriptedPathMusicGameDynamicState.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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. campaigns. They are usually truncated verions of the Standard Full State Set. They allow
  5. a certain degree of dynamic music detection, but will still keep the music within a certain
  6. "feel" for the circumstances of the campaign. It relies on certain portions of the Standard
  7. Full set. -->
  8. <!-- ______________________________________________________________________________________________ -->
  9. <!-- ******************************************************************************
  10. TOTAL STATE SET
  11. ****************************************************************************** -->
  12. <PathMusicGameDynamicStateSet id="CombatOnly_Full" Category="SCRIPTED">
  13. <State>CombatOnly_GeneralCombat</State>
  14. <State>CombatOnly_DisadvantageCombat</State>
  15. <State>CombatOnly_EvenCombat</State>
  16. </PathMusicGameDynamicStateSet>
  17. <!-- ******************************************************************************
  18. STATES
  19. ****************************************************************************** -->
  20. <PathMusicGameDynamicState id="CombatOnly_GeneralCombat" EnterEvent="Combat">
  21. <Transition>CombatOnly_GeneralCombat_to_CombatOnly_DisadvantageCombat</Transition>
  22. </PathMusicGameDynamicState>
  23. <PathMusicGameDynamicState id="CombatOnly_DisadvantageCombat" EnterEvent="SetAdvantageEnemy">
  24. <Transition>CombatOnly_DisadvantageCombat_to_CombatOnly_EvenCombat</Transition>
  25. </PathMusicGameDynamicState>
  26. <PathMusicGameDynamicState id="CombatOnly_EvenCombat" EnterEvent="ResetAdvantage">
  27. <Transition>CombatOnly_EvenCombat_to_CombatOnly_DisadvantageCombat</Transition>
  28. </PathMusicGameDynamicState>
  29. <!-- ******************************************************************************
  30. TRANSITIONS
  31. ****************************************************************************** -->
  32. <PathMusicGameDynamicTransition id="CombatOnly_GeneralCombat_to_CombatOnly_DisadvantageCombat"
  33. DestinationState="CombatOnly_DisadvantageCombat">
  34. <Condition>CombatOnly_GeneralCombat_to_CombatOnly_DisadvantageCombat_Allowed</Condition>
  35. </PathMusicGameDynamicTransition>
  36. <PathMusicGameDynamicTransition id="CombatOnly_DisadvantageCombat_to_CombatOnly_EvenCombat"
  37. DestinationState="CombatOnly_EvenCombat">
  38. <Condition>CombatOnly_DisadvantageCombat_to_CombatOnly_EvenCombat_Allowed</Condition>
  39. </PathMusicGameDynamicTransition>
  40. <PathMusicGameDynamicTransition id="CombatOnly_EvenCombat_to_CombatOnly_DisadvantageCombat"
  41. DestinationState="CombatOnly_DisadvantageCombat">
  42. <Condition>CombatOnly_EvenCombat_to_CombatOnly_DisadvantageCombat_Allowed</Condition>
  43. </PathMusicGameDynamicTransition>
  44. <!-- ******************************************************************************
  45. CONDITIONS : General-Reuseable
  46. ****************************************************************************** -->
  47. <MusicScriptConditionNugget_PathMusicStateCurrentlyActive id="CombatOnly_GeneralCombatCurrentlyActive"
  48. TrackedState="CombatOnly_GeneralCombat" >
  49. </MusicScriptConditionNugget_PathMusicStateCurrentlyActive>
  50. <MusicScriptConditionNugget_PathMusicStateLastActive id="CombatOnly_GeneralCombatEnteredMomentAgo"
  51. TrackedState="CombatOnly_GeneralCombat"
  52. TrackedStateChange="ENTER"
  53. TimeSinceLastActive="20s"
  54. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  55. </MusicScriptConditionNugget_PathMusicStateLastActive>
  56. <MusicScriptConditionNugget_PathMusicStateLastActive id="CombatOnly_DisadvantageCombatEnteredMomentAgo"
  57. TrackedState="CombatOnly_DisadvantageCombat"
  58. TrackedStateChange="ENTER"
  59. TimeSinceLastActive="20s"
  60. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  61. </MusicScriptConditionNugget_PathMusicStateLastActive>
  62. <MusicScriptConditionNugget_PathMusicStateLastActive id="CombatOnly_EvenCombatEnteredMomentAgo"
  63. TrackedState="CombatOnly_EvenCombat"
  64. TrackedStateChange="ENTER"
  65. TimeSinceLastActive="20s"
  66. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  67. </MusicScriptConditionNugget_PathMusicStateLastActive>
  68. <!-- ******************************************************************************
  69. CONDITIONS : Transition-Specific Combinations
  70. ****************************************************************************** -->
  71. <MusicScriptConditionNugget_And id="CombatOnly_GeneralCombat_to_CombatOnly_DisadvantageCombat_Allowed" >
  72. <Condition>CombatOnly_GeneralCombatCurrentlyActive</Condition>
  73. <Condition>CombatOnly_GeneralCombatEnteredMomentAgo</Condition>
  74. <Condition>EnemyWinningBattleModerate</Condition>
  75. <Condition>EnemyScoredKillsMedium</Condition>
  76. </MusicScriptConditionNugget_And>
  77. <MusicScriptConditionNugget_And id="CombatOnly_DisadvantageCombat_to_CombatOnly_EvenCombat_Allowed" >
  78. <Condition>CombatOnly_DisadvantageCombatEnteredMomentAgo</Condition>
  79. <Condition>PlayerWinningBattleModerate</Condition>
  80. <Condition>PlayerScoredKillsMedium</Condition>
  81. </MusicScriptConditionNugget_And>
  82. <MusicScriptConditionNugget_And id="CombatOnly_EvenCombat_to_CombatOnly_DisadvantageCombat_Allowed" >
  83. <Condition>CombatOnly_EvenCombatEnteredMomentAgo</Condition>
  84. <Condition>EnemyWinningBattleModerate</Condition>
  85. <Condition>EnemyScoredKillsMedium</Condition>
  86. </MusicScriptConditionNugget_And>
  87. <!-- ________________________________________________________________________________________________________-->
  88. <!-- ******************************************************************************
  89. TOTAL STATE SET
  90. ****************************************************************************** -->
  91. <PathMusicGameDynamicStateSet id="CombatOnly_NoLeadIn" Category="SCRIPTED">
  92. <State>CombatOnly_NoLeadIn_GeneralCombat</State>
  93. <State>CombatOnly_DisadvantageCombat</State>
  94. <State>CombatOnly_EvenCombat</State>
  95. </PathMusicGameDynamicStateSet>
  96. <!-- ******************************************************************************
  97. STATES
  98. ****************************************************************************** -->
  99. <PathMusicGameDynamicState id="CombatOnly_NoLeadIn_GeneralCombat" >
  100. <Transition>CombatOnly_NoLeadIn_GeneralCombat_to_CombatOnly_DisadvantageCombat</Transition>
  101. </PathMusicGameDynamicState>
  102. <!-- ******************************************************************************
  103. TRANSITIONS
  104. ****************************************************************************** -->
  105. <PathMusicGameDynamicTransition id="CombatOnly_NoLeadIn_GeneralCombat_to_CombatOnly_DisadvantageCombat"
  106. DestinationState="CombatOnly_DisadvantageCombat">
  107. <Condition>CombatOnly_NoLeadIn_GeneralCombat_to_CombatOnly_DisadvantageCombat_Allowed</Condition>
  108. </PathMusicGameDynamicTransition>
  109. <!-- ******************************************************************************
  110. CONDITIONS : General-Reuseable
  111. ****************************************************************************** -->
  112. <MusicScriptConditionNugget_PathMusicStateCurrentlyActive id="CombatOnly_NoLeadIn_GeneralCombatCurrentlyActive"
  113. TrackedState="CombatOnly_NoLeadIn_GeneralCombat" >
  114. </MusicScriptConditionNugget_PathMusicStateCurrentlyActive>
  115. <MusicScriptConditionNugget_PathMusicStateLastActive id="CombatOnly_NoLeadIn_GeneralCombatEnteredMomentAgo"
  116. TrackedState="CombatOnly_NoLeadIn_GeneralCombat"
  117. TrackedStateChange="ENTER"
  118. TimeSinceLastActive="20s"
  119. TimeSicneLastActiveOp="GREATER_THAN_OR_EQUAL" >
  120. </MusicScriptConditionNugget_PathMusicStateLastActive>
  121. <!-- ******************************************************************************
  122. CONDITIONS : Transition-Specific Combinations
  123. ****************************************************************************** -->
  124. <MusicScriptConditionNugget_And id="CombatOnly_NoLeadIn_GeneralCombat_to_CombatOnly_DisadvantageCombat_Allowed" >
  125. <Condition>CombatOnly_NoLeadIn_GeneralCombatCurrentlyActive</Condition>
  126. <Condition>CombatOnly_NoLeadIn_GeneralCombatEnteredMomentAgo</Condition>
  127. <Condition>EnemyWinningBattleModerate</Condition>
  128. <Condition>EnemyScoredKillsMedium</Condition>
  129. </MusicScriptConditionNugget_And>
  130. <!-- ________________________________________________________________________________________________________-->
  131. <!-- ******************************************************************************
  132. TOTAL STATE SET
  133. ****************************************************************************** -->
  134. <PathMusicGameDynamicStateSet id="Standard_NoLeadIn" Category="SCRIPTED">
  135. <State>NoLeadIn_BaseBuilding</State>
  136. <State>ThreatLevel1</State>
  137. <State>ThreatLevel1_1</State>
  138. <State>GeneralCombat</State>
  139. <State>DisadvantageCombat</State>
  140. <State>EvenCombat</State>
  141. <State>AdvantageCombat</State>
  142. </PathMusicGameDynamicStateSet>
  143. <!-- ******************************************************************************
  144. STATES
  145. ****************************************************************************** -->
  146. <PathMusicGameDynamicState id="NoLeadIn_BaseBuilding">
  147. <Transition>NoLeadIn_BaseBuilding_to_ThreatLevel1</Transition>
  148. <Transition>NoLeadIn_BaseBuilding_to_GeneralCombat</Transition>
  149. </PathMusicGameDynamicState>
  150. <!-- ******************************************************************************
  151. TRANSITIONS
  152. ****************************************************************************** -->
  153. <PathMusicGameDynamicTransition id="NoLeadIn_BaseBuilding_to_ThreatLevel1" DestinationState="ThreatLevel1">
  154. <Condition>SkirmishSmall</Condition>
  155. </PathMusicGameDynamicTransition>
  156. <PathMusicGameDynamicTransition id="NoLeadIn_BaseBuilding_to_GeneralCombat" DestinationState="GeneralCombat">
  157. <Condition>SkirmishMediumOnScreen</Condition>
  158. </PathMusicGameDynamicTransition>
  159. <!-- ________________________________________________________________________________________________________-->
  160. <!-- ******************************************************************************
  161. TOTAL STATE SET
  162. ****************************************************************************** -->
  163. <PathMusicGameDynamicStateSet id="ThreatAndCombat_NoLeadIn" Category="SCRIPTED">
  164. <State>NoLeadIn_ThreatLevel1</State>
  165. <State>ThreatLevel1_1</State>
  166. <State>GeneralCombat</State>
  167. <State>DisadvantageCombat</State>
  168. <State>EvenCombat</State>
  169. <State>AdvantageCombat</State>
  170. </PathMusicGameDynamicStateSet>
  171. <!-- ******************************************************************************
  172. STATES
  173. ****************************************************************************** -->
  174. <PathMusicGameDynamicState id="NoLeadIn_ThreatLevel1">
  175. <Transition>NoLeadIn_ThreatLevel1_to_GeneralCombat</Transition>
  176. </PathMusicGameDynamicState>
  177. <!-- ******************************************************************************
  178. TRANSITIONS
  179. ****************************************************************************** -->
  180. <!-- Note that unlike the Standard ThreatLevel_1_to_GeneralCombat Transition, we are not requiring that you
  181. have been in the ThreatLevel_1 State for x seconds. It is assumed that since this is "NoLeadIn", you have
  182. already been listening to the music for a while and can transition out at any time. -->
  183. <PathMusicGameDynamicTransition id="NoLeadIn_ThreatLevel1_to_GeneralCombat" DestinationState="GeneralCombat">
  184. <Condition>SkirmishMediumOnScreen</Condition>
  185. </PathMusicGameDynamicTransition>
  186. </AssetDeclaration>