<?xml version="1.0" encoding="UTF-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset">
	<Tags />
	<Includes />

<!--
;//////////////////////////////////////////////////////////////////////////////
;FILE: LargeGroupAudio.ini 
; This file controls the Large Group Audio system, which puts some extra looping 
; sounds under the noise of any big action. For instance, a big battle can extra rumble;
; a big group of horsemen moving can have a extra bunch of horse sounds. Any big group 
; of objects doing some particular thing can had extra sounds added using this system.
; You can override in map.ini if needed (same names to replace, different names to add)
; If you want to see the effects of your tweaks, use Shift-G to turn on graphical
; debugging information, or add "debug.add l + largegroupaudio" to your dbgcmd file
; for tons o' logging
; 
; Keys are:
; RequiredModelConditionFlags - List of flags which must be ON for the unit to be counted
; ExcludedModelConditionFlags - List of flags which must be OFF for the unit to be counted
; RequiredObjectStatusBits    - List of status bits which must be ON for the unit to be counted
; ExcludedObjectStatusBits    - List of status bits which must be OFF for the unit to be counted
; IgnoreStealthedUnits        - Yes/no. If Yes, stealthed & undetected units are not counted at all. Defaults to *YES*
; Size						  - How far apart units can be and still "count"
; StartThreshold			  - How many units must be within Size units of each other to start playing sound
; StopThreshold				  - How many units must be within Size units of each other to STOP playing sound 
;								 e.g. below this number, sound will stop
; HandOffModeDuration		  - How long (in milliseconds) sound has to get from one cell to another when a new cell gets ownership of sound
; MaximumAudioSpeed			  - Maximum rate audio with move to match "center of group" at other times (world units / second)
; Sound <Name>                - Introduces a Sound block (Name is optional), with the following keys:
;    Key					    - One or more keys. Only units with at least one of these keys in their LargeGroupAudioUpdate
;                                  module are counted towards starting the sound. There can be multiple Key statements in a Sound
;                                  block and / or multiple keys within a Key statement, so:
;									  Key = Human
;									  Key = Ent
;									  Key = Elf
;								   is the same as
;								      Key = Human Ent Elf
;								   Both mean that any object with the key Human OR the key Ent OR the key Elf will count.
;   Sound                       - The sound to play when there are more than StartThreshold units within Size world units
;                                  of each other with the correct Key and the correct ModelConditions. Normally a 
;								   looping sound. If not looping, sound will play once when StartThreshold is first 
;								   exceeded. Only one Sound statement per Sound block.
;   Duck					    - This lowers the volume of another Sound block's sound when the current Sound block
;                                  is playing. All the other block's grid cells at least partly overlapping the playing
;                                  cell in the current block will have the volume of their playing sound multiplied
;                                  by the given multiplier. The format is 'AudioMap:name Sound:name Multiplier:##%',
;                                  where AudioMap and Sound indicate the Sound block to be ducked, and Multiplier gives
;                                  the percentage multiplier of the other Sound block's sounds. A Sound block
;                                  can have multiple Duck statements
; 
;//////////////////////////////////////////////////////////////////////////////
-->

<!-- problem with this is that the loop keeps going for a short bit even after the guns have stopped firing
	<LargeGroupAudioMap
		id="NOD_Confessor_MachineGunFireLoop" 
		RequiredModelConditionFlags="USING_WEAPON_A"
		ExcludedModelConditionFlags="DYING"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="4"
		StopThreshold="3"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound Sound="NOD_Confessor_MachineGunFireLoop">
			<Key>NOD_Confessor</Key>
		</Sound>
	</LargeGroupAudioMap>
-->

	<LargeGroupAudioMap
		id="GDI_RifleSoldier_DiggingLoop" 
		RequiredModelConditionFlags="PREPARING"
		ExcludedModelConditionFlags="DYING ENGAGED DECELERATE MOVING"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="3"
		StopThreshold="2"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound Sound="GDI_RifleSoldier_DiggingLoop">
			<Key>GDI_RifleSoldier</Key>
		</Sound>
	</LargeGroupAudioMap>

<!--
	<LargeGroupAudioMap
		id="Shadow_GroupSmall_GlidingLoop" 
		RequiredModelConditionFlags="FLYING"
		ExcludedModelConditionFlags="DYING ENGAGED DECELERATE"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="3"
		StopThreshold="3"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound 
			Sound="NOD_ShadowSquad_IdleGliderLoop">
			<Key>NOD_Shadow</Key>
		</Sound>
	</LargeGroupAudioMap>
-->
	
	<!-- they need a special map because after using their Hallucinogenic Grenades, they're stuck in the ENGAGED model condition -->
	<LargeGroupAudioMap
		id="Confessor_MoveLoop" 
		RequiredModelConditionFlags="MOVING"
		ExcludedModelConditionFlags="DYING DECELERATE"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="3"
		StopThreshold="3"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound
			Sound="GDI_GrenadierSoldier_GroupSmall_MoveLoop">
			<Key>NOD_Confessor</Key>
			<!-- EP1 -->
		</Sound>
	</LargeGroupAudioMap>
	
	<LargeGroupAudioMap
		id="Infantry_GroupSmall_MoveLoop" 
		RequiredModelConditionFlags="MOVING"
		ExcludedModelConditionFlags="DYING ENGAGED DECELERATE"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="3"
		StopThreshold="3"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound 
			Sound="ALI_RazorDrone_MoveLoop">
			<Key>ALI_RazorDrone</Key>
		</Sound>
		<Sound 
			Sound="ALI_ShockTrooper_MoveLoop">
			<Key>ALI_ShockTrooper</Key>
		</Sound>
		<Sound
			Sound="GDI_GrenadierSoldier_GroupSmall_MoveLoop">
			<Key>GDI_GrenadierSoldier</Key>
		</Sound>
		<Sound
			Sound="GDI_MissileSoldier_GroupSmall_MoveLoop">
			<Key>GDI_MissileSoldier</Key>
		</Sound>
		<Sound
			Sound="GDI_RifleSoldier_GroupSmall_MoveLoop">
			<Key>GDI_RifleSoldier</Key>
		</Sound>
		<Sound
			Sound="GDI_ZoneTrooper_GroupSmall_MoveLoop">
			<Key>GDI_ZoneTrooper</Key>
		</Sound>
		<Sound
			Sound="GDI_GrenadierSoldier_GroupSmall_MoveLoop">
			<Key>NOD_Confessor</Key>
			<!-- EP1 -->
		</Sound>
<!--
		<Sound 
			Sound="GDI_GrenadierSoldier_GroupSmall_MoveLoop">
			<Key>NOD_Shadow</Key>
		</Sound>
-->
	</LargeGroupAudioMap>

	<LargeGroupAudioMap
		id="GDI_Sniper_GroupSmall_MoveLoop" 
		IgnoreStealthedUnits="false"
		RequiredModelConditionFlags="MOVING"
		ExcludedModelConditionFlags="DYING ENGAGED DECELERATE"
		ExcludedObjectStatusBits="INSIDE_GARRISON"
		Size="150"
		StartThreshold="2"
		StopThreshold="2"
		HandOffModeTime="1s"
		MaximumAudioSpeed="100">
		<Sound
			Sound="GDI_Sniper_GroupSmall_MoveLoop">
			<Key>GDI_Sniper</Key>
			<Key>GDI_Spotter</Key>			
		</Sound>
	</LargeGroupAudioMap>

</AssetDeclaration>
