SovietBarracks.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xi="http://www.w3.org/2001/XInclude">
  3. <Tags></Tags>
  4. <Includes>
  5. <Include type="all" source="DATA:GlobalData/GlobalDefines.xml" />
  6. <Include
  7. type="all"
  8. source="ART:SBBarracks_SKN.w3x" />
  9. <Include
  10. type="all"
  11. source="ART:SBBarracks_BLD.w3x" />
  12. <Include
  13. type="all"
  14. source="ART:SBBarracks_DOOR.w3x" />
  15. <Include
  16. type="all"
  17. source="ART:SBBarracks_LIGHTS.w3x" />
  18. <Include
  19. type="all"
  20. source="ART:SBBarracks_Scaffold.w3x" />
  21. <!-- Base Object -->
  22. <Include
  23. type="instance"
  24. source="DATA:BaseObjects/BaseSovietStructure.xml" />
  25. </Includes>
  26. <Defines>
  27. <Define name="SOVIET_BARRACKS_LOCAL_UNPACK_TIME" value="10s" />
  28. </Defines>
  29. <GameObject
  30. id="SovietBarracks"
  31. inheritFrom="BaseSovietStructure"
  32. Side="Soviet"
  33. EditorSorting="STRUCTURE"
  34. BuildTime="0.0"
  35. SelectPortrait="Portrait_SovietBarracks_big"
  36. ButtonImage="Button_SovietBarracks_small"
  37. EnergyProduction="-25"
  38. CommandSet="SovietBarracksCommandSet"
  39. KindOf="-CAN_BUILD_ON_WATER -CAN_BUILD_ON_DEEP_WATER +FS_FACTORY +AUTO_RALLYPOINT +FS_BARRACKS"
  40. RadarPriority="STRUCTURE"
  41. PlacementViewAngle="225d"
  42. ProductionQueueType="MAIN_STRUCTURE"
  43. BuildPlacementTypeFlag="MAIN_STRUCTURE"
  44. EditorName="SovietBarracks"
  45. Description="Desc:SovietBarracks"
  46. TypeDescription="Type:SovietBarracks">
  47. <DisplayName
  48. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:SovietBarracks</DisplayName>
  49. <ObjectResourceInfo>
  50. <BuildCost Account="=$ACCOUNT_ORE" Amount="500"/>
  51. </ObjectResourceInfo>
  52. <ArmorSet
  53. Armor="SovietBarracksArmor"
  54. DamageFX="FactionStructureDamageFX" />
  55. <SkirmishAIInformation
  56. BaseBuildingLocation="FRONT">
  57. <ConstructionBaseSelectionCriteria
  58. ExcludedBaseTypes="NO_BUILD_RADIUS CAPTURED"/>
  59. </SkirmishAIInformation>
  60. <Draws>
  61. <ScriptedModelDraw
  62. id="ModuleTag_Draw"
  63. OkToChangeModelColor="true"
  64. StaticModelLODMode="true"
  65. ExtraPublicBone="CONTACT_POINT_01 CONTACT_POINT_02 CONTACT_POINT_03 CONTACT_POINT_04 CONTACT_POINT_05 CONTACT_POINT_06 CONTACT_POINT_07">
  66. <ModelConditionState
  67. ParseCondStateType="PARSE_DEFAULT">
  68. <Model
  69. Name="SBBarracks_SKN" />
  70. </ModelConditionState>
  71. <ModelConditionState
  72. ParseCondStateType="PARSE_NORMAL"
  73. ConditionsYes="BUILD_PLACEMENT_CURSOR">
  74. <Model
  75. Name="SBBarracks_SKN" />
  76. <Texture
  77. Original="SBBuilding_Holes"
  78. New="SBBuilding_FP" />
  79. <Texture
  80. Original="SBBuilding_Filler"
  81. New="SBBuilding_FP" />
  82. </ModelConditionState>
  83. <ModelConditionState
  84. ParseCondStateType="PARSE_NORMAL"
  85. ConditionsYes="STRUCTURE_UNPACKING">
  86. <Model
  87. Name="SBBarracks_SKN" />
  88. </ModelConditionState>
  89. <AnimationState
  90. ParseCondStateType="PARSE_DEFAULT">
  91. </AnimationState>
  92. <AnimationState
  93. ParseCondStateType="PARSE_NORMAL"
  94. ConditionsYes="SOLD"
  95. Flags="START_FRAME_LAST">
  96. <Animation
  97. AnimationName="SBBarracks_BLD"
  98. AnimationMode="ONCE_BACKWARDS"
  99. AnimationBlendTime="0"
  100. AnimationAbsoluteTime="2s"/>
  101. </AnimationState>
  102. <AnimationState
  103. ParseCondStateType="PARSE_NORMAL"
  104. ConditionsYes="STRUCTURE_UNPACKING">
  105. <Animation
  106. AnimationName="SBBarracks_BLD"
  107. AnimationMode="MATCH_UNPACKING"
  108. AnimationBlendTime="0" />
  109. <ParticleSysBone
  110. BoneName="NONE"
  111. FXParticleSystemTemplate="Con_Med"
  112. FollowBone="true" />
  113. <ParticleSysBone
  114. BoneName="NONE"
  115. FXParticleSystemTemplate="Con_Lights"
  116. FollowBone="true" />
  117. <ParticleSysBone
  118. BoneName="NONE"
  119. FXParticleSystemTemplate="Con_Flash"
  120. FollowBone="true" />
  121. </AnimationState>
  122. </ScriptedModelDraw>
  123. <!-- Lights-->
  124. <ScriptedModelDraw
  125. id="ModuleTag_Draw_LIGHTS"
  126. OkToChangeModelColor="true">
  127. <ModelConditionState
  128. ParseCondStateType="PARSE_DEFAULT">
  129. <Model
  130. Name="SBBarracks_LIGHTS" />
  131. </ModelConditionState>
  132. <AnimationState
  133. ParseCondStateType="PARSE_DEFAULT">
  134. <Script>
  135. CurDrawableHideSubObjectPermanently("FX_LightsBuilding")
  136. CurDrawableHideSubObjectPermanently("Fans")
  137. </Script>
  138. </AnimationState>
  139. <AnimationState
  140. ParseCondStateType="PARSE_NORMAL"
  141. ConditionsYes="AFFECTED_BY_EMP ">
  142. <Script>
  143. CurDrawableHideSubObjectPermanently("FX_LightsBuilding")
  144. CurDrawableHideSubObjectPermanently("Fans")
  145. </Script>
  146. </AnimationState>
  147. <AnimationState
  148. ParseCondStateType="PARSE_NORMAL"
  149. ConditionsYes="PARALYZED">
  150. <Script>
  151. CurDrawableHideSubObjectPermanently("FX_LightsBuilding")
  152. CurDrawableHideSubObjectPermanently("Fans")
  153. </Script>
  154. </AnimationState>
  155. <AnimationState
  156. ParseCondStateType="PARSE_NORMAL"
  157. ConditionsYes="ACTIVELY_CONSTRUCTING">
  158. <Animation
  159. AnimationName="SBBarracks_LIGHTS"
  160. AnimationMode="LOOP"/>
  161. <Script>
  162. CurDrawableShowSubObjectPermanently("FX_LightsBuilding")
  163. CurDrawableShowSubObjectPermanently("Fans")
  164. </Script>
  165. </AnimationState>
  166. </ScriptedModelDraw>
  167. <!-- DRAW DOOR01 -->
  168. <ScriptedModelDraw
  169. id="ModuleTag_Draw_Door"
  170. OkToChangeModelColor="true">
  171. <ModelConditionState
  172. ParseCondStateType="PARSE_DEFAULT">
  173. <Model
  174. Name="SBBarracks_DOOR" />
  175. </ModelConditionState>
  176. <ModelConditionState
  177. ParseCondStateType="PARSE_NORMAL"
  178. ConditionsYes="FROZEN">
  179. <Model
  180. Name="SBBarracks_DOOR" />
  181. <ParticleSysBone
  182. BoneName="None"
  183. FXParticleSystemTemplate="AlliedCryoFrozenMistBuildingLarge"
  184. FollowBone="true"/>
  185. <Material
  186. ShaderName="ObjectsFrozen.fx"
  187. TechniqueName="Default">
  188. <Constants>
  189. <Texture Name="DiffuseTexture">
  190. <Value>SBBarracks</Value>
  191. </Texture>
  192. <Texture Name="NormalMap">
  193. <Value>SBBarracks_NRM</Value>
  194. </Texture>
  195. <Texture Name="SpecMap">
  196. <Value>SBBarracks_SPM</Value>
  197. </Texture>
  198. <Float Name="EnvMult">
  199. <Value>1.000000</Value>
  200. </Float>
  201. <Bool Name="AlphaTestEnable">
  202. <Value>false</Value>
  203. </Bool>
  204. </Constants>
  205. </Material>
  206. </ModelConditionState>
  207. <ModelConditionState
  208. ParseCondStateType="PARSE_NORMAL"
  209. ConditionsYes="STRUCTURE_UNPACKING">
  210. <Model
  211. Name="" />
  212. </ModelConditionState>
  213. <ModelConditionState
  214. ParseCondStateType="PARSE_NORMAL"
  215. ConditionsYes="DYING">
  216. <Model
  217. Name="" />
  218. </ModelConditionState>
  219. <AnimationState
  220. ParseCondStateType="PARSE_DEFAULT"
  221. Flags="START_FRAME_FIRST">
  222. <Animation
  223. AnimationName="SBBarracks_DOOR"
  224. AnimationMode="ONCE_BACKWARDS" />
  225. </AnimationState>
  226. <AnimationState
  227. ParseCondStateType="PARSE_NORMAL"
  228. ConditionsYes="STRUCTURE_UNPACKING">
  229. <Animation
  230. AnimationName="SBBarracks_DOOR"
  231. AnimationMode="ONCE" />
  232. </AnimationState>
  233. <AnimationState
  234. ParseCondStateType="PARSE_NORMAL"
  235. ConditionsYes="DOOR_1_WAITING_OPEN"
  236. Flags="START_FRAME_LAST">
  237. <Animation
  238. AnimationName="SBBarracks_DOOR"
  239. AnimationMode="MANUAL" />
  240. </AnimationState>
  241. <AnimationState
  242. ParseCondStateType="PARSE_NORMAL"
  243. ConditionsYes="DOOR_1_OPENING"
  244. StateName="STATE_Open">
  245. <Animation
  246. AnimationName="SBBarracks_DOOR"
  247. AnimationMode="ONCE" />
  248. </AnimationState>
  249. <AnimationState
  250. ParseCondStateType="PARSE_NORMAL"
  251. ConditionsYes="DOOR_1_CLOSING"
  252. StateName="STATE_Closed"
  253. Flags="START_FRAME_LAST">
  254. <Animation
  255. AnimationName="SBBarracks_DOOR"
  256. AnimationMode="ONCE_BACKWARDS" />
  257. </AnimationState>
  258. </ScriptedModelDraw>
  259. <!-- DRAW SCAFFOLD -->
  260. <ScriptedModelDraw
  261. id="ModuleTag_Draw_Scaffold"
  262. OkToChangeModelColor="true"
  263. 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">
  264. <ModelConditionState
  265. ParseCondStateType="PARSE_DEFAULT">
  266. <Model
  267. Name="" />
  268. </ModelConditionState>
  269. <ModelConditionState
  270. ParseCondStateType="PARSE_NORMAL"
  271. ConditionsYes="SOLD">
  272. <Model
  273. Name="SBBarracks_Scaffold" />
  274. </ModelConditionState>
  275. <ModelConditionState
  276. ParseCondStateType="PARSE_NORMAL"
  277. ConditionsYes="STRUCTURE_UNPACKING JUST_BUILT">
  278. <Model
  279. Name="" />
  280. </ModelConditionState>
  281. <ModelConditionState
  282. ParseCondStateType="PARSE_NORMAL"
  283. ConditionsYes="STRUCTURE_UNPACKING">
  284. <Model
  285. Name="SBBarracks_Scaffold" />
  286. </ModelConditionState>
  287. <AnimationState
  288. ParseCondStateType="PARSE_DEFAULT">
  289. </AnimationState>
  290. <AnimationState
  291. ParseCondStateType="PARSE_NORMAL"
  292. ConditionsYes="SOLD"
  293. Flags="START_FRAME_LAST">
  294. <Animation
  295. AnimationName="SBBarracks_Scaffold"
  296. AnimationMode="ONCE_BACKWARDS"
  297. AnimationAbsoluteTime="2s"/>
  298. </AnimationState>
  299. <AnimationState
  300. ParseCondStateType="PARSE_NORMAL"
  301. ConditionsYes="STRUCTURE_UNPACKING">
  302. <Animation
  303. AnimationName="SBBarracks_Scaffold"
  304. AnimationMode="MATCH_UNPACKING"
  305. AnimationBlendTime="0" />
  306. </AnimationState>
  307. </ScriptedModelDraw>
  308. <!-- DRAW PARTICLES -->
  309. <ScriptedModelDraw
  310. id="ModuleTag_Draw_FX"
  311. OkToChangeModelColor="true">
  312. <ModelConditionState
  313. ParseCondStateType="PARSE_DEFAULT">
  314. <Model
  315. Name="SBBarracks_FX" />
  316. </ModelConditionState>
  317. <ModelConditionState
  318. ParseCondStateType="PARSE_NORMAL"
  319. ConditionsYes="DAMAGED">
  320. <Model
  321. Name="SBBarracks_FX" />
  322. <ParticleSysBone
  323. BoneName="FX_BONE01"
  324. FXParticleSystemTemplate="BuildingDamageFire"
  325. FollowBone="true"/>
  326. <ParticleSysBone
  327. BoneName="FX_BONE01"
  328. FXParticleSystemTemplate="BuildingDamageFire02"
  329. FollowBone="true"/>
  330. <ParticleSysBone
  331. BoneName="FX_BONE01"
  332. FXParticleSystemTemplate="BuildingDamageSmoke"
  333. FollowBone="true"/>
  334. </ModelConditionState>
  335. <ModelConditionState
  336. ParseCondStateType="PARSE_NORMAL"
  337. ConditionsYes="REALLYDAMAGED">
  338. <Model
  339. Name="SBBarracks_FX" />
  340. <ParticleSysBone
  341. BoneName="FX_BONE01"
  342. FXParticleSystemTemplate="BuildingDamageFire"
  343. FollowBone="true"/>
  344. <ParticleSysBone
  345. BoneName="FX_BONE01"
  346. FXParticleSystemTemplate="BuildingDamageFire02"
  347. FollowBone="true"/>
  348. <ParticleSysBone
  349. BoneName="FX_BONE01"
  350. FXParticleSystemTemplate="BuildingDamageSmoke"
  351. FollowBone="true"/>
  352. <ParticleSysBone
  353. BoneName="FX_BONE02"
  354. FXParticleSystemTemplate="BuildingDamageFire"
  355. FollowBone="true"/>
  356. <ParticleSysBone
  357. BoneName="FX_BONE02"
  358. FXParticleSystemTemplate="BuildingDamageFire02"
  359. FollowBone="true"/>
  360. <ParticleSysBone
  361. BoneName="FX_BONE02"
  362. FXParticleSystemTemplate="BuildingDamageSmoke"
  363. FollowBone="true"/>
  364. </ModelConditionState>
  365. </ScriptedModelDraw>
  366. </Draws>
  367. <Behaviors>
  368. <Physics
  369. id="ModuleTag_Physics"/>
  370. <BuildingDestructionBehavior
  371. id="ModuleTag_BuildingDestruction"
  372. FillerMesh="NEWSKIN_FILL">
  373. <DieMuxData
  374. DeathTypes="ALL"
  375. DeathTypesForbidden="SUICIDED" />
  376. <Item
  377. BonePrefix="CONTACT_POINT_"
  378. FX="SovietRefineryHit"
  379. CreationObject="SovietBarracks_Debris"
  380. FlingVelocity="100.0"/>
  381. </BuildingDestructionBehavior>
  382. <FXListBehavior
  383. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_FXList">
  384. <DieMuxData
  385. DeathTypes="ALL" />
  386. <Event
  387. Index="onDeath"
  388. FX="FX_YU_Hotel02_Explode" />
  389. </FXListBehavior>
  390. <FXListBehavior xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_DieSound">
  391. <DieMuxData DeathTypes="ALL" />
  392. <Event Index="onDeath" FX="FX_LargeBuildingDieExplosion" />
  393. </FXListBehavior>
  394. <CreateObjectDie
  395. id="ModuleTag_CreateObjectDie"
  396. CreationList="SBBarracks_Die_OCL">
  397. <DieMuxData
  398. DeathTypes="ALL"
  399. DeathTypesForbidden="SUICIDED" />
  400. </CreateObjectDie>
  401. <DestroyDie
  402. id="ModuleTag_Die">
  403. <DieMuxData
  404. DeathTypes="ALL"
  405. DeathTypesForbidden="SUICIDED" />
  406. </DestroyDie>
  407. <BuildingBehavior
  408. id="ModuleTag_BuildingBehavior"
  409. NightWindowObject="LIGHT_01" />
  410. <ProductionUpdate
  411. id="ModuleTag_06"
  412. GiveNoXP="true"
  413. Type="INFANTRY"
  414. NumDoorAnimations="1"
  415. DoorOpeningTime="0.66s"
  416. DoorWaitOpenTime="1.0s"
  417. DoorCloseTime="0.66s"
  418. NewObjectFadeInTime="0.5s">
  419. <GiveUpgradeToProduced>
  420. <UpgradeTranslate
  421. RequiredUpgrade="Upgrade_ProductionVeterancy_VETERAN"
  422. ProvidedUpgrade="Upgrade_CreationVeterancy_VETERAN" />
  423. <UpgradeTranslate
  424. RequiredUpgrade="Upgrade_ProductionVeterancy_ELITE"
  425. ProvidedUpgrade="Upgrade_CreationVeterancy_ELITE" />
  426. <UpgradeTranslate
  427. RequiredUpgrade="Upgrade_ProductionVeterancy_HEROIC"
  428. ProvidedUpgrade="Upgrade_CreationVeterancy_HEROIC" />
  429. </GiveUpgradeToProduced>
  430. </ProductionUpdate>
  431. <QueueProductionExitUpdate
  432. id="ModuleTag_07"
  433. PlacementViewAngle="45d"
  434. ExitDelaySeconds="0.07s">
  435. <UnitCreatePoint
  436. x="0.0"
  437. y="18.0" />
  438. <NaturalRallyPoint
  439. x="40.0"
  440. y="18.0" />
  441. </QueueProductionExitUpdate>
  442. <StructureUnpackUpdate
  443. id="ModuleTag_StructureUnpackUpdate"
  444. UnpackTime="=$SOVIET_BARRACKS_LOCAL_UNPACK_TIME" />
  445. <xi:include
  446. href="DATA:Includes/GenericBuildingRepair.xml" />
  447. <xi:include
  448. href="DATA:Includes/GenericEngineerContain.xml" />
  449. <xi:include
  450. href="DATA:Includes/GenericSovietBuildingDestruction.xml" />
  451. <xi:include
  452. href="DATA:Includes/GenericSovietBuildingSuicide.xml" />
  453. <xi:include
  454. href="DATA:Includes/InfiltratorContainInfantry.xml" />
  455. <StancesBehavior
  456. id="ModuleTag_Stance"
  457. StanceTemplate="Generic" />
  458. </Behaviors>
  459. <AI>
  460. <AIUpdate
  461. id="ModuleTag_SoWeCanUseWeapon"
  462. AutoAcquireEnemiesWhenIdle="NO"
  463. StateMachine="StructureAIStateMachine"/>
  464. </AI>
  465. <Body>
  466. <ActiveBody
  467. id="ModuleTag_05"
  468. MaxHealth="1250" />
  469. </Body>
  470. <Geometry>
  471. <Shape
  472. Type= "BOX"
  473. MajorRadius = "45.0"
  474. MinorRadius = "45.0"
  475. Height = "30.0"
  476. ContactPointGeneration = "STRUCTURE" >
  477. <Offset
  478. x = "0.0"
  479. y = "0.0"
  480. z = "0.0" />
  481. </Shape>
  482. <Shape
  483. Type= "BOX"
  484. MajorRadius = "10.0"
  485. MinorRadius = "10.0"
  486. Height = "66.0"
  487. ContactPointGeneration = "STRUCTURE" >
  488. <Offset
  489. x = "-30.497"
  490. y = "-0.397858"
  491. z = "0.0" />
  492. </Shape>
  493. </Geometry>
  494. <AudioArrayVoice>
  495. <AudioEntry
  496. Sound="SOV_Barracks_Select"
  497. AudioType="voiceSelect" />
  498. </AudioArrayVoice>
  499. <!--
  500. <AudioArraySound>
  501. <AudioEntry Sound="HumanFaction_MediumBuilding_LightDamageMS" AudioType="soundOnDamaged" />
  502. <AudioEntry Sound="HumanFaction_MediumBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
  503. </AudioArraySound>
  504. -->
  505. <VisionInfo
  506. VisionRange="150"
  507. ShroudClearingRange="300" />
  508. <ProjectedBuildabilityInfo
  509. Radius="195"
  510. BuildPlacementTypes="MAIN_STRUCTURE OTHER_STRUCTURE" />
  511. </GameObject>
  512. </AssetDeclaration>