;------------------------------------------------------------------------------
Object MOAB

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = PMMoab
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:DaisyCutterBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

;;;;;;;  Behavior = CreateObjectDie ModuleTag_03 ; Lorenzen Killed 5/31
;;;;;;;    CreationList = OCL_MOABExplode
;;;;;;;  End
;;;;;;;  Behavior = CreateObjectDie ModuleTag_10
;;;;;;;    CreationList = OCL_MOABEffectSpheroid
;;;;;;;  End

  ;Duplicate effect, exists in FireFX for WeaponFX_MOAB_Blast
  ;Behavior = FXListDie ModuleTag_04
  ;  DeathFX = WeaponFX_MOAB_Blast
  ;End

  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End
     
  Behavior = AIUpdateInterface ModuleTag_06
  End
  Locomotor = SET_NORMAL None
  Behavior = PhysicsBehavior ModuleTag_07
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 33     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = HeightDieUpdate ModuleTag_08
    TargetHeight = 5.0                          ;;; changed from previous, 50
    TargetHeightIncludesStructures = Yes
  End
  
  Behavior = SpecialPowerCompletionDie ModuleTag_09
    SpecialPowerTemplate = SuperweaponMOAB
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_10
    DeathWeapon   = MOABDetonationWeapon
    StartsActive  = Yes                      
  End

  Behavior = SmartBombTargetHomingUpdate ModuleTag_11
    CourseCorrectionScalar = 0.99 ; 1=no homing, 0=snapto; 0.99=smooth, 0.95=too-fast
  End



  

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object MOABGas

  ; *** ART Parameters ***
;  Draw = W3DModelDraw
;;    ConditionState      = NONE
;      Model             = PMDumpst04
;    End
;  End

  ; *** DESIGN Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf = IMMOBILE
  Body                  = ActiveBody ModuleTag_01
    MaxHealth           = 1.0
    InitialHealth       = 1.0
  End

  Behavior = PhysicsBehavior ModuleTag_02
    Mass                = 150.0
    AerodynamicFriction = 7  ; this is now friction-per-sec
    ForwardFriction     = 200   ; this is now friction-per-sec
  End
  Behavior = HeightDieUpdate ModuleTag_03
    TargetHeight                     = 40.0
    TargetHeightIncludesStructures   = Yes
    DestroyAttachedParticlesAtHeight = 41.0   ; Hack, todo remove this
  End
  Behavior = SlowDeathBehavior ModuleTag_04
    DestructionDelay        = 1000
    DestructionDelayVariance = 100
    FX                  = INITIAL FX_MOABIgnite
    FX                  = FINAL   FX_MOABFinalExplosion
    Weapon              = MIDPOINT   MOABFlameWeapon    ; Just a spot of flame to light trees on fire
    Weapon              = FINAL   MOABDetonationWeapon
  End

End


;------------------------------------------------------------------------------
;This beam destroys incoming missles
;------------------------------------------------------------------------------
Object AvengerPointDefenseLaserBeam
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser4.tga
    NumBeams = 4                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.005            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:255  ;The inside color of the laser (hot)

    OuterBeamWidth = 10            ;The total width of beam
    OuterColor = R:150 G:0 B:0  A:0 ;The outside color of the laser (cool)

    ;InnerBeamWidth = 0.005                    ;The total width of beam
    ;InnerColor = R:255 G:180 B:100 A:120      ;The inside color of the laser (hot)
    ;OuterBeamWidth = 10                       ;The total width of beam
    ;OuterColor = R:150 G:0 B:0 A:0       ;The outside color of the laser (cool)
    Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -2500                           ;Scrolls the texture offset this fast -- towards(-) away(+)
    Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
    SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
    TilingScalar = -3                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
   
   ;MaxIntensityLifetime = 2000               ;Laser stays at max intensity for specified time in ms.
   ;FadeLifetime = 250                        ;Laser will fade and delete.
   ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE INERT
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = PaladinPointDefenseLaserFlare
    TargetParticleSystem = AvengerDestroySmoke
  End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
  Behavior = LifetimeUpdate ModuleTag_03
    MinLifetime = 95   ; min lifetime in msec
    MaxLifetime = 95   ; max lifetime in msec
  End
  Behavior = DestroyDie ModuleTag_04
    ;nothing
  End
End



;------------------------------------------------------------------------------
;This beam destroys enemy aircraft
;------------------------------------------------------------------------------
Object AvengerLaserBeam
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
     Texture = EXLaser4.tga
    NumBeams = 4                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
    InnerBeamWidth = 0.005                    ;The total width of beam
    InnerColor = R:100 G:0 B:0 A:100          ;The inside color of the laser (hot)
    OuterBeamWidth = 15                       ;The total width of beam
    OuterColor = R:100 G:0 B:0 A:0            ;The outside color of the laser (cool)
    Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -2500                        ;Scrolls the texture offset this fast -- towards(-) away(+)
    Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
    SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
    TilingScalar = -3                         ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     

    ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                         ;Laser will fade and delete.
    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE INERT
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0
  ClientUpdate = LaserUpdate ModuleTag_07
    MuzzleParticleSystem = PaladinPointDefenseLaserFlare
    TargetParticleSystem = AvengerStarburst
    PunchThroughScalar = 1.3 ; If our target dies, we get this much bigger so it looks like we punched through
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
  Behavior = LifetimeUpdate ModuleTag_04
    MinLifetime = 205   ; min lifetime in msec
    MaxLifetime = 205   ; max lifetime in msec
  End
End

;------------------------------------------------------------------------------
;This beam targets troops and passes the info to other weapon systems
;------------------------------------------------------------------------------
Object AvengerTargetingLaserBeam
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
  
  Texture = EXLaser4.tga
  NumBeams = 4                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

  InnerBeamWidth = 5                       ;The total width of beam
  InnerColor = R:50 G:50 B:255 A:50         ;The inside color of the laser (hot)

  OuterBeamWidth = 1                        ;The total width of beam
  OuterColor = R:255 G:0 B:126  A:150       ;The outside color of the laser (cool)
 
  Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  ScrollRate = -2500                           ;Scrolls the texture offset this fast -- towards(-) away(+)
  Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
  TilingScalar = -3                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
 
  ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
  ;FadeLifetime = 0                         ;Laser will fade and delete.

  ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE INERT
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = GenericBlueLaserFlare
    TargetParticleSystem = GenericBlueLaserFlare
  End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
  Behavior = LifetimeUpdate ModuleTag_03
    MinLifetime = 210   ; min lifetime in msec
    MaxLifetime = 210   ; max lifetime in msec
  End
  Behavior = DestroyDie ModuleTag_04
    ;nothing
  End
End

;------------------------------------------------------------------------------
Object MicrowaveDisableStream
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXSineWave.tga
   
    Tile = Yes
    TilingScalar = .5
    ScrollRate = -10                       ;Scrolls the texture offset this fast -- towards(-) away(+)    
    NumBeams = 1                          ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10
    InnerBeamWidth = 8                    ;The total width of beam
    InnerColor = R:100 G:200 B:100 A:50   ;The inside color of the laser (hot)
    OuterBeamWidth = 5.0                  ;The total width of beam
    OuterColor = R:96 G:255 B:96  A:5     ;The outside color of the laser (cool)
 End


  KindOf = IMMOBILE
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = GenericGreenLaserFlare
    TargetParticleSystem = HackFlare
  End

  Behavior = DeletionUpdate ModuleTag_03
    MinLifetime = 126   ; min lifetime in msec
    MaxLifetime = 126   ; max lifetime in msec
  End
End

;--------------------------------------------------------------------------------------------------------------
Object ECMDisableStream
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
  Texture = EXLaser4.tga
  NumBeams = 3                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
  InnerBeamWidth = 1                       ;The total width of beam
  InnerColor = R:5 G:25 B:5 A:100         ;The inside color of the laser (hot)
  OuterBeamWidth = 50                        ;The total width of beam
  OuterColor = R:10 G:100 B:10  A:75       ;The outside color of the laser (cool)
  Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  ScrollRate = 35                           ;Scrolls the texture offset this fast -- towards(-) away(+)
  Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  SegmentOverlapRatio = 1                   ;This value overlaps(+) or separates(-) the segments by ratio
  TilingScalar = 0.05                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
 
  ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
  ;FadeLifetime = 0                         ;Laser will fade and delete.
  ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = GenericGreenLaserFlare
    TargetParticleSystem = GenericGreenLaserFlare
  End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
  Behavior = LifetimeUpdate ModuleTag_03
    MinLifetime = 210   ; min lifetime in msec
    MaxLifetime = 640   ; max lifetime in msec
  End
  Behavior = DestroyDie ModuleTag_04
    ;nothing
  End
End

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


;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object SpectreHowitzerShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVSpectreShell1
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End


  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight = 1.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    FX         = FX_NukeGLA
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
 
  Behavior = PhysicsBehavior ModuleTag_09
    Mass = 1
  End




  Behavior = DumbProjectileBehavior ModuleTag_10
  End





;  Locomotor = SET_NORMAL SpectreHowitzerShellLocomotor

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 4.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes   
  
   
  Scale = 0.6                            ;Scaling

  Shadow = SHADOW_DECAL
End



;------------------------------------------------------------------------------
Object HumveeMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***

  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
   
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = No 
    FuelLifetime = 1000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 3
    IgnitionFX = FX_HumveeMissileIgnition
  End
  Locomotor = SET_NORMAL RocketBuggyMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object TOWMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***

  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
   
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = No 
    FuelLifetime = 2000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 3
    IgnitionFX = FX_HumveeMissileIgnition
  End
  Locomotor = SET_NORMAL RocketBuggyMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

; Missiles used by the Patriot.  This is the projectile attached to PatriotMissileWeapon in Weapon.ini
;------------------------------------------------------------------------------
Object PatriotMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVRaptor_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:PatriotMissile
  EditorSorting   = VEHICLE
  VisionRange = 300.0
  ShroudClearingRange = 0

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  ; *** ENGINEERING Parameters ***
  KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0

    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget       = Yes 
    FuelLifetime            = 10000
    InitialVelocity         = 50                ; in dist/sec
    IgnitionDelay           = 0
    DistanceToTravelBeforeTurning = 5
    DistanceToTargetForLock = 100  ; If it gets within 100 of the target, it kills the target.
  End
  Locomotor = SET_NORMAL PatriotMissileLocomotor
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object A10ThunderboltMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVWarthog_M
      ParticleSysBone = NONE MissileExhaust
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
 
; The weapon is in OCL.ini.  This makes it do double damage secretly.   
;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
;    DeathWeapon   = A10ThunderboltMissileWeapon
;    StartsActive  = Yes
;  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
    IgnitionFX = FX_A10ThunderboltMissileIgnition
  End
  ; It's a missile, it needs to hit so it can +DETONATED
;  Behavior = HeightDieUpdate ModuleTag_10
;    TargetHeight = 1.0
;    TargetHeightIncludesStructures = No
;  End
  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike
  End

;  Geometry = Sphere
 ; GeometryIsSmall = Yes
  ;GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object RaptorJetMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVRaptor_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:Missile
  EditorSorting     = SYSTEM
  VisionRange = 0.0  

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_07
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_08
    TryToFollowTarget     = Yes 
    FuelLifetime          = 10000
    InitialVelocity       = 75                ; in dist/sec
    IgnitionDelay         = 30
    IgnitionFX            = FX_JetMissileIgnition
  End
  Locomotor = SET_NORMAL RaptorJetMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object StealthJetMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVStealth_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:Missile
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior        = BunkerBusterBehavior ModuleTag_04
    UpgradeRequired               = Upgrade_AmericaBunkerBusters                
    DetonationFX                  = FX_BunkerBusterExplosion            ; the big detonation kaboom at the bottom
    CrashThroughBunkerFX          = WeaponFX_BunkerBusterIntialImpact   ; the crash bang crunch FX on the way through the bunker ceiling
    CrashThroughBunkerFXFrequency = 571                                 ; msec... how often to play the crash bang crunch FX on the way through the bunker ceiling

    SeismicEffectRadius         = 200
    SeismicEffectMagnitude      = 5

   ShockwaveWeaponTemplate     =  BunkerBusterShockwaveWeaponSmall
   OccupantDamageWeaponTemplate = BunkerBusterAntiTunnelGarrisonWeaponWithABigName

  End

  Behavior = PhysicsBehavior ModuleTag_07
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_08
    TryToFollowTarget     = Yes 
    FuelLifetime          = 10000
    InitialVelocity       = 75                ; in dist/sec
    IgnitionDelay         = 30
    IgnitionFX            = FX_JetMissileIgnition
    DetonateCallsKill     = Yes
    KillSelfDelay         = 2000 ;two seconds of crash bang crunch before we actually detonate
  End
  Locomotor = SET_NORMAL StealthJetMissileLocomotor


;  Behavior = HeightDieUpdate ModuleTag_09
;    TargetHeight = -20.0
;    TargetHeightIncludesStructures = Yes
;  End


  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object AuroraBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting     = SYSTEM
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  VisionRange       = 0.0  

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior              = PhysicsBehavior ModuleTag_03
    Mass                = 75.0
    AerodynamicFriction = 2     ; this is now friction-per-sec
    ForwardFriction     = 2     ; this is now friction-per-sec
    CenterOfMassOffset  = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor,
  ; but there's a good reason: the Aurora moves so freakin' fast that it's really
  ; hard to (1) find a reliable drop location, and (2) actually get it close enough to
  ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle)
  ; navigation on the way down. This works pretty well and actually looks much better
  ; than you might think. (srj)
  Behavior = MissileAIUpdate ModuleTag_04
    TryToFollowTarget   = No 
    FuelLifetime        = 0
    IgnitionDelay       = 0
    InitialVelocity     = 0                ; in dist/sec
    DistanceToTravelBeforeTurning = 0
    DistanceToTargetBeforeDiving  = 0
  End
 
  Locomotor = SET_NORMAL AuroraBombLocomotor   ; yes, that's right.

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
; this is the "standard" mine used for building upgrades
Object ChinaStandardMine

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState!
    ; fix someday! (srj)
    ConditionState = NONE
      Model           = EXAMineGroup
      ParticleSysBone = Mine01 MineFX
      ParticleSysBone = Mine02 MineFX
      ParticleSysBone = Mine03 MineFX
      ParticleSysBone = Mine04 MineFX
      ParticleSysBone = Mine05 MineFX
      ParticleSysBone = Mine06 MineFX
      ParticleSysBone = Mine07 MineFX
      ParticleSysBone = Mine08 MineFX
    End
    ConditionState = RUBBLE
      Model = None
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:StructureMine
  EditorSorting     = MISC_MAN_MADE
  KindOf            = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON
  ArmorSet
    Conditions      = None
    Armor           = MineArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0 ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 0.0%
    FriendlyOpacityMax          = 0.0%
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = No
  End

  ; this is a misleading name, since it's really single-Mine Behavior...
  Behavior = MinefieldBehavior     ModuleTag_04
    DetonationWeapon            = StructureMineWeapon        ; what happens when we detonate
    DetonatedBy                 = ENEMIES NEUTRAL
    ; we no longer want the "scoot" behavior. it looks funky with current art. (srj)
    ;ScootFromStartingPointTime  = 500
    RepeatDetonateMoveThresh    = 5.0
    NumVirtualMines             = 8
    Regenerates                 = Yes            ; Standard mines DO regenerate.
    StopsRegenAfterCreatorDies  = Yes
    DegenPercentPerSecondAfterCreatorDies = 3.33%  ; take about 30 seconds to die.
  End

  ; Standard mines DO heal.
  Behavior = AutoHealBehavior ModuleTag_05
    StartsActive      = Yes
    HealingAmount     = 2
    HealingDelay      = 5000 ; msec
    StartHealingDelay = 15000 ; wait this long after we are damaged to start healing
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 30.0
  GeometryHeight      = 1.0
  GeometryIsSmall     = No
  
End

;------------------------------------------------------------------------------
; this is the "EMP" mine used for building upgrades
Object ChinaEMPMine

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState!
    ; fix someday! (srj)
    ConditionState = NONE
      Model           = EXAMineGroup
      ParticleSysBone = Mine01 MineFXPurple 
      ParticleSysBone = Mine02 MineFXPurple 
      ParticleSysBone = Mine03 MineFXPurple 
      ParticleSysBone = Mine04 MineFXPurple 
      ParticleSysBone = Mine05 MineFXPurple 
      ParticleSysBone = Mine06 MineFXPurple 
      ParticleSysBone = Mine07 MineFXPurple 
      ParticleSysBone = Mine08 MineFXPurple 
    End
    ConditionState = RUBBLE
      Model = None
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:StructureEMPMine
  EditorSorting     = MISC_MAN_MADE
  KindOf            = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON
  ArmorSet
    Conditions      = None
    Armor           = MineArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0 ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 0.0%
    FriendlyOpacityMax          = 0.0%
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = No
  End

 ;this is a misleading name, since it's really single-Mine Behavior...
  Behavior = MinefieldBehavior     ModuleTag_04
    ;DetonationWeapon            = StructureUpgradeEMPMineWeapon        ; what happens when we detonate
    DetonationWeapon            = NeutronMineWeapon
    DetonatedBy                 = ENEMIES NEUTRAL
    RepeatDetonateMoveThresh    = 5.0
    NumVirtualMines             = 8
    Regenerates                 = Yes            ; Standard mines DO regenerate.
    StopsRegenAfterCreatorDies  = Yes
    DegenPercentPerSecondAfterCreatorDies = 3.33%  ; take about 30 seconds to die.
    ;CreationList = OCL_EMPMineEffectSpheroid
  End

  ; Standard mines DO heal.
  Behavior = AutoHealBehavior ModuleTag_05
    StartsActive      = Yes
    HealingAmount     = 2
    HealingDelay      = 5000 ; msec
    StartHealingDelay = 15000 ; wait this long after we are damaged to start healing
  End



  Geometry            = CYLINDER
  GeometryMajorRadius = 30.0
  GeometryHeight      = 1.0
  GeometryIsSmall     = No
  
End

Object NeutronBlastObject

  ; *** ART Parameters ***
  ; ***DESIGN parameters ***
  DisplayName        = OBJECT:NeutronMissile
  KindOf             = UNATTACKABLE
  EditorSorting      = SYSTEM
  VisionRange = 300.0  
  ShroudClearingRange = 0
  TransportSlotCount = 10

  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_02
    MaxHealth        = 99999999.0
    InitialHealth    = 99999999.0
  End

  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight        = 100.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = No
    SnapToGroundOnDeath = Yes
    InitialDelay                    = 0 ; Can't explode in the first second so we don't explode on the pad
  End
  
  Behavior = NeutronBlastBehavior ModuleTag_06
    BlastRadius = 20
    AffectAirborne = No
    AffectAllies = No
  End

;  Behavior = FXListDie ModuleTag_07
 ;   DeathFX = Neutron_WeaponFX_Mine
 ;   OrientToObject = Yes
 ; End

  Geometry            = CYLINDER
  GeometryMajorRadius = 1.0
  GeometryHeight      = 1.0
  GeometryIsSmall     = Yes
End


;------------------------------------------------------------------------------
Object ChinaClusterMine

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ; NOTE: ParticleSysBone doesn't work correctly with DefaultConditionState!
    ; fix someday! (srj)
    ConditionState = NONE
      Model = EXAMineGroup
      ParticleSysBone = Mine01 MineFX
      ParticleSysBone = Mine02 MineFX
      ParticleSysBone = Mine03 MineFX
      ParticleSysBone = Mine04 MineFX
      ParticleSysBone = Mine05 MineFX
      ParticleSysBone = Mine06 MineFX
      ParticleSysBone = Mine07 MineFX
      ParticleSysBone = Mine08 MineFX
    End
    ConditionState = RUBBLE
      Model = None
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:ClusterMine
  EditorSorting     = MISC_MAN_MADE
  KindOf            = STICK_TO_TERRAIN_SLOPE IMMOBILE MINE NO_HEAL_ICON
  ArmorSet
    Conditions      = None
    Armor           = MineArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 0.0%
    FriendlyOpacityMax          = 0.0%
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = No
  End

  ; this is a misleading name, since it's really single-Mine Behavior...
  Behavior = MinefieldBehavior     ModuleTag_04
    DetonationWeapon            = ClusterMineWeapon        ; what happens when we detonate
    DetonatedBy                 = ENEMIES NEUTRAL
    ScootFromStartingPointTime  = 1000
    RepeatDetonateMoveThresh    = 5.0
    NumVirtualMines             = 8
    Regenerates                 = No            ; Cluster mines do not regenerate.
  End
  Geometry            = CYLINDER
  GeometryMajorRadius = 30.0
  GeometryHeight      = 1.0
  GeometryIsSmall     = No
  
End

;------------------------------------------------------------------------------
Object ClusterMinesBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model         = EXAMine_A
    End
  End

  ; ***DESIGN parameters ***
  DisplayName           = OBJECT:ClusterMinesBomb
  Side                  = China
  EditorSorting         = SYSTEM
  TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange           = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  ; alas, this DOES need ai...
  Behavior = AIUpdateInterface ModuleTag_03
  End

  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04
    Mass                  = 75.0
    AerodynamicFriction   = 1     ; this is now friction-per-sec
    ForwardFriction       = 33    ; this is now friction-per-sec
    CenterOfMassOffset    = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = GenerateMinefieldBehavior ModuleTag_05
    MineName                = ChinaClusterMine
    DistanceAroundObject    = 80
    GenerateOnlyOnDeath     = Yes
    SmartBorder             = Yes
    SmartBorderSkipInterior = No
    AlwaysCircular          = Yes
    GenerationFX            = WeaponFX_ClusterMineImpact
  End


  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 60.0
    TargetHeightIncludesStructures = No
  End

  Behavior = DestroyDie ModuleTag_07
    ;nothing
  End

  Geometry = SPHERE                      ;Collision geometry
  GeometryMajorRadius = 1.0              ;Collision major radius
  GeometryMinorRadius = 1.0              ;Collision minor radius
  GeometryHeight = 1.0                   ;Height for geometry
  GeometryIsSmall = Yes                  ;Is small geometry

End


;------------------------------------------------------------------------------
Object EMPPulseBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model         = EXAMine_A
    End
  End

  ; ***DESIGN parameters ***
  DisplayName           = OBJECT:EMPPulseBomb
  Side                  = China
  EditorSorting         = SYSTEM
  TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange           = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  ; alas, this DOES need ai...
  Behavior = AIUpdateInterface ModuleTag_03
  End

  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04
    Mass                  = 75.0
    AerodynamicFriction   = 1     ; this is now friction-per-sec
    ForwardFriction       = 33    ; this is now friction-per-sec
    CenterOfMassOffset    = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End


  Behavior = HeightDieUpdate ModuleTag_05
    TargetHeight = 15.0
    TargetHeightIncludesStructures = No
  End

  Behavior = CreateObjectDie ModuleTag_06
    CreationList = OCL_EMPPulseEffectSpheroids
  End

  Behavior = FXListDie ModuleTag_07
    DeathFX = WeaponFX_EMPPulseImpact
    OrientToObject = No
  End

  Behavior = DestroyDie ModuleTag_08
    ;nothing
  End

  Geometry = SPHERE                      ;Collision geometry
  GeometryMajorRadius = 1.0              ;Collision major radius
  GeometryMinorRadius = 1.0              ;Collision minor radius
  GeometryHeight = 1.0                   ;Height for geometry
  GeometryIsSmall = Yes                  ;Is small geometry

End

;------------------------------------------------------------------------------
Object AnthraxBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:AnthraxBomb
  Side                = GLA
  EditorSorting       = SYSTEM
  TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon
    
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  Behavior = AIUpdateInterface ModuleTag_03
  End
  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04
    Mass                  = 75.0
    AerodynamicFriction   = 1  ; this is now friction-per-sec
    ForwardFriction       = 33     ; this is now friction-per-sec
    CenterOfMassOffset    = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = AnthraxBombWeapon
    StartsActive  = Yes
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 40.0
    TargetHeightIncludesStructures = No
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_07
    SpecialPowerTemplate = SuperweaponAnthraxBomb
  End
  Behavior = DestroyDie ModuleTag_08
    ;nothing
  End

   Behavior = FXListDie ModuleTag_09
    DeathFX = FX_AnthraxBomb
  End

;  Geometry = Sphere
 ; GeometryIsSmall = Yes
  ;GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object DaisyCutterBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:DaisyCutterBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = CreateObjectDie ModuleTag_03
    CreationList = OCL_DaisyCutterExplode
  End
  Behavior = FXListDie ModuleTag_04
    DeathFX = FX_DaisyCutterExplode
  End
  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End
     
  Behavior = AIUpdateInterface ModuleTag_06
  End
  Locomotor = SET_NORMAL None
  Behavior = PhysicsBehavior ModuleTag_07
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 33     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = HeightDieUpdate ModuleTag_08
    TargetHeight = 50.0
    TargetHeightIncludesStructures = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_09
    SpecialPowerTemplate = SuperweaponDaisyCutter
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object DaisyCutterGas

  ; *** ART Parameters ***
;  Draw = W3DModelDraw
;;    ConditionState      = NONE
;      Model             = PMDumpst04
;    End
;  End

  ; *** DESIGN Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf = IMMOBILE
  Body                  = ActiveBody ModuleTag_01
    MaxHealth           = 1.0
    InitialHealth       = 1.0
  End

  Behavior = PhysicsBehavior ModuleTag_02
    Mass                = 150.0
    AerodynamicFriction = 7  ; this is now friction-per-sec
    ForwardFriction     = 200   ; this is now friction-per-sec
  End
  Behavior = HeightDieUpdate ModuleTag_03
    TargetHeight                     = 40.0
    TargetHeightIncludesStructures   = Yes
    DestroyAttachedParticlesAtHeight = 41.0   ; Hack, todo remove this
  End
  Behavior = SlowDeathBehavior ModuleTag_04
    DestructionDelay        = 1000
    DestructionDelayVariance = 100
    FX                  = INITIAL FX_DaisyCutterIgnite
    FX                  = FINAL   FX_DaisyCutterFinalExplosion
    Weapon              = MIDPOINT   DaisyCutterFlameWeapon    ; Just a spot of flame to light trees on fire
    Weapon              = FINAL   DaisyCutterDetonationWeapon
  End

End

;------------------------------------------------------------------------------
Object NeutronMissile

  ; *** ART Parameters ***
  Draw               = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState   = NONE
      Model          = NBNRocket
    End
    ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
      Model          = NONE
    End
    
  End

  ; ***DESIGN parameters ***
  DisplayName        = OBJECT:NeutronMissile
  KindOf             = UNATTACKABLE
  EditorSorting      = SYSTEM
  VisionRange = 300.0  
  ShroudClearingRange = 0
  TransportSlotCount = 10
  ArmorSet
    Conditions       = None
    Armor            = ProjectileArmor
    DamageFX         = None
  End

  ; *** AUDIO Parameters ***
  ; SoundFallingFromPlane = DaisyCutterWeapon
    
  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_02
    MaxHealth        = 99999999.0
    InitialHealth    = 99999999.0
  End

  Behavior = NeutronMissileUpdate ModuleTag_03
    DistanceToTravelBeforeTurning = 300       ; goes straight up a long ways first
    MaxTurnRate = 7200                        ; huge, since it turns off-camera
    ForwardDamping = 0.1
    RelativeSpeed = 2.0
    LaunchFX = FX_NeutronMissileLaunch
    IgnitionFX = FX_NeutronMissileIgnition
    TargetFromDirectlyAbove = 500      ; aim for an intermed spot directly above the target, so we come straight down onto it
    SpecialAccelFactor = 1
    SpecialSpeedTime = 1500
    SpecialSpeedHeight = 160
    SpecialJitterDistance = 0.4
    DeliveryDecalRadius = 210
    DeliveryDecal
      Texture           = SCCNuclearMissile_China
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:255 G:0 B:0 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End

  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight        = 100.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = Yes
    SnapToGroundOnDeath = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_05
    SpecialPowerTemplate = SuperweaponNeutronMissile
  End

  Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06
    DestructionDelay    = 3501
    ScorchMarkSize      = 320
    FXList              = FX_Nuke
    
    Blast1Enabled       = Yes
    Blast1Delay         = 580     ;in milliseconds
    Blast1ScorchDelay   = 100     ;in milliseconds
    Blast1InnerRadius   = 60.0    ;objects inside this get the full damage
    Blast1OuterRadius   = 60.0    ;objects inside this get some of the full damage
    Blast1MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast1MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast1ToppleSpeed   = 0.5     ;higher #'s topple faster
    Blast1PushForce     = 10.0    ;higher #'s push more
    
    Blast2Enabled       = Yes
    Blast2Delay         = 660    ;in milliseconds
    Blast2ScorchDelay   = 180     ;in milliseconds
    Blast2InnerRadius   = 90.0    ;objects inside this get the full damage
    Blast2OuterRadius   = 90.0    ;objects inside this get some of the full damage
    Blast2MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast2MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast2ToppleSpeed   = 0.45    ;higher #'s topple faster
    Blast2PushForce     = 8.0     ;higher #'s push more
    
    Blast3Enabled       = Yes
    Blast3Delay         = 720    ;in milliseconds
    Blast3ScorchDelay   = 260     ;in milliseconds
    Blast3InnerRadius   = 120.0   ;objects inside this get the full damage
    Blast3OuterRadius   = 120.0   ;objects inside this get some of the full damage
    Blast3MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast3MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast3ToppleSpeed   = 0.42    ;higher #'s topple faster
    Blast3PushForce     = 6.0     ;higher #'s push more

    Blast4Enabled       = Yes
    Blast4Delay         = 850    ;in milliseconds
    Blast4ScorchDelay   = 340     ;in milliseconds
    Blast4InnerRadius   = 150.0   ;objects inside this get the full damage
    Blast4OuterRadius   = 150.0   ;objects inside this get some of the full damage
    Blast4MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast4MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast4ToppleSpeed   = 0.40    ;higher #'s topple faster
    Blast4PushForce     = 6.0     ;higher #'s push more

    Blast5Enabled       = Yes
    Blast5Delay         = 1000    ;in milliseconds
    Blast5ScorchDelay   = 420     ;in milliseconds
    Blast5InnerRadius   = 580.0   ;objects inside this get the full damage
    Blast5OuterRadius   = 580.0   ;objects inside this get some of the full damage
    Blast5MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast5MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast5ToppleSpeed   = 0.38    ;higher #'s topple faster
    Blast5PushForce     = 6.0     ;higher #'s push more
    
    Blast6Enabled       = Yes
    Blast6Delay         = 1180    ;in milliseconds
    Blast6ScorchDelay   = 500     ;in milliseconds
    Blast6InnerRadius   = 310.0    ;objects inside this get the full damage
    Blast6OuterRadius   = 490.0   ;objects inside this get some of the full damage
    Blast6MaxDamage     = 5400.0  ;damage within inner radius of blast
    Blast6MinDamage     = 650.0   ;always do at least this much damage to objects
    Blast6ToppleSpeed   = 0.35    ;higher #'s topple faster
    Blast6PushForce     = 4.0     ;higher #'s push more

    Blast7Enabled       = Yes
    Blast7Delay         = 999999  ;in milliseconds, don't do the damage wave
    Blast7ScorchDelay   = 620     ;in milliseconds
    Blast7OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast8Enabled       = Yes
    Blast8Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast8ScorchDelay   = 700     ;in milliseconds
    Blast8OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast9Enabled       = Yes
    Blast9Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast9ScorchDelay   = 800     ;in milliseconds
    Blast9OuterRadius   = 210.0   ;objects inside this get some of the full damage
    
    OCL            = MIDPOINT   OCL_NukeRadiationField
  End

  Geometry = CYLINDER
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryHeight = 60.0

End

;------------------------------------------------------------------------------
Object CargoTruckNuke

  ; ***DESIGN parameters ***
  DisplayName        = OBJECT:NeutronMissile
  EditorSorting      = SYSTEM
  VisionRange = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions       = None
    Armor            = ProjectileArmor
    DamageFX         = None
  End

  ; *** AUDIO Parameters ***
  ; SoundFallingFromPlane = DaisyCutterWeapon
    
  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_01
    MaxHealth        = 99999999.0
    InitialHealth    = 99999999.0
  End


  ;The lifetime delays the explosion with enough time to play an audio cue.
  ;NOTE: The lifetime update is set in the ObjectCreationList that creates
  ;      this object!!!
  Behavior = LifetimeUpdate ModuleTag_02
    MinLifetime = 3000   ; min lifetime in msec
    MaxLifetime = 3000   ; max lifetime in msec
  End

  Behavior = NeutronMissileSlowDeathBehavior ModuleTag_03
    DestructionDelay = 3501
    ScorchMarkSize      = 320
    FXList              = FX_Nuke
    
    Blast1Enabled       = Yes
    Blast1Delay         = 580     ;in milliseconds
    Blast1ScorchDelay   = 100     ;in milliseconds
    Blast1InnerRadius   = 60.0    ;objects inside this get the full damage
    Blast1OuterRadius   = 60.0    ;objects inside this get some of the full damage
    Blast1MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast1MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast1ToppleSpeed   = 0.5     ;higher #'s topple faster
    Blast1PushForce     = 10.0    ;higher #'s push more
    
    Blast2Enabled       = Yes
    Blast2Delay         = 660    ;in milliseconds
    Blast2ScorchDelay   = 180     ;in milliseconds
    Blast2InnerRadius   = 90.0    ;objects inside this get the full damage
    Blast2OuterRadius   = 90.0    ;objects inside this get some of the full damage
    Blast2MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast2MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast2ToppleSpeed   = 0.45    ;higher #'s topple faster
    Blast2PushForce     = 8.0     ;higher #'s push more
    
    Blast3Enabled       = Yes
    Blast3Delay         = 720    ;in milliseconds
    Blast3ScorchDelay   = 260     ;in milliseconds
    Blast3InnerRadius   = 120.0   ;objects inside this get the full damage
    Blast3OuterRadius   = 120.0   ;objects inside this get some of the full damage
    Blast3MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast3MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast3ToppleSpeed   = 0.42    ;higher #'s topple faster
    Blast3PushForce     = 6.0     ;higher #'s push more

    Blast4Enabled       = Yes
    Blast4Delay         = 850    ;in milliseconds
    Blast4ScorchDelay   = 340     ;in milliseconds
    Blast4InnerRadius   = 150.0   ;objects inside this get the full damage
    Blast4OuterRadius   = 150.0   ;objects inside this get some of the full damage
    Blast4MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast4MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast4ToppleSpeed   = 0.40    ;higher #'s topple faster
    Blast4PushForce     = 6.0     ;higher #'s push more

    Blast5Enabled       = Yes
    Blast5Delay         = 1000    ;in milliseconds
    Blast5ScorchDelay   = 420     ;in milliseconds
    Blast5InnerRadius   = 580.0   ;objects inside this get the full damage
    Blast5OuterRadius   = 580.0   ;objects inside this get some of the full damage
    Blast5MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast5MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast5ToppleSpeed   = 0.38    ;higher #'s topple faster
    Blast5PushForce     = 6.0     ;higher #'s push more
    
    Blast6Enabled       = Yes
    Blast6Delay         = 1180    ;in milliseconds
    Blast6ScorchDelay   = 500     ;in milliseconds
    Blast6InnerRadius   = 130.0    ;objects inside this get the full damage
    Blast6OuterRadius   = 295.0   ;objects inside this get some of the full damage
    Blast6MaxDamage     = 4500.0  ;damage within inner radius of blast
    Blast6MinDamage     = 200.0   ;always do at least this much damage to objects
    Blast6ToppleSpeed   = 0.35    ;higher #'s topple faster
    Blast6PushForce     = 4.0     ;higher #'s push more

    Blast7Enabled       = Yes
    Blast7Delay         = 999999  ;in milliseconds, don't do the damage wave
    Blast7ScorchDelay   = 620     ;in milliseconds
    Blast7OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast8Enabled       = Yes
    Blast8Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast8ScorchDelay   = 700     ;in milliseconds
    Blast8OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast9Enabled       = Yes
    Blast9Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast9ScorchDelay   = 800     ;in milliseconds
    Blast9OuterRadius   = 210.0   ;objects inside this get some of the full damage
    
  End

  Geometry = Cylinder
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryHeight = 60.0
End

;------------------------------------------------------------------------------
Object ScudStormMissile

  ; *** ART Parameters ***
  Draw               = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model          = UBScudStrm_M
    End
    ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
      Model          = NONE
    End
    
  End

  ; ***DESIGN parameters ***
  KindOf = PROJECTILE ;BALLISTIC_MISSILE
  EditorSorting       = SYSTEM
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  TransportSlotCount  = 10
  ArmorSet
    Conditions       = None
    Armor            = ProjectileArmor
    DamageFX         = None
  End

  ; *** AUDIO Parameters ***
   SoundFallingFromPlane = Cin_ScudMissileIncoming
    
  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_02
    MaxHealth        = 10000.0
    InitialHealth    = 10000.0
  End

  Behavior = PhysicsBehavior ModuleTag_03
    Mass = 500.0
  End

  Behavior = MissileAIUpdate ModuleTag_04
    TryToFollowTarget             = No 
    FuelLifetime                  = 0 ; zero is infinite
    InitialVelocity               = 0                ; in dist/sec
    IgnitionFX                    = FX_ScudStormIgnition
    DistanceToTravelBeforeTurning = 500
    DistanceToTargetBeforeDiving  = 200 ; When I hit this close to target, I ignore PreferredHeight.
  End
  Locomotor = SET_NORMAL SCUDStormMissileLocomotor

  Behavior = HeightDieUpdate ModuleTag_05
    TargetHeight                    = 15.0
    TargetHeightIncludesStructures  = No
    OnlyWhenMovingDown              = Yes
    SnapToGroundOnDeath             = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = DestroyDie ModuleTag_06
    ;nothing
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_07
    SpecialPowerTemplate = SuperweaponScudStorm
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
    DeathWeapon   = ScudStormDamageWeapon
    StartsActive  = Yes
    ConflictsWith = Upgrade_GLAAnthraxBeta      
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
    DeathWeapon   = ScudStormDamageWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta         
  End


  Geometry = Cylinder
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryHeight = 30.0

End

;------------------------------------------------------------------------------
Object NapalmMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVRaptor_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:Missile
  EditorSorting       = SYSTEM
  VisionRange         = 0.0  ; Projectiles can't see, but superweapons *may need to*
  TransportSlotCount  = 1    ; since Napalm Strike carries us as payload, not weapon
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget   = Yes 
    FuelLifetime        = 10000
    InitialVelocity     = 75                ; in dist/sec
    IgnitionDelay       = 30
    IgnitionFX          = FX_NapalmMissileIgnition
  End
  Locomotor = SET_NORMAL NapalmMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object TNTStickyBomb ;Created by Chinese Tank Hunters

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = China
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 75.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 75
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    UnitBombPing = BombTickTimed
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf = PROJECTILE MINE NO_COLLIDE

  Behavior = PhysicsBehavior ModuleTag_01
    Mass = 5
  End

  ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior)
  Behavior = LifetimeUpdate ModuleTag_02
    MinLifetime = 10000   ; min lifetime in msec
    MaxLifetime = 10000   ; max lifetime in msec
  End

  Behavior = StickyBombUpdate ModuleTag_03
    ; nothing
  End

  Behavior = SlowDeathBehavior ModuleTag_04
    DestructionDelay    = 1
    FX                  = INITIAL WeaponFX_TNTStickyBombDetonation
    Weapon              = FINAL   TNTDetonationWeapon
  End

  Body = HighlanderBody ModuleTag_NewBody
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object BoobyTrap ; created by upgraded rebels

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = GLA
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 25.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 25
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    StickyBombCreated = BoobyTrapInstall
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf = BOOBY_TRAP NO_COLLIDE MINE

  Body = HighlanderBody ModuleTag_01
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Behavior = PhysicsBehavior ModuleTag_02
    Mass = 5
  End

  Behavior = StickyBombUpdate ModuleTag_03
    GeometryBasedDamageWeapon = BoobyTrapDetonationWeapon ; We add our bounding circle to the radius of this weapon, and damage people ourselves
    GeometryBasedDamageFX = FX_BoobyTrapExplosion ; And we modify our effect too
  End

  Behavior = StealthUpdate ModuleTag_04
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 50.0%
    InnateStealth               = Yes
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object RemoteC4Charge ;Created by ColonelBurton

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 75.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 75
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    UnitBombPing = BombTickRemote
    StickyBombCreated = ColonelBurtonSetDemoCharge
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf =  PROJECTILE MINE NO_COLLIDE

  ;Body = ActiveBody ModuleTag_02
  ;  MaxHealth = 1.0
  ;  InitialHealth = 1.0
  ;End

  Body = HighlanderBody ModuleTag_NewBody
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 50.0%
    InnateStealth               = Yes
  End

  Behavior = StickyBombUpdate ModuleTag_04
    ;Keeps it attached properly to the intended target should it move.
  End


  Behavior = SlowDeathBehavior ModuleTag_05
    DestructionDelay = 1
    FX                  = INITIAL WeaponFX_TNTStickyBombDetonation
    Weapon              = FINAL   BurtonC4ChargeWeapon
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object TimedC4Charge ;Created by Colonel Burton

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 75.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 75
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    UnitBombPing = BombTickTimed
    StickyBombCreated = ColonelBurtonSetDemoCharge
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf =  PROJECTILE MINE NO_COLLIDE

  ;Body = ActiveBody ModuleTag_02
  ;  MaxHealth = 1.0
  ;  InitialHealth = 1.0
  ;End
  Body = HighlanderBody ModuleTag_NewBody
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 50.0%
    InnateStealth               = Yes
  End

  ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior)
  Behavior = LifetimeUpdate ModuleTag_04
    MinLifetime = 20000   ; min lifetime in msec
    MaxLifetime = 20000   ; max lifetime in msec
  End

  Behavior = StickyBombUpdate ModuleTag_05
    ;Keeps it attached properly to the intended target should it move.
  End

  Behavior = SlowDeathBehavior ModuleTag_06
    DestructionDelay = 1
    FX                  = INITIAL WeaponFX_TNTStickyBombDetonation
    Weapon              = FINAL   BurtonC4ChargeWeapon
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object DemoTrapDetonationObject ;The explodes-next-frame object when demo trap is triggered.

  ; ***DESIGN parameters ***
  Side = GLA
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  ;Allow the stickybomb to show itself to user?

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf = PROJECTILE

  Behavior = PhysicsBehavior ModuleTag_01
    Mass = 5
  End

  ;This determines how long the bomb lives before it explodes (via SlowDeathBehavior)
  Behavior = LifetimeUpdate ModuleTag_02
    MinLifetime = 1   ; min lifetime in msec
    MaxLifetime = 1   ; max lifetime in msec
  End

  Behavior = SlowDeathBehavior ModuleTag_03
    DestructionDelay = 1
    FX                  = INITIAL WeaponFX_DemoTrapDetonation
    Weapon              = FINAL   DemoTrapDetonationWeapon
  End
End

;------------------------------------------------------------------------------
Object StingerMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:StingerMissile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget       = Yes 
    FuelLifetime            = 5000
    InitialVelocity         = 200                ; in dist/sec
    IgnitionDelay           = 0
    DistanceToTravelBeforeTurning = 5
    IgnitionFX              = None
    DistanceToTargetForLock = 100  ; If it gets within 100 of the target, it kills the target.
  End

  Behavior = WeaponBonusUpgrade Upgrade_01
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Locomotor = SET_NORMAL StingerMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End


;------------------------------------------------------------------------------
Object ComancheAntiTankMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      ; @todo -- need real art here
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Prop
  EditorSorting     = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = Yes 
    FuelLifetime = 2500
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 10
    IgnitionFX = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL ComancheAntiTankMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object ComancheRocketPodRocket

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      ; @todo -- need real art here
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Prop
  EditorSorting     = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = No 
    FuelLifetime = 2500
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 10
    IgnitionFX = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL ComancheRocketPodLocomotor
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object RocketBuggyMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVRockBug_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End


; ---- begin Projectile death behaviors
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = RocketBuggyToxinUpgrade          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma      
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ToxinShellWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta   RocketBuggyToxinUpgrade      
    RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
    ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag99
    DeathWeapon   = Chem_ToxinShellWeaponGamma
    StartsActive  = No
    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma RocketBuggyToxinUpgrade
    RequiresAllTriggers = Yes; 
  End;

  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End


; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget               = Yes
    FuelLifetime                    = 3000
    InitialVelocity                 = 150                ; in dist/sec
    IgnitionDelay                   = 0
    DistanceToTravelBeforeTurning   = 3
    IgnitionFX                      = FX_BuggyMissileIgnition
    DistanceScatterWhenJammed       = 100
  End
  Locomotor = SET_NORMAL RocketBuggyMissileLocomotor

  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object SCUDMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScudLchr_M
    End
    ConditionState = REALLYDAMAGED
      Model = UVScudLchr_DM
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
    ConditionState = REALLYDAMAGED JAMMED
      Model = UVScudLchr_DM
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:SCUDMissile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting
    ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have
    ;*AntiBallisticMissile = Yes set in the Weapon.ini.
    Armor           = BallisticMissileArmor 
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE BALLISTIC_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = No 
    FuelLifetime = 10000
    IgnitionDelay = 0
;   IgnitionFX = FX_ScudStormIgnition ;NOT WORKING
    InitialVelocity = 50                ; in dist/sec
    DistanceToTravelBeforeTurning = 200
    DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight.
  End
  Locomotor = SET_NORMAL SCUDMissileLocomotor

  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 4.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    

  Shadow = SHADOW_DECAL
End

ObjectReskin SCUDMissilePlusOne SCUDMissile
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScudLchr_B
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

End

ObjectReskin SCUDMissilePlusTwo SCUDMissile
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScudLchr_C
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

End

;------------------------------------------------------------------------------
Object TomahawkMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVTomahawk_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:TomahawkMissile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting
    ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have
    ;*AntiBallisticMissile = Yes set in the Weapon.ini.
    Armor           = BallisticMissileArmor 
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE BALLISTIC_MISSILE 
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 200.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 400
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    FX          = WeaponFX_TomahawkMissileDetonation
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    IgnitionDelay = 0
    IgnitionFX = FX_TomahawkIgnition
    InitialVelocity = 50                ; in dist/sec
    DistanceToTravelBeforeTurning = 80
    DistanceToTargetBeforeDiving = 100 ; When I hit this close to target, I ignore PreferredHeight. 
    ; Note, if this is too small, the missile will turn too late to hit.  And, since we have a 2D 
    ; heart, being over the target counts as "there", so we'll give up and just go straight.

    DistanceToTargetForLock = 10 ; Short lock on, as it looks better flying.  jba.
  End
  Locomotor = SET_NORMAL TomahawkMissileLocomotor

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 8.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    

  Shadow = SHADOW_DECAL
End

;------------------------------------------------------------------------------
Object StrategyCenterArtilleryShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = NVNUKECN_B

    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End


  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 4000
    IgnitionDelay = 0
    IgnitionFX = FX_BuggyMissileIgnition
    InitialVelocity = 20                ; in dist/sec
    DistanceToTravelBeforeTurning = 40
    DistanceToTargetBeforeDiving = 50 ; When I hit this close to target, I ignore PreferredHeight. 
   ; Note, if this is too small, the missile will turn too late to hit.  And, since we have a 2D 
   ; heart, being over the target counts as "there", so we'll give up and just go straight.
  End
  Locomotor = SET_NORMAL NuclearCannonShellLocomotor

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 4.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    

  Shadow = SHADOW_DECAL
End

;------------------------------------------------------------------------------
Object MissileDefenderMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = ExMsslTm
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:RangerTeamMissile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget               = Yes;;;;;;;;;No 
    FuelLifetime                    = 3000
    InitialVelocity                 = 150                ; in dist/sec
    IgnitionDelay                   = 0
    DistanceToTravelBeforeTurning   = 3
    IgnitionFX                      = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL MissileDefenderMissileLocomotor
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object TunnelDefenderMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = EXStinger01
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End
 
  ; ***DESIGN parameters ***
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget             = Yes;;;;;;;;;;No 
    FuelLifetime                  = 3000
    InitialVelocity               = 150                ; in dist/sec
    IgnitionDelay                 = 0
    DistanceToTravelBeforeTurning = 20
    IgnitionFX                    = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL TunnelDefenderMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object TechnicalRPGMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = EXStinger01
    End
  End
 
  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0

    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget             = Yes
    FuelLifetime                  = 2000
    InitialVelocity               = 150                ; in dist/sec
    IgnitionDelay                 = 0
    DistanceToTravelBeforeTurning = 20
    IgnitionFX                    = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL TechnicalRPGMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object TankHunterMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = EXStinger01
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = Yes;;;;;;;;;;;;No 
    FuelLifetime = 3000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 20
    IgnitionFX = FX_BuggyMissileIgnition
  End
  Locomotor = SET_NORMAL TankHunterMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End





;------------------------------------------------------------------------------
Object ToxinTruckStreamProjectile

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a toxin trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = NONE 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass                = 1
    AllowCollideForce   = No  ; toxins collide, but never apply forces when they do so
  End

  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget               = No 
    FuelLifetime                    = 500
    InitialVelocity                 = 120                ; in dist/sec
    IgnitionDelay                   = 0
    DistanceToTravelBeforeTurning   = 2
    GarrisonHitKillRequiredKindOf   = INFANTRY
    GarrisonHitKillForbiddenKindOf  = NONE
    GarrisonHitKillCount            = 2
    GarrisonHitKillFX               = FX_ToxinStreamGarrisonBuildingHit
  End

  Locomotor = SET_NORMAL ToxinTruckStreamLocomotor

  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:ToxinTrail01 ; Covers gap at beginning of line
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object ToxinTruckStreamProjectileUpgraded

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a toxin trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = NONE 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End

  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget               = No 
    FuelLifetime                    = 500
    InitialVelocity                 = 120                ; in dist/sec
    IgnitionDelay                   = 0
    DistanceToTravelBeforeTurning   = 2
    GarrisonHitKillRequiredKindOf   = INFANTRY
    GarrisonHitKillForbiddenKindOf  = NONE
    GarrisonHitKillCount            = 2
    GarrisonHitKillFX               = FX_ToxinStreamUpgradedGarrisonBuildingHit
  End
  Locomotor = SET_NORMAL ToxinTruckStreamLocomotor

  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:AnthraxTrail01 ; Covers gap at beginning of line
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object ToxinTruckProjectileStream

  ; *** ART Parameters ***
  Draw = W3DProjectileStreamDraw ModuleTag_01
    Texture       = EXToxinStream.tga
    Width         = 1.5
    TileFactor    = 2.0 ; put the texture on the line segment this many times
    ScrollRate    = 6.0; scroll the texture offset this fast
    MaxSegments   = 14 ; only play the first X if there are a ton of them. 0 means play all
  End

  ; *** ENGINEERING Parameters ***
  KindOf = INERT
  Behavior = ProjectileStreamUpdate ModuleTag_02
    ;nothing
  End

End


;------------------------------------------------------------------------------
Object ToxinTruckProjectileStreamUpgraded

  ; *** ART Parameters ***
  Draw = W3DProjectileStreamDraw ModuleTag_01
    Texture       = EXAnthraxStream.tga
    Width         = 1.5
    TileFactor    = 2.0 ; put the texture on the line segment this many times
    ScrollRate    = 6.0; scroll the texture offset this fast
    MaxSegments   = 14 ; only play the first X if there are a ton of them. 0 means play all
  End

  ; *** ENGINEERING Parameters ***
  KindOf = INERT
  Behavior = ProjectileStreamUpdate ModuleTag_02
    ;nothing
  End

End

;------------------------------------------------------------------------------
Object ToxinTruckSprayProjectile

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a flame trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = NONE 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 50
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End

  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 1
    InitialVelocity = 1                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 0
    DistanceToTargetForLock = 0  ; If it gets within 100 of the target, it kills the target.

  End

  Locomotor = SET_NORMAL ToxinTruckDribbleLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object CleanupHazardProjectileStream

  ; *** ART Parameters ***
  Draw = W3DProjectileStreamDraw ModuleTag_01
    Texture = EXCleanupStream.tga
    Width = 1.5
    TileFactor = 2.0 ; put the texture on the line segment this many times
    ScrollRate = 6.0; scroll the texture offset this fast
    MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all
  End

  ; *** ENGINEERING Parameters ***
  KindOf = INERT
  Behavior = ProjectileStreamUpdate ModuleTag_02
    ;nothing
  End

End

;------------------------------------------------------------------------------
Object CleanupStreamProjectile

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a flame trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = NONE 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End

  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 600
    InitialVelocity = 120                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 2
  End

  Locomotor = SET_NORMAL ToxinTruckStreamLocomotor

  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:CleanupTrail01 ; Covers gap at beginning of line
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object BioHazardCleanupStreamProjectile

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a flame trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = NONE 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End

  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 500
    InitialVelocity = 120                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 2
    ;GarrisonHitKillRequiredKindOf = INFANTRY
    ;GarrisonHitKillForbiddenKindOf = NONE
    ;GarrisonHitKillCount = 2
    ;GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit
  End

  Locomotor = SET_NORMAL FasterToxinTruckStreamLocomotor


  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:CleanupTrail01 ; Covers gap at beginning of line
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0
End




;------------------------------------------------------------------------------
Object DragonTankFlameProjectile

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a flame trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = NULL 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 350
    DetonateOnNoFuel = Yes
    InitialVelocity = 120                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 2
    GarrisonHitKillRequiredKindOf = INFANTRY
    GarrisonHitKillForbiddenKindOf = NONE
    GarrisonHitKillCount = 2
    GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit
    DistanceToTargetForLock = 0  ; If it gets within 100 of the target, it kills the target.

  End
  Locomotor = SET_NORMAL DragonTankFlameLocomotor

  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail01 ; Covers gap at beginning of line
    PristineParticleSystem2  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail02
    PristineParticleSystem3  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail03
    PristineParticleSystem4 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail04
    PristineParticleSystem5 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail06

    PristineParticleSystem6 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerSmoke01
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object FlamethrowerProjectileStream

  ; *** ART Parameters ***
  Draw = W3DProjectileStreamDraw ModuleTag_01
    Texture = EXfthrowerStream.tga
    Width = 1.5
    TileFactor = 3.0 ; put the texture on the line segment this many times
    ScrollRate = 2.0; scroll the texture offset this fast
    MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all
  End

  ; *** ENGINEERING Parameters ***
  KindOf = INERT
  Behavior = ProjectileStreamUpdate ModuleTag_02
    ;nothing
  End

End

;------------------------------------------------------------------------------
Object DragonTankFlameProjectileUpgraded

; Explanation - Particles can't do damage, so this is a fast shooting low 
; damage invisible missile launcher with a flame trail for exhaust

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = NULL 
    End
  End
  ; Must have a draw module to be allowed to draw detonation FX

  ; ***DESIGN parameters ***
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
    AllowCollideForce = No  ; flames collide, but never apply forces when they do so
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 350
    DetonateOnNoFuel = Yes
    InitialVelocity = 120                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 2
    GarrisonHitKillRequiredKindOf = INFANTRY
    GarrisonHitKillForbiddenKindOf = NONE
    GarrisonHitKillCount = 2
    GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit
    DistanceToTargetForLock = 0  ; If it gets within 100 of the target, it kills the target.

  End
  Locomotor = SET_NORMAL DragonTankFlameLocomotor

  Behavior = BoneFXUpdate ModuleTag_06
    PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail01Upgraded ; Covers gap at beginning of line
    PristineParticleSystem2  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail02Upgraded
    PristineParticleSystem3  = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail03Upgraded
    PristineParticleSystem4 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail04Upgraded
    PristineParticleSystem5 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerTrail06Upgraded

    PristineParticleSystem6 = bone:NULL OnlyOnce:Yes  0  0 PSys:FlameThrowerSmoke01
  End

  Behavior = BoneFXDamage ModuleTag_07
    ;nothing
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object FlamethrowerProjectileStreamUpgraded

  ; *** ART Parameters ***
  Draw = W3DProjectileStreamDraw ModuleTag_01
    Texture = EXfthrowerStreamUpgraded.tga
    Width = 1.5
    TileFactor = 3.0 ; put the texture on the line segment this many times
    ScrollRate = 2.0; scroll the texture offset this fast
    MaxSegments = 4 ; only play the first X if there are a ton of them. 0 means play all
  End

  ; *** ENGINEERING Parameters ***
  KindOf = INERT
  Behavior = ProjectileStreamUpdate ModuleTag_02
    ;nothing
  End

End

;------------------------------------------------------------------------------
Object PointDefenseLaserBeam
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser4.tga
    NumBeams = 4                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.005            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 10            ;The total width of beam
    OuterColor = R:255 G:0 B:0  A:150 ;The outside color of the laser (cool)
    
    Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -2500                           ;Scrolls the texture offset this fast -- towards(-) away(+)
    Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
    SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
    TilingScalar = -3                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
   
   ;MaxIntensityLifetime = 2000               ;Laser stays at max intensity for specified time in ms.
   ;FadeLifetime = 250                        ;Laser will fade and delete.
   ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = PaladinPointDefenseLaserFlare
  End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
  Behavior = LifetimeUpdate ModuleTag_03
    MinLifetime = 95   ; min lifetime in msec
    MaxLifetime = 95   ; max lifetime in msec
  End
End


;------------------------------------------------------------------------------
Object LaserBeam
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser.tga
    NumBeams = 3                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.4            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 1.2            ;The total width of beam
    OuterColor = R:255 G:0 B:0  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE
  ClientUpdate = LaserUpdate ModuleTag_02
    MuzzleParticleSystem = GenericLaserFlare
    TargetParticleSystem = GenericLaserFlare
  End
End

;------------------------------------------------------------------------------
Object ParticleUplinkCannon_MediumConnectorLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser.tga
    NumBeams = 4                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.4            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 1.2            ;The total width of beam
    OuterColor = R:0 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object ParticleUplinkCannon_IntenseConnectorLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser.tga
    NumBeams = 5                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.6            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 2.0            ;The total width of beam
    OuterColor = R:0 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object ParticleUplinkCannon_OrbitalLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXNoise02.tga
    NumBeams = 12                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    Tile = Yes                        ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -1.75                ;Scrolls the texture offset this fast -- towards(-) away(+)
    TilingScalar = 0.15               ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)

    InnerBeamWidth = 0.6            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 26.0            ;The total width of beam
    OuterColor = R:0 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  ; *** DESIGN Parameters ***
  VisionRange = 100
  ShroudClearingRange = 120

  ; *** ENGINEERING Parameters ***
  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object SupW_ParticleUplinkCannon_MediumConnectorLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser.tga
    NumBeams = 4                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.4            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 1.2            ;The total width of beam
    OuterColor = R:255 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object SupW_ParticleUplinkCannon_IntenseConnectorLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXLaser.tga
    NumBeams = 5                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    InnerBeamWidth = 0.6            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 2.0            ;The total width of beam
    OuterColor = R:255 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object SupW_ParticleUplinkCannon_OrbitalLaser
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXNoise02.tga
    NumBeams = 12                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

    Tile = Yes                        ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -1.75                ;Scrolls the texture offset this fast -- towards(-) away(+)
    TilingScalar = 0.15               ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)

    InnerBeamWidth = 0.6            ;The total width of beam
    InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)

    OuterBeamWidth = 26.0            ;The total width of beam
    OuterColor = R:255 G:0 B:255  A:150 ;The outside color of the laser (cool)
    
    ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
    ;FadeLifetime = 0                ;Laser will fade and delete.

    ;@todo -- add shot ability functionality (instead of instant point A to B)
  End

  ; *** DESIGN Parameters ***
  VisionRange = 100
  ShroudClearingRange = 120

  ; *** ENGINEERING Parameters ***
  KindOf = IMMOBILE

  ClientUpdate = LaserUpdate ModuleTag_02
    ;MuzzleParticleSystem = None
    ;TargetParticleSystem = None
  End
End

;------------------------------------------------------------------------------
Object BinaryDataStream
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01
    Texture = EXBinaryStream32.tga
    NumBeams = 1                      ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10
    InnerBeamWidth = 4                ;The total width of beam
    InnerColor = R:0 G:255 B:0 A:180  ;The inside color of the laser (hot)
    Tile = Yes                        ;The height of the texture will determine how many times to tile the texture to fit without scaling.
    ScrollRate = -0.25                 ;Scrolls the texture offset this fast -- towards(-) away(+)
    Segments = 20                     ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
    ArcHeight = 30.0                  ;The height of the arc
    SegmentOverlapRatio = 0.0000      ;This value overlaps(+) or separates(-) the segments by ratio
    TilingScalar = 0.25                ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)
 End

  KindOf = IMMOBILE
  ClientUpdate = LaserUpdate ModuleTag_02
    ;nothing
  End
End

;------------------------------------------------------------------------------
Object ScorpionMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScorpion_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAToxinShells          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma      
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ToxinShellWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta   Upgrade_GLAToxinShells       
    RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
    ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag99
    DeathWeapon   = Chem_ToxinShellWeaponGamma
    StartsActive  = No
    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma Upgrade_GLAToxinShells 
    RequiresAllTriggers = Yes; 
  End;

; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = Yes 
    FuelLifetime = 4000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 30
    IgnitionFX = FX_JetMissileIgnition
  End
  Locomotor = SET_NORMAL ScorpionMissileLocomotor


  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  

End

;------------------------------------------------------------------------------
Object RangerFlashBangGrenade

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = NVMBuggy_m
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:FlashBangGrenade
  EditorSorting   = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End

  Behavior = DumbProjectileBehavior ModuleTag_05
    ; To tweak a Bezier path, please see GS
    FirstHeight                     = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight                    = 150
    FirstPercentIndent              = 30% ; Percentage of shot distance control points are placed
    SecondPercentIndent             = 70%
    GarrisonHitKillRequiredKindOf   = INFANTRY
    GarrisonHitKillForbiddenKindOf  = NONE
    GarrisonHitKillCount            = 8  ; ensure that a single grenade clears out all garrisoned buildings.
    GarrisonHitKillFX               = FX_FlashBangGarrisonBuildingHit
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object ScorpionTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAToxinShells          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma      
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ToxinShellWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta   Upgrade_GLAToxinShells       
    RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
    ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag99
    DeathWeapon   = Chem_ToxinShellWeaponGamma
    StartsActive  = No
    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma Upgrade_GLAToxinShells 
    RequiresAllTriggers = Yes; 
  End;

  Behavior = DumbProjectileBehavior ModuleTag_06
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_07
    Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight
  End

; The Toxin explosions don't want to double up on particles, so only play this effect if we don't have Toxin
  Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
    DeathWeapon   = ScorpionTankGunFXWeapon
    StartsActive  = Yes
    ConflictsWith = Upgrade_GLAToxinShells      
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object MarauderTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End

  
  Behavior = FireWeaponWhenDeadBehavior ModuleTag99
    DeathWeapon   = Chem_ToxinShellWeaponGamma
    StartsActive  = No
    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma Upgrade_GLAToxinShells
    RequiresAllTriggers = Yes; 
  End;

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ToxinShellWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta Upgrade_GLAToxinShells         
    RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
    ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAToxinShells          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma 
  End

  Behavior = DumbProjectileBehavior ModuleTag_06
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

 Behavior = PhysicsBehavior ModuleTag_07
    Mass = 0.01 ; can't be zero, but we want it tiny so that it travels nearly straight
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object GenericTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object BattleMasterTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Behavior = WeaponBonusUpgrade ModuleTag_06 
    TriggeredBy = Upgrade_ChinaUraniumShells
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object OverlordTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Behavior = WeaponBonusUpgrade ModuleTag_06 
    TriggeredBy = Upgrade_ChinaUraniumShells
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object NukeCannonShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  


  ; *** AUDIO Parameters ***
  SoundAmbient = NukeCannonIncomingWhistle

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 150
    FirstPercentIndent = 30% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 70%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object NeutronCannonShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  


  ; *** AUDIO Parameters ***
  SoundAmbient = NukeCannonIncomingWhistle

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 150
    FirstPercentIndent = 30% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 70%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
    DetonateCallsKill = Yes
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Behavior = NeutronBlastBehavior ModuleTag_06
    BlastRadius = 70
    AffectAirborne = No
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object InfernoTankShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState        = NONE
      Model               = AVTankShel
      ParticleSysBone     = None InfernoTrail
    End
  End

  ; *** AUDIO Parameters ***
  SoundAmbient = InfernoCannonIncomingWhistle

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_09
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 150
    FirstPercentIndent = 20% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 10
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = Yes
    OnlyWhenMovingDown = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_07
    DeathWeapon   = SmallFireFieldCreationWeapon
    StartsActive  = Yes
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object InfernoTankShellUpgraded

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState        = NONE
      Model               = AVTankShel
      ParticleSysBone     = None InfernoTrailUpgraded
    End
  End

  ; *** AUDIO Parameters ***
  SoundAmbient = InfernoCannonIncomingWhistle

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_09
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 150
    FirstPercentIndent = 20% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 10
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = Yes
    OnlyWhenMovingDown = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
    DeathWeapon   = SmallFireFieldUpgradedCreationWeapon
    StartsActive  = Yes
  End

 
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End



;------------------------------------------------------------------------------
Object GLAAngryMobRockProjectileObject

  ; *** ART Parameters ***

  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = Mob_Rock
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:GLARock
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End

  Behavior = DumbProjectileBehavior ModuleTag_04
    TumbleRandomly = Yes    ; not implemented, alas
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 10
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

 Behavior = PhysicsBehavior ModuleTag_05;lorenzen sez, please keep this, it allows tumbling
    Mass = 0.1 ; about the weight of a rock
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End


;------------------------------------------------------------------------------
Object GLAAngryMobMolotovCocktailProjectileObject

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = Mob_Botl
      ParticleSysBone = BONE_FX MolotovBurningRag
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:GLARock
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End


  Behavior = DumbProjectileBehavior ModuleTag_03
    TumbleRandomly = Yes ; not implemented, alas
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 30  //TALL ARC LOOK GOOD
    SecondHeight = 30 //TALL ARC LOOK GOOD
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_04;lorenzen sez, please keep this, it allows tumbling
    Mass = 0.1 ; about the weight of a rock
  End

;  Behavior = FireWeaponWhenDeadBehavior
;    DeathWeapon   = GLAAngryMobMolotovCocktailPersistentFlameWeapon
;    StartsActive  = Yes 
;  End

  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End


  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End



;------------------------------------------------------------------------------
Object ChinaArtilleryBarrageShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVTankShel
      ParticleSysBone = NONE ArtilleryBarrageTrail
      ParticleSysBone = NONE ArtilleryBarrageTrailRing
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = China
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End


  ; *** AUDIO Parameters ***
  SoundAmbient = ArtilleryBarrageIncomingWhistle


  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini
;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
;    DeathWeapon   = A10ThunderboltMissileWeapon
;    StartsActive  = Yes
;  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  ; It's a missile, it needs to hit so it can +DETONATED
;  Behavior = HeightDieUpdate ModuleTag_10
;    TargetHeight = 1.0
;    TargetHeightIncludesStructures = No
;  End
  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike
  End


End





;--------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object NapalmBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:Missile
  EditorSorting       = SYSTEM
  VisionRange         = 0.0  ; Projectiles can't see, but superweapons *may need to*
  TransportSlotCount  = 1    ; since Napalm Strike carries us as payload, not weapon
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD NO_COLLIDE UNATTACKABLE;  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_06
    Mass                = 75.0
    AerodynamicFriction = 0.1  ; this is now friction-per-sec
    ForwardFriction     = 0.1  ; this is now friction-per-sec
    CenterOfMassOffset  = 0.13  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

; Commenting out module 9 since this method can't take Black napalm
;  Behavior            = CreateObjectDie  ModuleTag_09
;    DeathTypes = ALL
;    CreationList      = OCL_NapalmBombDetonation
;  End

  Behavior = HeightDieUpdate ModuleTag_10
    TargetHeight = 1.0
    TargetHeightIncludesStructures = No
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_11
    DeathWeapon   = NapalmBombWeapon
    StartsActive  = Yes  
    ConflictsWith  = Upgrade_ChinaBlackNapalm
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_12
    DeathWeapon   = BlackNapalmBombWeapon
    StartsActive  = No
    TriggeredBy   = Upgrade_ChinaBlackNapalm     
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  Scale = 0.7

End

;---------------------------------------------------------------------------------------
Object LeafletContainer

  ; ***ART parameters ***

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:DaisyCutterBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = LeafletDrop
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End
     




  Behavior = AIUpdateInterface ModuleTag_06
  End
  Locomotor = SET_NORMAL None
  Behavior = PhysicsBehavior ModuleTag_07
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 22     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = HeightDieUpdate ModuleTag_08
    TargetHeight = 5.0
    TargetHeightIncludesStructures = No
  End
  
  Behavior = SpecialPowerCompletionDie ModuleTag_09
    SpecialPowerTemplate = SuperweaponLeafletDrop
  End

  Behavior = LeafletDropBehavior ModuleTag_11
    DisabledDuration    = 20000
    Delay               = 2500
    AffectRadius        = 110.0
    LeafletFXParticleSystem = LeafletParticles1
  End

  Geometry = Sphere
  GeometryIsSmall = No
  GeometryMajorRadius = 30.0

End

;------------------------------------------------------------------------------
Object SupW_AuroraFuelAirBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:FuelAirBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

;  Behavior = CreateObjectDie ModuleTag_03
;    CreationList = SupW_OCL_FuelAirBomb
;  End
  Behavior = FXListDie ModuleTag_04
    ;DeathFX = FX_DaisyCutterExplode
    DeathFX = AirF_FX_AuroraBombExplode
  End
     
  
  Behavior = PhysicsBehavior ModuleTag_05
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 33     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = MissileAIUpdate ModuleTag_06
    TryToFollowTarget   = No 
    FuelLifetime        = 0
    IgnitionDelay       = 0
    InitialVelocity     = 0                ; in dist/sec
    DistanceToTravelBeforeTurning = 0
    DistanceToTargetBeforeDiving  = 0
  End
  Behavior = HeightDieUpdate ModuleTag_07
    TargetHeight = 15.0
    TargetHeightIncludesStructures = Yes
  End
  Locomotor = SET_NORMAL AuroraBombLocomotor   ; yes, that's right.
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object SupW_AuroraFuelAirGas

  ; *** ART Parameters ***
  ; *** DESIGN Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf = IMMOBILE
  Body                  = ActiveBody ModuleTag_01
    MaxHealth           = 1.0
    InitialHealth       = 1.0
  End

  Behavior = PhysicsBehavior ModuleTag_02
    Mass                = 150.0
    AerodynamicFriction = 7  ; this is now friction-per-sec
    ForwardFriction     = 200   ; this is now friction-per-sec
  End
  Behavior = HeightDieUpdate ModuleTag_03
    TargetHeight                     = 15.0
    TargetHeightIncludesStructures   = Yes
    DestroyAttachedParticlesAtHeight = 16.0   ; Hack, todo remove this
  End
  Behavior = SlowDeathBehavior ModuleTag_04
    DestructionDelay        = 200
    DestructionDelayVariance = 100
    FX                  = INITIAL AirF_FX_AuroraBombIgnite
    FX                  = FINAL   FX_DaisyCutterFinalExplosion
    Weapon              = MIDPOINT   DaisyCutterFlameWeapon    ; Just a spot of flame to light trees on fire
    Weapon              = FINAL   SupW_FuelBombDetonationWeapon
  End

End



; Missiles used by the Patriot.  This is the projectile attached to PatriotMissileWeapon in Weapon.ini
;------------------------------------------------------------------------------
Object PatriotMissileEMP

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVRaptor_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:PatriotMissile
  EditorSorting   = SYSTEM
  VisionRange = 300.0
  ShroudClearingRange = 0

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0

    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End



 ;---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
    FX                  = FINAL   WeaponFX_EMPRocketDetonation
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
;    FX         = FX_GenericMissileDeath
   FX                  = FINAL   WeaponFX_EMPRocketDetonation
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget       = Yes 
    FuelLifetime            = 10000
    InitialVelocity         = 50                ; in dist/sec
    IgnitionDelay           = 0
    DistanceToTravelBeforeTurning = 5
    DistanceToTargetForLock = 100  ; If it gets within 100 of the target, it kills the target.
  End
  Locomotor = SET_NORMAL PatriotMissileLocomotor


 ; Behavior = CreateObjectDie ModuleTag_07
 ;   CreationList = SupW_OCL_FuelAirBomb
 ;   CreationList = SupW_OCL_PatriotEMPEffectSpheroid
 ; End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
;    DeathWeapon   = SupW_PatriotMissileAssistWeapon
   DeathWeapon   = ScudStormDamageWeapon
;    DeathWeapon   = MOABDetonationWeapon
;    StartsActive  = Yes                      ; turned on by upgrade
  End

;  Behavior = SlowDeathBehavior ModuleTag_10
;    DestructionDelay        = 0
;    DestructionDelayVariance = 0
;    FX                  = FINAL   WeaponFX_EMPRocketDetonation
;  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End



Object PatriotMissileEMPHelper

; *** ART Parameters ***
; ***DESIGN parameters ***
; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_01
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  
  Behavior = AIUpdateInterface ModuleTag_02
  End
  Behavior = PhysicsBehavior ModuleTag_03
    Mass                = 1.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 22     ; this is now friction-per-sec
    CenterOfMassOffset  = 0  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight = 5.0
    TargetHeightIncludesStructures = No
  End
  Locomotor = SET_NORMAL None

  Behavior = EMPUpdate ModuleTag_05
    DisabledDuration    = 5000
    Lifetime            = 500
    StartFadeTime       = 300
    StartScale          = 0.01  
    TargetScaleMin      = 6.00
    TargetScaleMax      = 7.00
    StartColor          = R:0 G:255 B:255
    EndColor            = R:0 G:128 B:128
    EffectRadius        = 10
    DisableFXParticleSystem = EMPSparks
  End


  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0
End


;--------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object NukeBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:Missile
  EditorSorting       = SYSTEM
  VisionRange         = 0.0  ; Projectiles can't see, but superweapons *may need to*
  TransportSlotCount  = 1    ; since Napalm Strike carries us as payload, not weapon
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD NO_COLLIDE UNATTACKABLE;  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End


  Behavior = PhysicsBehavior ModuleTag_06
    Mass                = 75.0
    AerodynamicFriction = 0.1  ; this is now friction-per-sec
    ForwardFriction     = 0.1  ; this is now friction-per-sec
    CenterOfMassOffset  = 0.13  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = HeightDieUpdate ModuleTag_10
    TargetHeight = 10.0
    TargetHeightIncludesStructures = No
  End



; **********************************HERE IT IS, TODD
  Behavior = FireWeaponWhenDeadBehavior ModuleTag998
    DeathWeapon   = HelixNukeBombDetonationWeaponWithAnEvenLongerName
    DeathTypes = ALL
    StartsActive  = Yes
  End;
  Behavior = InstantDeathBehavior ModuleTag_Death02
    DeathTypes          = ALL
  End

; **********************************HERE IT IS, TODD


  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  Scale = 0.7

End

;------------------------------------------------------------------------------
Object USSBenderGunShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    FirstHeight = 110  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 110
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Scale = 1.2                            ;Scaling

End

;------------------------------------------------------------------------------
Object SatLaser

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVTankShell
      ParticleSysBone = NONE SatTrail
      ;ParticleSysBone = NONE SatTrailRing
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = AmericaLaserGeneral
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End


  ; *** AUDIO Parameters ***
  SoundAmbient = ArtilleryBarrageIncomingWhistle


  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini
;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
;    DeathWeapon   = A10ThunderboltMissileWeapon
;    StartsActive  = Yes
;  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  ; It's a missile, it needs to hit so it can +DETONATED
;  Behavior = HeightDieUpdate ModuleTag_10
;    TargetHeight = 1.0
;    TargetHeightIncludesStructures = No
;  End
  Locomotor = SET_NORMAL SatLaserLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponSatelitteStrike
  End

  Behavior = EMPUpdate ModuleTag_12
    DisabledDuration    = 10000
    Lifetime            = 500
    StartFadeTime       = 300
    StartScale          = 0.01  
    TargetScaleMin      = 6.00
    TargetScaleMax      = 7.00
    StartColor          = R:0 G:255 B:255
    EndColor            = R:0 G:128 B:128
    EffectRadius        = 10
    DisableFXParticleSystem = EMPSparks
  End

End

;------------------------------------------------------------------------------
Object SUNapalmBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = UVScorpion_m
    End
  End

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting     = SYSTEM
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  VisionRange       = 0.0  

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body              = ActiveBody ModuleTag_02
    MaxHealth       = 300.0
    InitialHealth   = 300.0
  End

  Behavior              = PhysicsBehavior ModuleTag_03
    Mass                = 75.0
    AerodynamicFriction = 2     ; this is now friction-per-sec
    ForwardFriction     = 2     ; this is now friction-per-sec
    CenterOfMassOffset  = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  ; it may seem odd to have a "bomb" with a Locomotor, especially a Thrust locomotor,
  ; but there's a good reason: the Aurora moves so freakin' fast that it's really
  ; hard to (1) find a reliable drop location, and (2) actually get it close enough to
  ; that location. So we cheat: just get fairly close, then let the "bomb" do a little (subtle)
  ; navigation on the way down. This works pretty well and actually looks much better
  ; than you might think. (srj)
  Behavior = MissileAIUpdate ModuleTag_04
    TryToFollowTarget   = No 
    FuelLifetime        = 0
    IgnitionDelay       = 0
    InitialVelocity     = 0                ; in dist/sec
    DistanceToTravelBeforeTurning = 0
    DistanceToTargetBeforeDiving  = 0
  End
 
  Locomotor = SET_NORMAL AuroraBombLocomotor   ; yes, that's right.

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 2.0

End

;------------------------------------------------------------------------------
Object CarpetBomb2

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVStealth_M
    End
  End

  ; *** AUDIO Parameters ***
  ;SoundAmbient = NukeCannonIncomingWhistle

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = AIUpdateInterface ModuleTag_08
  End
  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04

    Mass                  = 5.0
    ;AerodynamicFriction   = 10     ; this is now friction-per-sec
    ;ForwardFriction       = 20    ; this is now friction-per-sec
    ;CenterOfMassOffset    = 1     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = CarpetBomb2
    StartsActive  = Yes
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = No
  End

  Behavior = FXListDie ModuleTag_07
    DeathFX = FX_BuggyNewDeathExplosion
    OrientToObject = No
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object SaturationBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:SaturationBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = CreateObjectDie ModuleTag_03
    CreationList = OCL_SaturationBombExplode
  End
  Behavior = FXListDie ModuleTag_04
    DeathFX = WeaponFX_RangerFlashBangGrenadeDetonation;FX_CarpetBomb
  End
  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End
     
  Behavior = AIUpdateInterface ModuleTag_06
  End
  Locomotor = SET_NORMAL None
  Behavior = PhysicsBehavior ModuleTag_07
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 33     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = HeightDieUpdate ModuleTag_08
    TargetHeight = 50.0
    TargetHeightIncludesStructures = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_09
    SpecialPowerTemplate = SuperweaponCarpetBomb2
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object TomahawkBarrageMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVTomahawk_M;AVCINECMF
      ;ParticleSysBone = NONE ArtilleryBarrageTrail
      ;ParticleSysBone = NONE ArtilleryBarrageTrailRing
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = China
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End


  ; *** AUDIO Parameters ***
  SoundAmbient = ArtilleryBarrageIncomingWhistle


  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini
;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
;    DeathWeapon   = A10ThunderboltMissileWeapon
;    StartsActive  = Yes
;  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  ; It's a missile, it needs to hit so it can +DETONATED
;  Behavior = HeightDieUpdate ModuleTag_10
;    TargetHeight = 1.0
;    TargetHeightIncludesStructures = No
;  End
  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike
  End


End

;------------------------------------------------------------------------------
Object MolotovCocktail

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = Mob_Botl
      ParticleSysBone = BONE_FX MolotovBurningRag
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:GLARock
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End


  Behavior = DumbProjectileBehavior ModuleTag_03
    TumbleRandomly = Yes ; not implemented, alas
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 10  //TALL ARC LOOK GOOD
    SecondHeight = 10 //TALL ARC LOOK GOOD
    FirstPercentIndent = 50% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_04;lorenzen sez, please keep this, it allows tumbling
    Mass = 0.1 ; about the weight of a rock
  End

;  Behavior = FireWeaponWhenDeadBehavior
;    DeathWeapon   = GLAAngryMobMolotovCocktailPersistentFlameWeapon
;    StartsActive  = Yes 
;  End

  Behavior = DestroyDie ModuleTag_05
    ;nothing
  End


  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object NukeStrikeMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = PMMoab
      ;ParticleSysBone = NONE ArtilleryBarrageTrail
      ;ParticleSysBone = NONE ArtilleryBarrageTrailRing
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = China
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundAmbient = InfernoCannonIncomingWhistle


  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  ; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

; Besides being the wrong weapon, the weapon is fired from the DeliverPayload listing in OCL.ini
;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
;    DeathWeapon   = A10ThunderboltMissileWeapon
;    StartsActive  = Yes
;  End

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  ; It's a missile, it needs to hit so it can +DETONATED
;  Behavior = HeightDieUpdate ModuleTag_10
;    TargetHeight = 1.0
;    TargetHeightIncludesStructures = No
;  End
  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  Scale = 1.4
  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponNukeStrike;SuperweaponA10ThunderboltMissileStrike
  End


End

;------------------------------------------------------------------------------
Object ChinaCarpetBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:CarpetBomb
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 300.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 2000.0
    InitialHealth   = 2000.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
  End
  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04
    Mass                  = 75.0
    AerodynamicFriction   = 1     ; this is now friction-per-sec
    ForwardFriction       = 33    ; this is now friction-per-sec
    CenterOfMassOffset    = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ChinaCarpetBombWeapon
    StartsActive  = Yes
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_07
    SpecialPowerTemplate = SuperweaponChinaCarpetBomb
  End

  Behavior = DestroyDie ModuleTag_08
    ;nothing
  End

  Behavior = FXListDie ModuleTag_09
    DeathFX = FX_CarpetBomb
  End

End

;------------------------------------------------------------------------------
Object CarpetBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = EXCarptBmb
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:CarpetBomb
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 300.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  SoundFallingFromPlane = DaisyCutterWeapon

  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
  End
  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04

    Mass                  = 75.0
    AerodynamicFriction   = 1     ; this is now friction-per-sec
    ForwardFriction       = 33    ; this is now friction-per-sec
    CenterOfMassOffset    = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = CarpetBombWeapon
    StartsActive  = Yes
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 1.0
    TargetHeightIncludesStructures = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_07
    SpecialPowerTemplate = SuperweaponCarpetBomb
  End

  Behavior = DestroyDie ModuleTag_08
    ;nothing
  End
  
  Behavior = FXListDie ModuleTag_09
    DeathFX = FX_CarpetBomb
  End

End

;------------------------------------------------------------------------------
Object BlackMarketNuke

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:BlackMarketNuke
  Side                = GLA
  EditorSorting       = SYSTEM
  TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  ArmorSet
    Conditions        = None
    Armor             = ProjectileArmor
    DamageFX          = None
  End

  ; *** AUDIO Parameters ***
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End
  
  Behavior = AIUpdateInterface ModuleTag_03
  End

  Locomotor = SET_NORMAL None

  Behavior = PhysicsBehavior ModuleTag_04
    Mass                  = 75.0
    AerodynamicFriction   = 1     ; this is now friction-per-sec
    ForwardFriction       = 33    ; this is now friction-per-sec
    CenterOfMassOffset    = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = BlackMarketNukeWeapon
    StartsActive  = Yes
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 10.0
    TargetHeightIncludesStructures = Yes
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_07
    SpecialPowerTemplate = SuperweaponBlackMarketNuke
  End

  Behavior = DestroyDie ModuleTag_08
    ;nothing
  End

  Behavior = FXListDie ModuleTag_09
    DeathFX = FX_NukeGLA
    OrientToObject = No
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 12.0

End

;------------------------------------------------------------------------------
Object ChinaJetMIGNapalmStriker

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01

    DefaultConditionState
      Model = NVMig
      WeaponLaunchBone    = PRIMARY WeaponA
      ParticleSysBone     = Exhaust01 JetExhaust
      ;ParticleSysBone    = Exhaust02 JetExhaust
      HideSubObject       = BurnerFX01 BurnerFX02
    End
    ConditionState = REALLYDAMAGED
      Model = NVMig_d
    End
    AliasConditionState = RUBBLE

    OkToChangeModelColor = Yes
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:MIG
  EditorSorting       = SYSTEM
  Side                = China
  TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0 
  ShroudClearingRange = 300
  Prerequisites
    Object = ChinaAirfield
  End
  WeaponSet
    Conditions        = None 
    Weapon            = PRIMARY     SpecialNapalmMissileWeapon
  End
  WeaponSet
    Conditions        = PLAYER_UPGRADE
    Weapon            = PRIMARY     SpecialBlackNapalmMissileWeapon
  End
  ArmorSet
    Conditions      = None
    Armor           = AirplaneArmor
    DamageFX        = None
  End
  CommandSet        = ChinaJetMIGCommandSet

  ; *** AUDIO Parameters ***
  SoundAmbient = F15MoveLoop
  SoundAmbientRubble    = NoSound

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT 
  KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT IGNORED_IN_GUI EMP_HARDENED

  Body = ActiveBody ModuleTag_02
    MaxHealth       = 250.0
    InitialHealth   = 250.0
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_03
    SpecialPowerTemplate = SuperweaponNapalmStrike
  End

  Behavior                          = JetSlowDeathBehavior ModuleTag_04
    DestructionDelay                = 99999999; destruction will happen when we
    RollRate                        = 0.2
    RollRateDelta                   = 100%     ;each frame, rollrate = rollrate * rollrateDelta
    PitchRate                       = 0.0
    FallHowFast                     = 110.0%   ;Bigger is faster (can be over 100%,it's a fraction of gravity)
    FXInitialDeath                  = FX_JetDeathInitial
    OCLInitialDeath                 = OCL_MIGDeathInitial
    DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
    FXSecondary                     = FX_JetDeathSecondary
    OCLSecondary                    = OCL_MIGDeathSecondary
    FXHitGround                     = FX_JetDeathHitGround
    OCLHitGround                    = OCL_MIGDeathHitGround
    DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
    FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
    OCLFinalBlowUp                  = OCL_MIGDeathFinalBlowUp
  End

  Behavior = DeliverPayloadAIUpdate ModuleTag_06
    DoorDelay = 0
  End
  Locomotor = SET_NORMAL MIGLocomotor

  Behavior = WeaponSetUpgrade ModuleTag_07
    TriggeredBy = Upgrade_ChinaBlackNapalm
  End

  Behavior = TransportContain ModuleTag_08
    Slots = 100                     ; hey, it's a BIG transport
    ScatterNearbyOnExit = No
    OrientLikeContainerOnExit = Yes
    KeepContainerVelocityOnExit = Yes
    ExitPitchRate = 30
    ExitBone = WeaponA
    AllowInsideKindOf  = PROJECTILE
    DoorOpenTime = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
    NumberOfExitPaths = 0
    DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
  End

  Behavior = PhysicsBehavior ModuleTag_09
    Mass = 500.0
  End

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


  Geometry = Cylinder
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryMinorRadius = 7.0
  GeometryHeight = 7.0
  
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length

End

;------------------------------------------------------------------------------
Object MarineRemoteC4Charge ;Created by Marines

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 75.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 75
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    UnitBombPing = BombTickRemote
    StickyBombCreated = ColonelBurtonSetDemoCharge
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf =  PROJECTILE MINE NO_COLLIDE

  ;Body = ActiveBody ModuleTag_02
  ;  MaxHealth = 1.0
  ;  InitialHealth = 1.0
  ;End

  Body = HighlanderBody ModuleTag_NewBody
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 50.0%
    InnateStealth               = Yes
  End

  Behavior = StickyBombUpdate ModuleTag_04
    ;Keeps it attached properly to the intended target should it move.
  End


  Behavior = SlowDeathBehavior ModuleTag_05
    DestructionDelay = 1
    FX                  = INITIAL WeaponFX_TNTStickyBombDetonation
    Weapon              = FINAL   MarineC4ChargeWeapon
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object ViralOutbreakSCUD

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScudLchr_M
    End
    ConditionState = REALLYDAMAGED
      Model = UVScudLchr_DM
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
    ConditionState = REALLYDAMAGED JAMMED
      Model = UVScudLchr_DM
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:ViralOutbreakSCUD
  Side             = GLA
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting
    ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have
    ;*AntiBallisticMissile = Yes set in the Weapon.ini.
    Armor           = BallisticMissileArmor 
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE PRELOAD CAN_CAST_REFLECTIONS
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End
  
  Behavior = SpecialPowerCompletionDie ModuleTag_10
    SpecialPowerTemplate = SuperweaponViralOutbreak
  End

  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 4.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    
  Shadow = SHADOW_DECAL
End

;ObjectReskin SCUDMissilePlusOne SCUDMissile
  ;Draw = W3DModelDraw ModuleTag_01
    ;OkToChangeModelColor = Yes
    ;DefaultConditionState
      ;Model = UVScudLchr_B
    ;End
    ;ConditionState = JAMMED
      ;ParticleSysBone = None SparksMedium
    ;End
  ;End

;End

;ObjectReskin SCUDMissilePlusTwo SCUDMissile
  ;Draw = W3DModelDraw ModuleTag_01
    ;OkToChangeModelColor = Yes
    ;DefaultConditionState
      ;Model = UVScudLchr_C
    ;End
    ;ConditionState = JAMMED
      ;ParticleSysBone = None SparksMedium
    ;End
  ;End

;End

;------------------------------------------------------------------------------
Object ICBM

  ; *** ART Parameters ***
  Draw               = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState   = NONE
      Model          = ABNukeMissle
    End
    ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
      Model          = NONE
    End
    
  End

  ; ***DESIGN parameters ***
  DisplayName        = OBJECT:NeutronMissile
  KindOf             = UNATTACKABLE
  EditorSorting      = SYSTEM
  VisionRange = 300.0  
  ShroudClearingRange = 0
  TransportSlotCount = 10
  ArmorSet
    Conditions       = None
    Armor            = ProjectileArmor
    DamageFX         = None
  End

  ; *** AUDIO Parameters ***
  ; SoundFallingFromPlane = DaisyCutterWeapon
    
  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_02
    MaxHealth        = 99999999.0
    InitialHealth    = 99999999.0
  End

  Behavior = NeutronMissileUpdate ModuleTag_03
    DistanceToTravelBeforeTurning = 1250       ; goes straight up a long ways first
    MaxTurnRate = 8000                        ; huge, since it turns off-camera
    ForwardDamping = 0.1
    RelativeSpeed = 2.0
    LaunchFX = FX_NeutronMissileLaunch
    IgnitionFX = FX_NeutronMissileIgnition
    TargetFromDirectlyAbove = 500      ; aim for an intermed spot directly above the target, so we come straight down onto it
    SpecialAccelFactor = 1
    SpecialSpeedTime = 1500
    SpecialSpeedHeight = 160
    SpecialJitterDistance = 0.4
    DeliveryDecalRadius = 190
    DeliveryDecal
      Texture           = SCCNuclearMissile_China
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:255 G:0 B:0 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End

  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight        = 100.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = Yes
    SnapToGroundOnDeath = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_05
    SpecialPowerTemplate = SupW_SuperweaponNeutronMissile;SuperweaponNeutronMissile
  End

  Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06
    DestructionDelay    = 3501
    ScorchMarkSize      = 320
    FXList              = FX_Nuke
    
    Blast1Enabled       = Yes
    Blast1Delay         = 580     ;in milliseconds
    Blast1ScorchDelay   = 100     ;in milliseconds
    Blast1InnerRadius   = 60.0    ;objects inside this get the full damage
    Blast1OuterRadius   = 60.0    ;objects inside this get some of the full damage
    Blast1MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast1MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast1ToppleSpeed   = 0.5     ;higher #'s topple faster
    Blast1PushForce     = 10.0    ;higher #'s push more
    
    Blast2Enabled       = Yes
    Blast2Delay         = 660    ;in milliseconds
    Blast2ScorchDelay   = 180     ;in milliseconds
    Blast2InnerRadius   = 90.0    ;objects inside this get the full damage
    Blast2OuterRadius   = 90.0    ;objects inside this get some of the full damage
    Blast2MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast2MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast2ToppleSpeed   = 0.45    ;higher #'s topple faster
    Blast2PushForce     = 8.0     ;higher #'s push more
    
    Blast3Enabled       = Yes
    Blast3Delay         = 720    ;in milliseconds
    Blast3ScorchDelay   = 260     ;in milliseconds
    Blast3InnerRadius   = 120.0   ;objects inside this get the full damage
    Blast3OuterRadius   = 120.0   ;objects inside this get some of the full damage
    Blast3MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast3MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast3ToppleSpeed   = 0.42    ;higher #'s topple faster
    Blast3PushForce     = 6.0     ;higher #'s push more

    Blast4Enabled       = Yes
    Blast4Delay         = 850    ;in milliseconds
    Blast4ScorchDelay   = 340     ;in milliseconds
    Blast4InnerRadius   = 150.0   ;objects inside this get the full damage
    Blast4OuterRadius   = 150.0   ;objects inside this get some of the full damage
    Blast4MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast4MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast4ToppleSpeed   = 0.40    ;higher #'s topple faster
    Blast4PushForce     = 6.0     ;higher #'s push more

    Blast5Enabled       = Yes
    Blast5Delay         = 1000    ;in milliseconds
    Blast5ScorchDelay   = 420     ;in milliseconds
    Blast5InnerRadius   = 580.0   ;objects inside this get the full damage
    Blast5OuterRadius   = 580.0   ;objects inside this get some of the full damage
    Blast5MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast5MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast5ToppleSpeed   = 0.38    ;higher #'s topple faster
    Blast5PushForce     = 6.0     ;higher #'s push more
    
    Blast6Enabled       = Yes
    Blast6Delay         = 1180    ;in milliseconds
    Blast6ScorchDelay   = 500     ;in milliseconds
    Blast6InnerRadius   = 220.0    ;objects inside this get the full damage
    Blast6OuterRadius   = 400.0   ;objects inside this get some of the full damage
    Blast6MaxDamage     = 5000.0  ;damage within inner radius of blast
    Blast6MinDamage     = 400.0   ;always do at least this much damage to objects
    Blast6ToppleSpeed   = 0.35    ;higher #'s topple faster
    Blast6PushForce     = 4.0     ;higher #'s push more

    Blast7Enabled       = Yes
    Blast7Delay         = 999999  ;in milliseconds, don't do the damage wave
    Blast7ScorchDelay   = 620     ;in milliseconds
    Blast7OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast8Enabled       = Yes
    Blast8Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast8ScorchDelay   = 700     ;in milliseconds
    Blast8OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast9Enabled       = Yes
    Blast9Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast9ScorchDelay   = 800     ;in milliseconds
    Blast9OuterRadius   = 210.0   ;objects inside this get some of the full damage
    
    OCL            = MIDPOINT   OCL_NukeRadiationField
  End

  Geometry = CYLINDER
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryHeight = 60.0

End

;------------------------------------------------------------------------------
Object SupW_NeutronMissile

  ; *** ART Parameters ***
  Draw               = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState   = NONE
      Model          = ABNukeMissle
    End
    ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
      Model          = NONE
    End
    
  End

  ; ***DESIGN parameters ***
  DisplayName        = OBJECT:NeutronMissile
  KindOf             = UNATTACKABLE
  EditorSorting      = SYSTEM
  VisionRange = 300.0  
  ShroudClearingRange = 0
  TransportSlotCount = 10
  ArmorSet
    Conditions       = None
    Armor            = ProjectileArmor
    DamageFX         = None
  End

  ; *** AUDIO Parameters ***
  ; SoundFallingFromPlane = DaisyCutterWeapon
    
  ; *** ENGINEERING Parameters ***
  Body = ActiveBody ModuleTag_02
    MaxHealth        = 99999999.0
    InitialHealth    = 99999999.0
  End

  Behavior = NeutronMissileUpdate ModuleTag_03
    DistanceToTravelBeforeTurning = 1200       ; goes straight up a long ways first
    MaxTurnRate = 9000                        ; huge, since it turns off-camera
    ForwardDamping = 0.1
    RelativeSpeed = 2.0
    LaunchFX = FX_NeutronMissileLaunch
    IgnitionFX = FX_NeutronMissileIgnition
    TargetFromDirectlyAbove = 500      ; aim for an intermed spot directly above the target, so we come straight down onto it
    SpecialAccelFactor = 1
    SpecialSpeedTime = 1500
    SpecialSpeedHeight = 160
    SpecialJitterDistance = 0.4
    DeliveryDecalRadius = 180
    DeliveryDecal
      Texture           = SCCNuclearMissile_China
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:255 G:0 B:0 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End

  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight        = 100.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = Yes
    SnapToGroundOnDeath = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = SpecialPowerCompletionDie ModuleTag_05
    SpecialPowerTemplate = SupW_SuperweaponNeutronMissile;SupW_SuperweaponNeutronMissile
  End

  Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06
    DestructionDelay    = 3501
    ScorchMarkSize      = 320
    FXList              = SupW_FX_Nuke
    
    Blast1Enabled       = Yes
    Blast1Delay         = 580     ;in milliseconds
    Blast1ScorchDelay   = 100     ;in milliseconds
    Blast1InnerRadius   = 60.0    ;objects inside this get the full damage
    Blast1OuterRadius   = 60.0    ;objects inside this get some of the full damage
    Blast1MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast1MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast1ToppleSpeed   = 0.5     ;higher #'s topple faster
    Blast1PushForce     = 10.0    ;higher #'s push more
    
    Blast2Enabled       = Yes
    Blast2Delay         = 660    ;in milliseconds
    Blast2ScorchDelay   = 180     ;in milliseconds
    Blast2InnerRadius   = 90.0    ;objects inside this get the full damage
    Blast2OuterRadius   = 90.0    ;objects inside this get some of the full damage
    Blast2MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast2MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast2ToppleSpeed   = 0.45    ;higher #'s topple faster
    Blast2PushForce     = 8.0     ;higher #'s push more
    
    Blast3Enabled       = Yes
    Blast3Delay         = 720    ;in milliseconds
    Blast3ScorchDelay   = 260     ;in milliseconds
    Blast3InnerRadius   = 120.0   ;objects inside this get the full damage
    Blast3OuterRadius   = 120.0   ;objects inside this get some of the full damage
    Blast3MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast3MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast3ToppleSpeed   = 0.42    ;higher #'s topple faster
    Blast3PushForce     = 6.0     ;higher #'s push more

    Blast4Enabled       = Yes
    Blast4Delay         = 850    ;in milliseconds
    Blast4ScorchDelay   = 340     ;in milliseconds
    Blast4InnerRadius   = 150.0   ;objects inside this get the full damage
    Blast4OuterRadius   = 150.0   ;objects inside this get some of the full damage
    Blast4MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast4MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast4ToppleSpeed   = 0.40    ;higher #'s topple faster
    Blast4PushForce     = 6.0     ;higher #'s push more

    Blast5Enabled       = Yes
    Blast5Delay         = 1000    ;in milliseconds
    Blast5ScorchDelay   = 420     ;in milliseconds
    Blast5InnerRadius   = 580.0   ;objects inside this get the full damage
    Blast5OuterRadius   = 580.0   ;objects inside this get some of the full damage
    Blast5MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast5MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast5ToppleSpeed   = 0.38    ;higher #'s topple faster
    Blast5PushForce     = 6.0     ;higher #'s push more
    
    Blast6Enabled       = Yes
    Blast6Delay         = 1180    ;in milliseconds
    Blast6ScorchDelay   = 500     ;in milliseconds
    Blast6InnerRadius   = 260.0    ;objects inside this get the full damage
    Blast6OuterRadius   = 380.0   ;objects inside this get some of the full damage
    Blast6MaxDamage     = 5000.0  ;damage within inner radius of blast
    Blast6MinDamage     = 1300.0   ;always do at least this much damage to objects
    Blast6ToppleSpeed   = 0.35    ;higher #'s topple faster
    Blast6PushForce     = 4.0     ;higher #'s push more

    Blast7Enabled       = Yes
    Blast7Delay         = 999999  ;in milliseconds, don't do the damage wave
    Blast7ScorchDelay   = 620     ;in milliseconds
    Blast7OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast8Enabled       = Yes
    Blast8Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast8ScorchDelay   = 700     ;in milliseconds
    Blast8OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast9Enabled       = Yes
    Blast9Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast9ScorchDelay   = 800     ;in milliseconds
    Blast9OuterRadius   = 210.0   ;objects inside this get some of the full damage
    
    OCL            = MIDPOINT   OCL_NukeRadiationField
  End

  Geometry = CYLINDER
  GeometryIsSmall = Yes
  GeometryMajorRadius = 7.0
  GeometryHeight = 60.0

End

;------------------------------------------------------------------------------
Object A10DumbMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = AVWarthog_M
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:Missile
  EditorSorting     = SYSTEM
  VisionRange = 0.0  

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End
  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_07
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_08
    TryToFollowTarget     = No 
    FuelLifetime          = 10000
    InitialVelocity       = 75                ; in dist/sec
    IgnitionDelay         = 30
    IgnitionFX            = FX_JetMissileIgnition
  End
  
  Locomotor = SET_NORMAL RaptorJetMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object F-18BunkerBuster

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScorpion_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:Missile
  EditorSorting     = SYSTEM
  VisionRange       = 0.0  

  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior        = BunkerBusterBehavior ModuleTag_04
    UpgradeRequired               = Upgrade_AmericaBunkerBusters                
    DetonationFX                  = FX_BunkerBusterExplosion            ; the big detonation kaboom at the bottom
    CrashThroughBunkerFX          = WeaponFX_BunkerBusterIntialImpact   ; the crash bang crunch FX on the way through the bunker ceiling
    CrashThroughBunkerFXFrequency = 571                                 ; msec... how often to play the crash bang crunch FX on the way through the bunker ceiling

    SeismicEffectRadius         = 200
    SeismicEffectMagnitude      = 5

   ShockwaveWeaponTemplate     =  BunkerBusterShockwaveWeaponSmall
   OccupantDamageWeaponTemplate = BunkerBusterAntiTunnelGarrisonWeaponWithABigName

  End

  Behavior = PhysicsBehavior ModuleTag_07
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_08
    TryToFollowTarget     = Yes 
    FuelLifetime          = 10000
    InitialVelocity       = 75                ; in dist/sec
    IgnitionDelay         = 30
    ;IgnitionFX            = FX_JetMissileIgnition
    DetonateCallsKill     = Yes
    KillSelfDelay         = 2000 ;two seconds of crash bang crunch before we actually detonate
  End
  Locomotor = SET_NORMAL StealthJetMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object MineShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState        = NONE
      Model               = AVTankShel
    End
  End

  ; *** AUDIO Parameters ***
  SoundAmbient = NukeCannonIncomingWhistle

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 10.0
    InitialHealth   = 10.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = DumbProjectileBehavior ModuleTag_09
    DetonateCallsKill = Yes
    ; To tweak a Bezier path, please see GS
    FirstHeight = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight = 150
    FirstPercentIndent = 20% ; Percentage of shot distance control points are placed
    SecondPercentIndent = 90%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 10
  End

  Behavior = HeightDieUpdate ModuleTag_06
    TargetHeight = 25.0
    TargetHeightIncludesStructures = Yes
    OnlyWhenMovingDown = Yes
    InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
  End

  Behavior = GenerateMinefieldBehavior ModuleTag_07
    MineName                = ChinaClusterMine
    DistanceAroundObject    = 80
    GenerateOnlyOnDeath     = Yes
    SmartBorder             = Yes
    SmartBorderSkipInterior = No
    AlwaysCircular          = Yes
    GenerationFX            = WeaponFX_ClusterMineImpact
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object KingScorpionMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScorpion_m
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAToxinShells          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma      
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
    DeathWeapon   = ToxinShellWeaponUpgraded
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAAnthraxBeta   Upgrade_GLAToxinShells       
    RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
    ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag99
    DeathWeapon   = Chem_ToxinShellWeaponGamma
    StartsActive  = No
    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma Upgrade_GLAToxinShells 
    RequiresAllTriggers = Yes; 
  End;

; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = No 
    FuelLifetime = 6000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 100
    IgnitionFX = FX_JetMissileIgnition
    DistanceToTargetBeforeDiving = 100
  End
  Locomotor = SET_NORMAL ScorpionMissileLocomotor


  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  

End

;------------------------------------------------------------------------------
Object RangerGrenade

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = NVMBuggy_m
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:FlashBangGrenade
  EditorSorting   = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End

  Behavior = DumbProjectileBehavior ModuleTag_05
    ; To tweak a Bezier path, please see GS
    FirstHeight                     = 50  ; Height of Bezier control points above highest intervening terrain
    SecondHeight                    = 150
    FirstPercentIndent              = 30% ; Percentage of shot distance control points are placed
    SecondPercentIndent             = 70%
    FlightPathAdjustDistPerSecond   = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

End

;------------------------------------------------------------------------------
Object BriefcaseNuke

  ;No drawable because it's invisible
  ; *** ART Parameters ***

  ; ***DESIGN parameters ***
  Side = America
  EditorSorting   = SYSTEM
  TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 75.0  ;Allow the stickybomb to show itself to user?
  ShroudClearingRange = 75
  ArmorSet
    Conditions      = None
    Armor           = InvulnerableAllArmor
  End

  ; *** AUDIO Parameters ***
  UnitSpecificSounds
    UnitBombPing = BombTickRemote
    StickyBombCreated = ColonelBurtonSetDemoCharge
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = NOT_ON_RADAR
  KindOf =  PROJECTILE MINE NO_COLLIDE

  ;Body = ActiveBody ModuleTag_02
  ;  MaxHealth = 1.0
  ;  InitialHealth = 1.0
  ;End

  Body = HighlanderBody ModuleTag_NewBody
    MaxHealth = 1.0
    InitialHealth = 1.0
  End

  Behavior = StealthUpdate ModuleTag_03
    StealthDelay                = 0                  ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 50.0%
    InnateStealth               = Yes
  End

  Behavior = StickyBombUpdate ModuleTag_04
    ;Keeps it attached properly to the intended target should it move.
  End


  Behavior = SlowDeathBehavior ModuleTag_05
    DestructionDelay = 1
    FX                  = INITIAL FX_ChinaPowerPlantDeath
    Weapon              = FINAL   BriefcaseNuke
  End

  Geometry            = CYLINDER
  GeometryMajorRadius = 8.0
  GeometryHeight      = 8.0
  GeometryIsSmall     = Yes

End

;------------------------------------------------------------------------------
Object InfernoStrikeShell

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState = NONE
      Model = AVTankShel
      ParticleSysBone = None InfernoTrail
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  Side = China
  EditorSorting   = SYSTEM
  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End


  ; *** AUDIO Parameters ***
  SoundAmbient = ArtilleryBarrageIncomingWhistle


  ; *** ENGINEERING Parameters ***
  KindOf            = PRELOAD CAN_CAST_REFLECTIONS PROJECTILE ;SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.  No effect, since it is in weapon.  Don't want to double.
    ; FX        = FX_ArtilleryBarrage
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors

  Behavior = PhysicsBehavior ModuleTag_08
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_09
    TryToFollowTarget = Yes 
    FuelLifetime = 10000
    InitialVelocity = 30                ; in dist/sec
    IgnitionDelay = 0
  End

  Locomotor = SET_NORMAL A10ThunderboltMissileLocomotor

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0

  Behavior = SpecialPowerCompletionDie ModuleTag_11
    SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike
  End


End

;----------------------------------------------- 
Object PathfinderBeacon 

; *** ART Parameters *** 
Draw = W3DModelDraw ModuleTag_01 
  DefaultConditionState 
   Model = None 
  End 
 End 

  ; ***DESIGN parameters *** 
  EditorSorting = STRUCTURE 
  Side = America 
  ArmorSet 
   Conditions = None 
   Armor = InvulnerableArmor 
   DamageFX = None 
  End 

  ; *** ENGINEERING Parameters *** 
  RadarPriority = NOT_ON_RADAR 
  KindOf = IMMOBILE 

  Body = ActiveBody ModuleTag_02 
   MaxHealth = 200.0 
   InitialHealth = 200.0 
  End 

  Behavior = LifetimeUpdate ModuleTag_04 
   MinLifetime = 100 ; min lifetime in msec 
   MaxLifetime = 100 ; max lifetime in msec 
  End 

   Behavior =  OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet 
    OCL = OCL_PathfinderMissileStrike 
    MinDelay = 60 
    MaxDelay = 60 
    CreateAtEdge = Yes ; as opposed to just creating on self 
   End 

   Behavior = DestroyDie ModuleTag_06 
   End 


  Geometry = SPHERE 
  GeometryMajorRadius = 10.0 
  GeometryIsSmall = Yes 

End

;------------------------------------------------------------------------------ 
Object PathfinderBeaconProjectile  

; *** ART Parameters *** 
Draw = W3DModelDraw ModuleTag_01 
  DefaultConditionState 
   Model = None 
  End 
 End 

  ; *** AUDIO Parameters *** 
  ;SoundDie =  None  

  ; ***DESIGN parameters *** 
  DisplayName = OBJECT:TankShell 
  EditorSorting = SYSTEM 
  ArmorSet 
   Armor = ProjectileArmor 
  End 
  VisionRange = 0.0 

  ; *** ENGINEERING Parameters *** 
  KindOf = PROJECTILE 
  Body = ActiveBody ModuleTag_02 
   MaxHealth = 100.0 
   InitialHealth = 100.0 
  End 

  Behavior = DestroyDie ModuleTag_03 
   ;nothing 
  End 

  Behavior = DumbProjectileBehavior ModuleTag_09 
    DetonateCallsKill = Yes 
    FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 
    SecondHeight = 150 
    FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 
    SecondPercentIndent = 90% 
    FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 
  End 

  Behavior = PhysicsBehavior ModuleTag_05 
    Mass = 10 
  End 

  Behavior = HeightDieUpdate ModuleTag_06 
    TargetHeight = 1.0 
    TargetHeightIncludesStructures = Yes 
    OnlyWhenMovingDown = Yes 
    InitialDelay = 1000 
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_07 
    DeathWeapon = PathfinderStrikeOCL 
    StartsActive = Yes 
  End 

Geometry = Sphere 
GeometryIsSmall = Yes 
GeometryMajorRadius = 1.0 

End

;------------------------------------------------------------------------------
Object SA6Missile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
    Model = SA6MISSILE
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Missile
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE SMALL_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End

  Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
    DeathWeapon   = ToxinShellWeapon
    StartsActive  = No                      ; turned on by upgrade
    TriggeredBy   = Upgrade_GLAToxinShells          
    ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma      
  End

  
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_07
    TryToFollowTarget = Yes 
    FuelLifetime = 4000
    InitialVelocity = 150                ; in dist/sec
    IgnitionDelay = 0
    DistanceToTravelBeforeTurning = 30
    IgnitionFX = FX_JetMissileIgnition
  End
  Locomotor = SET_NORMAL SCUDMissileLocomotor


  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPRockets
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  

End

;------------------------------------------------------------------------------
Object Nuke_EF2000NukeBomb

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model = AVBomber_B
    End
  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:FuelAirBomb
  EditorSorting       = SYSTEM
  TransportSlotCount  = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0  
  ShroudClearingRange = 0
  ArmorSet
    Conditions      = None
    Armor           = ProjectileArmor
    DamageFX        = None
  End

  ; *** AUDIO Parameters ***
  
  ; *** ENGINEERING Parameters ***
  KindOf            = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

;  Behavior = CreateObjectDie ModuleTag_03
;    CreationList = SupW_OCL_FuelAirBomb
;  End
  ;Behavior = FXListDie ModuleTag_04
    ;DeathFX = FX_DaisyCutterExplode
    ;DeathFX = HelixNukeBombDetonationWeaponWithAnEvenLongerName
  ;End

; **********************************HERE IT IS, TODD
  Behavior = FireWeaponWhenDeadBehavior ModuleTag998
    DeathWeapon   = HelixNukeBombDetonationWeaponWithAnEvenLongerName
    DeathTypes = ALL
    StartsActive  = Yes
  End;
  Behavior = InstantDeathBehavior ModuleTag_Death02
    DeathTypes          = ALL
  End
     
  Behavior = PhysicsBehavior ModuleTag_05
    Mass                = 75.0
    AerodynamicFriction = 1  ; this is now friction-per-sec
    ForwardFriction     = 33     ; this is now friction-per-sec
    CenterOfMassOffset  = 2  ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
  End
  Behavior = MissileAIUpdate ModuleTag_06
    TryToFollowTarget   = No 
    FuelLifetime        = 0
    IgnitionDelay       = 0
    InitialVelocity     = 0                ; in dist/sec
    DistanceToTravelBeforeTurning = 0
    DistanceToTargetBeforeDiving  = 0
  End
  Behavior = HeightDieUpdate ModuleTag_07
    TargetHeight = 15.0
    TargetHeightIncludesStructures = Yes
  End

  Locomotor = SET_NORMAL AuroraBombLocomotor   ; yes, that's right.
  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  Scale = 0.7

End 

;------------------------------------------------------------------------------
Object NukeSurfacetoSurfaceMissile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    DefaultConditionState
      Model = UVScudLchr_C
    End
    ConditionState = REALLYDAMAGED
      Model = UVScudLchr_C
    End
    ConditionState = JAMMED
      ParticleSysBone = None SparksMedium
    End
    ConditionState = REALLYDAMAGED JAMMED
      Model = Model = UVScudLchr_C
      ParticleSysBone = None SparksMedium
    End
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:NukeSurfaceToSurfaceMissile 
  EditorSorting   = SYSTEM
  VisionRange = 0.0  
  ArmorSet
    Conditions      = None
    ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting
    ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have
    ;*AntiBallisticMissile = Yes set in the Weapon.ini.
    Armor           = BallisticMissileArmor 
    DamageFX        = None
  End

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE BALLISTIC_MISSILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.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.
    ; A projectile is not disabled, but instead loses target and scatters
    SubdualDamageCap = 200
    SubdualDamageHealRate = 100000
    SubdualDamageHealAmount = 50
  End

; ---- begin Projectile death behaviors
  Behavior = InstantDeathBehavior DeathModuleTag_01
    DeathTypes = NONE +DETONATED
    ; we detonated normally.
    ; no FX, just quiet destroy ourselves
  End
  Behavior = InstantDeathBehavior DeathModuleTag_02
    DeathTypes = NONE +LASERED
    ; shot down by laser.
    FX         = FX_GenericMissileDisintegrate
    OCL        = OCL_GenericMissileDisintegrate
  End
  Behavior = InstantDeathBehavior DeathModuleTag_03
    DeathTypes = ALL -LASERED -DETONATED
    ; shot down by nonlaser.
    FX         = FX_GenericMissileDeath
  End
; ---- end Projectile death behaviors
    
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 1
  End
  Behavior = MissileAIUpdate ModuleTag_05
    TryToFollowTarget = No 
    FuelLifetime = 10000
    IgnitionDelay = 0
;   IgnitionFX = FX_ScudStormIgnition ;NOT WORKING
    InitialVelocity = 50                ; in dist/sec
    DistanceToTravelBeforeTurning = 500
    DistanceToTargetBeforeDiving = 500 ; When I hit this close to target, I ignore PreferredHeight.
  End
  Locomotor = SET_NORMAL SCUDMissileLocomotor

  Behavior = WeaponBonusUpgrade ModuleTag_06
    TriggeredBy = Upgrade_GLAAPRockets
  End

  ;Behavior = SpecialPowerCompletionDie ModuleTag_07
    ;SpecialPowerTemplate = SuperweaponNeutronMissile
  ;End

  Behavior = NeutronMissileSlowDeathBehavior ModuleTag_08
    DestructionDelay    = 3501
    ScorchMarkSize      = 360
    FXList              = FX_Nuke
    
    Blast1Enabled       = Yes
    Blast1Delay         = 580     ;in milliseconds
    Blast1ScorchDelay   = 100     ;in milliseconds
    Blast1InnerRadius   = 60.0    ;objects inside this get the full damage
    Blast1OuterRadius   = 60.0    ;objects inside this get some of the full damage
    Blast1MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast1MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast1ToppleSpeed   = 0.5     ;higher #'s topple faster
    Blast1PushForce     = 10.0    ;higher #'s push more
    
    Blast2Enabled       = Yes
    Blast2Delay         = 660    ;in milliseconds
    Blast2ScorchDelay   = 180     ;in milliseconds
    Blast2InnerRadius   = 90.0    ;objects inside this get the full damage
    Blast2OuterRadius   = 90.0    ;objects inside this get some of the full damage
    Blast2MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast2MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast2ToppleSpeed   = 0.45    ;higher #'s topple faster
    Blast2PushForce     = 8.0     ;higher #'s push more
    
    Blast3Enabled       = Yes
    Blast3Delay         = 720    ;in milliseconds
    Blast3ScorchDelay   = 260     ;in milliseconds
    Blast3InnerRadius   = 120.0   ;objects inside this get the full damage
    Blast3OuterRadius   = 120.0   ;objects inside this get some of the full damage
    Blast3MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast3MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast3ToppleSpeed   = 0.42    ;higher #'s topple faster
    Blast3PushForce     = 6.0     ;higher #'s push more

    Blast4Enabled       = Yes
    Blast4Delay         = 850    ;in milliseconds
    Blast4ScorchDelay   = 340     ;in milliseconds
    Blast4InnerRadius   = 150.0   ;objects inside this get the full damage
    Blast4OuterRadius   = 150.0   ;objects inside this get some of the full damage
    Blast4MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast4MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast4ToppleSpeed   = 0.40    ;higher #'s topple faster
    Blast4PushForce     = 6.0     ;higher #'s push more

    Blast5Enabled       = Yes
    Blast5Delay         = 1000    ;in milliseconds
    Blast5ScorchDelay   = 420     ;in milliseconds
    Blast5InnerRadius   = 580.0   ;objects inside this get the full damage
    Blast5OuterRadius   = 580.0   ;objects inside this get some of the full damage
    Blast5MaxDamage     = 0.0     ;damage within inner radius of blast
    Blast5MinDamage     = 0.0     ;always do at least this much damage to objects
    Blast5ToppleSpeed   = 0.38    ;higher #'s topple faster
    Blast5PushForce     = 6.0     ;higher #'s push more
    
    Blast6Enabled       = Yes
    Blast6Delay         = 1180    ;in milliseconds
    Blast6ScorchDelay   = 500     ;in milliseconds
    Blast6InnerRadius   = 310.0    ;objects inside this get the full damage
    Blast6OuterRadius   = 490.0   ;objects inside this get some of the full damage
    Blast6MaxDamage     = 5400.0  ;damage within inner radius of blast
    Blast6MinDamage     = 650.0   ;always do at least this much damage to objects
    Blast6ToppleSpeed   = 0.35    ;higher #'s topple faster
    Blast6PushForce     = 4.0     ;higher #'s push more

    Blast7Enabled       = Yes
    Blast7Delay         = 999999  ;in milliseconds, don't do the damage wave
    Blast7ScorchDelay   = 620     ;in milliseconds
    Blast7OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast8Enabled       = Yes
    Blast8Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast8ScorchDelay   = 700     ;in milliseconds
    Blast8OuterRadius   = 210.0   ;objects inside this get some of the full damage

    Blast9Enabled       = Yes
    Blast9Delay         = 999999  ;in milliseconds, don't do the damage wave    
    Blast9ScorchDelay   = 800     ;in milliseconds
    Blast9OuterRadius   = 210.0   ;objects inside this get some of the full damage
    
    OCL            = MIDPOINT   OCL_NukeRadiationField
  End

  Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake
  GeometryMajorRadius = 4.0
  GeometryHeight = 4.0
  GeometryIsSmall = Yes    
  Scale = 1.10
  Shadow = SHADOW_DECAL
 

End

;------------------------------------------------------------------------------
Object GenericMachineGunProjectile

  ; *** ART Parameters ***
  Draw = W3DModelDraw ModuleTag_01
    ConditionState = NONE
      Model = AVTankShel
    End
  End

  ; ***DESIGN parameters ***
  DisplayName       = OBJECT:TankShell
  EditorSorting     = SYSTEM
  ArmorSet
    Armor = ProjectileArmor
  End
  VisionRange = 0.0  

  ; *** ENGINEERING Parameters ***
  KindOf = PROJECTILE
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 100.0
    InitialHealth   = 100.0
  End

  Behavior = DestroyDie ModuleTag_03
    ;nothing
  End
    
  ;Behavior = DumbProjectileBehavior ModuleTag_04
    ; To tweak a Bezier path, please see GS
    ;FirstHeight = 10  ; Height of Bezier control points above highest intervening terrain
    ;SecondHeight = 10
    ;FirstPercentIndent = 90% ; Percentage of shot distance control points are placed
    ;SecondPercentIndent = 90%
    ;FlightPathAdjustDistPerSecond   = 999999 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag.
  ;End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 0.01   ; we can't have a zero mass, but we want it pretty tiny...
  End

  Behavior = DumbProjectileBehavior ModuleTag_09 
    DetonateCallsKill = Yes 
    FirstHeight = 50 ; Height of Bezier control points above highest intervening terrain 
    SecondHeight = 150 
    FirstPercentIndent = 20% ; Percentage of shot distance control points are placed 
    SecondPercentIndent = 90% 
    FlightPathAdjustDistPerSecond = 0 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. 
  End 

  ;Behavior = PhysicsBehavior ModuleTag_05 
    ;Mass = 10 
  ;End 

  Behavior = HeightDieUpdate ModuleTag_06 
    TargetHeight = 1.0 
    TargetHeightIncludesStructures = Yes 
    OnlyWhenMovingDown = Yes 
    InitialDelay = 1000 
  End

  Geometry = Sphere
  GeometryIsSmall = Yes
  GeometryMajorRadius = 1.0
  Scale = 0.1

End

