<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xai="uri:ea.com:eala:asset:instance">
	<Tags></Tags>
	<Includes>
		<Include
			type="all"
			source="ART:AUHrvstr_SKN.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_FP.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_IDLA.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_DIEA.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_MOVA.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_DCLA.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstr_ACLA.W3X" />
		<Include
			type="all"
			source="ART:AUHrvstrR_SKN.W3X" />
		<!-- Base Object -->
		<Include
			type="instance"
			source="DATA:BaseObjects/BaseVehicle.xml" />
		<!-- Includes for the Additive Shadow Decal  -->
		<Include
			type="all"
			source="ART:AUDronShipDecalIdle.xml" />
	</Includes>
	<GameObject
		id="AlienHarvester"
		inheritFrom="BaseVehicle"
		SelectPortrait="Portrait_ALIENHarvester"
		ButtonImage="Portrait_ALIENHarvester"
		Side="ALIEN"
		EditorSorting="UNIT"
		TransportSlotCount="1"
		BuildCost="1600"
		BuildTime="16"
		CommandSet="AlienHarvesterCommandSet"
		KindOf="PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE VEHICLE HARVESTER HEALED_BY_TIBERIUM MOVE_FOR_NOONE IGNORES_SELECT_ALL CAN_BE_FAVORITE_UNIT"
		RadarPriority="UNIT"
		ProductionQueueType="VEHICLE"
		VoicePriority="16"
		EditorName="AlienHarvester"
		Description="Desc:AlienHarvester"
		TypeDescription="Type:AlienHarvester">
		<DisplayName
			xai:joinAction="Replace">NAME:ALIENHarvester</DisplayName>
		<GameDependency>
			<RequiredObject>AlienTiberiumTower</RequiredObject>
		</GameDependency>
		<ArmorSet
			Armor="AlienHarvesterArmor"
			DamageFX="InfantryAlienDamageFX" />
		<LocomotorSet
			Locomotor="AlienHarvesterLocomotor"
			Condition="NORMAL"
			Speed="75.0" />
		<Draws>
			<ScriptedModelDraw
				id="ModuleTag_Draw"
				OkToChangeModelColor="true">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT">
					<Model
						Name="AUHrvstr_SKN" />
					<ShadowInfo
						Type="ADDITIVE_DECAL"
						SizeX="60"
						SizeY="50"
						OverrideLODVisibility="true"
						MaxHeight="200"
						UseHouseColor="true"
						Texture="AUDronShipDecalIdle" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="FORMATION_PREVIEW">
					<Model
						Name="AUHrvstr_FP" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DAMAGED">
					<Model
						Name="AUHrvstr_SKN" />
					<ShadowInfo
						Type="ADDITIVE_DECAL"
						SizeX="60"
						SizeY="50"
						OverrideLODVisibility="true"
						MaxHeight="200"
						UseHouseColor="true"
						Texture="AUDronShipDecalIdle" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia01"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="REALLYDAMAGED">
					<Model
						Name="AUHrvstr_SKN" />
					<Texture
						Original="AUHrvstr"
						New="AUHrvstr_D" />
					<ShadowInfo
						Type="ADDITIVE_DECAL"
						SizeX="60"
						SizeY="50"
						OverrideLODVisibility="true"
						MaxHeight="200"
						UseHouseColor="true"
						Texture="AUDronShipDecalIdle" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FXParticleSystemTemplate="AlienDamageFireGlow02"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia07"
						FollowBone="true"
						FXParticleSystemTemplate="AlienDamageInfantryIchor" />
					<ParticleSysBone
						BoneName="B_Cilia01"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia01"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia01"
						FXParticleSystemTemplate="AlienDamageFireGlow02"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Cilia01"
						FollowBone="true"
						FXParticleSystemTemplate="AlienDamageInfantryIchor" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DYING">
					<Model
						Name="AUHrvstrR_SKN" />
					<ParticleSysBone
						BoneName="none"
						FXParticleSystemTemplate="AlienDamageInfantryIchor" />
				</ModelConditionState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="FORMATION_PREVIEW">
					<!-- no anim -->
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_DEFAULT"
					StateName="STATE_bored">
					<Animation
						AnimationName="AUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
						if Prev == "STATE_Run" then CurDrawableSetTransitionAnimState("TRANS_MovingToIdle") end;
						if Prev == "STATE_Selected" or Prev == "ATNB" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end;
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DYING">
					<Animation
						AnimationName="AUHrvstr_DIEA"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING"
					StateName="STATE_Run"
					Flags="RANDOMSTART">
					<Animation
						AnimationName="AUHrvstr_MOVA"
						AnimationMode="LOOP" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
						if Prev == "STATE_bored" then CurDrawableSetTransitionAnimState("TRANS_IdleToMoving") end;
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_MovingToIdle">
					<Animation
						AnimationName="AUHrvstr_DCLA"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_IdleToMoving">
					<Animation
						AnimationName="AUHrvstr_ACLA"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="HARVEST_ACTION"
					StateName="STATE_bored">
					<Animation
						AnimNickName="HARVEST"
						AnimationName="AUHrvstr_IDLA"
						AnimationMode="LOOP" />
					<ParticleSysBone
						BoneName="B_Main"
						FXParticleSystemTemplate="AlienHarvest"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Main"
						FXParticleSystemTemplate="AlienHarvest2"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="B_Main"
						FXParticleSystemTemplate="AlienHarvestDust"
						FollowBone="true" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
						if Prev == "STATE_Run" then CurDrawableSetTransitionAnimState("TRANS_MovingToIdle") end;
						if Prev == "STATE_Selected" or Prev == "ATNB" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end;
					</Script>
				</AnimationState>
				<!-- SELECTED -->
				<!--				
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="SELECTED"
					StateName="STATE_Selected">
					<Animation
						AnimNickName="ATNB"
						AnimationName="AUHrvstr_AIDA"
						AnimationMode="LOOP"
						AnimationBlendTime="5"
						AnimationMustCompleteBlend="true" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
							if Prev == "STATE_bored" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end;
					</Script>
				</AnimationState>

				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_boredToAttention">
					<Animation
						AnimationName="AUHrvstr_BATB"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_attentionToBored">
					<Animation
						AnimationName="AUHrvstr_ABTB"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_IdleToSelected">
					<Animation
						AnimationName="AUHrvstr_BATB"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_SelectedToIdle">
					<Animation
						AnimationName="AUHrvstr_ABTB"
						AnimationMode="ONCE" />
				</AnimationState>	
-->
			</ScriptedModelDraw>
		</Draws>
		<Behaviors>
			<!--Return to Dock Button Power-->
			<ReturnToDockSpecialPower
				id="ModuleTag_ReturnToDock"
				SpecialPowerTemplate="SpecialPower_ReturnToDock" />
			<Physics
				id="ModuleTag_Physics" />
			<SlowDeath
				id="ModuleTag_Death"
				SinkDelay="5s"
				SinkRate="1.0"
				DestructionDelay="15s">
				<OCL
					Type="INITIAL">
					<OCL>OCL_ALIENHarvesterDebris</OCL>
				</OCL>
				<DieMuxData
					DeathTypes="ALL"
					DeathTypesForbidden="TOPPLED" />
				<Sound
					Type="INITIAL"
					List="ALI_Harvester_Die" />
			</SlowDeath>
			<FXListBehavior
				id="ModuleTag_FXList">
				<DieMuxData
					DeathTypes="ALL" />
				<Event
					Index="onTransitionToDamaged"
					FX="FX_AlienHarvesterTransition" />
				<Event
					Index="onTransitionToReallyDamaged"
					FX="FX_AlienHarvesterTransition" />
				<Event
					Index="onDeath"
					FX="FX_AlienHarvesterExplode" />
			</FXListBehavior>
			<!--
			<CreateObjectDie
				id="ModuleTag_CreateObjectDie"
				CreationList="OCLAlienHarvesterIonStorm">
				<DieMuxData
					DeathTypes="ALL" />
			</CreateObjectDie> -->
			<!-- No stances because there's no weapon -->
			<StancesBehavior
				id="ModuleTag_Stance"
				xai:joinAction="Remove" />
			<!-- 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>
		</Behaviors>
		<AI>
			<SupplyTruckAIUpdate
				id="ModuleTag_AI"
				AutoAcquireEnemiesWhenIdle="NO"
				MaxBoxes="200"
				SupplyWarehouseScanDistance="5000"
				SupplyCenterActionDelay="100ms"
				DepletedAnnounceDistance="600"
				HarvestTiberium="true"
				HarvestActivationRange="35"
				HarvestPreparationTime="0.5s"
				HarvestActionTime="2.2s" 
				CanPathThroughUnitsWhileDocking="true"
				CanPathThroughUnitsWhileHarvesting="false"/>
		</AI>
		<Body>
			<ActiveBody
				id="ModuleTag_Body"
				MaxHealth="5000.0" />
		</Body>
		<Geometry
			IsSmall="false">
			<Shape
				Type="CYLINDER"
				MajorRadius="20.0"
				Height="30.0" />
			<ContactPoint>
				<Pos
					x="0"
					y="15"
					z="25" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="15"
					y="-15"
					z="25" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="-15"
					y="-15"
					z="25" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="0"
					y="15"
					z="25" />
			</ContactPoint>
		</Geometry>
		<AudioArrayVoice>
			<AudioEntry
				Sound="ALI_Harvester_SoundCreateMS"
				AudioType="voiceCreated" />
			<AudioEntry
				Sound="ALI_Harvester_SoundHarvest"
				AudioType="voiceSupply" />
			<AudioEntry
				Sound="ALI_Harvester_SoundMove"
				AudioType="voiceMove" />
			<AudioEntry
				Sound="ALI_Harvester_SoundMove"
				AudioType="voiceDock" />
			<AudioEntry
				Sound="ALI_Harvester_SoundRetreat"
				AudioType="voiceRetreatToCastle" />
			<AudioEntry
				Sound="ALI_Harvester_SoundSelectMS"
				AudioType="voiceSelect" />
			<NamedEntry
				Sound="ALI_Harvester_SoundMove"
				Name="ReturnToDock" />
			<NamedEntry
				Sound="ALI_Harvester_SoundRetreat"
				Name="ReturnToDockWhileUnderAttack" />
		</AudioArrayVoice>
		<AudioArraySound>
			<AudioEntry
				Sound="ALI_Harvester_AmbientDelayedLoop"
				AudioType="soundAmbient" />
			<AudioEntry
				Sound="ALI_Harvester_MoveStart"
				AudioType="soundMoveStart" />
			<AudioEntry Sound="ALI_Building_LightDamage" AudioType="soundOnDamaged" />
			<AudioEntry Sound="ALI_Building_HeavyDamage" AudioType="soundOnReallyDamaged" />
		</AudioArraySound>
		<EvaEvents
			EvaEventDieOwner="HarvesterLost" />
		<ShadowInfo
			Type="VOLUME" />
		<VisionInfo
			VisionRange="150"
			ShroudClearingRange="320" />
		<CrusherInfo
			CrusherLevel="0"
			CrushEqualLevelProps="true"
			CrushableLevel="3" />
	</GameObject>
</AssetDeclaration>