﻿<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset">
  <GameObject id="NODBeamCannon" KindOf="SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SIEGE_WEAPON PRELOAD SCORE ATTACK_NEEDS_LINE_OF_SIGHT CAN_REVERSE_MOVE VEHICLE CAN_BE_FAVORITE_UNIT" Description="Desc:NODBeamCannon" TypeDescription="Type:NODBeamCannon" RadarPriority="UNIT" Side="NOD" EditorName="NODBeamCannon" EditorSorting="UNIT" BuildTime="20" CommandSet="NODBeamCannonCommandSet" SelectPortrait="Portrait_NODBeamCannon" ButtonImage="Portrait_NODBeamCannon" VoicePriority="208" ShockwaveResistance="100" CommandPoints="100" ProductionQueueType="VEHICLE" UnitCategory="VEHICLE" WeaponCategory="CANNON" ReinvisibilityDelay="7s" BuildCost="1000" TransportSlotCount="1">
    <DisplayName>Name:NODBeamCannon</DisplayName>
    <GameDependency>
      <RequiredObject>NODOperationsCenter</RequiredObject>
    </GameDependency>
    <ArmorSet Armor="NODBeamCannonArmor" DamageFX="VehicleDamageFX" />
    <LocomotorSet Speed="75" Locomotor="NODBeamCannonLocomotor" />
    <SkirmishAIInformation ConquerMetricsOverrideDPS="150" ConquerMetricsOverrideDamageType="GRENADE" UnitBuilderStandardCombatUnit="True" />
    <Draws>
      <TruckDraw id="0x50DF2C46" MaxRecoilDistance="3" RecoilDamping="0.4" TrackMarks="EXTireTrack2" TrackMarksLeftBone="Bone_TireLR" TrackMarksRightBone="Bone_TireRR" OkToChangeModelColor="True" TrackMarksOnlyWhenCorneringQuickly="True" LeftFrontTireBone="Bone_Tire_LF" RightFrontTireBone="Bone_Tire_RF" LeftRearTireBone="Bone_Tire_LR" RightRearTireBone="Bone_Tire_RR" MidLeftRearTireBone="Bone_Tire_LM" MidRightRearTireBone="Bone_Tire_RM" TireRotationMultiplier="0.2" PowerslideRotationAddition="1.25">
        <ModelConditionState ParseCondStateType="PARSE_DEFAULT">
          <Model Name="W3DContainer:NUBEAM_SKN" />
          <WeaponFireFXBone BoneName="FX_Weapon" />
          <WeaponLaunchBone BoneName="FX_Weapon" />
          <Turret TurretNameKey="Turret" TurretPitch="Turret_Pitch" TurretID="1" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW">
          <Model Name="W3DMesh:NUBEAM_FP" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING">
          <Model Name="W3DContainer:NUBEAMR_SKN" />
          <ParticleSysBone BoneName="ROOTTRANSFORM" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="True" />
          <ParticleSysBone BoneName="ROOTTRANSFORM" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="True" />
          <ParticleSysBone BoneName="ROOTTRANSFORM" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="True" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="REALLYDAMAGED">
          <Model Name="W3DContainer:NUBEAM_SKN" />
          <Texture Original="NUBeam" New="NUBeamD" />
          <ParticleSysBone BoneName="ROOTTRANSFORM" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="True" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="AFFECTED_BY_EMP">
          <Model Name="W3DContainer:NUBEAM_SKN" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="PARALYZED">
          <Model Name="W3DContainer:NUBEAM_SKN" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="UNPACKING">
          <Model Name="W3DContainer:NUBEAM_SKN" />
          <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireFlash" FollowBone="True" />
          <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireDist" FollowBone="True" />
        </ModelConditionState>
        <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="PREPARING">
          <Model Name="W3DContainer:NUBEAM_SKN" />
          <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire" FollowBone="True" />
          <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire02" FollowBone="True" />
        </ModelConditionState>
      </TruckDraw>
      <LaserDraw id="0x9FE06199" Texture1_VTile="0.5" Texture2_VTile="0.03" Texture1_VScrollRate="0.2" Texture2_VScrollRate="1" LaserWidth="20" WeaponSlotID="1" LaserStateID="3">
        <FXShader ShaderName="Laser.fx">
          <Constants>
            <Texture Name="Texture1">
              <Value>FXObeliskLaser</Value>
            </Texture>
            <Texture Name="Texture2">
              <Value>FXLaserOverlay</Value>
            </Texture>
          </Constants>
        </FXShader>
        <ObjectStatusValidation ForbiddenStatus="WEAPON_UPGRADED_03" />
      </LaserDraw>
      <LaserDraw id="0x5FC0AD86" Texture1_VTile="0.5" Texture2_VTile="0.01" Texture1_VScrollRate="0.2" Texture2_VScrollRate="1" Texture2_FrameRate="1" LaserWidth="50" UseDistortionShader="True">
        <FXShader ShaderName="Laser.fx">
          <Constants>
            <Texture Name="Texture1">
              <Value>FXRailgunCoreDistortion</Value>
            </Texture>
            <Texture Name="Texture2">
              <Value>FXRailGunCoreMask</Value>
            </Texture>
          </Constants>
        </FXShader>
        <ObjectStatusValidation ForbiddenStatus="WEAPON_UPGRADED_03" />
      </LaserDraw>
      <LaserDraw id="0xB74F5F65" Texture1_VTile="0.5" Texture2_VTile="0.03" Texture1_VScrollRate="0.2" Texture2_VScrollRate="1" LaserWidth="20" WeaponSlotID="1" LaserStateID="1">
        <FXShader ShaderName="Laser.fx">
          <Constants>
            <Texture Name="Texture1">
              <Value>FXObeliskLaserHeroic</Value>
            </Texture>
            <Texture Name="Texture2">
              <Value>FXLaserOverlay</Value>
            </Texture>
          </Constants>
        </FXShader>
        <ObjectStatusValidation RequiredStatus="WEAPON_UPGRADED_03" />
      </LaserDraw>
      <LaserDraw id="0xE5D4C885" Texture1_VTile="0.5" Texture2_VTile="0.03" Texture1_VScrollRate="0.2" Texture2_VScrollRate="1" LaserWidth="20" WeaponSlotID="1" LaserStateID="2">
        <FXShader ShaderName="Laser.fx">
          <Constants>
            <Texture Name="Texture1">
              <Value>FXObeliskLaserHeroic</Value>
            </Texture>
            <Texture Name="Texture2">
              <Value>FXLaserOverlay</Value>
            </Texture>
          </Constants>
        </FXShader>
        <ObjectStatusValidation RequiredStatus="WEAPON_UPGRADED_03" />
      </LaserDraw>
    </Draws>
    <Behaviors>
      <AttributeModifierPoolUpdate id="0x513BC476" />
      <SquishCollide id="0x8CCB269A" />
      <FireWeaponWhenDead id="0xDDED328F" DeathWeapon="CatalystInfantryDeathWeapon" InitiallyActive="True">
        <DieMuxData DeathTypes="CATALYST" />
      </FireWeaponWhenDead>
      <AutoHealBehavior id="0xC07BF5C0" HealingAmount="100" HealingDelay="0.5s" StartHealingDelay="1s">
        <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
      </AutoHealBehavior>
      <AttributeModifierUpgrade id="0xAA36A1AA" AttributeModifier="Modifier_MultifunctionUpgradeCenterSpeed">
        <TriggeredBy>Upgrade_MultifunctionUpgradeCenterSpeed</TriggeredBy>
      </AttributeModifierUpgrade>
      <AttributeModifierUpgrade id="0x81C6F752" AttributeModifier="Modifier_MultifunctionUpgradeCenterDamage">
        <TriggeredBy>Upgrade_MultifunctionUpgradeCenterDamage</TriggeredBy>
      </AttributeModifierUpgrade>
      <AttributeModifierUpgrade id="0xE35F7EC4" AttributeModifier="Modifier_MultifunctionUpgradeCenterArmor">
        <TriggeredBy>Upgrade_MultifunctionUpgradeCenterArmor</TriggeredBy>
      </AttributeModifierUpgrade>
      <StancesBehavior id="0x54CA416E" StanceTemplate="Generic" />
      <LevelUpUpgrade id="0xA92BDFEA" LevelsToGain="1" LevelCap="4">
        <TriggeredBy>Upgrade_ProductionVeterancy_VETERAN</TriggeredBy>
      </LevelUpUpgrade>
      <LevelUpUpgrade id="0x5C3F216A" LevelsToGain="2" LevelCap="4">
        <TriggeredBy>Upgrade_ProductionVeterancy_ELITE</TriggeredBy>
      </LevelUpUpgrade>
      <LevelUpUpgrade id="0x379F3CE2" LevelsToGain="3" LevelCap="4">
        <TriggeredBy>Upgrade_ProductionVeterancy_HEROIC</TriggeredBy>
      </LevelUpUpgrade>
      <InvisibilityUpdate id="0x3BD7F2F5" UpdatePeriod="0.5s">
        <InvisibilityNugget ForbiddenConditions="PREATTACK_A FIRING_A FIRING_OR_PREATTACK_A RELOADING_A PREATTACK_B FIRING_B FIRING_OR_PREATTACK_B RELOADING_B PREATTACK_C FIRING_C FIRING_OR_PREATTACK_C RELOADING_C USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C" ForbiddenStatus="IS_FIRING_WEAPON USING_ABILITY IS_AIMING_WEAPON SPECIAL_ABILITY_PACKING_UNPACKING_OR_USING" />
        <RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade>
      </InvisibilityUpdate>
      <StealthUpgrade id="0xF2B9DFBE">
        <TriggeredBy>Upgrade_CloakingFieldInvisibility</TriggeredBy>
      </StealthUpgrade>
      <TemporarilyDefectUpdate id="0x3473AFD2" DefectionFrameCount="300" />
      <WeaponSetUpdate id="0x720F4A50">
        <WeaponSlotTurret ID="1">
          <Weapon Template="NODBeamCannonLaser" />
          <TurretSettings TurretTurnRate="50" TurretPitchRate="25" MinIdleScanTime="1s" MaxIdleScanTime="5s" MaxIdleScanAngle="90" AllowsPitch="True">
            <TurretAITargetChooserData TargetingCompareList="DefaultTurretTargetingCompareList" CanAcquireDynamicIfAssignedOutOfRange="True" />
          </TurretSettings>
        </WeaponSlotTurret>
      </WeaponSetUpdate>
      <Physics id="0x6D41764B" />
      <ProductionUpdate id="0x2387032B" />
      <SlowDeath id="0x73542D4A" SinkRate="1" SinkDelay="243s" DestructionDelay="247s">
        <OCL>
          <OCL>OCL_NODBeamDebris</OCL>
        </OCL>
        <Sound List="NOD_Generic_VoiceDieMS" />
        <DieMuxData DeathTypes="ALL" DeathTypesForbidden="TOPPLED" />
      </SlowDeath>
      <FXListBehavior id="0xC74C39D8">
        <DieMuxData DeathTypes="ALL" />
        <Event FX="FX_GDIVehicleExplodeNoScorch" />
      </FXListBehavior>
      <SpecialPower id="0x9300F150" SpecialPowerTemplate="NODBeamCannonLaserSpecialPower" UpdateModuleStartsAttack="True">
        <AttributeModifierAffects Rule="UNPARSED" />
        <RequirementsFilterMP Rule="UNPARSED" />
        <RequirementsFilterStrategic Rule="UNPARSED" />
      </SpecialPower>
      <BeamSpecialAbilityUpdate id="0x36AEB473" SpecialPowerTemplate="NODBeamCannonLaserSpecialPower" StartAbilityRange="610" AbilityAbortRange="610" PreparationTime="10000s" PackTime="0.1s" UnpackTime="1s" Options="UPDATE_REQUIRES_LINE_OF_SIGHT" UnpackSound="AudioEvent:NOD_BeamCannon_BeamWeaponPowerUpSwell" PrepSoundLoop="Multisound:NOD_BeamCannon_BeamWeaponLoopMS" SetObjectStatusOnTrigger="IS_ENGAGED" ClearObjectStatusOnExit="IS_ENGAGED" FaceTarget="True" DamagePerSecond="150" />
      <SpecialPower id="0x6540F6F9" SpecialPowerTemplate="SpecialPower_ChargeDefensesTrigger" UpdateModuleStartsAttack="True">
        <AttributeModifierAffects Rule="UNPARSED" />
        <RequirementsFilterMP Rule="UNPARSED" />
        <RequirementsFilterStrategic Rule="UNPARSED" />
      </SpecialPower>
      <BeamSpecialAbilityUpdate id="0x3216CCB9" SpecialPowerTemplate="SpecialPower_ChargeDefensesTrigger" StartAbilityRange="200" PreparationTime="10000s" PackTime="1s" UnpackTime="2s" Options="CHECK_SPECIALPOWER_REQUIREMENTS_DURING_UPDATE" UnpackSound="AudioEvent:NOD_BeamCannon_BeamWeaponPowerUpSwell" PrepSoundLoop="Multisound:NOD_BeamCannon_ChargeObeliskLoopMS" FaceTarget="True" TargetAttributeModifierAdd="AttributeModifier_ChargeDefenses" PreferredTargetBone="FXBONE01" TargetSamePlayerOnly="True" />
      <SpecialPower id="0xA0B2B001" SpecialPowerTemplate="SpecialPower_ReflectorAttack" UpdateModuleStartsAttack="True">
        <AttributeModifierAffects Rule="UNPARSED" />
        <RequirementsFilterMP Rule="UNPARSED" />
        <RequirementsFilterStrategic Rule="UNPARSED" />
      </SpecialPower>
      <BeamSpecialAbilityUpdate id="0x7E53E03E" SpecialPowerTemplate="SpecialPower_ReflectorAttack" StartAbilityRange="10000" PreparationTime="10000s" PackTime="0.1s" UnpackTime="2s" UnpackSound="AudioEvent:NOD_BeamCannon_BeamWeaponPowerUpSwell" PrepSoundLoop="Multisound:NOD_BeamCannon_BeamWeaponLoopMS" GoIdleInStartPreparation="False" FaceTarget="True" DamagePerSecond="150" ReflectorExtendDistance="500" JoinWithOtherBeams="False" />
      <AISpecialPowerUpdate id="0x16F50DB7" CommandButtonName="Command_ReflectorAttack" SpecialPowerAIType="SPECIAL_POWER_SPECIFIC_UNIT" SpecialPowerRadius="200" SpecificUnit="NODVenom" RandomizeTargetLocation="False" />
      <CreateAndEnterObjectSpecialPower id="0x6D44A823" SpecialPowerTemplate="SpecialPowerCallForTransportNOD" TriggerFX="FX_NodCallForTransportFlare" IdleWhenStartingPower="True" ChildModuleHandlesFX="True" OCL="OCL_NodCallForTransportVehicle" CreateLocation="CREATE_ABOVE_LOCATION">
        <AttributeModifierAffects Rule="UNPARSED" />
        <RequirementsFilterMP Rule="UNPARSED" />
        <RequirementsFilterStrategic Rule="UNPARSED" />
        <FXOffset x="25" />
      </CreateAndEnterObjectSpecialPower>
      <StatusBitsUpgrade id="0xD305500E" StatusToSet="WEAPON_UPGRADED_03">
        <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
      </StatusBitsUpgrade>
      <LaserState id="ModuleTag_LaserDraw01" LaserId="1" />
    </Behaviors>
    <AI>
      <AIUpdate id="0xFADB485A" AutoAcquireEnemiesWhenIdle="YES">
        <UnitAITargetChooserData SympathyRange="300" CanPickDynamicTargets="False" RotateToTargetWhenAiming="False" TargetingCompareList="DefaultTargetingCompareList" ReacquireDelay="0.1s" IdleScanDelay="0.01s" />
      </AIUpdate>
    </AI>
    <Body>
      <ActiveBody id="0xB313F576" MaxHealth="1500" />
    </Body>
    <Geometry IsSmall="True">
      <Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="14" MinorRadius="7" Height="11.5" />
    </Geometry>
    <AudioArrayVoice>
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceAttack" AudioType="voiceAttack" />
      <AudioEntry Sound="AudioEvent:EmptyVoiceResponse" AudioType="voiceBombard" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceCreate" AudioType="voiceCreated" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceMove" AudioType="voiceGuard" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceMove" AudioType="voiceMove" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_VoiceRetreat" AudioType="voiceRetreatToCastle" />
      <AudioEntry Sound="Multisound:NOD_BeamCannon_VoiceSelectMS" AudioType="voiceSelect" />
      <AudioEntry Sound="Multisound:NOD_BeamCannon_VoiceSelectBattleMS" AudioType="voiceSelectBattle" />
      <NamedEntry Sound="AudioEvent:NOD_BeamCannon_VoiceAttackSpottedTarget" Name="0x069F5EEF" />
      <NamedEntry Sound="AudioEvent:NOD_BeamCannon_VoiceChargeDefenses" Name="0x0C2C04B4" />
    </AudioArrayVoice>
    <AudioArraySound>
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_MoveStart" AudioType="soundMoveStart" />
      <AudioEntry Sound="AudioEvent:NOD_BeamCannon_IdleLoop" AudioType="soundAmbient" />
    </AudioArraySound>
    <EvaEvents EvaEventDieOwner="UnitLost" EvaEventDamagedOwner="UnitUnderAttack" EvaEventDamagedFromShroudedSourceOwner="UnitUnderAttackFromShroudedUnit" EvaEventDamagedByFireOwner="GenericUnitBeingBurned" EvaEventSecondDamageFarFromFirstScanRange="600" EvaEventSecondDamageFarFromFirstTimeoutMS="155" EvaEventAmbushed="UnitAmbushed" EvaEnemyObjectSightedEvent="GenericEnemyUnitSighted" EvaEventDetectedEnemy="EnemyStealthUnitDiscovered" EvaEventAvailableForProduction="NewConstructionOptions" EvaEventProductionStarted="UnitConstructionStarted" EvaEventBuildOnHold="BuildOnHold" EvaEventBuildCancelled="BuildCancelled" EvaEventPromotedOwner="UnitPromoted" />
    <ShadowInfo Type="VOLUME" />
    <VisionInfo VisionRange="600" ShroudClearingRange="300" VisionSide="75%" VisionRear="50%" />
    <CrusherInfo CrusherLevel="1" CrushableLevel="2" CrushEqualLevelProps="True" MinCrushVelocityPercent="5%" CrushDecelerationPercent="40%"></CrusherInfo>
  </GameObject>
</AssetDeclaration>