Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 13.90 KB | None | 0 0
  1.   <GameObject id="SovietBunker" inheritFrom="BaseStructure" SelectPortrait="Portrait_SovietBunkerIII" ButtonImage="Portrait_SovietBunkerIII" Side="NOD" EditorSorting="STRUCTURE" BuildCost="1500" BuildTime="15" CommandSet="GarrisonableNeutralFortifiedBuildingCommandSet" KindOf="STRUCTURE SELECTABLE IMMOBILE CAN_CAST_REFLECTIONS FS_BASE_DEFENSE GARRISON AUTO_ACQUIRABLE_BY_AI COVER CAN_SEE_THROUGH_STRUCTURE GARRISONABLE_UNTIL_DESTROYED RESIST_EMP AUTO_RALLYPOINT" PlacementViewAngle="315d" CampnessValue="=$CAMPNESS_DEFENSIVE_STRUCTURE" ProductionQueueType="OTHER_STRUCTURE" BuildPlacementTypeFlag="OTHER_STRUCTURE" EditorName="SovietBunker" WeaponCategory="LIGHTNING" TypeDescription="Type:SovietBunker" Description="Desc:SovietBunker">
  2.     <DisplayName xai:joinAction="Replace">Name:SovietBunker</DisplayName>
  3.     <GameDependency>
  4.       <RequiredObject>NODHandOfNOD</RequiredObject>
  5.     </GameDependency>
  6.     <ArmorSet id="DefaultArmor" Armor="GDIPillBoxArmor" DamageFX="FactionStructureDamageFX" />
  7.     <SkirmishAIInformation BaseBuildingLocation="SPREAD" ConquerMetricsOverrideDPS="1" ConquerMetricsOverrideDamageType="SNIPER" />
  8.     <Draws>
  9.       <ScriptedModelDraw id="ModuleTag_Draw" OkToChangeModelColor="true" ExtraPublicBone="BONEGARRISON01 BONEGARRISON02 BONEGARRISON03 BONEGARRISON04 BONEGARRISON05 BONEGARRISON06 BONEGARRISON07 BONEGARRISON08 BONEGARRISON09 BONEGARRISON10 BONEGARRISON11 BONEGARRISON12 BONEGARRISON13 BONEGARRISON14 BONEGARRISON15 BONEGARRISON16 BONEGARRISON17 BONEGARRISON18">
  10.         <ModelConditionState ParseCondStateType="PARSE_DEFAULT">
  11.           <Model Name="SDBattleBunker" />
  12.         </ModelConditionState>
  13.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="STRUCTURE_UNPACKING">
  14.           <Model Name="SDBattleBunker_ASKN" />
  15.         </ModelConditionState>
  16.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="RUBBLE">
  17.           <Model Name="SDBattleBunker_D3SN" />
  18.         </ModelConditionState>
  19.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="REALLYDAMAGED">
  20.           <Model Name="SDBattleBunker" />
  21.           <Texture Original="SDBunker" New="SDBunkerD" />
  22.           <Texture Original="SDBunker_NRM" New="SDBunkerD_NRM" />
  23.         </ModelConditionState>
  24.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DAMAGED">
  25.           <Model Name="SDBattleBunker" />
  26.           <Texture Original="SDBunker" New="SDBunkerD" />
  27.           <Texture Original="SDBunker_NRM" New="SDBunkerD_NRM" />
  28.         </ModelConditionState>
  29.         <AnimationState ParseCondStateType="PARSE_DEFAULT">
  30.           <!-- no anim -->
  31.         </AnimationState>
  32.         <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="STRUCTURE_UNPACKING">
  33.           <Animation AnimationName="SDBattleBunker_AAN" AnimationMode="ONCE" />
  34.           <ParticleSysBone BoneName="NONE" FXParticleSystemTemplate="Con_Small" FollowBone="true" />
  35.         </AnimationState>
  36.         <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="RUBBLE" StateName="STATE_Rubble" Flags="START_FRAME_LAST">
  37.           <Animation AnimationName="SDBattleBunker_D3AN" AnimationMode="MANUAL" />
  38.           <Script>
  39.                         Prev = CurDrawablePrevAnimationState();
  40.                         if Prev ~= "STATE_Rubble" and Prev ~= "TRANS_IntoRubble" then
  41.                         CurDrawableSetTransitionAnimState("TRANS_IntoRubble")
  42.                         end
  43.                     </Script>
  44.           <ParticleSysBone BoneName="NONE" FXParticleSystemTemplate="Des_Small" FollowBone="false" />
  45.         </AnimationState>
  46.         <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_IntoRubble">
  47.           <Animation AnimationName="SDBattleBunker_D3AN" AnimationMode="ONCE" AnimationBlendTime="0" />
  48.         </AnimationState>
  49.       </ScriptedModelDraw>
  50.       <ScriptedModelDraw id="ModuleTag_DrawGarrisoned" OkToChangeModelColor="true">
  51.         <ModelConditionState ParseCondStateType="PARSE_DEFAULT">
  52.           <Model Name="nbempty_abld" />
  53.         </ModelConditionState>
  54.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="GARRISONED RUBBLE">
  55.           <Model Name="SDBattleBunk_Gar_D3SN" />
  56.         </ModelConditionState>
  57.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="GARRISONED">
  58.           <Model Name="SDBattleBunk_Gar" />
  59.         </ModelConditionState>
  60.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="STRUCTURE_UNPACKING">
  61.           <Model Name="nbempty_abld" />
  62.         </ModelConditionState>
  63.         <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="RUBBLE">
  64.           <Model Name="nbempty_abld" />
  65.         </ModelConditionState>
  66.         <AnimationState ParseCondStateType="PARSE_DEFAULT">
  67.           <!-- no anim -->
  68.         </AnimationState>
  69.         <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="GARRISONED RUBBLE" StateName="STATE_Rubble" Flags="START_FRAME_LAST">
  70.           <Animation AnimationName="SDBattleBunk_Gar_D3AN" AnimationMode="MANUAL" />
  71.           <Script>
  72.                         Prev = CurDrawablePrevAnimationState();
  73.                         if Prev ~= "STATE_Rubble" and Prev ~= "TRANS_IntoRubble" then
  74.                         CurDrawableSetTransitionAnimState("TRANS_IntoRubble")
  75.                         end
  76.                     </Script>
  77.         </AnimationState>
  78.         <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="STRUCTURE_UNPACKING">
  79.           <Animation AnimationName="nbempty_abld" AnimationMode="ONCE" />
  80.         </AnimationState>
  81.         <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_IntoRubble">
  82.           <Animation AnimationName="SDBattleBunk_Gar_D3AN" AnimationMode="ONCE" AnimationBlendTime="0" />
  83.         </AnimationState>
  84.       </ScriptedModelDraw>
  85.     </Draws>
  86.     <Behaviors>
  87.       <ProductionUpdate id="ModuleTag_Production" />
  88.       <!--<AttributeModifierUpgrade id="ModuleTag_AddAttributes" AttributeModifier="FortifiedBuilding_Bonus" Permanent="true" xmlns="uri:ea.com:eala:asset"><TriggeredBy>Upgrade_FortifyBuilding</TriggeredBy></AttributeModifierUpgrade>-->
  89.       <AttributeModifierAuraUpdate id="ModuleTag_AttributeModifierAura" InitiallyActive="true" AttributeModifierName="AttributeModifier_SovietBunkerGarrisoned" RefreshDelay="0.5s" AllowSelf="false" AffectContainedOnly="true">
  90.         <ObjectFilter Rule="ALL" Exclude="SURPRISE_ATTACKER" />
  91.       </AttributeModifierAuraUpdate>
  92.       <!--Test 'HealContain'-->
  93.       <HordeGarrisonContain id="ModuleTag_HordeGarrison" ObjectStatusOfContained="UNSELECTABLE CAN_ATTACK" ContainMax="3" EnterSound="GenericBuilding_Garrison" ExitSound="GenericBuilding_Ungarrison" AllowEnemiesInside="false" AllowAlliesInside="true" AllowNeutralInside="false" AllowOwnPlayerInsideOverride="true" ShowPips="true" KillPassengersOnDeath="false" ImmuneToClearBuildingAttacks="true" ResetInitialTeamOnCapture="true">
  94.         <PassengerFilter Rule="ANY" Include="INFANTRY"></PassengerFilter>
  95.         <DieMuxData DeathTypes="ALL" />
  96.         <PassengerData BonePrefix="BONEGARRISON">
  97.           <Filter Rule="NONE" Include="INFANTRY" />
  98.         </PassengerData>
  99.         <MemberTemplateStatusInfo ThingTemplate="GDISniperSquad" ObjectStatus="CAN_SPOT_FOR_BOMBARD" />
  100.         <ExitOffset y="-80" />
  101.       </HordeGarrisonContain>
  102.       <SlowDeath id="ModuleTag_Death" SinkDelay="4.0s" SinkRate="4.0" DestructionDelay="10.0s">
  103.         <Sound Type="INITIAL" List="HumanFaction_SmallBuilding_DieMS" />
  104.         <DieMuxData DeathTypes="ALL" />
  105.       </SlowDeath>
  106.       <FXListBehavior id="ModuleTag_FXList">
  107.         <DieMuxData DeathTypes="ALL" />
  108.         <Event Index="onTransitionToDamaged" FX="FX_BuildDamaged_Large" />
  109.         <Event Index="onTransitionToReallyDamaged" FX="FX_BuildDamaged_Large" />
  110.         <Event Index="onTransitionToRubble" FX="FX_BuildRubble_Large" />
  111.       </FXListBehavior>
  112.       <!-- Garrisoned units with the STEALTH_GARRISON kindof are invisible when they are inside a building, this InvisibilityUpdate is the module that contols it. -->
  113.       <InvisibilityUpdate id="ModuleTag_Invisibility" UpdatePeriod="0.5s">
  114.         <InvisibilityNugget />
  115.       </InvisibilityUpdate>
  116.       <ModelConditionUpgrade id="ModuleTag_AIUpgrades" AddConditionFlags="USER_75">
  117.         <TriggeredBy>Upgrade_HardAISinglePlayer</TriggeredBy>
  118.         <TriggeredBy>Upgrade_BrutalAISinglePlayer</TriggeredBy>
  119.         <TriggeredBy>Upgrade_HardAIMultiPlayer</TriggeredBy>
  120.         <TriggeredBy>Upgrade_BrutalAIMultiPlayer</TriggeredBy>
  121.       </ModelConditionUpgrade>
  122.       <StructureUnpackUpdate id="ModuleTag_StructureUnpackUpdate" UnpackTime="2.0s" />
  123.       <FireWeaponUpdate id="ModuleTag_AIGarrisonBunkerWeapon">
  124.         <FireWeaponNugget WeaponName="AIGarrisonBunkerTriggerWeapon" FireDelay="3s" FireInterval="5s" />
  125.       </FireWeaponUpdate>
  126.       <xi:include href="DATA:Includes/GenericBuildingRepair.xml" />
  127.       <xi:include href="DATA:Includes/GenericNODBuildingDestructionNoSpawn.xml" />
  128.       <xi:include href="DATA:Includes/GenericNODBuildingSuicideNoSpawn.xml" />
  129.     </Behaviors>
  130.     <AI>
  131.       <AIUpdate id="ModuleTag_AI" AutoAcquireEnemiesWhenIdle="NO" AILuaEventsList="SovietBunkerEventsList"></AIUpdate>
  132.     </AI>
  133.     <Body xai:joinAction="Replace">
  134.       <ActiveBody id="ModuleTag_Body" MaxHealth="12000" />
  135.     </Body>
  136.     <Geometry IsSmall="false">
  137.       <Shape Type="CYLINDER" MajorRadius="28.0" MinorRadius="28.0" Height="5.5"></Shape>
  138.       <Shape Type="CYLINDER" MajorRadius="20.0" MinorRadius="20.0" Height="9.5">
  139.         <Offset x="0.0" y="0.0" z="5.5" />
  140.       </Shape>
  141.       <Shape Type="CYLINDER" MajorRadius="15.5" MinorRadius="15.5" Height="13.0">
  142.         <Offset x="0.0" y="0.0" z="15.0" />
  143.       </Shape>
  144.       <ContactPoint>
  145.         <Pos x="-15.6069" y="-10.76" z="0.0" />
  146.       </ContactPoint>
  147.       <ContactPoint>
  148.         <Pos x="13.129" y="-10.76" z="16.863" />
  149.       </ContactPoint>
  150.       <ContactPoint>
  151.         <Pos x="13.129" y="17.9759" z="0.0" />
  152.       </ContactPoint>
  153.       <ContactPoint>
  154.         <Pos x="-15.6069" y="17.9759" z="16.863" />
  155.       </ContactPoint>
  156.       <ContactPoint>
  157.         <Pos x="-15.6069" y="-10.76" z="16.863" />
  158.       </ContactPoint>
  159.       <ContactPoint>
  160.         <Pos x="13.129" y="-10.76" z="0.0" />
  161.       </ContactPoint>
  162.       <ContactPoint>
  163.         <Pos x="13.129" y="17.9759" z="16.863" />
  164.       </ContactPoint>
  165.       <ContactPoint>
  166.         <Pos x="-15.6069" y="17.9759" z="0.0" />
  167.       </ContactPoint>
  168.     </Geometry>
  169.     <AudioArrayVoice>
  170.       <AudioEntry Sound="SOV_Bunker_Select" AudioType="voiceSelect" />
  171.     </AudioArrayVoice>
  172.     <AudioArraySound>
  173.       <AudioEntry Sound="HumanFaction_MediumBuilding_LightDamageMS" AudioType="soundOnDamaged" />
  174.       <AudioEntry Sound="HumanFaction_MediumBuilding_HeavyDamageMS" AudioType="soundOnReallyDamaged" />
  175.     </AudioArraySound>
  176.     <ShadowInfo Type="VOLUME" />
  177.     <VisionInfo VisionRange="350" ShroudClearingRange="400" />
  178.   </GameObject>
  179.   <LogicCommand Type="CONSTRUCTION_YARD_CONSTRUCT" id="Command_NOD_BuildSovietBunker">
  180.     <Object>SovietBunker</Object>
  181.   </LogicCommand>
  182.   <LogicCommandSet id="NODConstructionYardCommandSet">
  183.     <Cmd>Command_NOD_BuildPowerPlant</Cmd>
  184.     <Cmd>Command_NOD_BuildRefinery</Cmd>
  185.     <Cmd>Command_NOD_BuildBarracks</Cmd>
  186.     <Cmd>Command_NOD_BuildDropZone</Cmd>
  187.     <Cmd>Command_NOD_BuildOperationsCenter</Cmd>
  188.     <Cmd>Command_NOD_BuildHangar</Cmd>
  189.     <Cmd>Command_NOD_BuildTechAssemblyPlant</Cmd>
  190.     <Cmd>Command_NOD_BuildSecretShrine</Cmd>
  191.     <Cmd>Command_NOD_BuildTiberiumLiquidationFacility</Cmd>
  192.     <Cmd>Command_NOD_BuildShredderTurretHub</Cmd>
  193.     <Cmd>Command_NOD_BuildLaserCannon</Cmd>
  194.     <Cmd>Command_NOD_BuildRocketBunker</Cmd>
  195.     <Cmd>Command_NOD_BuildSovietBunker</Cmd>
  196.     <!--<Cmd xmlns="uri:ea.com:eala:asset">Command_NOD_BuildTiberiumSilo</Cmd>-->
  197.     <Cmd>Command_NOD_BuildObeliskOfLight</Cmd>
  198.     <Cmd>Command_NOD_BuildDisruptionTower</Cmd>
  199.     <Cmd>Command_NOD_BuildTempleOfNOD</Cmd>
  200.     <Cmd>Command_NOD_BuildCrane</Cmd>
  201.     <Cmd>Command_ConstructNODEmissary</Cmd>
  202.     <Cmd>Command_PackNODMCV</Cmd>
  203.     <Cmd>Command_SelfRepair</Cmd>
  204.     <Cmd>Command_Sell</Cmd>
  205.   </LogicCommandSet>
  206.   <LogicCommandSet id="NODCraneCommandSet">
  207.     <Cmd>Command_NOD_BuildPowerPlant</Cmd>
  208.     <Cmd>Command_NOD_BuildRefinery</Cmd>
  209.     <Cmd>Command_NOD_BuildBarracks</Cmd>
  210.     <Cmd>Command_NOD_BuildDropZone</Cmd>
  211.     <Cmd>Command_NOD_BuildOperationsCenter</Cmd>
  212.     <Cmd>Command_NOD_BuildHangar</Cmd>
  213.     <Cmd>Command_NOD_BuildTechAssemblyPlant</Cmd>
  214.     <Cmd>Command_NOD_BuildSecretShrine</Cmd>
  215.     <Cmd>Command_NOD_BuildTiberiumLiquidationFacility</Cmd>
  216.     <Cmd>Command_NOD_BuildSovietBunker</Cmd>
  217.     <!--<Cmd xmlns="uri:ea.com:eala:asset">Command_NOD_BuildTiberiumSilo</Cmd>-->
  218.     <Cmd>Command_NOD_BuildDisruptionTower</Cmd>
  219.     <Cmd>Command_RepairVehicle</Cmd>
  220.     <Cmd>Command_TogglePower</Cmd>
  221.     <Cmd>Command_SelfRepair</Cmd>
  222.     <Cmd>Command_Sell</Cmd>
  223.   </LogicCommandSet>
  224.   <WeaponTemplate id="AIGarrisonBunkerTriggerWeapon" Name="AIGarrisonBunkerTriggerWeapon" RadiusDamageAffects="SELF">
  225.     <Nuggets>
  226.       <LuaEventNugget EventName="GarrisonBunkerTriggerEvent" Radius="1" SendToEnemies="false" SendToAllies="true" SendToNeutral="false">
  227.         <SpecialObjectFilter Rule="NONE" Relationship="SAME_PLAYER">
  228.           <IncludeThing>SovietBunker</IncludeThing>
  229.         </SpecialObjectFilter>
  230.       </LuaEventNugget>
  231.     </Nuggets>
  232.   </WeaponTemplate>
  233.   <AttributeModifier id="AttributeModifier_SovietBunkerGarrisoned" Category="NONE" Duration="1.55s" ModelConditionsSet="INSIDE_GARRISON">
  234.     <Modifier Type="DAMAGE_MULT" Value="130%" />
  235.     <!--<Modifier Type="RANGE" Value="105%" xmlns="uri:ea.com:eala:asset" />-->
  236.     <Modifier Type="VISION" Value="200" />
  237.     <Modifier Type="RATE_OF_FIRE" Value="150" />
  238.   </AttributeModifier>
  239.   <AttributeModifier id="AttributeModifier_Garrisoned" Category="NONE" Duration="1.55s" ModelConditionsSet="INSIDE_GARRISON">
  240.     <Modifier Type="DAMAGE_MULT" Value="100%" />
  241.     <Modifier Type="RANGE" Value="100%" />
  242.     <Modifier Type="VISION" Value="200" />
  243.   </AttributeModifier>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement