;--------------------------------------------------------------------------------
;ENERGY MOD
;Coded by Lt.Zack
;--------------------------------------------------------------------------------
Object AmericaShipAirCraftCarrier

  ; *** ART Parameters ***
  
  SelectPortrait         = SACarrier_L
  ButtonImage            = SACarrier_L

;  UpgradeCameo1 = Upgrade_BornACship

  Draw = W3DTruckDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model           = PSAirCarrier
      Animation           = PSAirCarrier.PSAirCarrier
      AnimationMode       = LOOP
    End
    
  End

  ; ***DESIGN parameters ***
  DisplayName             = OBJECT:AircraftCarrier
;  EditorSorting           = VEHICLE
  EditorSorting    = STRUCTURE
  Side                    = America
  TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  BuildCost           = 8000
  BuildTime           = 50      ;in seconds
  VisionRange         = 150
  ShroudClearingRange = 300

  Prerequisites
    ;None
  End

  MaxSimultaneousOfType = 1

  ArmorSet
    Conditions      = None
    Armor           = StructureArmor
    DamageFX        = StructureDamageFXNoShake
  End

  CrusherLevel            = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  CrushableLevel          = 3  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet              = AmericaShipAircraftCarrierCommandSet
  ; *** AUDIO Parameters ***
  VoiceSelect         = AircraftCarrierVoiceSelect
  VoiceAttack         = AircraftCarrierVoiceAttack
  VoiceMove           = AircraftCarrierVoiceMove
  SoundOnDamaged        = BuildingDamagedStateLight
  SoundOnReallyDamaged  = BuildingDestroy

  UnitSpecificSounds
    UnderConstruction     = UnderConstructionLoop
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE IMMUNE_TO_CAPTURE VEHICLE 
  
  Body                = ActiveBody ModuleTag_10 ;StructureBody for deployed mode.
    MaxHealth         = 1500.0
    InitialHealth     = 1500.0

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 1700
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 100
  End
  

  Behavior = ProductionUpdate ModuleTag_11
    ; nothing
  End

  Behavior = ReplaceObjectUpgrade ModuleTag_12
    ReplaceObject = AmericaAircraftCarrier
    TriggeredBy = Upgrade_GLAWorkerRealCommandSet
  End

  Behavior = AIUpdateInterface ModuleTag_13
    AutoAcquireEnemiesWhenIdle = No;Yes
  End

  Behavior = BaseRegenerateUpdate ModuleTag_14
    ;No data
  End

  Locomotor = SET_NORMAL BasicBoatLocomotor
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 5.0
  End

  Behavior = DestroyDie ModuleTag_16
    ;nothing
  End
  Behavior             = CreateObjectDie ModuleTag_15
    CreationList  = OCL_ABPowerPlantExplode
  End
  Behavior             = FXListDie ModuleTag_17
    DeathFX       = FX_StructureMediumDeath
  End

  Behavior = FlammableUpdate ModuleTag_19
    AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
    AflameDamageAmount = 5       ; taking this much damage...
    AflameDamageDelay = 500       ; this often.
  End

  Behavior = TransitionDamageFX ModuleTag_31
    ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
    DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
    ;---------------------------------------------------------------------------------------
    ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
    ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
    ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
  End

  Geometry            = BOX
  GeometryMajorRadius = 112.0
  GeometryMinorRadius = 74.0
  GeometryHeight      = 25.0
  GeometryIsSmall     = No
  FactoryExitWidth    = 25
  Shadow          = SHADOW_VOLUME
  BuildCompletion = PLACED_BY_PLAYER

End

;------------------------------------------------------------------------------

Object AmericaAircraftCarrier
  ; *** ART Parameters ***
  SelectPortrait         = SACarrier_L
  ButtonImage            = SACarrier_L
  Draw = W3DModelDraw ModuleTag_01
    ReceivesDynamicLights = No

    ExtraPublicBone = Runway1Prep1 
    ExtraPublicBone = Runway1Prep2 
    ExtraPublicBone = Runway1Prep3 
    ExtraPublicBone = Runway1Prep4 
    ExtraPublicBone = Runway1Prep5 
    ExtraPublicBone = Runway1Prep6 
    ExtraPublicBone = Runway1Prep7 
    ExtraPublicBone = Runway1Prep8
    ExtraPublicBone = Runway1Prep9
    ExtraPublicBone = RunwayStart1 
    ExtraPublicBone = RunwayEnd1
    ExtraPublicBone = RunwayLDEnd1 
    ExtraPublicBone = RunwayLDStart1 
    ExtraPublicBone = Runway2Prep1
    ExtraPublicBone = Runway2Prep2
    ExtraPublicBone = Runway2Prep3 
    ExtraPublicBone = Runway2Prep4 
    ExtraPublicBone = Runway2Prep5 
    ExtraPublicBone = Runway2Prep6 
    ExtraPublicBone = Runway2Prep7 
    ExtraPublicBone = Runway2Prep8 
    ExtraPublicBone = Runway2Prep9
    ExtraPublicBone = RunwayStart2 
    ExtraPublicBone = RunwayEnd2
    ExtraPublicBone = RunwayLDEnd2 
    ExtraPublicBone = RunwayLDStart2 
    ExtraPublicBone = Taxi1 
    ExtraPublicBone = Taxi2 
    ExtraPublicBone = Taxi3 
    ExtraPublicBone = Taxi4
    ExtraPublicBone = Taxi5 
    ExtraPublicBone = Taxi6 
    ExtraPublicBone = Hanger1

    OkToChangeModelColor = Yes

      ; day ********************************************
    DefaultConditionState
      Model               = PSAirCarrier
      Animation           = PSAirCarrier.PSAirCarrier
      AnimationMode       = LOOP
      ParticleSysBone     = BOWWAKE AirCarrierWaterRipples 
      ParticleSysBone     = LEFTWAKE AirCarrierWaterRipples 
      ParticleSysBone     = RIGHTWAKE AirCarrierWaterRipples
      ParticleSysBone     = BOWWAKEL AirCarrierWaterRipples
      ParticleSysBone     = BOWWAKERB AirCarrierWaterRipples
    End

    ; day moving********************************************
    ConditionState = MOVING
      Model               = PSAirCarrier
      Animation           = PSAirCarrier.PSAirCarrier
      AnimationMode       = LOOP
      ParticleSysBone     = BOWWAKE AirCarrierBowWake
      ParticleSysBone     = LEFTWAKE AirCarrierSideWake
      ParticleSysBone     = RIGHTWAKE AirCarrierSideWake
      ParticleSysBone     = PROPELLERWAKE AirCarrierPropWake
      ParticleSysBone     = BOWWAKEL AirCarrierWaterWake
      ParticleSysBone     = BOWWAKERB AirCarrierWaterWakePort     
    End

    ; night ******************************************
    ConditionState        = NIGHT
      Model               = PSAirCarrier_N
      Animation           = PSAirCarrier_N.PSAirCarrier_N
      AnimationMode       = LOOP
    End
    
    ConditionState        = NIGHT SNOW
      Model               = PSAirCarrier_NS
      Animation           = PSAirCarrier_NS.PSAirCarrier_NS
      AnimationMode       = LOOP
    End

  End

  ;Below deck hangar
  Draw = W3DModelDraw ModuleTag_02
    OkToChangeModelColor = Yes
    ReceivesDynamicLights = No
    DefaultConditionState
      Model               = PSAirCarrier_A2
      Animation           = PSAirCarrier_A2.PSAirCarrier_A2
      AnimationMode       = ONCE_BACKWARDS
      Flags               = START_FRAME_FIRST
    End
    ConditionState        = DOOR_1_OPENING
      AnimationMode       = ONCE
      Flags               = START_FRAME_FIRST
    End
    ConditionState        = DOOR_1_WAITING_OPEN
      AnimationMode       = ONCE
      Flags               = START_FRAME_LAST
    End
    
  End

  ;Launch blast blocks
  Draw = W3DModelDraw ModuleTag_03
   ReceivesDynamicLights = No
   DefaultConditionState
      Model               = PSAirCarrier_A3
      Animation           = PSAirCarrier_A3.PSAirCarrier_A3
      AnimationMode       = ONCE_BACKWARDS
      Flags               = START_FRAME_FIRST
    End

    ConditionState        = DOOR_2_OPENING
      AnimationMode       = ONCE
      Flags               = START_FRAME_FIRST
    End
    ConditionState        = DOOR_2_CLOSING
      AnimationMode       = ONCE_BACKWARDS
      Flags               = START_FRAME_LAST
    End
  End
  Draw = W3DModelDraw ModuleTag_04
    ReceivesDynamicLights = No
    DefaultConditionState
      Model               = PSAirCarrier_A1
      Animation           = PSAirCarrier_A1.PSAirCarrier_A1
      AnimationMode       = ONCE_BACKWARDS
      Flags               = START_FRAME_FIRST
    End

    ConditionState        = DOOR_3_OPENING
      AnimationMode       = ONCE
      Flags               = START_FRAME_FIRST
    End
    ConditionState        = DOOR_3_CLOSING
      AnimationMode       = ONCE_BACKWARDS
      Flags               = START_FRAME_LAST
    End
  End


  PlacementViewAngle = -45

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:AircraftCarrier
  Side             = America
  EditorSorting    = STRUCTURE
  Prerequisites
    ;None
  End
  BuildCost           = 0
  BuildTime           = 30.0           ; in seconds
  EnergyProduction    = 0
  CommandSet          = AmericaAircraftCarrierCommandSet
  VisionRange         = 200.0           ; Shroud clearing distance
  ShroudClearingRange = 200
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY AircraftCarrierOrderLaunch
  End
  ArmorSet
    Conditions        = None
    Armor             = StructureArmor
    DamageFX          = StructureDamageFXNoShake
  End
  ExperienceValue     = 150 150 150 150  ; Experience point value at each level

  ; *** AUDIO Parameters ***
  VoiceSelect         = AircraftCarrierVoiceSelect
  VoiceAttack         = AircraftCarrierVoiceAttack
  VoiceMove           = AircraftCarrierVoiceMove
  SoundOnDamaged        = BuildingDamagedStateLight
  SoundOnReallyDamaged  = BuildingDestroy

  UnitSpecificSounds
    UnderConstruction     = UnderConstructionLoop
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority       = STRUCTURE
  KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD AIRCRAFT_CARRIER SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY CAN_ATTACK

  Body                = StructureBody ModuleTag_10 ; ActiveBody for mobil mode.
    MaxHealth         = 1500.0
    InitialHealth     = 1500.0

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 1700
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 100
  End
  
  Behavior = FlightDeckBehavior ModuleTag_11
    NumRunways              = 2
    NumSpacesPerRunway      = 10

    Runway1Spaces           = RunwayStart1 Runway1Prep1 Runway1Prep2 Runway1Prep3 Runway1Prep4 Runway1Prep5 Runway1Prep6 Runway1Prep7 Runway1Prep8 Runway1Prep9
    Runway1Takeoff          = RunwayStart1 RunwayEnd1
    Runway1Landing          = RunwayLDStart1 RunwayLDEnd1
    Runway1Taxi             = Taxi2 Taxi3 Taxi4 Taxi6
    Runway1Creation         = Hanger1 Taxi4 Taxi6
    Runway1CatapultSystem   = AircraftCarrierCatapultSteamParent

    Runway2Spaces           = RunwayStart2 Runway2Prep1 Runway2Prep2 Runway2Prep3 Runway2Prep4 Runway2Prep5 Runway2Prep6 Runway2Prep7 Runway2Prep8 Runway2Prep9
    Runway2Takeoff          = RunwayStart2 RunwayEnd2
    Runway2Landing          = RunwayLDStart2 RunwayLDEnd2
    Runway2Taxi             = Taxi1 Taxi3 Taxi5
    Runway2Creation         = Hanger1 Taxi4
    Runway2CatapultSystem   = AircraftCarrierCatapultSteamParent

    HealAmountPerSecond     = 20
    ApproachHeight          = 50
    LandingDeckHeightOffset = 45.0
    ParkingCleanupPeriod    = 533  ;How often the carrier checks to move planes forward in the queue to fill empty spaces
    HumanFollowPeriod       = 333  ;Human factor for delay like a traffic jam.. takes time to react when the guy in front moves.

    ;Template of payload, and how quickly destroyed ones get replaced.
    PayloadTemplate         = AmericaJetAircraftCarrierRaptor
    ReplacementDelay        = 4000
    DockAnimationDelay      = 3000

    ;How quickly a wave of fighters can be launched.
    LaunchWaveDelay         = 3000
    LaunchRampDelay         = 667
    LowerRampDelay          = 600
    CatapultFireDelay       = 750

  End

  Behavior = ProductionUpdate ModuleTag_12
    NumDoorAnimations            = 1
    DoorOpeningTime              = 3000 ;matches the dock animation timing.
    DoorWaitOpenTime             = 33  ;add a single frame to hold the plane because there is a one frame delay before we see the new plane
    DoorCloseTime                = 0  ;in mSeconds
    ConstructionCompleteDuration = 0  ;in mSeconds
  End
  Behavior = BaseRegenerateUpdate ModuleTag_13
    ;No data
  End 

  Behavior = DestroyDie ModuleTag_14
    ;nothing
  End
  Behavior             = CreateObjectDie ModuleTag_15
    CreationList  = OCL_ABPowerPlantExplode
  End
  Behavior             = FXListDie ModuleTag_17
    DeathFX       = FX_StructureMediumDeath
  End

  Behavior = FlammableUpdate ModuleTag_19
    AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
    AflameDamageAmount = 5       ; taking this much damage...
    AflameDamageDelay = 500       ; this often.
  End

  Behavior = TransitionDamageFX ModuleTag_31
    ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
    DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
    ;---------------------------------------------------------------------------------------
    ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
    ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
    ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
  End

  Geometry            = BOX
  GeometryMajorRadius = 112.0
  GeometryMinorRadius = 74.0
  GeometryHeight      = 25.0
  GeometryIsSmall     = No
  FactoryExitWidth    = 25
  Shadow          = SHADOW_VOLUME
  BuildCompletion = PLACED_BY_PLAYER

End

Object AmericaShipAirCraftCarrierZack

  ; *** ART Parameters ***
  SelectPortrait         = DroneCaL
  ButtonImage            = DroneCaS
  
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model               = dronecarrier
      ParticleSysBone = TreadFX01 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX02 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX03 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX04 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX05 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX06 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX07 BattleshipMuzzleFlashWave
    End
    ConditionState    = OVER_WATER
      Model               = dronecarrier
      ParticleSysBone = TreadFX01 AmphibWaveRest
      ParticleSysBone = TreadFX02 AmphibWaveRest
      ParticleSysBone = TreadFX03 AmphibWaveRest
      ParticleSysBone = TreadFX04 AmphibWaveRest
      ParticleSysBone = TreadFX05 AmphibWaveRest
      ParticleSysBone = TreadFX06 AmphibWaveRest
      ParticleSysBone = TreadFX07 AmphibWaveRest
    End
    ConditionState    = MOVING
      Model               = dronecarrier
    End
    ConditionState    = MOVING OVER_WATER
      Model               = dronecarrier
      ParticleSysBone = Mist01 AmphibMist
      ParticleSysBone = Mist02 AmphibMist
      ParticleSysBone = Mist03 AmphibMistSide
      ParticleSysBone = Mist04 AmphibMistSide
      ParticleSysBone = Mist05 AmphibMistSide
      ParticleSysBone = Mist06 AmphibMistSide
      ParticleSysBone = TreadFX01 AmphibWave
      ParticleSysBone = TreadFX02 AmphibWave
      ParticleSysBone = TreadFX03 AmphibWave
      ParticleSysBone = TreadFX04 AmphibWave
      ParticleSysBone = TreadFX05 AmphibWave
      ParticleSysBone = TreadFX06 AmphibWave
      ParticleSysBone = TreadFX07 AmphibWave
    End
    ConditionState    = REALLYDAMAGED
      Model               = dronecarrier
      ParticleSysBone = TreadFX01 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX02 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX03 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX04 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX05 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX06 BattleshipMuzzleFlashWave
      ParticleSysBone = TreadFX07 BattleshipMuzzleFlashWave
    End
    ConditionState    = MOVING REALLYDAMAGED
      Model               = dronecarrier
    End
    ConditionState       = REALLYDAMAGED OVER_WATER
      Model               = dronecarrier
      ParticleSysBone = TreadFX01 AmphibWaveRest
      ParticleSysBone = TreadFX02 AmphibWaveRest
      ParticleSysBone = TreadFX03 AmphibWaveRest
      ParticleSysBone = TreadFX04 AmphibWaveRest
      ParticleSysBone = TreadFX05 AmphibWaveRest
      ParticleSysBone = TreadFX06 AmphibWaveRest
      ParticleSysBone = TreadFX07 AmphibWaveRest
    End
    ConditionState    = REALLYDAMAGED MOVING OVER_WATER
      Model               = dronecarrier
      ParticleSysBone = Mist01 AmphibMist
      ParticleSysBone = Mist02 AmphibMist
      ParticleSysBone = Mist03 AmphibMistSide
      ParticleSysBone = Mist04 AmphibMistSide
      ParticleSysBone = Mist05 AmphibMistSide
      ParticleSysBone = Mist06 AmphibMistSide
      ParticleSysBone = TreadFX01 AmphibWave
      ParticleSysBone = TreadFX02 AmphibWave
      ParticleSysBone = TreadFX03 AmphibWave
      ParticleSysBone = TreadFX04 AmphibWave
      ParticleSysBone = TreadFX05 AmphibWave
      ParticleSysBone = TreadFX06 AmphibWave
      ParticleSysBone = TreadFX07 AmphibWave
    End
    ConditionState       = RUBBLE
      Model               = dronecarrier
    End

    OkToChangeModelColor = Yes
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:AirCraftCarrier
  Side                   = America
  EditorSorting          = VEHICLE
  TransportSlotCount     = 99
  WeaponSet
    Conditions        = None
    Weapon            = PRIMARY NullWeapon
  End
  ArmorSet
    Conditions           = None
    Armor                = LargeShipArmor
    DamageFX             = TankDamageFX
  End

  BuildCost           = 4000
  BuildTime           = 50.0
  VisionRange         = 1000
  ShroudClearingRange = 450
  Prerequisites
   ;Object = AmericaStrategyCenter
  End
  ExperienceValue       = 500 600 800 1000
  ExperienceRequired    = 0 550 700 1000
  IsTrainable           = Yes
  CrusherLevel          = 1
  CrushableLevel        = 3
  CommandSet            = AirCraftCarrierCommandSet
  ;MaxSimultaneousOfType = 1
  
  ; *** AUDIO Parameters ***
  VoiceSelect = AircraftCarrierVoiceSelect
  VoiceAttack = AircraftCarrierVoiceAttack
  VoiceMove = AircraftCarrierVoiceMove
  VoiceGuard = AircraftCarrierVoiceMove
  SoundMoveStart  = LargeShipMovement
  SoundMoveStartDamaged = LargeShipMovement
  SoundAmbient = ShipIdle
  UnitSpecificSounds
   VoiceCreate = AircraftCarrierVoiceSelect
   VoiceEnter = AircraftCarrierVoiceMove
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf        = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
  
  Body                   = ActiveBody ModuleTag_02
    MaxHealth       = 2200
    InitialHealth   = 2200

    SubdualDamageCap = 5000
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = AIUpdateInterface ModuleTag_03
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor            = SET_NORMAL DroneCarrierLocoMoto
  Behavior = PhysicsBehavior ModuleTag_04
    Mass                 = 10000.0
  End

  Behavior = SlowDeathBehavior ModuleTag_10
    DeathTypes = ALL -CRUSHED -SPLATTED
    SinkRate = 10
    SinkDelay = 900
    ProbabilityModifier  = 100
    DestructionDelay  = 6000
    DestructionDelayVariance  = 100
    FX  = INITIAL  WeaponFX_BombTruckDefaultBombDetonation
    FX  = MIDPOINT WeaponFX_BombTruckHighExplosiveBombDetonation
    FX  = FINAL WeaponFX_BombTruckHighExplosiveBombDetonation
  End

  Behavior = TransitionDamageFX ModuleTag_12
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:WeaponFX_BombTruckDefaultBombDetonation
  End

  Behavior = DestroyDie ModuleTag_13
    DeathTypes = NONE +CRUSHED +SPLATTED
  End

  ; A crushing defeat
  Behavior = FXListDie ModuleTag_14
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = WeaponFX_BombTruckDefaultBombDetonation
  End

  Behavior = CreateObjectDie ModuleTag_15
    DeathTypes = NONE +CRUSHED +SPLATTED
    CreationList = OCL_CrusaderTank_CrushEffect
  End

  Behavior = ObjectCreationUpgrade ModuleTag_17
    UpgradeObject = OCL_DroneCarrierBomberDrone
    TriggeredBy   = Upgrade_AmericaBattleDroneX
  End
  Behavior = ObjectCreationUpgrade ModuleTag_19
    UpgradeObject = OCL_DroneCarrierFighterDrone
    TriggeredBy   = Upgrade_AmericaHellfireDroneX
  End
  Behavior = CommandSetUpgrade ModuleTag_ComSet01
    CommandSet = AirCraftCarrierCommandSet
    TriggeredBy = Upgrade_AmericaHellfireDroneX
    RemovesUpgrades = Upgrade_AmericaHellfireDroneX
  End
  Behavior = CommandSetUpgrade ModuleTag_ComSet11
    CommandSet = AirCraftCarrierCommandSet
    TriggeredBy = Upgrade_AmericaHellfireDroneX
    RemovesUpgrades = Upgrade_AmericaHellfireDroneX
  End
  Behavior = CommandSetUpgrade ModuleTag_ComSet03
    CommandSet = AirCraftCarrierCommandSet
    TriggeredBy = Upgrade_AmericaBattleDroneX
    RemovesUpgrades = Upgrade_AmericaBattleDroneX
  End
  Behavior = CommandSetUpgrade ModuleTag_ComSet13
    CommandSet = AirCraftCarrierCommandSet
    TriggeredBy = Upgrade_AmericaBattleDroneX
    RemovesUpgrades = Upgrade_AmericaBattleDroneX
  End
  Behavior = ProductionUpdate ModuleTag_20
    MaxQueueEntries = 9
  End

  Behavior = FlammableUpdate ModuleTag_21
    AflameDuration = 4500
    AflameDamageAmount = 20
    AflameDamageDelay = 500
  End

  Geometry               = BOX
  GeometryMajorRadius    = 160.0
  GeometryMinorRadius    = 60.0
  GeometryHeight         = 40
  GeometryIsSmall        = No  
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45
End
;------------------------------------------------------------------------------
Object DroneCarrierFighterDrone

  ; *** ART Parameters ***
  SelectPortrait         = SAHellfire_L
  ButtonImage            = SAHellfire
  
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes

    DefaultConditionState
      Model = FighterDrone
      WeaponLaunchBone = PRIMARY WeaponA
    End

    ConditionState = REALLYDAMAGED
      Model = FighterDrone
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:HellfireDrone
  Side = America
  EditorSorting   = VEHICLE
  TransportSlotCount = 0
  ArmorSet
    Conditions      = None
    Armor           = TankArmor
    DamageFX        = SmallTankDamageFX
  End
  BuildCost       = 500
  BuildTime       = 5.0
  VisionRange     = 1000
  ShroudClearingRange = 200
  IsTrainable     = No
  
  ; *** AUDIO Parameters ***
  VoiceSelect = NoSound
  VoiceMove = NoSound
  VoiceAttack = NoSound
  SoundMoveStart = NoSound

  WeaponSet
    Conditions = NONE 
    Weapon = PRIMARY HellfireMissileWeaponX2
  End


  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL HellfireDroneLocomotorXXX
  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 50.0
    KillWhenRestingOnGround = Yes
    AllowBouncing = No
  End
  Behavior = SlavedUpdate ModuleTag_06
    GuardMaxRange = 200
    GuardWanderRange = 300
    AttackRange = 1000
    AttackWanderRange = 100
    ScoutRange = 125
    ScoutWanderRange = 10
    StayOnSameLayerAsMaster = No
  End

  Behavior = DestroyDie ModuleTag_08
    DeathTypes = ALL
  End
  Behavior                 = CreateObjectDie ModuleTag_09
    DeathTypes = ALL
    CreationList      = OCL_AmericaScoutDroneExplode
  End
  Behavior                 = FXListDie ModuleTag_10
    DeathTypes = ALL
    DeathFX           = FX_AmericaScoutDroneExplode
  End
  
  Behavior                 = TransitionDamageFX ModuleTag_11
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
  End

  Behavior = UpgradeDie  ModuleTag_12
   DeathTypes = ALL
   UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13
  End

  Behavior = FlammableUpdate ModuleTag_21
    AflameDuration = 5000
    AflameDamageAmount = 3
    AflameDamageDelay = 500
  End

  Geometry = CYLINDER
  GeometryMajorRadius = 5.0
  GeometryMinorRadius = 6.0
  GeometryHeight = 3.0
  GeometryIsSmall = Yes
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 89
End
;------------------------------------------------------------------------------
Object DroneCarrierBomberDrone

  ; *** ART Parameters ***
  SelectPortrait         = SAHellfire_L
  ButtonImage            = SAHellfire
  
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes

    DefaultConditionState
      Model = BomberDrone
      WeaponLaunchBone = PRIMARY WeaponA
    End

    ConditionState = REALLYDAMAGED
      Model = BomberDrone
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:HellfireDrone
  Side = America
  EditorSorting   = VEHICLE
  TransportSlotCount = 0
  ArmorSet
    Conditions      = None
    Armor           = TankArmor
    DamageFX        = SmallTankDamageFX
  End
  BuildCost       = 500
  BuildTime       = 5.0
  VisionRange     = 1000
  ShroudClearingRange = 200
  IsTrainable     = No
  
  ; *** AUDIO Parameters ***
  VoiceSelect = NoSound
  VoiceMove = NoSound
  VoiceAttack = NoSound
  SoundMoveStart = NoSound

  WeaponSet
    Conditions = NONE
    Weapon = PRIMARY BomberBombWeapon
  End


  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL HellfireDroneLocomotorXXXB
  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 50.0
    KillWhenRestingOnGround = Yes
    AllowBouncing = No
  End
  Behavior = SlavedUpdate ModuleTag_06
    GuardMaxRange = 200
    GuardWanderRange = 320
    AttackRange = 1000
    AttackWanderRange = 120
    ScoutRange = 125
    ScoutWanderRange = 10
    StayOnSameLayerAsMaster = No
  End

  Behavior = DestroyDie ModuleTag_08
    DeathTypes = ALL
  End
  Behavior                 = CreateObjectDie ModuleTag_09
    DeathTypes = ALL
    CreationList      = OCL_AmericaScoutDroneExplode
  End
  Behavior                 = FXListDie ModuleTag_10
    DeathTypes = ALL
    DeathFX           = FX_AmericaScoutDroneExplode
  End
  
  Behavior                 = TransitionDamageFX ModuleTag_11
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
  End

  Behavior = UpgradeDie  ModuleTag_12
   DeathTypes = ALL
   UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13
  End

  Behavior = FlammableUpdate ModuleTag_21
    AflameDuration = 5000
    AflameDamageAmount = 3
    AflameDamageDelay = 500
  End

  Geometry = CYLINDER
  GeometryMajorRadius = 5.0
  GeometryMinorRadius = 6.0
  GeometryHeight = 3.0
  GeometryIsSmall = Yes
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 89
End