<?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" xmlns:xai="uri:ea.com:eala:asset:instance">
	<Tags></Tags>
	<Includes>
		<Include
			type="all"
			source="ART:GUHvyHarv_SKN.w3x" />
		<Include
			type="all"
			source="ART:GUHvyHarvD_SKN.w3x" />
		<Include
			type="all"
			source="ART:GUHrvstr_IDLA.w3x" />
		<Include
			type="all"
			source="ART:GUHrvstr_MOVA.w3x" />
		<Include
			type="all"
			source="ART:GUHrvstr_PREP.w3x" />
		<Include
			type="all"
			source="ART:GUHrvstr_HARV.w3x" />
		<Include
			type="all"
			source="ART:GUHrvstr_TIB.w3x" />
		<Include
			type="all"
			source="ART:GUHvyHarv_FP.w3x" />
		<Include
			type="all"
			source="ART:GUHvyHarvR.w3x" />
		<Include
			type="all"
			source="ART:FXTracerGDI.xml" />
		<Include
			type="all"
			source="ART:FXTracerHeroic.xml" />				
		<!-- Base Object -->
		<Include
			type="instance"
			source="DATA:BaseObjects/BaseVehicle.xml" />
	</Includes>
	<GameObject
		id="SteelTalonsHeavyHarvester"
		inheritFrom="BaseVehicle"
		SelectPortrait="Portrait_HvyHarvester"
		ButtonImage="Portrait_HvyHarvester"
		Side="SteelTalons"
		EditorSorting="UNIT"
		TransportSlotCount="1"
		BuildCost="1600"
		BuildTime="16"
		CommandSet="SteelTalonsHarvesterCommandSet"
		KindOf="PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE VEHICLE HARVESTER MOVE_FOR_NOONE IGNORES_SELECT_ALL CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT"
		RadarPriority="UNIT"
		ThreatLevel="10"
		ProductionQueueType="VEHICLE"
		UnitCategory="VEHICLE"
		WeaponCategory="GUN"
		VoicePriority="26"
		EditorName="SteelTalonsHeavyHarvester"
		Description="Desc:SteelTalonsHeavyHarvester"
		TypeDescription="Type:SteelTalonsHeavyHarvester">
		<DisplayName
			xai:joinAction="Replace">Name:SteelTalonsHeavyHarvester</DisplayName>
		<GameDependency>
			<RequiredObject>SteelTalonsRefinery</RequiredObject>
		</GameDependency>
		<ArmorSet
			Armor="GDIHarvesterArmor"
			DamageFX="VehicleDamageFX" />
		<LocomotorSet
			Locomotor="GDIHarvesterLocomotor"
			Condition="NORMAL"
			Speed="75.0" />
		<Draws>
			<TankDraw
				id="ModuleTag_Draw"
				OkToChangeModelColor="true"
				InitialRecoilSpeed="0.1"
				MaxRecoilDistance="0.1"
				RecoilDamping="2.0"
				RecoilSettleSpeed="3.0"				
				ExtraPublicBone="FXTracksL FXTracksR"
				TrackMarks="EXTnkTrack"
				TrackMarksLeftBone="FXTracksL"
				TrackMarksRightBone="FXTracksR"				
				TreadAnimationRate="0.15"
				TreadDriveSpeedFraction="0.25"
				TreadPivotSpeedFraction="0.9">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT"
					RetainSubObjects="true">
					<Model
						Name="GUHvyHarv_SKN" />
					<WeaponFireFXBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="BoneGarrison" />
					<WeaponRecoilBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="MuzzleFlash_" />
					<WeaponMuzzleFlash
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="BoneGarrison" />
					<WeaponLaunchBone
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="BoneGarrison" />
					<Turret
						TurretNameKey="TURRET"
						TurretID="1" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					RetainSubObjects="true"
					ConditionsYes="DAMAGED">
					<Model
						Name="GUHvyHarv_SKN" />
					<ParticleSysBone
						BoneName="FXTracksB"
						FXParticleSystemTemplate="NODDamagedSmoke"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					RetainSubObjects="true"
					ConditionsYes="REALLYDAMAGED">
					<Model
						Name="GUHvyHarvD_SKN" />											
					<ParticleSysBone
						BoneName="FXTracksB"
						FXParticleSystemTemplate="NODDamagedSmoke"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DYING">
					<Model
						Name="GUHvyHarvR" />
					<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"
					ConditionsYes="FORMATION_PREVIEW">
					<Model
						Name="GUHvyHarv_FP" />
				</ModelConditionState>					
				<AnimationState
					ParseCondStateType="PARSE_DEFAULT">
					<Animation
						AnimNickName="IDL"
						AnimationName="GUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<Script>
						CurDrawableShowSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsTurnLeft")
						CurDrawableHideSubObject("TreadsTurnRight")
						CurDrawableHideSubObject("Tib")
						CurDrawableShowSubObject("Tib_Stop")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="HARVEST_PREPARATION">
					<Animation
						AnimNickName="PREP"
						AnimationName="GUHrvstr_PREP"
						AnimationMode="ONCE"
						AnimationBlendTime="15" />
					<Script>
						CurDrawableShowSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsTurnLeft")
						CurDrawableHideSubObject("TreadsTurnRight")
						CurDrawableHideSubObject("Tib")
						CurDrawableShowSubObject("Tib_Stop")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="HARVEST_ACTION">
					<Animation
						AnimNickName="HARVEST"
						AnimationName="GUHrvstr_HARV"
						AnimationMode="LOOP" />
					<Script>
						CurDrawableShowSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsTurnLeft")
						CurDrawableHideSubObject("TreadsTurnRight")
						CurDrawableShowSubObject("Tib")
						CurDrawableHideSubObject("Tib_Stop")
					</Script>
					<ParticleSysBone
						BoneName="FXClawL"
						FXParticleSystemTemplate="HarvesterRocks"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXClawR"
						FXParticleSystemTemplate="HarvesterRocks"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="HarvesterDust"
						FollowBone="true" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_LEFT">
					<Animation
						AnimNickName="MOV"
						AnimationName="GUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableShowSubObject("TreadsTurnLeft")
						CurDrawableHideSubObject("TreadsTurnRight")
						CurDrawableHideSubObject("Tib")
						CurDrawableShowSubObject("Tib_Stop")
					</Script>
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="HarvesterDust"
						FollowBone="true" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING TURN_RIGHT">
					<Animation
						AnimNickName="MOV"
						AnimationName="GUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableHideSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsTurnLeft")
						CurDrawableShowSubObject("TreadsTurnRight")
						CurDrawableHideSubObject("Tib")
						CurDrawableShowSubObject("Tib_Stop")
					</Script>
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="HarvesterDust"
						FollowBone="true" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING">
					<Animation
						AnimNickName="MOV"
						AnimationName="GUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<Script>
						CurDrawableHideSubObject("TreadsStop")
						CurDrawableShowSubObject("TreadsMove")
						CurDrawableHideSubObject("TreadsTurnLeft")
						CurDrawableHideSubObject("TreadsTurnRight")
						CurDrawableHideSubObject("Tib")
						CurDrawableShowSubObject("Tib_Stop")
					</Script>
					<ParticleSysBone
						BoneName="NONE"
						FXParticleSystemTemplate="HarvesterDust"
						FollowBone="true" />
				</AnimationState>
			</TankDraw>
			<!-- DRAW TIBERIUM METER -->
			<ScriptedModelDraw
				id="ModuleTag_Draw_TIB"
				OkToChangeModelColor="false">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT">
					<Model
						Name="GUHrvstr_TIB" />
				</ModelConditionState>
				<AnimationState
					ParseCondStateType="PARSE_DEFAULT">
					<Script>
						CurDrawableHideSubObject("Tib_25")
						CurDrawableHideSubObject("Tib_50")
						CurDrawableHideSubObject("Tib_75")
						CurDrawableHideSubObject("Tib_100")
						CurDrawableHideSubObject("FXGlows_25")
						CurDrawableHideSubObject("FXGlows_50")
						CurDrawableHideSubObject("FXGlows_75")
						CurDrawableHideSubObject("FXGlows_100")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MONEY_STORED_AMOUNT_1">
					<Script>
						CurDrawableShowSubObject("Tib_25")
						CurDrawableHideSubObject("Tib_50")
						CurDrawableHideSubObject("Tib_75")
						CurDrawableHideSubObject("Tib_100")
						CurDrawableShowSubObject("FXGlows_25")
						CurDrawableHideSubObject("FXGlows_50")
						CurDrawableHideSubObject("FXGlows_75")
						CurDrawableHideSubObject("FXGlows_100")

					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MONEY_STORED_AMOUNT_2">
					<Script>
						CurDrawableHideSubObject("Tib_25")
						CurDrawableShowSubObject("Tib_50")
						CurDrawableHideSubObject("Tib_75")
						CurDrawableHideSubObject("Tib_100")
						CurDrawableHideSubObject("FXGlows_25")
						CurDrawableShowSubObject("FXGlows_50")
						CurDrawableHideSubObject("FXGlows_75")
						CurDrawableHideSubObject("FXGlows_100")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MONEY_STORED_AMOUNT_3">
					<Script>
						CurDrawableHideSubObject("Tib_25")
						CurDrawableHideSubObject("Tib_50")
						CurDrawableShowSubObject("Tib_75")
						CurDrawableHideSubObject("Tib_100")
						CurDrawableHideSubObject("FXGlows_25")
						CurDrawableHideSubObject("FXGlows_50")
						CurDrawableShowSubObject("FXGlows_75")
						CurDrawableHideSubObject("FXGlows_100")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MONEY_STORED_AMOUNT_4">
					<Script>
						CurDrawableHideSubObject("Tib_25")
						CurDrawableHideSubObject("Tib_50")
						CurDrawableHideSubObject("Tib_75")
						CurDrawableShowSubObject("Tib_100")
						CurDrawableHideSubObject("FXGlows_25")
						CurDrawableHideSubObject("FXGlows_50")
						CurDrawableHideSubObject("FXGlows_75")
						CurDrawableShowSubObject("FXGlows_100")
					</Script>
				</AnimationState>
			</ScriptedModelDraw>
			
			<!-- No weapon, so no bullets!
			
			
			<TracerModelDraw
				id="ModuleTag_TracerModelDraw"
				MinLength="50.0"
				MaxLength="50.0"
				Width="3.0"
				MinSpeed="30"
				MaxSpeed="30"
				SweepSpeed="1.0"
				SpreadAngle="2.0"
				MinTracersPerFrame="0.2"
				MaxTracersPerFrame="0.3"
				FrameLifeTime="35"
				WeaponSlotType="PRIMARY_WEAPON"
				Texture="FXTracerGDI"
				UseAdditiveBlending="true"
				TracerHitFx="FX_BulletHitGDI">
				<HeadColor
					r="1.0"
					g="1.0"
					b="1.0"
					a="1.0" />
				<TailColor
					r="0.0"
					g="0.0"
					b="0.0"
					a="0.0" />
				<ObjectStatusValidation
					ForbiddenStatus="WEAPON_UPGRADED_01" />
			</TracerModelDraw>
			<TracerModelDraw
				id="ModuleTag_TracerModelDrawVeterancy"
				MinLength="50.0"
				MaxLength="50.0"
				Width="3.0"
				MinSpeed="30"
				MaxSpeed="30"
				SweepSpeed="1.0"
				SpreadAngle="2.0"
				MinTracersPerFrame="0.5"
				MaxTracersPerFrame="0.5"
				FrameLifeTime="35"
				WeaponSlotType="PRIMARY_WEAPON"
				Texture="FXTracerHeroic"
				UseAdditiveBlending="true"
				TracerHitFx="FX_BulletHitGDIHeroic">
				<HeadColor
					r="1.0"
					g="0.0"
					b="0.0"
					a="1.0" />
				<TailColor
					r="0.0"
					g="0.0"
					b="0.0"
					a="0.0" />
				<ObjectStatusValidation
					RequiredStatus="WEAPON_UPGRADED_01" />
			</TracerModelDraw> 
			
			
			-->			
		
		
		</Draws>
		<Behaviors>
			<!--Return to Dock Button Power-->
			<ReturnToDockSpecialPower
				id="ModuleTag_ReturnToDock"
				SpecialPowerTemplate="SpecialPower_ReturnToDock" />
			<CreateObjectDie
				id="ModuleTag_CreateObjectDie"
				CreationList="HarvesterDeathTiberiumOCL">
				<DieMuxData
					DeathTypes="ALL" />
			</CreateObjectDie>
			<WeaponSetUpdate
				id="ModuleTag_WeaponSetUpdate">
				<WeaponSlotTurret
					ID="1">
					<Weapon
						Ordering="PRIMARY_WEAPON"
						Template="NODBunkerTruckFakeWeapon" />
					<TurretSettings
						TurretTurnRate="180"
						MinIdleScanTime="1.0s"
						MaxIdleScanTime="5.0s"
						MinIdleScanAngle="0.0"
						MaxIdleScanAngle="90.0">
						<TurretAITargetChooserData
							CanAcquireDynamicIfAssignedOutOfRange="true" />
					</TurretSettings>
				</WeaponSlotTurret>
			</WeaponSetUpdate>
			<HordeTransportContain
				id="ModuleTag_Contain"
				ObjectStatusOfContained="UNSELECTABLE ENCLOSED CAN_ATTACK"
				ContainMax="1"
				Slots="1"
				AllowEnemiesInside="false"
				AllowAlliesInside="true"
				AllowNeutralInside="false"
				AllowOwnPlayerInsideOverride="true"
				ShowPips="true"
				EnterSound="VehicleEnter"
				ExitSound="VehicleExit"
				KillPassengersOnDeath="true">
				<PassengerFilter
					Rule="ANY"
					Include="INFANTRY" />
				<DieMuxData
					DeathTypes="ALL" />
				<PassengerData
					BonePrefix="BONEGARRISON">
					<Filter
						Rule="NONE"
						Include="INFANTRY" />
				</PassengerData>
				<MemberTemplateStatusInfo
					ThingTemplate="GDISniperSquad"
					ObjectStatus="CAN_SPOT_FOR_BOMBARD" />
			</HordeTransportContain>
			<MoveToPositionAndEvacuateSpecialPower
				id="ModuleTag_MoveToPositionAndEvacuate"
				SpecialPowerTemplate="SpecialPowerMoveToPositionAndEvacuate" />		
			<Physics
				id="ModuleTag_Physics" />
			<SlowDeath
				id="ModuleTag_Death"
				DeathObjectStatusBits="DONT_CLEAR_FOR_BUILD"
				SinkDelay="3s"
				SinkRate="1.0"
				DestructionDelay="7s">
				<OCL
					Type="INITIAL">
					<OCL>OCL_GDIHvyHarvesterDebris</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_GDIVehicleExplodeNoScorch" />
			</FXListBehavior>
			<!-- Override the Nod Cloaking Field in BaseVehicle to prevent stealth during docking or harvesting-->
			<InvisibilityUpdate
				id="ModuleTag_Invisibility"
				xai:joinAction="Replace"
				UpdatePeriod="0.5s">
				<InvisibilityNugget
					EnteringStealthFX="FX_NODStealthTransitionOn"
					LeavingStealthFX="FX_NODStealthTransitionOff"
					ForbiddenStatus="DOCKING HARVESTING" />
				<RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade>
			</InvisibilityUpdate>
			<StatusBitsUpgrade
				id="ModuleTag_VeterancyUpgrade"
				StatusToSet="WEAPON_UPGRADED_01">
				<TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
			</StatusBitsUpgrade>			
		</Behaviors>
		<AI>
			<SupplyTruckAIUpdate
				id="ModuleTag_AI"
				AutoAcquireEnemiesWhenIdle="YES"
				MaxBoxes="200"
				SupplyWarehouseScanDistance="5000"
				SupplyCenterActionDelay="100ms"
				DepletedAnnounceDistance="600"
				HarvestTiberium="true"
				HarvestActivationRange="35"
				HarvestPreparationTime="0.5s"
				HarvestActionTime="3s"
				CanPathThroughUnitsWhileDocking="true"
				CanPathThroughUnitsWhileHarvesting="false">
				<UnitAITargetChooserData
					CanPickDynamicTargets="false"
					RotateToTargetWhenAiming="false"/>
			</SupplyTruckAIUpdate>
		</AI>
		<Body>
			<ActiveBody
				id="ModuleTag_Body"
				MaxHealth="5200" />
		</Body>
		<EvaEvents
			EvaEventDamagedOwner="HarvesterUnderAttack" />
		<Geometry
			IsSmall="false">
			<Shape
				Type="BOX"
				MajorRadius="20.0"
				MinorRadius="10.0"
				Height="15.0"
				ContactPointGeneration="VEHICLE" />
		</Geometry>
		<AudioArrayVoice>
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceAttack" AudioType="voiceAttack" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceCreate" AudioType="voiceCreated" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceHarvest" AudioType="voiceSupply" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceMove" AudioType="voiceMove" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceMoveRefinery" AudioType="voiceDock" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceRetreat" AudioType="voiceRetreatToCastle" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceSelectMS" AudioType="voiceSelect" />
			<AudioEntry Sound="GDI_HeavyHarvester_VoiceSelectBattleMS" AudioType="voiceSelectBattle" />
			<NamedEntry Sound="GDI_HeavyHarvester_VoiceMoveRefinery" Name="ReturnToDock" />
			<NamedEntry Sound="GDI_HeavyHarvester_VoiceRetreat" Name="ReturnToDockWhileUnderAttack" />
		</AudioArrayVoice>
		<AudioArraySound>
			<AudioEntry Sound="HarvesterMoveStart" AudioType="soundMoveStart" />
			<AudioEntry Sound="HarvesterAmbientLoopMS" AudioType="soundAmbient" />
		</AudioArraySound>
		<ShadowInfo
			Type="VOLUME" />
		<VisionInfo
			VisionRange="150"
			ShroudClearingRange="320" />
		<EvaEvents
			EvaEventDieOwner="HarvesterLost" />
	</GameObject>
</AssetDeclaration>