<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
	<Tags></Tags>
	<Includes>
		<Include
			type="all"
			source="ART:GUPredTank_SKN.w3x" />
		<Include
			type="all"
			source="ART:GUPredTankR.w3x" />
		<Include
			type="all"
			source="ART:GUPredTank_FP.w3x" />	
		<Include
			type="all"
			source="ART:GUPredatorTank_K.xml" />
		<Include
			type="all"
			source="ART:GUPredatorTankD_K.xml" />					
		<Include
			type="all"
			source="ART:NUBeam.xml" />
		<Include
			type="all"
			source="ART:FXWhiteSquare.xml" />
		<Include
			type="all"
			source="ART:FXRailGunCoreMask.xml" />
		<Include
			type="all"
			source="ART:FXRailGunCoreDistortion.xml" />
		<Include
			type="instance"
			source="ART:EXTnkTrack.xml" />
		<!-- Base Object -->
		<Include
			type="instance"
			source="DATA:BaseObjects/BaseVehicle.xml" />
	</Includes>
	<GameObject
		id="GDIPredator"
		inheritFrom="BaseVehicle"
		SelectPortrait="Portrait_GDIPredatorTank"
		ButtonImage="Portrait_GDIPredatorTank"
		Side="GDI"
		EditorSorting="UNIT"
		TransportSlotCount="1"
		BuildCost="1100"
		BuildTime="11"
		CommandSet="GDIPredatorCommandSet"
		CommandPoints="100" 
		KindOf="PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT"
		RadarPriority="UNIT"
		ThreatLevel="10"
		ProductionQueueType="VEHICLE"
		UnitCategory="VEHICLE"
		WeaponCategory="CANNON"
		VoicePriority="184"
		EditorName="GDIPredator"
		Description="Desc:GDIPredatorTank"
		WorldMapArmoryUpgradesAllowed="Upgrade_GDIArmoryRailgunTech"
		TypeDescription="Type:GDIPredatorTank">
		<DisplayName
			xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDIPredatorTank</DisplayName>
		<DisplayUpgrade
			id="Tag_DisplayUpgrade1">Upgrade_GDIArmoryRailgunTech</DisplayUpgrade>
		<ArmorSet
			Armor="GDIPredatorTankArmor"
			DamageFX="VehicleDamageFX" />
		<LocomotorSet
			Locomotor="GDIPredatorTankLocomotor"
			Condition="NORMAL"
			Speed="60.0" />
		<SkirmishAIInformation
			UnitBuilderStandardCombatUnit="true" />
		<!-- REMEMBER, tank treads will ONLY animate on U (not V) -->
		<!-- TreadAnimationRate = amount of tread texture to move per second -->
		<!-- TreadDriveSpeedFraction = fraction of locomotor speed below which treads stop moving. -->
		<!-- TreadPivotSpeedFraction = fraction of locomotor speed below which we allow pivoting. -->
		<Draws>
			<TankDraw
				id="ModuleTag_Draw"
				OkToChangeModelColor="true"
				ExtraPublicBone="FXTracksL FXTracksR FXMUZZLEFLASH"
				TrackMarks="EXTnkTrack"
				TrackMarksLeftBone="FXTracksL"
				TrackMarksRightBone="FXTracksR"
				TreadAnimationRate="0.15"
				TreadDriveSpeedFraction="0.25"
				TreadPivotSpeedFraction="0.9">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT"
					RetainSubObjects="true">
					<Model
						Name="GUPredTank_SKN" />
					<WeaponFireFXBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXMUZZLEFLASH" />
					<WeaponRecoilBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXMUZZLEFLASH" />						
					<WeaponMuzzleFlash
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXMUZZLEFLASH" />
					<WeaponLaunchBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXMUZZLEFLASH" />
					<Turret
						TurretNameKey="Turret"
						TurretPitch="Barrel"
						TurretID="1" />
				</ModelConditionState>

				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DYING USER_5">
					<Model
						Name="GUPredTankR" />
					<Texture
						Original="GUPredatorTankD"
						New="GUPredatorTankD_K" />						
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallFire"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					RetainSubObjects="true"
					ConditionsYes="REALLYDAMAGED USER_5">
					<Model
						Name="GUPredTank_SKN" />
					<Texture
						Original="GUPredatorTank"
						New="GUPredatorTankD_K" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedFire"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedSmoke"
						FollowBone="true" />
				</ModelConditionState>
				
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DYING">
					<Model
						Name="GUPredTankR" />
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallFire"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="ROOTTRANSFORM"
						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					RetainSubObjects="true"
					ConditionsYes="REALLYDAMAGED">
					<Model
						Name="GUPredTank_SKN" />
					<Texture
						Original="GUPredatorTank"
						New="GUPredatorTankD" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedFire"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="BARREL"
						FXParticleSystemTemplate="GDIPredDamagedSmoke"
						FollowBone="true" />
				</ModelConditionState>

				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="FORMATION_PREVIEW">
					<Model
						Name="GUPredTank_FP" />
				</ModelConditionState>	
				
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					RetainSubObjects="true"
					ConditionsYes="USER_5">
					<Model
						Name="GUPredTank_SKN" />
					<Texture
						Original="GUPredatorTank"
						New="GUPredatorTank_K" />						
				</ModelConditionState>
							
				<AnimationState
					ParseCondStateType="PARSE_DEFAULT">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableShowSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableHideSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_LEFT USING_WEAPON_C">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableShowSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableShowSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_RIGHT USING_WEAPON_C">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableShowSubObject("TreadsRight")
						CurDrawableShowSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING USING_WEAPON_C">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableShowSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableShowSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>	
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USING_WEAPON_C">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableShowSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableShowSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>				
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_LEFT">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableShowSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableHideSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_RIGHT">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableShowSubObject("TreadsRight")
						CurDrawableHideSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING">
					<!-- Circumvents blend issues when the arrow is being shown... -->
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableShowSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsLeft")
						CurDrawableHideSubObject("TreadsRight")
						CurDrawableHideSubObject("UGRailAccelerator_01")						
					</Script>
				</AnimationState>
				<LeftTread>"TreadsL"</LeftTread>
				<RightTread>"TreadsR"</RightTread>
			</TankDraw>
			<ScriptedModelDraw
				id="ModuleTag_FX">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT">
					<Model
						Name="" />
				</ModelConditionState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING">
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="TreadDustPred"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="TreadDirt"
						FollowBone="true" />
				</AnimationState>
			</ScriptedModelDraw>
			<LaserDraw
				id="ModuleTag_LaserDistort"
				UseDistortionShader="true"
				Texture1_UTile="1"
				Texture1_VTile=".5"
				Texture1_UScrollRate="0"
				Texture1_VScrollRate=".2"
				Texture1_NumFrames="1"
				Texture1_FrameRate="30"
				Texture2_UTile="1"
				Texture2_VTile=".01"
				Texture2_UScrollRate="0"
				Texture2_VScrollRate="1"
				Texture2_NumFrames="1"
				Texture2_FrameRate="1"
				LaserWidth="50">
				<FXShader
					ShaderName="Laser.fx"
					TechniqueIndex="0">
					<Constants>
						<Texture
							Name="Texture1">
							<Value>FXRailGunCoreDistortion</Value>
						</Texture>
						<Texture
							Name="Texture2">
							<Value>FXRailGunCoreMask</Value>
						</Texture>
					</Constants>
				</FXShader>
			</LaserDraw>
		</Draws>
		<Behaviors>
			<ProductionUpdate
				id="ProductionUpdateModuleTag"
				GiveNoXP="true" />
			<WeaponSetUpdate
				id="ModuleTag_WeaponSetUpdate">
				<WeaponSlotTurret
					ID="1"
					AllowInterleavedFiring="false"
					InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE"
					WeaponChoiceCriteria="PREFER_MOST_DAMAGE">
					<Weapon
						Ordering="PRIMARY_WEAPON"
						Template="GDIPredatorTankCannon" />
					<Weapon
						Ordering="PRIMARY_WEAPON"
						Template="GDIPredatorTankRailgun"
						ObjectStatus="WEAPON_UPGRADED_01" />
					<TurretSettings
						TurretTurnRate="200"
						TurretPitchRate="40"
						AllowsPitch="true"
						MinIdleScanTime="1.0s"
						MaxIdleScanTime="5.0s"
						MinIdleScanAngle="0.0"
						MaxIdleScanAngle="90.0">
						<TurretAITargetChooserData
							CanAcquireDynamicIfAssignedOutOfRange="true" />
					</TurretSettings>
				</WeaponSlotTurret>
			</WeaponSetUpdate>
			<LaserState
				id="ModuleTag_LaserState"
				LaserId="0"></LaserState>
			<Physics
				id="ModuleTag_Physics" />
			<SlowDeath
				id="ModuleTag_Death"
				SinkDelay="3s"
				SinkRate="1.0"
				DestructionDelay="7s">
				<OCL
					Type="INITIAL">
					<OCL>OCL_GDIPredatorTankDebris</OCL>
				</OCL>
				<DieMuxData
					DeathTypes="ALL"
					DeathTypesForbidden="TOPPLED" />
				<Sound
					Type="INITIAL"
					List="GDI_Generic_VoiceDieMS" />
			</SlowDeath>
			<FXListBehavior
				id="ModuleTag_FXList">
				<DieMuxData
					DeathTypes="ALL" />
				<Event
					Index="onDeath"
					FX="FX_GDIMammothExplode" />
			</FXListBehavior>
			<SubObjectsUpgrade
				id="ModuleTag_ShowRail"
				ShowSubObjects="UGRAIL_01">
				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
			</SubObjectsUpgrade>
			<StatusBitsUpgrade
				id="ModuleTag_UpgradeWeapon"
				StatusToSet="WEAPON_UPGRADED_01">
				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
			</StatusBitsUpgrade>
			<StatusBitsUpgrade
				id="ModuleTag_UpgradeWeaponStatusSetForRGA"
				StatusToSet="RIDER2">
				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
			</StatusBitsUpgrade>			
			<xi:include
				href="../../Includes/GDICallForTransportForVehicle.xml" />
			<StatusBitsUpgrade
				id="ModuleTag_VeterancyUpgrade"
				StatusToSet="WEAPON_UPGRADED_03">
				<TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
			</StatusBitsUpgrade>
			<ModelConditionUpgrade
				id="ModuleTag_AllFactionUpgrade"
				AddConditionFlags="USER_5">
				<TriggeredBy>Upgrade_AllFactionUpgrade</TriggeredBy>
			</ModelConditionUpgrade>
      <AudioLoopUpgrade 
				id="RailCannonUpgradeSound" 
				SoundToPlay="GDI_RailCannon_Upgrade">
        <TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
      </AudioLoopUpgrade>
		</Behaviors>
		<AI>
			<AIUpdate
				id="ModuleTag_AI"
				AutoAcquireEnemiesWhenIdle="YES"
				AILuaEventsList="GDIPredatorFunctions">
				<UnitAITargetChooserData
					CanPickDynamicTargets="false"
					SympathyRange="100.0" />
			</AIUpdate>
		</AI>
		<Body>
			<ActiveBody
				id="ModuleTag_Body"
				MaxHealth="3400" />
		</Body>
		<ClientBehaviors>
			<ModelConditionAudioLoopClientBehavior id="ModuleTag_RailgunAccelerator">
				<ModelConditionSound Sound="GDI_RailgunAccelerator_EnergyStripeLoop" RequiredFlags="USING_WEAPON_C" />
			</ModelConditionAudioLoopClientBehavior>
		</ClientBehaviors>
		<Geometry
			IsSmall="false">
			<Shape
				Type="BOX"
				MajorRadius="18.0"
				MinorRadius="12.0"
				Height="10.0"
				ContactPointGeneration="VEHICLE" />
		</Geometry>
		<AudioArrayVoice>
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceAttack"
				AudioType="voiceAttack" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceCreate"
				AudioType="voiceCreated" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceCreate"
				AudioType="voiceFullyCreated" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceMove"
				AudioType="voiceGuard" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceMoveAttack"
				AudioType="voiceAttackAfterMoving" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceMove"
				AudioType="voiceMove" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceRetreat"
				AudioType="voiceRetreatToCastle" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceSelectMS"
				AudioType="voiceSelect" />
			<AudioEntry
				Sound="GDI_PredatorTank_VoiceSelectBattleMS"
				AudioType="voiceSelectBattle" />
		</AudioArrayVoice>
		<AudioArraySound>
			<AudioEntry
				Sound="PredatorIdleLoop"
				AudioType="soundAmbient" />
			<AudioEntry
				Sound="PredatorMoveStart"
				AudioType="soundMoveStart" />
		</AudioArraySound>
		<ShadowInfo
			Type="VOLUME" />
		<VisionInfo
			VisionRange="350"
			ShroudClearingRange="400" />
	</GameObject>
</AssetDeclaration>