| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550 |
- <?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="DATA:GlobalData/GlobalDefines.xml" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_SKN.w3x" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_PATK.w3x" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_ATK.w3x" />
- <Include type="all" source="ART:ABBaseDefense_Platform.w3x" />
- <Include type="all" source="ART:ABBaseDefense_Platform_BLD.w3x" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_BLD_SKN.w3x" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_BLD_BLD.w3x" />
- <Include type="all" source="ART:ABBaseDefenseAdvanced_BLD_BLDW.w3x" />
- <Include type="all" source="ART:FXAlliedPrismBeam.xml" />
- <!-- Base Object -->
- <Include type="instance" source="DATA:BaseObjects/BaseStructure.xml" />
- </Includes>
- <GameObject
- id="AlliedBaseDefenseAdvanced"
- inheritFrom="BaseStructure"
- SelectPortrait="Portrait_AlliedBaseDefenseAdvanced"
- ButtonImage="Button_AlliedBaseDefenseAdvanced_on"
- Side="Allies"
- EditorSorting="STRUCTURE"
- BuildTime="30"
- EnergyProduction="-75"
- CommandSet="AlliedBaseDefenseAdvancedCommandSet"
- KindOf="-NOT_AUTOACQUIRABLE +FS_BASE_DEFENSE +POWERED +CAN_ATTACK +CAN_SEE_THROUGH_STRUCTURE +LINE_OF_SIGHT_IGNORES_BUILDINGS"
- RadarPriority="STRUCTURE"
- PlacementViewAngle="315d"
- CampnessValue="=$CAMPNESS_DEFENSIVE_STRUCTURE"
- ProductionQueueType="OTHER_STRUCTURE"
- BuildPlacementTypeFlag="OTHER_STRUCTURE"
- EditorName="AlliedBaseDefenseAdvanced"
- WeaponCategory="CANNON"
- TypeDescription="Type:AlliedBaseDefenseAdvanced"
- Description="Desc:AlliedBaseDefenseAdvanced">
- <DisplayName
- xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:AlliedBaseDefenseAdvanced</DisplayName>
- <GameDependency>
- <RequiredObject>AlliedTechStructure</RequiredObject>
- <RequiredObject>AlliedPowerPlant</RequiredObject>
- </GameDependency>
- <ObjectResourceInfo>
- <BuildCost Account="=$ACCOUNT_ORE" Amount="1200"/>
- </ObjectResourceInfo>
- <ArmorSet
- Armor="AlliedAdvancedBaseDefenseArmor"
- DamageFX="FactionStructureDamageFX" />
- <SkirmishAIInformation
- BaseBuildingLocation="DEFENSE" >
- <ConstructionBaseSelectionCriteria
- ExcludedBaseTypes="NO_BUILD_RADIUS"
- PreferredBaseTypes="ENEMIES_IN_BASE UNDER_ATTACK"
- SortOrder="PREFER_MOST_RECENTLY_ATTACKED" />
- </SkirmishAIInformation>
- <Draws>
- <ScriptedModelDraw
- id="ModuleTag_01"
- ExtraPublicBone="FX_WeaponA FX_bone01 FX_bone02 BONE_CONTACT_POINT_01 BONE_CONTACT_POINT_02 BONE_CONTACT_POINT_03 BONE_CONTACT_POINT_04 BONE_CONTACT_POINT_05 BONE_CONTACT_POINT_06 BONE_CONTACT_POINT_07 BONE_CONTACT_POINT_08"
- OkToChangeModelColor="true">
-
- <ModelConditionState
- ParseCondStateType="PARSE_DEFAULT">
- <Model
- Name="ABBaseDefenseAdvanced_SKN" />
- <WeaponFireFXBone
- WeaponSlotType="PRIMARY_WEAPON"
- BoneName="FX_WeaponA" />
- <WeaponLaunchBone
- WeaponSlotType="PRIMARY_WEAPON"
- BoneName="FX_WeaponA" />
- <WeaponFireFXBone
- WeaponSlotType="SECONDARY_WEAPON"
- BoneName="FX_WeaponA" />
- <WeaponLaunchBone
- WeaponSlotType="SECONDARY_WEAPON"
- BoneName="FX_WeaponA" />
- </ModelConditionState>
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="STRUCTURE_UNPACKING">
- <Model
- Name="ABBaseDefenseAdvanced_BLD_SKN" />
- </ModelConditionState>
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="SOLD">
- <Model
- Name="ABBaseDefenseAdvanced_BLD_SKN" />
- </ModelConditionState>
-
- <AnimationState
- ParseCondStateType="PARSE_DEFAULT"
- Flags="START_FRAME_FIRST">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_PATK"
- AnimationMode="ONCE_BACKWARDS"/>
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="STRUCTURE_UNPACKING OVER_WATER">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_BLD_BLDW"
- AnimationMode="ONCE"
- AnimationAbsoluteTime="2s" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Med"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Lights"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Flash"
- FollowBone="true" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="STRUCTURE_UNPACKING">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_BLD_BLD"
- AnimationMode="ONCE"
- AnimationAbsoluteTime="2s" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Med"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Lights"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="NONE"
- FXParticleSystemTemplate="Con_Flash"
- FollowBone="true" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="SOLD"
- Flags="START_FRAME_LAST">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_BLD_BLD"
- AnimationMode="ONCE_BACKWARDS"
- AnimationAbsoluteTime="2s"/>
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="PREATTACK_A">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_PATK"
- AnimationMode="ONCE"/>
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPrismPreAttackLight" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="PREATTACK_B">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_PATK"
- AnimationMode="ONCE"/>
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPrismPreAttackLight" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="USING_WEAPON_A">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_ATK"
- AnimationMode="ONCE"/>
- </AnimationState>
-
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="USING_WEAPON_B">
- <Animation
- AnimationName="ABBaseDefenseAdvanced_ATK"
- AnimationMode="ONCE"/>
- </AnimationState>
- </ScriptedModelDraw>
- <!-- DRAW PLATFORM -->
- <ScriptedModelDraw
- id="ModuleTag_Draw_Platform"
- OkToChangeModelColor="true">
- <ModelConditionState
- ParseCondStateType="PARSE_DEFAULT">
- <Model
- Name="ABBaseDefense_Platform" />
- </ModelConditionState>
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="FROZEN">
- <Model
- Name="ABBaseDefense_Platform" />
- <Material
- ShaderName="ObjectsFrozen.fx"
- TechniqueName="Default">
- <Constants>
- <Texture Name="DiffuseTexture">
- <Value>ABPlatform</Value>
- </Texture>
- <Texture Name="NormalMap">
- <Value>ABPlatform_NRM</Value>
- </Texture>
- <Texture Name="SpecMap">
- <Value>ABPlatform_SPM</Value>
- </Texture>
- <Float Name="EnvMult">
- <Value>1.000000</Value>
- </Float>
- <Bool Name="AlphaTestEnable">
- <Value>false</Value>
- </Bool>
- </Constants>
- </Material>
- </ModelConditionState>
-
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="BUILD_PLACEMENT_CURSOR">
- <Model
- Name="ABBaseDefense_Platform" />
- </ModelConditionState>
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="OVER_WATER STRUCTURE_UNPACKING">
- <Model
- Name="ABBaseDefense_Platform_BLD" />
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="ABPowerPlantWakeSplash"
- FollowBone="true" />
- </ModelConditionState>
- <ModelConditionState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="OVER_WATER SOLD">
- <Model
- Name="ABBaseDefense_Platform_BLD" />
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="ABPowerPlantWakeSplash"
- FollowBone="true" />
- </ModelConditionState>
- <AnimationState
- ParseCondStateType="PARSE_DEFAULT">
- <Script>
- CurDrawableShowSubObjectPermanently("Bib")
- CurDrawableHideSubObjectPermanently("Platform")
- CurDrawableHideSubObjectPermanently("Platform_FX")
- </Script>
- </AnimationState>
-
- <!-- BUILDUP ANIMATION -->
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="STRUCTURE_UNPACKING OVER_WATER">
- <Animation
- AnimationName="ABBaseDefense_Platform_BLD"
- AnimationMode="ONCE" />
- <Script>
- CurDrawableHideSubObjectPermanently("Bib")
- CurDrawableShowSubObjectPermanently("Platform")
- CurDrawableShowSubObjectPermanently("Platform_FX")
- </Script>
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupFroth"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupMist"
- FollowBone="true" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="SOLD OVER_WATER"
- Flags="START_FRAME_LAST">
- <Animation
- AnimationName="ABBaseDefense_Platform_BLD"
- AnimationMode="ONCE_BACKWARDS"
- AnimationAbsoluteTime="2s"/>
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupFroth"
- FollowBone="true" />
- <ParticleSysBone
- BoneName="None"
- FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupMist"
- FollowBone="true" />
- </AnimationState>
- <AnimationState
- ParseCondStateType="PARSE_NORMAL"
- ConditionsYes="OVER_WATER">
- <Script>
- CurDrawableShowSubObjectPermanently("Platform")
- CurDrawableShowSubObjectPermanently("Platform_FX")
- CurDrawableHideSubObjectPermanently("Bib")
- </Script>
- </AnimationState>
- </ScriptedModelDraw>
- <LaserDraw
- id="ModuleTag_LaserDraw"
- Texture1_UTile="1"
- Texture1_VTile="1"
- Texture1_UScrollRate="0.2"
- Texture1_VScrollRate=".3"
- Texture1_NumFrames="1"
- Texture1_FrameRate="0"
- Texture2_UTile="1"
- Texture2_VTile="1"
- Texture2_UScrollRate="-.2"
- Texture2_VScrollRate="-.3"
- Texture2_NumFrames="1"
- Texture2_FrameRate="0"
- LaserWidth="25"
- WeaponSlotID="1"
- LaserStateID="1">
- <FXShader
- ShaderName="Laser.fx"
- TechniqueIndex="0">
- <Constants>
- <Texture
- Name="Texture1">
- <Value>FXAlliedPrismBeam</Value>
- </Texture>
- <Texture
- Name="Texture2">
- <Value>FXAlliedPrismBeam</Value>
- </Texture>
- <Float Name="ColorEmissive">
- <Value>4.000000</Value>
- <Value>4.000000</Value>
- <Value>4.000000</Value>
- </Float>
- </Constants>
- </FXShader>
- </LaserDraw>
- <LaserDraw
- id="ModuleTag_LaserLinkDraw"
- Texture1_UTile="1"
- Texture1_VTile="1"
- Texture1_UScrollRate="0.2"
- Texture1_VScrollRate=".3"
- Texture1_NumFrames="1"
- Texture1_FrameRate="0"
- Texture2_UTile="1"
- Texture2_VTile="1"
- Texture2_UScrollRate="-.2"
- Texture2_VScrollRate="-.3"
- Texture2_NumFrames="1"
- Texture2_FrameRate="0"
- LaserWidth="25"
- WeaponSlotID="1"
- LaserStateID="2">
- <FXShader
- ShaderName="Laser.fx"
- TechniqueIndex="0">
- <Constants>
- <Texture
- Name="Texture1">
- <Value>FXAlliedPrismBeam</Value>
- </Texture>
- <Texture
- Name="Texture2">
- <Value>FXAlliedPrismBeam</Value>
- </Texture>
- <Float Name="ColorEmissive">
- <Value>4.000000</Value>
- <Value>4.000000</Value>
- <Value>4.000000</Value>
- </Float>
- </Constants>
- </FXShader>
- </LaserDraw>
-
- </Draws>
-
- <Behaviors>
- <WeaponSetUpdate
- id="ModuleTag_WeaponSetUpdate">
- <WeaponSlotHardpoint
- ID="1">
- <Weapon
- Ordering="PRIMARY_WEAPON"
- Template="AlliedBaseDefenseAdvancedPrismCannon"
- />
- <Weapon
- Ordering="SECONDARY_WEAPON"
- Template="AlliedBaseDefenseAdvancedPrismLink"
- />
- </WeaponSlotHardpoint>
- </WeaponSetUpdate>
- <Physics
- id="ModuleTag_Physics"/>
-
- <BuildingDestructionBehavior
- id="ModuleTag_BuildingDestruction">
- <DieMuxData
- DeathTypes="ALL" />
- <Item
- BonePrefix="BONE_CONTACT_POINT_"
- FX="SovietRefineryHit"
- FlingVelocity="100.0"/>
- </BuildingDestructionBehavior>
- <FXListBehavior
- xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_FXList">
- <DieMuxData
- DeathTypes="ALL"
- DeathTypesForbidden="SUICIDED" />
- <Event
- Index="onDeath"
- FX="FX_LargeBuildingDieExplosionRumble" />
- </FXListBehavior>
- <FXListBehavior xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_DieSound">
- <DieMuxData
- DeathTypes="ALL"
- DeathTypesForbidden="SUICIDED" />
- <Event Index="onDeath" FX="FX_SmallBuildingDieExplosion" />
- </FXListBehavior>
- <CreateObjectDie
- id="ModuleTag_CreateObjectDie"
- CreationList="ABBaseDefenseAdvanced_Die_OCL">
- <DieMuxData
- DeathTypes="ALL"
- DeathTypesForbidden="SUICIDED" />
- </CreateObjectDie>
- <DestroyDie
- id="ModuleTag_Die">
- <DieMuxData
- DeathTypes="ALL"
- DeathTypesForbidden="SUICIDED" />
- </DestroyDie>
-
- <LaserState
- id="ModuleTag_LaserState"
- LaserId="1">
- <LaserEndParticleSystem>AlliedPrismHitLight</LaserEndParticleSystem>
- <LaserEndParticleSystem>AlliedPrismHitFlash</LaserEndParticleSystem>
- <LaserEndParticleSystem>AlliedPrismHitFire</LaserEndParticleSystem>
- </LaserState>
- <LaserState
- id="ModuleTag_LaserLinkState"
- LaserId="2">
- </LaserState>
-
- <StancesBehavior
- id="ModuleTag_Stance"
- StanceTemplate="OffensiveStructures" />
-
- <NotifyWhenAttackingBehavior
- id="ModuleTag_NotifyFriends"
- NotifyRadius="=$SPECTRUM_TOWER_LINK_RANGE"
- SleepTime="0.10s"
- MaxFriendsToNotify="2"
- AssistResponseModuleId="ModuleTag_AttackAssistResponse">
- <AcceptableFriends
- Rule="NONE"
- Relationship="ALLIES">
- <IncludeThing>AlliedBaseDefenseAdvanced</IncludeThing>
- </AcceptableFriends>
- </NotifyWhenAttackingBehavior>
-
- <AttackAssistResponseBehavior
- id="ModuleTag_AttackAssistResponse"
- WeaponSlotID="1"
- WeaponSlotType="SECONDARY_WEAPON"/>
- <StructureUnpackUpdate
- id="StructureUnpackUpdate"
- UnpackTime="1.5s" />
- <!--This is temporary and should be replaced by an inherited object-->
- <xi:include
- href="DATA:Includes/GenericBuildingRepair.xml" />
- <xi:include
- href="DATA:Includes/GenericAlliedBuildingSuicideNoSpawn.xml" />
- <xi:include
- href="DATA:Includes/RepairAlliesEngineerContain.xml" />
- </Behaviors>
- <AI>
- <AIUpdate
- id="ModuleTag_AIUpdate"
- AutoAcquireEnemiesWhenIdle="YES"
- StateMachine="OffensiveStructureAIStateMachine">
- <UnitAITargetChooserData/>
- </AIUpdate>
- </AI>
- <Body>
- <ActiveBody
- id="ModuleTag_ActiveBody"
- MaxHealth="1500.0" />
- </Body>
- <ClientBehaviors>
- <ModelConditionAudioLoopClientBehavior id="ModuleTag_ALL_SpectrumTower_Charge">
- <ModelConditionSound Sound="ALL_SpectrumTower_Charge" RequiredFlags="PREATTACK_A" ExcludedFlags="DYING" />
- </ModelConditionAudioLoopClientBehavior>
- </ClientBehaviors>
- <Geometry
- IsSmall="false">
- <Shape
- Type= "BOX"
- MajorRadius = "7.5"
- MinorRadius = "7.5"
- Height = "51.0"
- ContactPointGeneration = "STRUCTURE" >
- <Offset
- x = "0.0"
- y = "0.0"
- z = "0.0" />
- </Shape>
- <Shape
- Type= "BOX"
- MajorRadius = "15.0"
- MinorRadius = "15.0"
- Height = "5.0" >
- <Offset
- x = "0.0"
- y = "0.0"
- z = "0.0" />
- </Shape>
- </Geometry>
- <AudioArrayVoice>
- <AudioEntry
- Sound="ALL_SpectrumTower_Select"
- AudioType="voiceSelect" />
- </AudioArrayVoice>
- <AudioArraySound>
- <!--
- <AudioEntry Sound="HumanFaction_SmallBuilding_LightDamageMS" AudioType="soundOnDamaged" />
- <AudioEntry Sound="HumanFaction_SmallBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
- -->
- </AudioArraySound>
- <VisionInfo
- VisionRange="360"
- ShroudClearingRange="500" />
- </GameObject>
- </AssetDeclaration>
|