JapanBaseDefense.xml 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072
  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" xmlns:xai="uri:ea.com:eala:asset:instance">
  3. <Tags></Tags>
  4. <Includes>
  5. <Include
  6. type="all"
  7. source="DATA:GlobalData/GlobalDefines.xml" />
  8. <Include
  9. type="all"
  10. source="ART:JBBaseDefense_SKN.w3x" />
  11. <Include
  12. type="all"
  13. source="ART:JBBaseDefense_TRANS.w3x" />
  14. <Include
  15. type="all"
  16. source="ART:JBBaseDefense_ATKA.w3x" />
  17. <Include
  18. type="all"
  19. source="ART:JBBaseDefense_BLD.w3x" />
  20. <Include
  21. type="all"
  22. source="ART:JBBaseDefense_BLD2.w3x" />
  23. <Include
  24. type="all"
  25. source="ART:FXJapanTracer.xml" />
  26. <Include
  27. type="all"
  28. source="ART:JUEgg_Unpack.w3x" />
  29. <Include
  30. type="all"
  31. source="ART:JBBaseDefense_Platform_SKN.w3x" />
  32. <Include
  33. type="all"
  34. source="ART:JBBaseDefense_Platform_BLD.w3x" />
  35. <Include
  36. type="all"
  37. source="ART:JBBaseDefense_FX.w3x" />
  38. <!-- Base Object -->
  39. <Include
  40. type="instance"
  41. source="DATA:BaseObjects/BaseStructure.xml" />
  42. </Includes>
  43. <GameObject
  44. id="JapanBaseDefense"
  45. inheritFrom="BaseStructure"
  46. SelectPortrait="Portrait_JapanBaseDefense"
  47. ButtonImage="Button_JapanBaseDefense"
  48. Side="Japan"
  49. EditorSorting="STRUCTURE"
  50. BuildTime="20"
  51. EnergyProduction="-25"
  52. CommandSet="JapanBaseDefenseCommandSet"
  53. KindOf="-NOT_AUTOACQUIRABLE +CAN_ATTACK +FS_BASE_DEFENSE +POWERED +ACTIVATE_AFTER_UNPACK"
  54. RadarPriority="STRUCTURE"
  55. PlacementViewAngle="225d"
  56. CampnessValue="=$CAMPNESS_DEFENSIVE_STRUCTURE"
  57. ProductionQueueType="OTHER_STRUCTURE"
  58. BuildPlacementTypeFlag="OTHER_STRUCTURE"
  59. EditorName="JapanBaseDefense"
  60. WeaponCategory="GUN"
  61. TypeDescription="Type:JapanBaseDefense"
  62. Description="Desc:JapanBaseDefense">
  63. <DisplayName
  64. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:JapanBaseDefense</DisplayName>
  65. <GameDependency>
  66. <RequiredObject>JapanBarracks</RequiredObject>
  67. </GameDependency>
  68. <ObjectResourceInfo>
  69. <BuildCost Account="=$ACCOUNT_ORE" Amount="800"/>
  70. </ObjectResourceInfo>
  71. <ArmorSet
  72. Armor="JapanBaseDefenseArmor"
  73. DamageFX="FactionStructureDamageFX" />
  74. <SkirmishAIInformation
  75. BaseBuildingLocation="DEFENSE" >
  76. <ConstructionBaseSelectionCriteria
  77. ExcludedBaseTypes="NO_BUILD_RADIUS"
  78. PreferredBaseTypes="ENEMIES_IN_BASE UNDER_ATTACK"
  79. SortOrder="PREFER_MOST_RECENTLY_ATTACKED" />
  80. </SkirmishAIInformation>
  81. <Draws>
  82. <ScriptedModelDraw
  83. id="ModuleTag_Draw"
  84. OkToChangeModelColor="true"
  85. InitialRecoilSpeed="0.5"
  86. MaxRecoilDistance="3"
  87. RecoilDamping="4.0"
  88. RecoilSettleSpeed="4.0"
  89. ExtraPublicBone="FX_WeaponAir_01 FX_WeaponAir_02 FX_Weapon_01 FX_Weapon_02 FX_Weapon_B BONE_CONTACT_POINT_01 BONE_CONTACT_POINT_02 BONE_CONTACT_POINT_03 BONE_CONTACT_POINT_04">
  90. <ModelConditionState
  91. ParseCondStateType="PARSE_DEFAULT">
  92. <Model
  93. Name="JBBaseDefense_SKN" />
  94. <WeaponFireFXBone
  95. WeaponSlotID="1"
  96. WeaponSlotType="PRIMARY_WEAPON"
  97. BoneName="FX_Weapon_" />
  98. <WeaponRecoilBone
  99. WeaponSlotID="1"
  100. WeaponSlotType="PRIMARY_WEAPON"
  101. BoneName="Bone_Gun_" />
  102. <WeaponLaunchBone
  103. WeaponSlotID="1"
  104. WeaponSlotType="PRIMARY_WEAPON"
  105. BoneName="FX_Weapon_" />
  106. <Turret
  107. TurretNameKey="Turret"
  108. TurretPitch="Turret_Pitch"
  109. TurretID="1" />
  110. </ModelConditionState>
  111. <ModelConditionState
  112. ParseCondStateType="PARSE_NORMAL"
  113. ConditionsYes="BUILD_PLACEMENT_CURSOR">
  114. <Model
  115. Name="JBBaseDefense_SKN" />
  116. <Material ShaderName="ObjectsGeneric.fx" TechniqueName="Default">
  117. <Constants>
  118. <Texture Name="DiffuseTexture">
  119. <Value>JBBaseDefense</Value>
  120. </Texture>
  121. <Texture Name="NormalMap">
  122. <Value>JBBaseDefense_NRM</Value>
  123. </Texture>
  124. <Texture Name="SpecMap">
  125. <Value>JBBaseDefense_SPM</Value>
  126. </Texture>
  127. <Float Name="BumpScale">
  128. <Value>1.000000</Value>
  129. </Float>
  130. <Float Name="AmbientColor">
  131. <Value>0.400000</Value>
  132. <Value>0.400000</Value>
  133. <Value>0.400000</Value>
  134. </Float>
  135. <Float Name="DiffuseColor">
  136. <Value>1.000000</Value>
  137. <Value>1.000000</Value>
  138. <Value>1.000000</Value>
  139. <Value>1.000000</Value>
  140. </Float>
  141. <Float Name="SpecularColor">
  142. <Value>0.800000</Value>
  143. <Value>0.800000</Value>
  144. <Value>0.800000</Value>
  145. </Float>
  146. <Float Name="SpecularExponent">
  147. <Value>50.000000</Value>
  148. </Float>
  149. <Float Name="EnvMult">
  150. <Value>1.000000</Value>
  151. </Float>
  152. <Bool Name="AlphaTestEnable">
  153. <Value>false</Value>
  154. </Bool>
  155. </Constants>
  156. </Material>
  157. </ModelConditionState>
  158. <ModelConditionState
  159. ParseCondStateType="PARSE_NORMAL"
  160. ConditionsYes="STRUCTURE_UNPACKING">
  161. <Model
  162. Name="JBBaseDefense_SKN" />
  163. <Material ShaderName="BasicW3DHolographic.fx" TechniqueName="Default">
  164. <Constants>
  165. <Float Name="ColorAmbient">
  166. <Value>0.000000</Value>
  167. <Value>0.000000</Value>
  168. <Value>0.000000</Value>
  169. </Float>
  170. <Float Name="ColorDiffuse">
  171. <Value>0.000000</Value>
  172. <Value>0.000000</Value>
  173. <Value>0.000000</Value>
  174. </Float>
  175. <Float Name="ColorSpecular">
  176. <Value>0.000000</Value>
  177. <Value>0.000000</Value>
  178. <Value>0.000000</Value>
  179. </Float>
  180. <Float Name="Shininess">
  181. <Value>0.000000</Value>
  182. </Float>
  183. <Float Name="ColorEmissive">
  184. <Value>1.000000</Value>
  185. <Value>1.000000</Value>
  186. <Value>1.000000</Value>
  187. </Float>
  188. <Texture Name="Texture_0">
  189. <Value>FXJapanBuildMask</Value>
  190. </Texture>
  191. <Bool Name="DepthWriteEnable">
  192. <Value>false</Value>
  193. </Bool>
  194. <Bool Name="AlphaTestEnable">
  195. <Value>false</Value>
  196. </Bool>
  197. <Bool Name="CullingEnable">
  198. <Value>true</Value>
  199. </Bool>
  200. <Int Name="BlendMode">
  201. <Value>1</Value>
  202. </Int>
  203. </Constants>
  204. </Material>
  205. </ModelConditionState>
  206. <ModelConditionState
  207. ParseCondStateType="PARSE_NORMAL"
  208. ConditionsYes="SOLD">
  209. <Model
  210. Name="JBBaseDefense_SKN" />
  211. <Material ShaderName="BasicW3DHolographic.fx" TechniqueName="Default">
  212. <Constants>
  213. <Float Name="ColorAmbient">
  214. <Value>0.000000</Value>
  215. <Value>0.000000</Value>
  216. <Value>0.000000</Value>
  217. </Float>
  218. <Float Name="ColorDiffuse">
  219. <Value>0.000000</Value>
  220. <Value>0.000000</Value>
  221. <Value>0.000000</Value>
  222. </Float>
  223. <Float Name="ColorSpecular">
  224. <Value>0.000000</Value>
  225. <Value>0.000000</Value>
  226. <Value>0.000000</Value>
  227. </Float>
  228. <Float Name="Shininess">
  229. <Value>0.000000</Value>
  230. </Float>
  231. <Float Name="ColorEmissive">
  232. <Value>1.000000</Value>
  233. <Value>1.000000</Value>
  234. <Value>1.000000</Value>
  235. </Float>
  236. <Texture Name="Texture_0">
  237. <Value>FXJapanBuildMask</Value>
  238. </Texture>
  239. <Bool Name="DepthWriteEnable">
  240. <Value>false</Value>
  241. </Bool>
  242. <Bool Name="AlphaTestEnable">
  243. <Value>false</Value>
  244. </Bool>
  245. <Bool Name="CullingEnable">
  246. <Value>true</Value>
  247. </Bool>
  248. <Int Name="BlendMode">
  249. <Value>1</Value>
  250. </Int>
  251. </Constants>
  252. </Material>
  253. </ModelConditionState>
  254. <ModelConditionState
  255. ParseCondStateType="PARSE_NORMAL"
  256. ConditionsYes="WEAPONSET_TOGGLE_1">
  257. <Model
  258. Name="JBBaseDefense_SKN" />
  259. <WeaponFireFXBone
  260. WeaponSlotID="1"
  261. WeaponSlotType="PRIMARY_WEAPON"
  262. BoneName="FX_WeaponAir_" />
  263. <WeaponLaunchBone
  264. WeaponSlotID="1"
  265. WeaponSlotType="PRIMARY_WEAPON"
  266. BoneName="FX_WeaponAir_" />
  267. </ModelConditionState>
  268. <AnimationState
  269. ParseCondStateType="PARSE_DEFAULT"
  270. StateName="STATE_Guns"
  271. Flags="START_FRAME_FIRST">
  272. <Animation
  273. AnimationName="JBBaseDefense_TRANS"
  274. AnimationMode="ONCE_BACKWARDS"/>
  275. <Script>
  276. Prev = CurDrawablePrevAnimationState();
  277. if Prev == "STATE_Missles" then
  278. CurDrawableSetTransitionAnimState("TRANS_to_Guns")
  279. end
  280. </Script>
  281. </AnimationState>
  282. <AnimationState
  283. ParseCondStateType="PARSE_NORMAL"
  284. ConditionsYes="STRUCTURE_UNPACKING">
  285. <Animation
  286. AnimationName="JBBaseDefense_BLD2"
  287. AnimationMode="MATCH_UNPACKING"
  288. AnimationBlendTime="0" />
  289. <Script>
  290. CurDrawableHideSubObjectPermanently("NewSkin_Fill")
  291. </Script>
  292. </AnimationState>
  293. <AnimationState
  294. ParseCondStateType="PARSE_NORMAL"
  295. ConditionsYes="SOLD"
  296. Flags="START_FRAME_LAST">
  297. <Animation
  298. AnimationName="JBBaseDefense_BLD2"
  299. AnimationMode="ONCE_BACKWARDS"
  300. AnimationAbsoluteTime="2s"/>
  301. <Script>
  302. CurDrawableHideSubObjectPermanently("NewSkin_Fill")
  303. </Script>
  304. </AnimationState>
  305. <AnimationState
  306. ParseCondStateType="PARSE_NORMAL"
  307. ConditionsYes="WEAPONSET_TOGGLE_1"
  308. StateName="STATE_Missles"
  309. Flags="START_FRAME_LAST">
  310. <Animation
  311. AnimationName="JBBaseDefense_TRANS"
  312. AnimationMode="ONCE"/>
  313. <Script>
  314. Prev = CurDrawablePrevAnimationState();
  315. if Prev == "STATE_Guns" then
  316. CurDrawableSetTransitionAnimState("TRANS_to_Missles")
  317. end
  318. </Script>
  319. </AnimationState>
  320. <AnimationState
  321. ParseCondStateType="PARSE_TRANSITION"
  322. StateName="TRANS_to_Guns"
  323. Flags="START_FRAME_LAST">
  324. <Animation
  325. AnimationName="JBBaseDefense_TRANS"
  326. AnimationMode="ONCE_BACKWARDS"
  327. AnimationBlendTime="0" />
  328. </AnimationState>
  329. <AnimationState
  330. ParseCondStateType="PARSE_TRANSITION"
  331. StateName="TRANS_to_Missles"
  332. Flags="START_FRAME_FIRST">
  333. <Animation
  334. AnimationName="JBBaseDefense_TRANS"
  335. AnimationMode="ONCE"
  336. AnimationBlendTime="0" />
  337. </AnimationState>
  338. </ScriptedModelDraw>
  339. <!-- DRAW BUILD UP -->
  340. <ScriptedModelDraw
  341. id="ModuleTag_Draw_Buildup"
  342. ExtraPublicBone="BONE_CONTACT_POINT_01 BONE_CONTACT_POINT_02 BONE_CONTACT_POINT_03 BONE_CONTACT_POINT_04"
  343. OkToChangeModelColor="true">
  344. <ModelConditionState
  345. ParseCondStateType="PARSE_DEFAULT">
  346. <Model
  347. Name="" />
  348. </ModelConditionState>
  349. <ModelConditionState
  350. ParseCondStateType="PARSE_NORMAL"
  351. ConditionsYes="STRUCTURE_UNPACKING">
  352. <Model
  353. Name="JBBaseDefense_SKN" />
  354. <Material ShaderName="BuildingsJapanBuildup.fx" TechniqueName="Default">
  355. <Constants>
  356. <Texture Name="DiffuseTexture">
  357. <Value>JBBaseDefense</Value>
  358. </Texture>
  359. <Texture Name="NormalMap">
  360. <Value>JBBaseDefense_NRM</Value>
  361. </Texture>
  362. <Texture Name="SpecMap">
  363. <Value>JBBaseDefense_SPM</Value>
  364. </Texture>
  365. <Float Name="EnvMult">
  366. <Value>1.000000</Value>
  367. </Float>
  368. <Bool Name="AlphaTestEnable">
  369. <Value>true</Value>
  370. </Bool>
  371. </Constants>
  372. </Material>
  373. </ModelConditionState>
  374. <ModelConditionState
  375. ParseCondStateType="PARSE_NORMAL"
  376. ConditionsYes="SOLD">
  377. <Model
  378. Name="JBBaseDefense_SKN" />
  379. <Material ShaderName="BuildingsJapanBuildup.fx" TechniqueName="Default">
  380. <Constants>
  381. <Texture Name="DiffuseTexture">
  382. <Value>JBBaseDefense</Value>
  383. </Texture>
  384. <Texture Name="NormalMap">
  385. <Value>JBBaseDefense_NRM</Value>
  386. </Texture>
  387. <Texture Name="SpecMap">
  388. <Value>JBBaseDefense_SPM</Value>
  389. </Texture>
  390. <Float Name="EnvMult">
  391. <Value>1.000000</Value>
  392. </Float>
  393. <Bool Name="AlphaTestEnable">
  394. <Value>true</Value>
  395. </Bool>
  396. </Constants>
  397. </Material>
  398. </ModelConditionState>
  399. <AnimationState
  400. ParseCondStateType="PARSE_DEFAULT">
  401. </AnimationState>
  402. <AnimationState
  403. ParseCondStateType="PARSE_NORMAL"
  404. ConditionsYes="STRUCTURE_UNPACKING">
  405. <Animation
  406. AnimationName="JBBaseDefense_BLD"
  407. AnimationMode="MATCH_UNPACKING"
  408. AnimationBlendTime="0" />
  409. <Script>
  410. CurDrawableHideSubObjectPermanently("NewSkin_Fill")
  411. </Script>
  412. </AnimationState>
  413. <AnimationState
  414. ParseCondStateType="PARSE_NORMAL"
  415. ConditionsYes="SOLD"
  416. Flags="START_FRAME_LAST">
  417. <Animation
  418. AnimationName="JBBaseDefense_BLD"
  419. AnimationMode="ONCE_BACKWARDS"
  420. AnimationAbsoluteTime="2s"/>
  421. <Script>
  422. CurDrawableHideSubObjectPermanently("NewSkin_Fill")
  423. </Script>
  424. </AnimationState>
  425. </ScriptedModelDraw>
  426. <!-- DRAW PLATFORM -->
  427. <ScriptedModelDraw
  428. id="ModuleTag_Draw_Platform"
  429. OkToChangeModelColor="true">
  430. <ModelConditionState
  431. ParseCondStateType="PARSE_DEFAULT">
  432. <Model
  433. Name="JBBaseDefense_Platform_SKN" />
  434. </ModelConditionState>
  435. <ModelConditionState
  436. ParseCondStateType="PARSE_NORMAL"
  437. ConditionsYes="OVER_WATER STRUCTURE_UNPACKING">
  438. <Model
  439. Name="JBBaseDefense_Platform_SKN" />
  440. <!-- particle system template not found
  441. <ParticleSysBone
  442. BoneName="None"
  443. FXParticleSystemTemplate="JBBaseDefenseWakeSplash"
  444. FollowBone="true" />
  445. -->
  446. <Material ShaderName="BasicW3DHolographic.fx" TechniqueName="Default">
  447. <Constants>
  448. <Float Name="ColorAmbient">
  449. <Value>0.000000</Value>
  450. <Value>0.000000</Value>
  451. <Value>0.000000</Value>
  452. </Float>
  453. <Float Name="ColorDiffuse">
  454. <Value>0.000000</Value>
  455. <Value>0.000000</Value>
  456. <Value>0.000000</Value>
  457. </Float>
  458. <Float Name="ColorSpecular">
  459. <Value>0.000000</Value>
  460. <Value>0.000000</Value>
  461. <Value>0.000000</Value>
  462. </Float>
  463. <Float Name="Shininess">
  464. <Value>0.000000</Value>
  465. </Float>
  466. <Float Name="ColorEmissive">
  467. <Value>1.000000</Value>
  468. <Value>1.000000</Value>
  469. <Value>1.000000</Value>
  470. </Float>
  471. <Texture Name="Texture_0">
  472. <Value>FXJapanBuildMask</Value>
  473. </Texture>
  474. <Bool Name="DepthWriteEnable">
  475. <Value>false</Value>
  476. </Bool>
  477. <Bool Name="AlphaTestEnable">
  478. <Value>false</Value>
  479. </Bool>
  480. <Bool Name="CullingEnable">
  481. <Value>true</Value>
  482. </Bool>
  483. <Int Name="BlendMode">
  484. <Value>1</Value>
  485. </Int>
  486. </Constants>
  487. </Material>
  488. </ModelConditionState>
  489. <ModelConditionState
  490. ParseCondStateType="PARSE_NORMAL"
  491. ConditionsYes="OVER_WATER SOLD">
  492. <Model
  493. Name="JBBaseDefense_Platform_SKN" />
  494. <!-- particle system template not found
  495. <ParticleSysBone
  496. BoneName="None"
  497. FXParticleSystemTemplate="JBBaseDefenseWakeSplash"
  498. FollowBone="true" />
  499. -->
  500. <Material ShaderName="BasicW3DHolographic.fx" TechniqueName="Default">
  501. <Constants>
  502. <Float Name="ColorAmbient">
  503. <Value>0.000000</Value>
  504. <Value>0.000000</Value>
  505. <Value>0.000000</Value>
  506. </Float>
  507. <Float Name="ColorDiffuse">
  508. <Value>0.000000</Value>
  509. <Value>0.000000</Value>
  510. <Value>0.000000</Value>
  511. </Float>
  512. <Float Name="ColorSpecular">
  513. <Value>0.000000</Value>
  514. <Value>0.000000</Value>
  515. <Value>0.000000</Value>
  516. </Float>
  517. <Float Name="Shininess">
  518. <Value>0.000000</Value>
  519. </Float>
  520. <Float Name="ColorEmissive">
  521. <Value>1.000000</Value>
  522. <Value>1.000000</Value>
  523. <Value>1.000000</Value>
  524. </Float>
  525. <Texture Name="Texture_0">
  526. <Value>FXJapanBuildMask</Value>
  527. </Texture>
  528. <Bool Name="DepthWriteEnable">
  529. <Value>false</Value>
  530. </Bool>
  531. <Bool Name="AlphaTestEnable">
  532. <Value>false</Value>
  533. </Bool>
  534. <Bool Name="CullingEnable">
  535. <Value>true</Value>
  536. </Bool>
  537. <Int Name="BlendMode">
  538. <Value>1</Value>
  539. </Int>
  540. </Constants>
  541. </Material>
  542. </ModelConditionState>
  543. <AnimationState
  544. ParseCondStateType="PARSE_DEFAULT">
  545. <Script>
  546. CurDrawableShowSubObjectPermanently("Bib")
  547. CurDrawableHideSubObjectPermanently("Platform")
  548. CurDrawableHideSubObjectPermanently("Platform_FX")
  549. </Script>
  550. </AnimationState>
  551. <AnimationState
  552. ParseCondStateType="PARSE_NORMAL"
  553. ConditionsYes="STRUCTURE_UNPACKING OVER_WATER">
  554. <Animation
  555. AnimationName="JBBaseDefense_Platform_BLD"
  556. AnimationMode="MATCH_UNPACKING" />
  557. <Script>
  558. CurDrawableHideSubObjectPermanently("Bib")
  559. CurDrawableShowSubObjectPermanently("Platform")
  560. CurDrawableShowSubObjectPermanently("Platform_FX")
  561. </Script>
  562. <ParticleSysBone
  563. BoneName="None"
  564. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupFroth"
  565. FollowBone="true" />
  566. <ParticleSysBone
  567. BoneName="None"
  568. FXParticleSystemTemplate="AlliedPowerPlantWaterBuildupMist"
  569. FollowBone="true" />
  570. </AnimationState>
  571. <AnimationState
  572. ParseCondStateType="PARSE_NORMAL"
  573. ConditionsYes="OVER_WATER SOLD"
  574. Flags="START_FRAME_LAST">
  575. <Animation
  576. AnimationName="JBBaseDefense_Platform_BLD"
  577. AnimationMode="ONCE_BACKWARDS"
  578. AnimationAbsoluteTime="2s"/>
  579. <Script>
  580. CurDrawableHideSubObjectPermanently("NewSkin_Fill")
  581. </Script>
  582. </AnimationState>
  583. <AnimationState
  584. ParseCondStateType="PARSE_NORMAL"
  585. ConditionsYes="OVER_WATER">
  586. <Script>
  587. CurDrawableShowSubObjectPermanently("Platform")
  588. CurDrawableShowSubObjectPermanently("Platform_FX")
  589. CurDrawableHideSubObjectPermanently("Bib")
  590. </Script>
  591. </AnimationState>
  592. </ScriptedModelDraw>
  593. <!-- DRAW BUILD UP PLATFORM -->
  594. <ScriptedModelDraw
  595. id="ModuleTag_Draw_Platform_Buildup"
  596. OkToChangeModelColor="true">
  597. <ModelConditionState
  598. ParseCondStateType="PARSE_DEFAULT">
  599. <Model
  600. Name="" />
  601. </ModelConditionState>
  602. <ModelConditionState
  603. ParseCondStateType="PARSE_NORMAL"
  604. ConditionsYes="OVER_WATER STRUCTURE_UNPACKING">
  605. <Model
  606. Name="JBBaseDefense_Platform_SKN" />
  607. <!-- particle system template not found
  608. <ParticleSysBone
  609. BoneName="None"
  610. FXParticleSystemTemplate="JBBaseDefenseWakeSplash"
  611. FollowBone="true" />
  612. -->
  613. <Material ShaderName="BuildingsJapanBuildup.fx" TechniqueName="Default">
  614. <Constants>
  615. <Texture Name="DiffuseTexture">
  616. <Value>JBPlatform</Value>
  617. </Texture>
  618. <Texture Name="NormalMap">
  619. <Value>JBPlatform_NRM</Value>
  620. </Texture>
  621. <Texture Name="SpecMap">
  622. <Value>JBPlatform_SPM</Value>
  623. </Texture>
  624. <Float Name="EnvMult">
  625. <Value>1.000000</Value>
  626. </Float>
  627. <Bool Name="AlphaTestEnable">
  628. <Value>true</Value>
  629. </Bool>
  630. </Constants>
  631. </Material>
  632. </ModelConditionState>
  633. <ModelConditionState
  634. ParseCondStateType="PARSE_NORMAL"
  635. ConditionsYes="OVER_WATER SOLD">
  636. <Model
  637. Name="JBBaseDefense_Platform_SKN" />
  638. <!-- particle system template not found
  639. <ParticleSysBone
  640. BoneName="None"
  641. FXParticleSystemTemplate="JBBaseDefenseWakeSplash"
  642. FollowBone="true" />
  643. -->
  644. <Material ShaderName="BuildingsJapanBuildup.fx" TechniqueName="Default">
  645. <Constants>
  646. <Texture Name="DiffuseTexture">
  647. <Value>JBPlatform</Value>
  648. </Texture>
  649. <Texture Name="NormalMap">
  650. <Value>JBPlatform_NRM</Value>
  651. </Texture>
  652. <Texture Name="SpecMap">
  653. <Value>JBPlatform_SPM</Value>
  654. </Texture>
  655. <Float Name="EnvMult">
  656. <Value>1.000000</Value>
  657. </Float>
  658. <Bool Name="AlphaTestEnable">
  659. <Value>true</Value>
  660. </Bool>
  661. </Constants>
  662. </Material>
  663. </ModelConditionState>
  664. <AnimationState
  665. ParseCondStateType="PARSE_DEFAULT">
  666. <Script>
  667. CurDrawableShowSubObjectPermanently("Bib")
  668. CurDrawableHideSubObjectPermanently("Platform")
  669. CurDrawableHideSubObjectPermanently("Platform_FX")
  670. </Script>
  671. </AnimationState>
  672. <AnimationState
  673. ParseCondStateType="PARSE_NORMAL"
  674. ConditionsYes="STRUCTURE_UNPACKING OVER_WATER">
  675. <Animation
  676. AnimationName="JBBaseDefense_Platform_BLD"
  677. AnimationMode="MATCH_UNPACKING" />
  678. <Script>
  679. CurDrawableHideSubObjectPermanently("Bib")
  680. CurDrawableShowSubObjectPermanently("Platform")
  681. CurDrawableShowSubObjectPermanently("Platform_FX")
  682. </Script>
  683. </AnimationState>
  684. <AnimationState
  685. ParseCondStateType="PARSE_NORMAL"
  686. ConditionsYes="OVER_WATER SOLD"
  687. Flags="START_FRAME_LAST">
  688. <Animation
  689. AnimationName="JBBaseDefense_Platform_BLD"
  690. AnimationMode="ONCE_BACKWARDS"
  691. AnimationAbsoluteTime="2s"/>
  692. <Script>
  693. CurDrawableHideSubObjectPermanently("Bib")
  694. CurDrawableShowSubObjectPermanently("Platform")
  695. CurDrawableShowSubObjectPermanently("Platform_FX")
  696. </Script>
  697. </AnimationState>
  698. </ScriptedModelDraw>
  699. <!-- draw for Egg unpacking -->
  700. <ScriptedModelDraw
  701. id="ModuleTag_Draw_Egg"
  702. OkToChangeModelColor="true"
  703. StaticModelLODMode="true">
  704. <ModelConditionState
  705. ParseCondStateType="PARSE_DEFAULT">
  706. <Model
  707. Name="" />
  708. </ModelConditionState>
  709. <ModelConditionState
  710. ParseCondStateType="PARSE_NORMAL"
  711. ConditionsYes="STRUCTURE_UNPACKING">
  712. <Model
  713. Name="JUEgg_Unpack" />
  714. </ModelConditionState>
  715. <ModelConditionState
  716. ParseCondStateType="PARSE_NORMAL"
  717. ConditionsYes="SOLD">
  718. <Model
  719. Name="" />
  720. </ModelConditionState>
  721. <AnimationState
  722. ParseCondStateType="PARSE_DEFAULT">
  723. </AnimationState>
  724. <AnimationState
  725. ParseCondStateType="PARSE_NORMAL"
  726. ConditionsYes="STRUCTURE_UNPACKING">
  727. <Animation
  728. AnimationName="JUEgg_Unpack"
  729. AnimationMode="MATCH_UNPACKING" />
  730. </AnimationState>
  731. </ScriptedModelDraw>
  732. <!-- DRAW PARTICLES -->
  733. <ScriptedModelDraw
  734. id="ModuleTag_Draw_FX"
  735. OkToChangeModelColor="true">
  736. <ModelConditionState
  737. ParseCondStateType="PARSE_DEFAULT">
  738. <Model
  739. Name="JBBaseDefense_FX" />
  740. </ModelConditionState>
  741. <ModelConditionState
  742. ParseCondStateType="PARSE_NORMAL"
  743. ConditionsYes="DAMAGED">
  744. <Model
  745. Name="JBBaseDefense_FX" />
  746. <ParticleSysBone
  747. BoneName="FX_BONE01"
  748. FXParticleSystemTemplate="JapanVehicleDamagedSmoke"
  749. FollowBone="true" />
  750. <ParticleSysBone
  751. BoneName="FX_BONE01"
  752. FXParticleSystemTemplate="JapanVehicleDamagedSparks"
  753. FollowBone="true" />
  754. <ParticleSysBone
  755. BoneName="FX_BONE01"
  756. FXParticleSystemTemplate="JapanVehicleDamagedFire"
  757. FollowBone="true" />
  758. <ParticleSysBone
  759. BoneName="FX_BONE03"
  760. FXParticleSystemTemplate="JapanVehicleDamagedSmoke"
  761. FollowBone="true" />
  762. <ParticleSysBone
  763. BoneName="FX_BONE03"
  764. FXParticleSystemTemplate="JapanVehicleDamagedSparks"
  765. FollowBone="true" />
  766. <ParticleSysBone
  767. BoneName="FX_BONE03"
  768. FXParticleSystemTemplate="JapanVehicleDamagedFire"
  769. FollowBone="true" />
  770. </ModelConditionState>
  771. <ModelConditionState
  772. ParseCondStateType="PARSE_NORMAL"
  773. ConditionsYes="REALLYDAMAGED">
  774. <Model
  775. Name="JBBaseDefense_FX" />
  776. <ParticleSysBone
  777. BoneName="FX_BONE01"
  778. FXParticleSystemTemplate="JapanVehicleDamagedSmoke"
  779. FollowBone="true" />
  780. <ParticleSysBone
  781. BoneName="FX_BONE01"
  782. FXParticleSystemTemplate="JapanVehicleDamagedSparks"
  783. FollowBone="true" />
  784. <ParticleSysBone
  785. BoneName="FX_BONE01"
  786. FXParticleSystemTemplate="JapanVehicleDamagedFire"
  787. FollowBone="true" />
  788. <ParticleSysBone
  789. BoneName="FX_BONE02"
  790. FXParticleSystemTemplate="JapanVehicleDamagedSmoke"
  791. FollowBone="true" />
  792. <ParticleSysBone
  793. BoneName="FX_BONE02"
  794. FXParticleSystemTemplate="JapanVehicleDamagedSparks"
  795. FollowBone="true" />
  796. <ParticleSysBone
  797. BoneName="FX_BONE02"
  798. FXParticleSystemTemplate="JapanVehicleDamagedFire"
  799. FollowBone="true" />
  800. <ParticleSysBone
  801. BoneName="FX_BONE03"
  802. FXParticleSystemTemplate="JapanVehicleDamagedSmoke"
  803. FollowBone="true" />
  804. <ParticleSysBone
  805. BoneName="FX_BONE03"
  806. FXParticleSystemTemplate="JapanVehicleDamagedSparks"
  807. FollowBone="true" />
  808. <ParticleSysBone
  809. BoneName="FX_BONE03"
  810. FXParticleSystemTemplate="JapanVehicleDamagedFire"
  811. FollowBone="true" />
  812. </ModelConditionState>
  813. </ScriptedModelDraw>
  814. <TracerModelDraw
  815. id="ModuleTag_TracerModelDraw"
  816. MinLength="30.0"
  817. MaxLength="30.0"
  818. Width="6.0"
  819. MinSpeed="40"
  820. MaxSpeed="40"
  821. SweepSpeed="1.0"
  822. SpreadAngle="2.0"
  823. MinTracersPerFrame="0.2"
  824. MaxTracersPerFrame="0.3"
  825. FrameLifeTime="35"
  826. WeaponSlotType="PRIMARY_WEAPON"
  827. Texture="FXJapanTracer"
  828. UseAdditiveBlending="true" >
  829. <HeadColor
  830. r="1.0"
  831. g="1.0"
  832. b="1.0"
  833. a="1.0" />
  834. <TailColor
  835. r="1.0"
  836. g="1.0"
  837. b="1.0"
  838. a="1.0" />
  839. <ObjectStatusValidation
  840. ForbiddenStatus="GENERIC_TOGGLE_STATE" />
  841. </TracerModelDraw>
  842. </Draws>
  843. <Behaviors>
  844. <WeaponSetUpdate
  845. id="ModuleTag_WeaponSetUpdate">
  846. <WeaponSlotTurret
  847. ID="1">
  848. <Weapon
  849. Ordering="PRIMARY_WEAPON"
  850. Template="JapanBaseDefenseGunGround"
  851. ForbiddenObjectStatus="GENERIC_TOGGLE_STATE"/>
  852. <Weapon
  853. Ordering="PRIMARY_WEAPON"
  854. Template="JapanBaseDefenseGunAir"
  855. ObjectStatus="GENERIC_TOGGLE_STATE" />
  856. <TurretSettings
  857. TurretTurnRate="480"
  858. TurretPitchRate="360"
  859. AllowsPitch="true"
  860. MinimumPitch="-60d"
  861. PitchHeight="90%"
  862. MinIdleScanTime="1.0s"
  863. MaxIdleScanTime="6.0s"
  864. MinIdleScanAngle="0.0"
  865. MaxIdleScanAngle="360.0">
  866. <TurretAITargetChooserData
  867. StartupDelay="1.0s">
  868. <ObjectVisionRange
  869. id="ObjectVisionRange_Aircraft"
  870. Range="100">
  871. <Filter
  872. Rule="ANY"
  873. Include="INFANTRY VEHICLE AIRCRAFT"
  874. StatusBitFlags="AIRBORNE_TARGET"/>
  875. </ObjectVisionRange>
  876. </TurretAITargetChooserData>
  877. </TurretSettings>
  878. </WeaponSlotTurret>
  879. </WeaponSetUpdate>
  880. <Physics
  881. id="ModuleTag_Physics"/>
  882. <StancesBehavior
  883. id="ModuleTag_Stance"
  884. StanceTemplate="OffensiveStructures" />
  885. <BuildingDestructionBehavior
  886. id="ModuleTag_BuildingDestruction">
  887. <DieMuxData
  888. DeathTypes="ALL" />
  889. <Item
  890. BonePrefix="BONE_CONTACT_POINT_"
  891. FX="JapanStructureHit"
  892. FlingVelocity="100.0"/>
  893. </BuildingDestructionBehavior>
  894. <FXListBehavior
  895. xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_FXList">
  896. <DieMuxData
  897. DeathTypes="ALL"
  898. DeathTypesForbidden="SUICIDED" />
  899. <Event
  900. Index="onDeath"
  901. FX="FX_YU_Hotel02_Explode" />
  902. </FXListBehavior>
  903. <FXListBehavior xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_DieSound">
  904. <DieMuxData
  905. DeathTypes="ALL"
  906. DeathTypesForbidden="SUICIDED" />
  907. <Event Index="onDeath" FX="FX_SmallBuildingDieExplosion" />
  908. </FXListBehavior>
  909. <CreateObjectDie
  910. id="ModuleTag_CreateObjectDie"
  911. CreationList="JBBaseDefense_Die_OCL">
  912. <DieMuxData
  913. DeathTypes="ALL"
  914. DeathTypesForbidden="SUICIDED"
  915. ExemptStatus="OVER_WATER" />
  916. </CreateObjectDie>
  917. <CreateObjectDie
  918. id="ModuleTag_Platform_CreateObjectDie"
  919. CreationList="JBBaseDefense_Platform_Die_OCL">
  920. <DieMuxData
  921. DeathTypes="ALL"
  922. DeathTypesForbidden="SUICIDED"
  923. RequiredStatus="OVER_WATER" />
  924. </CreateObjectDie>
  925. <DestroyDie
  926. id="ModuleTag_Die">
  927. <DieMuxData
  928. DeathTypes="ALL"
  929. DeathTypesForbidden="SUICIDED" />
  930. </DestroyDie>
  931. <StructureUnpackUpdate
  932. id="ModuleTag_StructureUnpack"
  933. UnpackTime="15s" />
  934. <xi:include
  935. href="../../Includes/GenericBuildingRepair.xml" />
  936. <xi:include
  937. href="../../Includes/RepairAlliesEngineerContain.xml" />
  938. <SpecialPower
  939. id="ModuleTag_ToggleAirGroundDefense"
  940. SpecialPowerTemplate="SpecialPower_JapanBaseDefenseTransform"
  941. UpdateModuleStartsAttack="true"/>
  942. <ToggleStatusSpecialAbilityUpdate
  943. id="ModuleTag_ToggleAirGroundDefenseUpdate"
  944. SpecialPowerTemplate="SpecialPower_JapanBaseDefenseTransform"
  945. PackTime="2.0s">
  946. <ToggleState
  947. EnterStateSound="JAP_DefenderVX_GunToggleMS">
  948. <SkirmishAiInfo
  949. ToggleHint="TOGGLE_DEFAULT" >
  950. <StateWeapon
  951. Weapon="JapanBaseDefenseGunGround" />
  952. </SkirmishAiInfo>
  953. </ToggleState>
  954. <ToggleState
  955. ObjectStatus="GENERIC_TOGGLE_STATE"
  956. ModelConditions="WEAPONSET_TOGGLE_1"
  957. EnterStateSound="JAP_DefenderVX_RocketToggleMS">
  958. <SkirmishAiInfo
  959. ToggleHint="TOGGLE_WEAPON">
  960. <StateWeapon
  961. Weapon="JapanBaseDefenseGunAir" />
  962. </SkirmishAiInfo>
  963. </ToggleState>
  964. </ToggleStatusSpecialAbilityUpdate>
  965. </Behaviors>
  966. <AI>
  967. <AIUpdate
  968. id="ModuleTag_AI"
  969. AutoAcquireEnemiesWhenIdle="YES"
  970. StateMachine="OffensiveStructureAIStateMachine">
  971. <UnitAITargetChooserData
  972. CanPickDynamicTargets="false"
  973. IdleScanDelay="0.2s" >
  974. </UnitAITargetChooserData>
  975. </AIUpdate>
  976. </AI>
  977. <Body>
  978. <ActiveBody
  979. id="ModuleTag_Body"
  980. MaxHealth="1000" />
  981. </Body>
  982. <Geometry
  983. IsSmall="false">
  984. <Shape
  985. Type= "BOX"
  986. MajorRadius = "15.0"
  987. MinorRadius = "15.0"
  988. Height = "5.0">
  989. </Shape>
  990. <Shape
  991. Type= "CYLINDER"
  992. MajorRadius = "7.0"
  993. Height = "25.0"
  994. ContactPointGeneration = "INFANTRY" >
  995. <Offset
  996. x = "-5.0"
  997. y = "0.0"
  998. z = "0.0" />
  999. </Shape>
  1000. </Geometry>
  1001. <ClientBehaviors>
  1002. <ModelConditionAudioLoopClientBehavior xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance" id="ModuleTag_StructureConstructionAudio">
  1003. <ModelConditionSound
  1004. Sound="JAP_Nanocore_DeployStructureLand"
  1005. RequiredFlags="STRUCTURE_UNPACKING"
  1006. ExcludedFlags="OVER_WATER"/>
  1007. <ModelConditionSound
  1008. Sound="JAP_Nanocore_DeployStructureWaterMS"
  1009. RequiredFlags="STRUCTURE_UNPACKING OVER_WATER"/>
  1010. </ModelConditionAudioLoopClientBehavior>
  1011. </ClientBehaviors>
  1012. <AudioArrayVoice>
  1013. <AudioEntry Sound="JAP_DefenderVX_Select" AudioType="voiceSelect" />
  1014. </AudioArrayVoice>
  1015. <AudioArraySound>
  1016. <AudioEntry Sound="JAP_Nanocore_DeployLoop" AudioType="soundUnderConstruction" />
  1017. <!--
  1018. <AudioEntry Sound="HumanFaction_SmallBuilding_LightDamageMS" AudioType="soundOnDamaged" />
  1019. <AudioEntry Sound="HumanFaction_SmallBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
  1020. -->
  1021. </AudioArraySound>
  1022. <VisionInfo
  1023. VisionRange="310"
  1024. ShroudClearingRange="500" />
  1025. </GameObject>
  1026. <GameObject
  1027. id="JapanBaseDefense_S07"
  1028. inheritFrom="JapanBaseDefense"
  1029. BuildTime="5"
  1030. EnergyProduction="-5"
  1031. EditorName="JapanBaseDefense_S07"
  1032. EditorSorting="CAMPAIGN_UNITS">
  1033. <Behaviors>
  1034. <StructureUnpackUpdate
  1035. id="ModuleTag_StructureUnpack_02"
  1036. xai:joinAction="Replace"
  1037. UnpackTime="5s" />
  1038. </Behaviors>
  1039. </GameObject>
  1040. </AssetDeclaration>