SovietBunker.xml 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  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
  7. type="all"
  8. source="ART:SBBunker_SKN.w3x" />
  9. <Include
  10. type="all"
  11. source="ART:SBBunker_BLD.w3x" />
  12. <Include
  13. type="all"
  14. source="ART:SSBaseDefenseAdvanced_Scaffold.w3x" />
  15. <Include
  16. type="all"
  17. source="ART:SBBarracks_FX.w3x" />
  18. <!-- Base Object -->
  19. <Include
  20. type="instance"
  21. source="DATA:BaseObjects/BaseSovietStructure.xml" />
  22. </Includes>
  23. <GameObject
  24. id="SovietBunker"
  25. inheritFrom="BaseSovietStructure"
  26. Side="Soviet"
  27. EditorSorting="STRUCTURE"
  28. RefundValue="250"
  29. BuildTime="0.0"
  30. SelectPortrait="Portrait_SovietBunker_big"
  31. ButtonImage="Button_SovietBunker_small"
  32. EnergyProduction="0"
  33. CommandSet="SovietBunkerCommandSet"
  34. KindOf="+GARRISON +FS_FACTORY +AUTO_RALLYPOINT +IGNORE_FOR_VICTORY -NOT_AUTOACQUIRABLE -CAN_BUILD_ON_WATER -CAN_BUILD_ON_DEEP_WATER +GARRISONABLE_UNTIL_DESTROYED"
  35. RadarPriority="STRUCTURE"
  36. PlacementViewAngle="225d"
  37. CampnessValue="=$CAMPNESS_SUMMONED"
  38. ProductionQueueType="MAIN_STRUCTURE"
  39. BuildPlacementTypeFlag="MAIN_STRUCTURE"
  40. EditorName="SovietBunker"
  41. Description="Desc:SovietBunker"
  42. TypeDescription="Type:SovietBunker">
  43. <DisplayName
  44. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:SovietBunker</DisplayName>
  45. <GameDependency>
  46. <RequiredObject>SovietPowerPlant</RequiredObject>
  47. </GameDependency>
  48. <ObjectResourceInfo>
  49. <BuildCost Account="=$ACCOUNT_ORE" Amount="500"/>
  50. </ObjectResourceInfo>
  51. <ArmorSet
  52. Armor="SovietBarracksArmor"
  53. DamageFX="FactionStructureDamageFX" />
  54. <SkirmishAIInformation
  55. BaseBuildingLocation="FRONT" />
  56. <Draws>
  57. <ScriptedModelDraw
  58. id="ModuleTag_Draw"
  59. OkToChangeModelColor="true"
  60. StaticModelLODMode="true"
  61. 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 BONEGARRISON01 BONEGARRISON02 BONEGARRISON03 BONEGARRISON04 BONEGARRISON05 BONEGARRISON06 BONEGARRISON07 BONEGARRISON08 BONEGARRISON09 BONEGARRISON10 BONEGARRISON11 BONEGARRISON12">
  62. <ModelConditionState
  63. ParseCondStateType="PARSE_DEFAULT">
  64. <Model
  65. Name="SBBunker_SKN" />
  66. </ModelConditionState>
  67. <ModelConditionState
  68. ParseCondStateType="PARSE_NORMAL"
  69. ConditionsYes="BUILD_PLACEMENT_CURSOR">
  70. <Model
  71. Name="SBBunker_SKN" />
  72. <Texture
  73. Original="SBBuilding_Holes"
  74. New="SBBuilding_FP" />
  75. <Texture
  76. Original="SBBuilding_Filler"
  77. New="SBBuilding_FP" />
  78. </ModelConditionState>
  79. <ModelConditionState
  80. ParseCondStateType="PARSE_NORMAL"
  81. ConditionsYes="STRUCTURE_UNPACKING">
  82. <Model
  83. Name="SBBunker_SKN" />
  84. </ModelConditionState>
  85. <AnimationState
  86. ParseCondStateType="PARSE_DEFAULT">
  87. <Script>
  88. CurDrawableHideSubObjectPermanently("GarrisonWall_01")
  89. </Script>
  90. </AnimationState>
  91. <AnimationState
  92. ParseCondStateType="PARSE_NORMAL"
  93. ConditionsYes="SOLD"
  94. Flags="START_FRAME_LAST">
  95. <Animation
  96. AnimationName="SBBunker_BLD"
  97. AnimationMode="ONCE_BACKWARDS"
  98. AnimationBlendTime="0"
  99. AnimationAbsoluteTime="2s"/>
  100. <Script>
  101. CurDrawableHideSubObjectPermanently("GarrisonWall_01")
  102. </Script>
  103. </AnimationState>
  104. <AnimationState
  105. ParseCondStateType="PARSE_NORMAL"
  106. ConditionsYes="STRUCTURE_UNPACKING">
  107. <Animation
  108. AnimationName="SBBunker_BLD"
  109. AnimationMode="MATCH_UNPACKING"
  110. AnimationBlendTime="0" />
  111. <ParticleSysBone
  112. BoneName="NONE"
  113. FXParticleSystemTemplate="Con_Tiny"
  114. FollowBone="true" />
  115. <ParticleSysBone
  116. BoneName="NONE"
  117. FXParticleSystemTemplate="Con_Lights"
  118. FollowBone="true" />
  119. <ParticleSysBone
  120. BoneName="NONE"
  121. FXParticleSystemTemplate="Con_Flash"
  122. FollowBone="true" />
  123. <Script>
  124. CurDrawableHideSubObjectPermanently("GarrisonWall_01")
  125. </Script>
  126. </AnimationState>
  127. <AnimationState
  128. ParseCondStateType="PARSE_NORMAL"
  129. ConditionsYes="GARRISONED">
  130. <Script>
  131. CurDrawableShowSubObjectPermanently("GarrisonWall_01")
  132. </Script>
  133. </AnimationState>
  134. </ScriptedModelDraw>
  135. <!-- DRAW SCAFFOLD -->
  136. <ScriptedModelDraw
  137. id="ModuleTag_Draw_Scaffold"
  138. OkToChangeModelColor="true"
  139. 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">
  140. <ModelConditionState
  141. ParseCondStateType="PARSE_DEFAULT">
  142. <Model
  143. Name="" />
  144. </ModelConditionState>
  145. <ModelConditionState
  146. ParseCondStateType="PARSE_NORMAL"
  147. ConditionsYes="SOLD">
  148. <Model
  149. Name="SSBaseDefenseAdvanced_Scaffold" />
  150. </ModelConditionState>
  151. <ModelConditionState
  152. ParseCondStateType="PARSE_NORMAL"
  153. ConditionsYes="STRUCTURE_UNPACKING">
  154. <Model
  155. Name="SSBaseDefenseAdvanced_Scaffold" />
  156. </ModelConditionState>
  157. <AnimationState
  158. ParseCondStateType="PARSE_DEFAULT">
  159. </AnimationState>
  160. <AnimationState
  161. ParseCondStateType="PARSE_NORMAL"
  162. ConditionsYes="SOLD"
  163. Flags="START_FRAME_LAST">
  164. <Animation
  165. AnimationName="SSBaseDefenseAdvanced_Scaffold"
  166. AnimationMode="ONCE_BACKWARDS"
  167. AnimationAbsoluteTime="2s"/>
  168. </AnimationState>
  169. <AnimationState
  170. ParseCondStateType="PARSE_NORMAL"
  171. ConditionsYes="STRUCTURE_UNPACKING">
  172. <Animation
  173. AnimationName="SSBaseDefenseAdvanced_Scaffold"
  174. AnimationMode="MATCH_UNPACKING"
  175. AnimationBlendTime="0" />
  176. </AnimationState>
  177. </ScriptedModelDraw>
  178. </Draws>
  179. <Behaviors>
  180. <Physics
  181. id="ModuleTag_Physics"/>
  182. <BuildingDestructionBehavior
  183. id="ModuleTag_BuildingDestruction"
  184. FillerMesh="NEWSKIN_FILL">
  185. <DieMuxData
  186. DeathTypes="ALL"
  187. DeathTypesForbidden="SUICIDED"/>
  188. <Item
  189. BonePrefix="BONE_CONTACT_POINT_"
  190. FX="SovietBuildingDamageSmall"
  191. FlingVelocity="100.0"/>
  192. </BuildingDestructionBehavior>
  193. <GarrisonContain
  194. id="ModuleTag_Garrison"
  195. ObjectStatusOfContained="ENCLOSED UNSELECTABLE CAN_ATTACK"
  196. ContainMax="5"
  197. EnterSound="GenericBuilding_Garrison"
  198. ExitSound="GenericBuilding_Ungarrison"
  199. AllowEnemiesInside="false"
  200. AllowAlliesInside="true"
  201. AllowNeutralInside="true"
  202. AllowOwnPlayerInsideOverride="true"
  203. ShowPips="true"
  204. PassDisabilityToRiders="true"
  205. KillPassengersOnDeath="false">
  206. <PassengerFilter
  207. Rule="ANY"
  208. Include="INFANTRY">
  209. <ExcludeThing>AlliedScoutInfantry</ExcludeThing>
  210. <ExcludeThing>SovietScoutInfantry</ExcludeThing>
  211. <ExcludeThing>SovietScoutVehicle</ExcludeThing>
  212. </PassengerFilter>
  213. <DieMuxData
  214. DeathTypes="ALL" />
  215. <PassengerData
  216. BonePrefix="BONEGARRISON">
  217. <Filter
  218. Rule="ANY"
  219. Include="INFANTRY"/>
  220. </PassengerData>
  221. </GarrisonContain>
  222. <!-- Garrisoned units with the STEALTH_GARRISON kindof are invisible when they are inside a building, this InvisibilityUpdate is the module that contols it. -->
  223. <InvisibilityBehavior
  224. id="ModuleTag_Invisibility"
  225. InvisibilityTemplate="StealthGarrisonInvisibilityTemplate"
  226. />
  227. <AttributeModifierAuraUpdate
  228. id="ModuleTag_AttributeModifierAura"
  229. InitiallyActive="true"
  230. AttributeModifierName="AttributeModifier_Garrisoned"
  231. RefreshDelay="0.5s"
  232. AllowSelf="false"
  233. AffectContainedOnly="true">
  234. <ObjectFilter
  235. Rule="ALL"
  236. Exclude="SURPRISE_ATTACKER"/>
  237. </AttributeModifierAuraUpdate>
  238. <FXListBehavior
  239. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_FXList">
  240. <DieMuxData
  241. DeathTypes="ALL" />
  242. <Event
  243. Index="onDeath"
  244. FX="FX_Civ_Explosion_Tiny" />
  245. <!-- FX_SOV_Bunker_Die -->
  246. </FXListBehavior>
  247. <CreateObjectDie
  248. id="ModuleTag_CreateObjectDie"
  249. CreationList="SBBunker_Die_OCL">
  250. <DieMuxData
  251. DeathTypes="ALL"
  252. DeathTypesForbidden="SUICIDED" />
  253. </CreateObjectDie>
  254. <DestroyDie
  255. id="ModuleTag_Die">
  256. <DieMuxData
  257. DeathTypes="ALL"
  258. DeathTypesForbidden="SUICIDED"/>
  259. </DestroyDie>
  260. <StructureUnpackUpdate
  261. id="ModuleTag_StructureUnpackUpdate"
  262. UnpackTime="10s" />
  263. <xi:include
  264. href="../../Includes/GenericBuildingRepair.xml" />
  265. <xi:include
  266. href="../../Includes/GenericSovietBuildingSuicideNoSpawn.xml" />
  267. <StancesBehavior
  268. id="ModuleTag_Stance"
  269. StanceTemplate="Generic" />
  270. </Behaviors>
  271. <Body>
  272. <ActiveBody
  273. id="ModuleTag_05"
  274. MaxHealth="1500" />
  275. </Body>
  276. <Geometry>
  277. <Shape
  278. Type= "BOX"
  279. MajorRadius = "15.0"
  280. MinorRadius = "15.0"
  281. Height = "5.0"
  282. ContactPointGeneration = "STRUCTURE" >
  283. <Offset
  284. x = "0.0"
  285. y = "0.0"
  286. z = "0.0" />
  287. </Shape>
  288. <Shape
  289. Type= "BOX"
  290. MajorRadius = "9.0"
  291. MinorRadius = "9.0"
  292. Height = "18.0"
  293. ContactPointGeneration = "STRUCTURE" >
  294. <Offset
  295. x = "0.0"
  296. y = "0.0"
  297. z = "0.0" />
  298. </Shape>
  299. </Geometry>
  300. <AudioArrayVoice>
  301. <AudioEntry
  302. Sound="SOV_Bunker_Select"
  303. AudioType="voiceSelect" />
  304. </AudioArrayVoice>
  305. <!--
  306. <AudioArraySound>
  307. <AudioEntry Sound="HumanFaction_MediumBuilding_LightDamageMS" AudioType="soundOnDamaged" />
  308. <AudioEntry Sound="HumanFaction_MediumBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
  309. </AudioArraySound>
  310. -->
  311. <VisionInfo
  312. VisionRange="300"
  313. ShroudClearingRange="300" />
  314. <ProjectedBuildabilityInfo
  315. Radius="0"
  316. BuildPlacementTypes="MAIN_STRUCTURE OTHER_STRUCTURE" />
  317. </GameObject>
  318. </AssetDeclaration>