AlliedTechStructure.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
  3. <Tags></Tags>
  4. <Includes>
  5. <Include type="all" source="DATA:GlobalData/GlobalDefines.xml" />
  6. <Include type="all" source="ART:ABTechStructure_SKN.w3x" />
  7. <Include type="all" source="ART:ABTechStructure_IDLA.w3x" />
  8. <Include type="all" source="ART:ABTechStructure_FX.w3x" />
  9. <Include type="all" source="ART:ABSuperWeapon_Platform.w3x" />
  10. <Include type="all" source="ART:ABSuperWeapon_Platform_BLD.w3x" />
  11. <Include type="all" source="ART:ABTechStructure_BLD_BLD.w3x" />
  12. <Include type="all" source="ART:ABTechStructure_BLD_SKN.w3x" />
  13. <!-- Base Object -->
  14. <Include type="instance" source="DATA:BaseObjects/BaseStructure.xml" />
  15. </Includes>
  16. <GameObject
  17. id="AlliedTechStructure"
  18. inheritFrom="BaseStructure"
  19. SelectPortrait="Portrait_AlliedTechStructure"
  20. ButtonImage="Button_AlliedTechStructure_on"
  21. Side="Allies"
  22. EditorSorting="STRUCTURE"
  23. BuildTime="30"
  24. CommandSet="AlliedTechStructureCommandSet"
  25. KindOf="+FS_TECHNOLOGY"
  26. RadarPriority="STRUCTURE"
  27. PlacementViewAngle="315d"
  28. EnergyProduction="-75"
  29. ProductionQueueType="MAIN_STRUCTURE"
  30. BuildPlacementTypeFlag="MAIN_STRUCTURE"
  31. IsTrainable="false"
  32. EditorName="AlliedTechStructure"
  33. Description="Desc:AlliedTechStructure"
  34. TypeDescription="Type:AlliedTechStructure">
  35. <DisplayName
  36. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:AlliedTechStructure</DisplayName>
  37. <GameDependency>
  38. <RequiredObject>AlliedAirfield</RequiredObject>
  39. <RequiredObject>AlliedRefinery</RequiredObject>
  40. </GameDependency>
  41. <ObjectResourceInfo>
  42. <BuildCost Account="=$ACCOUNT_ORE" Amount="2000"/>
  43. </ObjectResourceInfo>
  44. <ArmorSet
  45. Armor="BaseFactionStructureArmor"
  46. DamageFX="FactionStructureDamageFX" />
  47. <SkirmishAIInformation
  48. BaseBuildingLocation="BACK">
  49. <ConstructionBaseSelectionCriteria
  50. ExcludedBaseTypes="NO_BUILD_RADIUS CAPTURED"
  51. PreferredBaseTypes="MAIN_BASE"
  52. SortOrder="PREFER_OLDEST" />
  53. </SkirmishAIInformation>
  54. <Draws>
  55. <ScriptedModelDraw
  56. id="ModuleTag_Draw"
  57. OkToChangeModelColor="true"
  58. ExtraPublicBone="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 BONE_CONTACT_POINT_ABTechLab_A1 BONE_CONTACT_POINT_ABTechLab_A2 BONE_CONTACT_POINT_ABTechLab_A3">
  59. <ModelConditionState
  60. ParseCondStateType="PARSE_DEFAULT">
  61. <Model
  62. Name="ABTechStructure_SKN" />
  63. </ModelConditionState>
  64. <ModelConditionState
  65. ParseCondStateType="PARSE_NORMAL"
  66. ConditionsYes="BUILD_PLACEMENT_CURSOR">
  67. <Model
  68. Name="ABTechStructure_SKN" />
  69. </ModelConditionState>
  70. <!-- BUILD UP -->
  71. <ModelConditionState
  72. ParseCondStateType="PARSE_NORMAL"
  73. ConditionsYes="STRUCTURE_UNPACKING">
  74. <Model
  75. Name="ABTechStructure_BLD_SKN" />
  76. </ModelConditionState>
  77. <ModelConditionState
  78. ParseCondStateType="PARSE_NORMAL"
  79. ConditionsYes="SOLD">
  80. <Model
  81. Name="ABTechStructure_BLD_SKN" />
  82. </ModelConditionState>
  83. <AnimationState
  84. ParseCondStateType="PARSE_DEFAULT">
  85. <Animation
  86. AnimationName="ABTechStructure_IDLA"
  87. AnimationMode="LOOP" />
  88. </AnimationState>
  89. <AnimationState
  90. ParseCondStateType="PARSE_NORMAL"
  91. ConditionsYes="STRUCTURE_UNPACKING">
  92. <Animation
  93. AnimationName="ABTechStructure_BLD_BLD"
  94. AnimationMode="ONCE" />
  95. </AnimationState>
  96. <AnimationState
  97. ParseCondStateType="PARSE_NORMAL"
  98. ConditionsYes="SOLD"
  99. Flags="START_FRAME_LAST">
  100. <Animation
  101. AnimationName="ABTechStructure_BLD_BLD"
  102. AnimationMode="ONCE_BACKWARDS"
  103. AnimationAbsoluteTime="2s"/>
  104. </AnimationState>
  105. </ScriptedModelDraw>
  106. <!-- DRAW PLATFORM -->
  107. <ScriptedModelDraw
  108. id="ModuleTag_Draw_Platform"
  109. OkToChangeModelColor="true">
  110. <ModelConditionState
  111. ParseCondStateType="PARSE_DEFAULT">
  112. <Model
  113. Name="ABSuperWeapon_Platform" />
  114. </ModelConditionState>
  115. <ModelConditionState
  116. ParseCondStateType="PARSE_NORMAL"
  117. ConditionsYes="FROZEN">
  118. <Model
  119. Name="ABSuperWeapon_Platform" />
  120. <Material
  121. ShaderName="ObjectsFrozen.fx"
  122. TechniqueName="Default">
  123. <Constants>
  124. <Texture Name="DiffuseTexture">
  125. <Value>ABPlatform</Value>
  126. </Texture>
  127. <Texture Name="NormalMap">
  128. <Value>ABPlatform_NRM</Value>
  129. </Texture>
  130. <Texture Name="SpecMap">
  131. <Value>ABPlatform_SPM</Value>
  132. </Texture>
  133. <Float Name="EnvMult">
  134. <Value>1.000000</Value>
  135. </Float>
  136. <Bool Name="AlphaTestEnable">
  137. <Value>false</Value>
  138. </Bool>
  139. </Constants>
  140. </Material>
  141. </ModelConditionState>
  142. <ModelConditionState
  143. ParseCondStateType="PARSE_NORMAL"
  144. ConditionsYes="OVER_WATER STRUCTURE_UNPACKING">
  145. <Model
  146. Name="ABSuperWeapon_Platform_BLD"/>
  147. <ParticleSysBone
  148. BoneName="None"
  149. FXParticleSystemTemplate="ABPowerPlantWakeSplash"
  150. FollowBone="true" />
  151. </ModelConditionState>
  152. <ModelConditionState
  153. ParseCondStateType="PARSE_NORMAL"
  154. ConditionsYes="OVER_WATER SOLD">
  155. <Model
  156. Name="ABSuperWeapon_Platform_BLD"/>
  157. <ParticleSysBone
  158. BoneName="None"
  159. FXParticleSystemTemplate="ABPowerPlantWakeSplash"
  160. FollowBone="true" />
  161. </ModelConditionState>
  162. <ModelConditionState
  163. ParseCondStateType="PARSE_NORMAL"
  164. ConditionsYes="STRUCTURE_UNPACKING">
  165. <Model
  166. Name="ABSuperWeapon_Platform_BLD"/>
  167. </ModelConditionState>
  168. <ModelConditionState
  169. ParseCondStateType="PARSE_NORMAL"
  170. ConditionsYes="SOLD">
  171. <Model
  172. Name="ABSuperWeapon_Platform_BLD" />
  173. </ModelConditionState>
  174. <AnimationState
  175. ParseCondStateType="PARSE_DEFAULT">
  176. <Script>
  177. CurDrawableShowSubObjectPermanently("Bib")
  178. CurDrawableHideSubObjectPermanently("Platform")
  179. CurDrawableHideSubObjectPermanently("Platform_FX")
  180. </Script>
  181. </AnimationState>
  182. <AnimationState
  183. ParseCondStateType="PARSE_NORMAL"
  184. ConditionsYes="OVER_WATER STRUCTURE_UNPACKING ">
  185. <Animation
  186. AnimationName="ABSuperWeapon_Platform_BLD"
  187. AnimationMode="ONCE"
  188. AnimationBlendTime="0" />
  189. <Script>
  190. CurDrawableHideSubObjectPermanently("Bib")
  191. CurDrawableShowSubObjectPermanently("Platform")
  192. CurDrawableShowSubObjectPermanently("Platform_FX")
  193. </Script>
  194. <ParticleSysBone
  195. BoneName="None"
  196. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupFroth"
  197. FollowBone="true" />
  198. <ParticleSysBone
  199. BoneName="None"
  200. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupMist"
  201. FollowBone="true" />
  202. <ParticleSysBone
  203. BoneName="None"
  204. FXParticleSystemTemplate="AlliedPowerPlantBuildupFlashes"
  205. FollowBone="true" />
  206. <ParticleSysBone
  207. BoneName="None"
  208. FXParticleSystemTemplate="AlliedPowerPlantBuildupSparksSeed"
  209. FollowBone="true" />
  210. </AnimationState>
  211. <AnimationState
  212. ParseCondStateType="PARSE_NORMAL"
  213. ConditionsYes="STRUCTURE_UNPACKING">
  214. <Animation
  215. AnimationName="ABSuperWeapon_Platform_BLD"
  216. AnimationMode="ONCE"
  217. AnimationBlendTime="0" />
  218. <Script>
  219. CurDrawableShowSubObjectPermanently("Bib")
  220. CurDrawableHideSubObjectPermanently("Platform")
  221. CurDrawableHideSubObjectPermanently("Platform_FX")
  222. </Script>
  223. <ParticleSysBone
  224. BoneName="None"
  225. FXParticleSystemTemplate="AlliedPowerPlantBuildupFlashes"
  226. FollowBone="true" />
  227. <ParticleSysBone
  228. BoneName="None"
  229. FXParticleSystemTemplate="AlliedPowerPlantBuildupSparksSeed"
  230. FollowBone="true" />
  231. </AnimationState>
  232. <AnimationState
  233. ParseCondStateType="PARSE_NORMAL"
  234. ConditionsYes="OVER_WATER SOLD"
  235. Flags="START_FRAME_LAST">
  236. <Animation
  237. AnimationName="ABSuperWeapon_Platform_BLD"
  238. AnimationMode="ONCE_BACKWARDS"
  239. AnimationAbsoluteTime="2s"/>
  240. <ParticleSysBone
  241. BoneName="None"
  242. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupFroth"
  243. FollowBone="true" />
  244. <ParticleSysBone
  245. BoneName="None"
  246. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupMist"
  247. FollowBone="true" />
  248. </AnimationState>
  249. <AnimationState
  250. ParseCondStateType="PARSE_NORMAL"
  251. ConditionsYes="SOLD"
  252. Flags="START_FRAME_LAST">
  253. <Animation
  254. AnimationName="ABSuperWeapon_Platform_BLD"
  255. AnimationMode="ONCE_BACKWARDS"
  256. AnimationAbsoluteTime="2s"/>
  257. </AnimationState>
  258. <AnimationState
  259. ParseCondStateType="PARSE_NORMAL"
  260. ConditionsYes="OVER_WATER">
  261. <Script>
  262. CurDrawableHideSubObjectPermanently("Bib")
  263. CurDrawableShowSubObjectPermanently("Platform")
  264. CurDrawableShowSubObjectPermanently("Platform_FX")
  265. </Script>
  266. </AnimationState>
  267. </ScriptedModelDraw>
  268. <!-- DRAW PARTICLES -->
  269. <ScriptedModelDraw
  270. id="ModuleTag_Draw_FX"
  271. OkToChangeModelColor="true">
  272. <ModelConditionState
  273. ParseCondStateType="PARSE_DEFAULT">
  274. <Model
  275. Name="ABTechStructure_FX" />
  276. </ModelConditionState>
  277. <ModelConditionState
  278. ParseCondStateType="PARSE_NORMAL"
  279. ConditionsYes="DAMAGED">
  280. <Model
  281. Name="ABTechStructure_FX" />
  282. <ParticleSysBone
  283. BoneName="FX_BONE01"
  284. FXParticleSystemTemplate="BuildingDamageFire"
  285. FollowBone="true"/>
  286. <ParticleSysBone
  287. BoneName="FX_BONE01"
  288. FXParticleSystemTemplate="BuildingDamageFire02"
  289. FollowBone="true"/>
  290. <ParticleSysBone
  291. BoneName="FX_BONE01"
  292. FXParticleSystemTemplate="BuildingDamageSmoke"
  293. FollowBone="true"/>
  294. </ModelConditionState>
  295. <ModelConditionState
  296. ParseCondStateType="PARSE_NORMAL"
  297. ConditionsYes="REALLYDAMAGED">
  298. <Model
  299. Name="ABTechStructure_FX" />
  300. <ParticleSysBone
  301. BoneName="FX_BONE01"
  302. FXParticleSystemTemplate="BuildingDamageFire"
  303. FollowBone="true"/>
  304. <ParticleSysBone
  305. BoneName="FX_BONE01"
  306. FXParticleSystemTemplate="BuildingDamageFire02"
  307. FollowBone="true"/>
  308. <ParticleSysBone
  309. BoneName="FX_BONE01"
  310. FXParticleSystemTemplate="BuildingDamageSmoke"
  311. FollowBone="true"/>
  312. <ParticleSysBone
  313. BoneName="FX_BONE02"
  314. FXParticleSystemTemplate="BuildingDamageFire"
  315. FollowBone="true"/>
  316. <ParticleSysBone
  317. BoneName="FX_BONE02"
  318. FXParticleSystemTemplate="BuildingDamageFire02"
  319. FollowBone="true"/>
  320. <ParticleSysBone
  321. BoneName="FX_BONE02"
  322. FXParticleSystemTemplate="BuildingDamageSmoke"
  323. FollowBone="true"/>
  324. <ParticleSysBone
  325. BoneName="FX_BONE03"
  326. FXParticleSystemTemplate="BuildingDamageFire"
  327. FollowBone="true"/>
  328. <ParticleSysBone
  329. BoneName="FX_BONE03"
  330. FXParticleSystemTemplate="BuildingDamageFire02"
  331. FollowBone="true"/>
  332. <ParticleSysBone
  333. BoneName="FX_BONE03"
  334. FXParticleSystemTemplate="BuildingDamageSmoke"
  335. FollowBone="true"/>
  336. </ModelConditionState>
  337. </ScriptedModelDraw>
  338. </Draws>
  339. <Behaviors>
  340. <Physics
  341. id="ModuleTag_Physics"/>
  342. <BuildingDestructionBehavior
  343. id="ModuleTag_BuildingDestruction"
  344. FillerMesh="NEWSKIN_FILL">
  345. <DieMuxData
  346. DeathTypes="ALL"
  347. DeathTypesForbidden="SUICIDED"/>
  348. <Item
  349. BonePrefix="BONE_CONTACT_POINT_"
  350. FX="SovietRefineryHit"
  351. CreationObject="AlliedBarracks_Debris"
  352. FlingVelocity="100.0"/>
  353. </BuildingDestructionBehavior>
  354. <FXListBehavior
  355. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_FXList">
  356. <DieMuxData
  357. DeathTypes="ALL"
  358. DeathTypesForbidden="SUICIDED"/>
  359. <Event
  360. Index="onDeath"
  361. FX="FX_YU_Hotel02_Explode" />
  362. <Event
  363. Index="onDeath"
  364. FX="FX_LargeBuildingDieExplosionRumble" />
  365. </FXListBehavior>
  366. <FXListBehavior xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_DieSound">
  367. <DieMuxData
  368. DeathTypes="ALL"
  369. DeathTypesForbidden="SUICIDED" />
  370. <Event Index="onDeath" FX="FX_LargeBuildingDieExplosion" />
  371. </FXListBehavior>
  372. <CreateObjectDie
  373. id="ModuleTag_CreateObjectDie"
  374. CreationList="ABTechStructure_Die_OCL">
  375. <DieMuxData
  376. DeathTypes="ALL"
  377. DeathTypesForbidden="SUICIDED"
  378. ExemptStatus="OVER_WATER" />
  379. </CreateObjectDie>
  380. <CreateObjectDie
  381. id="ModuleTag_Platform_CreateObjectDie"
  382. CreationList="ABTechStructure_Platform_Die_OCL">
  383. <DieMuxData
  384. DeathTypes="ALL"
  385. DeathTypesForbidden="SUICIDED"
  386. RequiredStatus="OVER_WATER" />
  387. </CreateObjectDie>
  388. <DestroyDie
  389. id="ModuleTag_Die">
  390. <DieMuxData
  391. DeathTypes="ALL"
  392. DeathTypesForbidden="SUICIDED"/>
  393. </DestroyDie>
  394. <StructureUnpackUpdate
  395. id="ModuleTag_StructureUnpackUpdate"
  396. UnpackTime="1.5s" />
  397. <xi:include
  398. href="../../Includes/GenericBuildingRepair.xml" />
  399. <xi:include
  400. href="../../Includes/GenericEngineerContain.xml" />
  401. <xi:include
  402. href="../../Includes/GenericAlliedBuildingDestruction.xml" />
  403. <xi:include
  404. href="../../Includes/GenericAlliedBuildingSuicide.xml" />
  405. <xi:include
  406. href="DATA:Includes/InfiltratorContainParalyze.xml" />
  407. <LUAEventList
  408. id="ModuleTag_LUAEventList"
  409. EventListName="BuildingPowerFunctions"
  410. />
  411. </Behaviors>
  412. <AI>
  413. <AIUpdate
  414. id="ModuleTag_AIUpdate"
  415. AutoAcquireEnemiesWhenIdle="NO"
  416. StateMachine="StructureAIStateMachine">
  417. </AIUpdate>
  418. </AI>
  419. <Body>
  420. <ActiveBody
  421. id="ModuleTag_Body"
  422. MaxHealth="2000.0" />
  423. </Body>
  424. <Geometry
  425. IsSmall="false">
  426. <Shape
  427. Type= "BOX"
  428. MajorRadius = "50.386"
  429. MinorRadius = "13.1753"
  430. Height = "29.2436"
  431. ContactPointGeneration = "STRUCTURE" >
  432. <Offset
  433. x = "1.12383"
  434. y = "0.0"
  435. z = "0.0" />
  436. </Shape>
  437. <Shape
  438. Type= "BOX"
  439. MajorRadius = "11.1883"
  440. MinorRadius = "40.9129"
  441. Height = "140.537"
  442. ContactPointGeneration = "STRUCTURE" >
  443. <Offset
  444. x = "-14.5254"
  445. y = "0.0"
  446. z = "0.0" />
  447. </Shape>
  448. <Shape
  449. Type= "BOX"
  450. MajorRadius = "12.0717"
  451. MinorRadius = "9.93734"
  452. Height = "93.3486"
  453. ContactPointGeneration = "STRUCTURE" >
  454. <Offset
  455. x = "48.5804"
  456. y = "0.0"
  457. z = "0.0" />
  458. </Shape>
  459. <Shape
  460. Type= "BOX"
  461. MajorRadius = "50.386"
  462. MinorRadius = "13.1753"
  463. Height = "40.8533"
  464. ContactPointGeneration = "STRUCTURE" >
  465. <Offset
  466. x = "1.12383"
  467. y = "0.0"
  468. z = "0.0" />
  469. </Shape>
  470. <Shape
  471. Type= "BOX"
  472. MajorRadius = "60.0"
  473. MinorRadius = "45.0"
  474. Height = "5.0" >
  475. <Offset
  476. x = "0.0"
  477. y = "0.0"
  478. z = "0.0" />
  479. </Shape>
  480. <Shape
  481. Type= "BOX"
  482. MajorRadius = "60.0"
  483. MinorRadius = "28.8"
  484. Height = "23.0"
  485. ContactPointGeneration = "STRUCTURE" >
  486. <Offset
  487. x = "0.0"
  488. y = "0.0"
  489. z = "5.07195" />
  490. </Shape>
  491. </Geometry>
  492. <AudioArrayVoice>
  493. <AudioEntry
  494. Sound="AudioEvent:ALL_TechCenter_Select"
  495. AudioType="voiceSelect" />
  496. </AudioArrayVoice>
  497. <AudioArraySound>
  498. <!--
  499. <AudioEntry Sound="HumanFaction_MediumBuilding_LightDamageMS" AudioType="soundOnDamaged" />
  500. <AudioEntry Sound="HumanFaction_MediumBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
  501. -->
  502. </AudioArraySound>
  503. <VisionInfo
  504. VisionRange="150"
  505. ShroudClearingRange="500" />
  506. </GameObject>
  507. </AssetDeclaration>