<?xml version="1.0" encoding="utf-8"?>
<!-- aka Technology Assembler -->
<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:ABReactor.w3x" />
		<Include
			type="all"
			source="ART:ABReactorBld_SKN.w3x" />
		<Include
			type="all"
			source="ART:ABReactorBld_AAN.w3x" />
		<Include
			type="all"
			source="ART:ABReactor_D2SN.w3x" />
		<Include
			type="all"
			source="ART:ABReactor_D2AN.w3x" />
		<Include
			type="all"
			source="ART:ABReactor_D3SN.w3x" />
		<Include
			type="all"
			source="ART:ABReactor_D3AN.w3x" />
		<!-- Base Object -->
		<Include
			type="instance"
			source="DATA:BaseObjects/BaseStructure.xml" />
	</Includes>
	<!-- TechnologyPlant -->
	<GameObject
		id="AlienReactor"
		inheritFrom="BaseStructure"
		SelectPortrait="Portrait_ALIENTechnologyAssembler"
		ButtonImage="Portrait_ALIENTechnologyAssembler"
		Side="ALIEN"
		EditorSorting="STRUCTURE"
		TransportSlotCount="1"
		BuildCost="4000"
		BuildTime="40"
		PlacementViewAngle="225d"
		CommandSet="AlienReactorCommandSet"
		KindOf="STRUCTURE SELECTABLE IMMOBILE CAN_CAST_REFLECTIONS AUTO_ACQUIRABLE_BY_AI NOT_AUTOACQUIRABLE COVER POWERED FS_TECH_CENTER"
		RadarPriority="STRUCTURE"
		ProductionQueueType="MAIN_STRUCTURE"
		BuildPlacementTypeFlag="MAIN_STRUCTURE"
		EditorName="AlienTechnologyStructure"
		Description="Desc:ALIENTechnologyAssembler"
		TypeDescription="Type:AlienTechnologyAssembler"
		EnergyProduction="-10">
		<DisplayName
			xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">NAME:ALIENTechnologyAssembler</DisplayName>
		<GameDependency>
			<RequiredObject>AlienControlCenter</RequiredObject>
		</GameDependency>
		<ArmorSet
			Armor="AlienReactorArmor"
			DamageFX="FactionStructureDamageFX" />
		<SkirmishAIInformation
			BaseBuildingLocation="SPREAD" />
		<Draws>
			<ScriptedModelDraw
				id="ModuleTag_Draw"
				OkToChangeModelColor="true">
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT">
					<Model
						Name="ABReactor" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="STRUCTURE_UNPACKING">
					<Model
						Name="ABReactorBld_SKN" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="RUBBLE">
					<Model
						Name="ABReactor_D3SN" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="REALLYDAMAGED">
					<Model
						Name="ABReactor_D2SN" />
					<ParticleSysBone
						BoneName="FXBone01"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone01"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone01"
						FXParticleSystemTemplate="AlienDamageFireGlow02"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone02"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone02"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone02"
						FXParticleSystemTemplate="AlienDamageFireGlow02"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone03"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone03"
						FXParticleSystemTemplate="AlienDamageFireGlow01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone03"
						FXParticleSystemTemplate="AlienDamageFireGlow02"
						FollowBone="true" />
				</ModelConditionState>
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DAMAGED">
					<Model
						Name="ABReactor" />
					<Texture
						Original="ABReactor"
						New="ABReactor_D" />
					<ParticleSysBone
						BoneName="FXBone01"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
					<ParticleSysBone
						BoneName="FXBone03"
						FXParticleSystemTemplate="AlienDamageFire01"
						FollowBone="true" />
				</ModelConditionState>
				<AnimationState
					ParseCondStateType="PARSE_DEFAULT">
					<!-- no anim -->
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="STRUCTURE_UNPACKING">
					<Animation
						AnimationName="ABReactorBld_AAN"
						AnimationMode="ONCE" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="RUBBLE"
					StateName="STATE_Rubble"
					Flags="START_FRAME_LAST">
					<Animation
						AnimationName="ABReactor_D3AN"
						AnimationMode="MANUAL" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
						if Prev ~= "STATE_Rubble" and Prev ~= "TRANS_IntoRubble" then
						CurDrawableSetTransitionAnimState("TRANS_IntoRubble")
						end
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="REALLYDAMAGED"
					StateName="STATE_ReallyDamaged"
					Flags="START_FRAME_LAST">
					<Animation
						AnimationName="ABReactor_D2AN"
						AnimationMode="MANUAL" />
					<Script>
						Prev = CurDrawablePrevAnimationState();
						if Prev ~= "STATE_ReallyDamaged" and Prev ~= "TRANS_IntoReallyDamaged" then
						CurDrawableSetTransitionAnimState("TRANS_IntoReallyDamaged")
						end
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_IntoReallyDamaged">
					<Animation
						AnimationName="ABReactor_D2AN"
						AnimationMode="ONCE"
						AnimationBlendTime="0" />
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_TRANSITION"
					StateName="TRANS_IntoRubble">
					<Animation
						AnimationName="ABReactor_D3AN"
						AnimationMode="ONCE"
						AnimationBlendTime="0" />
				</AnimationState>
			</ScriptedModelDraw>
		</Draws>
		<Behaviors>
			<FXListBehavior
				id="ModuleTag_FXList">
				<DieMuxData
					DeathTypes="ALL" />
				<Event
					Index="onTransitionToDamaged"
					FX="FX_AlienBuildingDamagedL" />
				<Event
					Index="onTransitionToReallyDamaged"
					FX="FX_AlienBuildingDamagedL" />
				<Event
					Index="onTransitionToRubble"
					FX="FX_AlienBuildingRubbleL" />
			</FXListBehavior>
			<SlowDeath
				id="ModuleTag_Death"
				SinkDelay="5.0s"
				SinkRate="4.0"
				DestructionDelay="11.0s">
				<Sound Type="INITIAL" List="ALI_Building_Die" />
				<DieMuxData
					DeathTypes="ALL" />
			</SlowDeath>
			<xi:include
				href="../../Includes/GenericBuildingRepair.xml" />
			<xi:include
				href="../../Includes/GenericEngineerContain.xml" />
			<ProductionUpdate
				id="ModuleTag_ProductionUpdate"
				Type="UPGRADE" 
				GiveNoXP="true" />


			<xi:include
				href="../../Includes/AdvancedAlienBuildingDestruction.xml" />
			<xi:include
				href="../../Includes/AdvancedAlienBuildingSuicide.xml" />
			<StructureUnpackUpdate
				id="StructureUnpackUpdate"
				UnpackTime="1.5s" />


			<SpecialPower
				id="ModuleTag_PhaseFieldPower"
				SpecialPowerTemplate="SpecialPower_PhaseField"
				UpdateModuleStartsAttack="true"
				TriggerFX="FX_AlienShieldPower"
			/>
			<!--			InitiateSound="" Sound="ALI_PhaseGenerator_Begin" -->

			<WeaponFireSpecialAbilityUpdate
				id="ModuleTag_PhaseFieldPowerUpdate"
				SpecialPowerTemplate="SpecialPower_PhaseField"
				SpecialWeapon="AlienPhaseFieldWeaponTrigger"
			/>
<!-- 				TriggerSound="ALI_PhaseGenerator_Begin"
				UnpackSound="ALI_PhaseGenerator_Begin" -->

			<AISpecialPowerUpdate
				id="ModuleTag_StasisChamberPhaseField"
				CommandButtonName="Command_SpecialPowerPhaseField"
				SpecificUnit="AlienAssimilator"
				SpecialPowerAIType="SPECIAL_POWER_SPECIFIC_UNIT" 
			/>
			
		</Behaviors>
		<AI>
			<!-- needed for special powers -->
			<AIUpdate
				id="ModuleTag_AIUpdate"
				AutoAcquireEnemiesWhenIdle="NO" />
		</AI>
		<Body>
			<ActiveBody
				id="ModuleTag_Body"
				MaxHealth="10000.0" />
		</Body>
		<Geometry
			IsSmall="false">
			<Shape
				Type="BOX"
				MajorRadius="9.18358"
				MinorRadius="44.0272"
				Height="15.6661">
				<Offset
					x="0.00120163"
					y="0.0"
					z="0.0" />
			</Shape>
			<Shape
				Type="BOX"
				MajorRadius="70.1626"
				MinorRadius="9.49226"
				Height="8.4597">
				<Offset
					x="0.00120544"
					y="0.0"
					z="0.0" />
			</Shape>
			<Shape
				Type="BOX"
				MajorRadius="23.4992"
				MinorRadius="23.7693"
				Height="15.6661">
				<Offset
					x="49.4305"
					y="-0.985332"
					z="0.0" />
			</Shape>
			<Shape
				Type="BOX"
				MajorRadius="23.4992"
				MinorRadius="23.7693"
				Height="15.6661">
				<Offset
					x="-45.7104"
					y="-0.985332"
					z="0.0" />
			</Shape>
			<ContactPoint>
				<Pos
					x="-68.0463"
					y="-22.6245"
					z="0.0" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="66.9641"
					y="-22.6245"
					z="14.1038" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="66.9641"
					y="22.6905"
					z="0.0" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="-68.0463"
					y="22.6905"
					z="14.1038" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="-68.0463"
					y="-22.6245"
					z="14.1038" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="66.9641"
					y="-22.6245"
					z="0.0" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="66.9641"
					y="22.6905"
					z="14.1038" />
			</ContactPoint>
			<ContactPoint>
				<Pos
					x="-68.0463"
					y="22.6905"
					z="0.0" />
			</ContactPoint>
		</Geometry>
		<AudioArrayVoice>
			<AudioEntry
				Sound="ALI_TechnologyAssembler_Select"
				AudioType="voiceSelect" />
		</AudioArrayVoice>
		<AudioArraySound>
			<AudioEntry Sound="ALI_Building_LightDamage" AudioType="soundOnDamaged" />
			<AudioEntry Sound="ALI_Building_HeavyDamage" AudioType="soundOnReallyDamaged" />
			<AudioEntry Sound="ALI_Building_Placed" AudioType="soundUnderConstruction" />
		</AudioArraySound>
		<ShadowInfo
			Type="VOLUME" />
		<VisionInfo
			VisionRange="200"
			ShroudClearingRange="400" />
		<ProjectedBuildabilityInfo
			Radius="250"
			BuildPlacementTypes="MAIN_STRUCTURE OTHER_STRUCTURE" />
	</GameObject>
</AssetDeclaration>
