[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

/Command and conquer Heure H/Light of five stars/INI/Object/ -> AmericaAir.ini (source)

   1  ;--------------------------------
   2  Object AmericaJetSpectreGunship
   3  
   4    ; *** ART Parameters ***
   5  
   6    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
   7  
   8  
   9  
  10      ;----NORMAL-------------
  11      DefaultConditionState
  12        Model           = AVSGunship
  13        WeaponFireFXBone    = PRIMARY MUZZLE
  14        WeaponFireFXBone    = SECONDARY MUZZLE
  15        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
  16        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
  17      End
  18  
  19      ConditionState    = DOOR_1_OPENING
  20        Model           = AVSGunship                 
  21        Animation       = AVSGunship.AVSGunship    
  22        AnimationMode   = ONCE
  23        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  24        ParticleSysBone = WingTip01 SpectreContrail
  25        ParticleSysBone = WingTip02 SpectreContrail
  26      End
  27  
  28      ConditionState    = DOOR_1_CLOSING
  29        Model           = AVSGunship                 
  30        Animation       = AVSGunship.AVSGunship    
  31        AnimationMode   = ONCE_BACKWARDS
  32        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  33        ParticleSysBone = WingTip01 JetContrailThin
  34        ParticleSysBone = WingTip02 JetContrailThin
  35        ParticleSysBone = Engine01 SpectreAfterburnerTrail
  36        ParticleSysBone = Engine02 SpectreAfterburnerTrail
  37        ParticleSysBone = Engine01 SpectreEngineFlare
  38        ParticleSysBone = Engine02 SpectreEngineFlare
  39      End
  40  
  41  
  42      ;----DAMAGED-------------
  43      ConditionState    = DOOR_1_OPENING DAMAGED
  44        Model           = AVSGunship_D                 
  45        Animation       = AVSGunship_D.AVSGunship_D    
  46        AnimationMode   = ONCE
  47        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  48        ParticleSysBone = WingTip01 SpectreContrail
  49        ParticleSysBone = WingTip02 SpectreContrail
  50        ParticleSysBone = Smoke01 JetFireLarge
  51        ParticleSysBone = Smoke02 JetFireLarge
  52        ParticleSysBone = Smoke01 JetSmokeLarge
  53        ParticleSysBone = Smoke02 JetSmokeLarge
  54      End
  55  
  56      ConditionState    = DOOR_1_CLOSING DAMAGED
  57        Model           = AVSGunship_D                 
  58        Animation       = AVSGunship_D.AVSGunship_D    
  59        AnimationMode   = ONCE_BACKWARDS
  60        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  61        ParticleSysBone = WingTip01 JetContrailThin
  62        ParticleSysBone = WingTip02 JetContrailThin
  63        ParticleSysBone = Engine01 SpectreAfterburnerTrail
  64        ParticleSysBone = Engine02 SpectreAfterburnerTrail
  65        ParticleSysBone = Engine01 SpectreEngineFlare
  66        ParticleSysBone = Engine02 SpectreEngineFlare
  67        ParticleSysBone = Smoke01 JetFireLarge
  68        ParticleSysBone = Smoke02 JetFireLarge
  69        ParticleSysBone = Smoke01 JetSmokeLarge
  70        ParticleSysBone = Smoke02 JetSmokeLarge
  71      End
  72  
  73  
  74      ;----REALLY DAMAGED-------------
  75      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
  76        Model           = AVSGunship_D                 
  77        Animation       = AVSGunship_D.AVSGunship_D    
  78        AnimationMode   = ONCE
  79        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  80        ParticleSysBone = WingTip01 SpectreContrail
  81        ParticleSysBone = WingTip02 SpectreContrail
  82        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
  83        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
  84        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
  85        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
  86        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
  87        ParticleSysBone = Smoke01 JetSmokeLarge
  88        ParticleSysBone = Smoke02 SpectreSmokeLarge
  89        ParticleSysBone = Smoke03 JetSmokeLarge
  90        ParticleSysBone = Smoke04 SpectreSmokeLarge
  91      End
  92  
  93      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
  94        Model           = AVSGunship_D                 
  95        Animation       = AVSGunship_D.AVSGunship_D    
  96        AnimationMode   = ONCE_BACKWARDS
  97        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  98        ParticleSysBone = WingTip01 JetContrailThin
  99        ParticleSysBone = WingTip02 JetContrailThin
 100        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 101        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 102        ParticleSysBone = Engine01 SpectreEngineFlare
 103        ParticleSysBone = Engine02 SpectreEngineFlare
 104        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 105        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 106        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 107        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 108        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 109        ParticleSysBone = Smoke01 JetSmokeLarge
 110        ParticleSysBone = Smoke02 SpectreSmokeLarge
 111        ParticleSysBone = Smoke03 JetSmokeLarge
 112        ParticleSysBone = Smoke04 SpectreSmokeLarge
 113      End
 114  
 115  
 116      ConditionState = RUBBLE
 117        Model           = AVSGunship_D1
 118        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 119        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 120        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 121        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 122        ParticleSysBone = Smoke01 SpectreSmokeLarge
 123        ParticleSysBone = Smoke03 SpectreSmokeLarge
 124        ParticleSysBone = Smoke02 SpectreSmokeLarge
 125        ParticleSysBone = Smoke05 SpectreSmokeLarge
 126      End
 127      AliasConditionState = REALLYDAMAGED RUBBLE
 128      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
 129      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
 130    
 131  
 132  
 133     OkToChangeModelColor = Yes
 134  
 135     ParticlesAttachedToAnimatedBones = Yes 
 136  
 137  
 138   End
 139  
 140  
 141  
 142    ; ***DESIGN parameters ***
 143    DisplayName         = OBJECT:SpectreGunship
 144    EditorSorting       = VEHICLE
 145    Side                = America
 146    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 147    VisionRange         = 300.0 
 148    ShroudClearingRange = 300
 149    Prerequisites
 150      Object = AmericaAirfield
 151    End
 152  
 153    ArmorSet
 154      Conditions      = None
 155      Armor           = SpectreGunshipArmor
 156      DamageFX        = None
 157    End
 158    ArmorSet
 159      Conditions            = PLAYER_UPGRADE
 160      Armor                 = CountermeasuresSpectreGunshipArmor
 161      DamageFX              = None
 162    End
 163  
 164  
 165    WeaponSet
 166      Conditions          = None 
 167      Weapon              = PRIMARY   SpectreHowitzerGun
 168    End
 169  
 170    ExperienceValue = 50 100 150 400    ;Experience point value at each level
 171    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
 172    IsTrainable = No             ;Not Player built, so no veterancy..............................
 173  
 174    ; *** AUDIO Parameters ***
 175    VoiceSelect         = SpectreGunshipVoiceSelect
 176    VoiceAttack         = SpectreGunshipVoiceAttack
 177    VoiceMove         = SpectreGunshipVoiceMove
 178    SoundAmbient = SpectreGunshipAmbientLoop
 179    SoundAmbientRubble    = NoSound
 180    UnitSpecificSounds
 181      Afterburner    = SpectreGunshipAfterburnerLoop
 182      HowitzerFire   = SpectreHowitzerWeapon
 183    End
 184  
 185  
 186    ; *** ENGINEERING Parameters ***
 187    RadarPriority = UNIT
 188    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
 189  
 190    Body = ActiveBody ModuleTag_03
 191      MaxHealth       = 1000.0
 192      InitialHealth   = 1000.0
 193    End
 194  
 195    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
 196  
 197    Behavior                          = JetSlowDeathBehavior ModuleTag_04
 198      DestructionDelay                = 99999999  ; destruction will happen when we
 199      RollRate                        = 0.0
 200      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
 201      PitchRate                       = 0.0
 202      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 203      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
 204      OCLInitialDeath                 = None
 205      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
 206      FXSecondary                     = FX_spectreDeathExplosion
 207      OCLSecondary                    = None
 208      FXHitGround                     = FX_spectreGunshipDeathExplosion
 209      OCLHitGround                    = OCL_A10DeathHitGround
 210      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
 211    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
 212      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
 213    End
 214  
 215    Behavior = PhysicsBehavior ModuleTag_05
 216      Mass = 500.0
 217    End
 218  
 219    ;SCRIPTED SUPPORT: These special power is triggered directly 
 220    ;from the transport without creating a transport. This is done 
 221    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
 222    ;which also prevents creating the payload transport.
 223  
 224    Behavior = AIUpdateInterface ModuleTag_07
 225      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
 226    End
 227    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
 228    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
 229  
 230    Behavior = SpecialAbility ModuleTag_32 
 231      SpecialPowerTemplate = SuperweaponSpectreGunship
 232      UpdateModuleStartsAttack = Yes
 233    End
 234  
 235  
 236    Behavior = SpectreGunshipUpdate ModuleTag_10
 237      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
 238      SpecialPowerTemplate            = SuperweaponSpectreGunship
 239      HowitzerWeaponTemplate          = SpectreHowitzerGun
 240      GattlingTemplateName            = SpectreGunshipGattlingCannon 
 241      RandomOffsetForHowitzer = 20     
 242      TargetingReticleRadius  = 25
 243      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
 244      GunshipOrbitRadius      = 250
 245      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
 246      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
 247      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
 248      AttackAreaRadius        = 200
 249      OrbitTime               = 15000 ;20000 ;32000 ; thirty-two seconds
 250  
 251      AttackAreaDecal
 252        Texture           = SCCSpecTarg
 253        Style             = SHADOW_ALPHA_DECAL
 254        OpacityMin        = 25%
 255        OpacityMax        = 50%
 256        OpacityThrobTime  = 1500
 257        Color             = R:127 G:177 B:222 A:255 
 258        OnlyVisibleToOwningPlayer = Yes
 259      End
 260      TargetingReticleDecal
 261        Texture           = SCCSpecRet
 262        Style             = SHADOW_ALPHA_DECAL
 263        OpacityMin        = 50%
 264        OpacityMax        = 100%
 265        OpacityThrobTime  = 300
 266        Color             = R:127 G:177 B:222 A:255 
 267        OnlyVisibleToOwningPlayer = Yes
 268      End
 269    End
 270  
 271  
 272  
 273  
 274  
 275    Behavior = HelixContain ModuleTag_09
 276      Slots                     = 1
 277      DamagePercentToUnits      = 100%
 278      AllowInsideKindOf         = PORTABLE_STRUCTURE
 279      PassengersAllowedToFire   = Yes
 280      ShouldDrawPips            = No
 281    End
 282  
 283  
 284    Behavior = FlammableUpdate ModuleTag_08
 285      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 286      AflameDamageAmount = 3       ; taking this much damage...
 287      AflameDamageDelay = 500       ; this often.
 288    End
 289  
 290    Behavior                = ArmorUpgrade ModuleTag_Armor01
 291      TriggeredBy           = Upgrade_AmericaCountermeasures
 292    End
 293  
 294    Behavior                = CountermeasuresBehavior ModuleTag_11
 295      TriggeredBy           = Upgrade_AmericaCountermeasures
 296      FlareTemplateName     = CountermeasureFlare
 297      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 298      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
 299      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 300      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
 301      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 302      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
 303      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 304      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 305      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 306      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 307    End
 308  
 309  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
 310  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
 311    
 312  
 313    Geometry = Box
 314    GeometryIsSmall = No
 315    GeometryMajorRadius = 40.0
 316    GeometryMinorRadius = 10.0
 317    GeometryHeight = 10.0
 318    Shadow = SHADOW_VOLUME
 319    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 320  
 321  End
 322  ;--------------------------------
 323  ;------------------------------------------------------------------------------
 324  Object SpectreGunshipGattlingCannon
 325  
 326    ; *** ART Parameters ***
 327    Draw                    = W3DDependencyModelDraw ModuleTag_01
 328      OkToChangeModelColor  = Yes
 329      AttachToBoneInContainer = CHASIS
 330  
 331      DefaultConditionState
 332        Model               = AVSGUNSHIP_GUN
 333        TurretPitch         = TURRETEL01
 334        WeaponFireFXBone    = PRIMARY Muzzle
 335        WeaponFireFXBone    = SECONDARY Muzzle
 336        WeaponMuzzleFlash   = PRIMARY MuzzleFX
 337        WeaponMuzzleFlash   = SECONDARY MuzzleFX
 338      End
 339  
 340    End
 341  
 342    ; ***DESIGN parameters ***
 343    Side             = China
 344    EditorSorting    = SYSTEM
 345    TransportSlotCount = 1
 346    WeaponSet
 347      Conditions          = None 
 348      Weapon              = PRIMARY   SpectreGattlingGun
 349    End
 350    
 351    ArmorSet
 352      Conditions     = None
 353      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Overlord with his damage module
 354    End
 355    VisionRange     = 200
 356  
 357    ; *** AUDIO Parameters ***
 358    UnitSpecificSounds
 359      TurretMoveStart = NoSound
 360      TurretMoveLoop  = NoSound ;TurretMoveLoop
 361      VoiceRapidFire  = NoSound
 362    End
 363  
 364    ; *** ENGINEERING Parameters ***
 365    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI
 366      Body            = StructureBody ModuleTag_02
 367      MaxHealth       = 100.0
 368      InitialHealth   = 100.0
 369    End
 370  
 371    Behavior = AIUpdateInterface ModuleTag_03
 372      Turret
 373        ControlledWeaponSlots = PRIMARY 
 374        TurretTurnRate      = 160   // turn rate, in degrees per sec
 375        TurretPitchRate     = 160
 376        AllowsPitch         = Yes
 377      End
 378      AutoAcquireEnemiesWhenIdle = No 
 379    End
 380  
 381    Behavior             = DestroyDie ModuleTag_04
 382      ;nothing
 383    End
 384  
 385    Geometry            = BOX
 386    GeometryMajorRadius = 20.0
 387    GeometryMinorRadius = 3.0
 388    GeometryHeight      = 3.0
 389    GeometryIsSmall     = No      
 390    Shadow              = NONE
 391  
 392  End
 393  
 394  ;------------------------------------------------------------------------------
 395  Object SpectreGunshipHowitzer
 396  
 397    ; *** ART Parameters ***
 398    Draw                    = W3DModelDraw ModuleTag_01
 399      OkToChangeModelColor  = Yes
 400  
 401      DefaultConditionState
 402        Model               = AVSGUNSHIP_GHOW
 403        TurretPitch         = TURRETEL01
 404        WeaponFireFXBone    = PRIMARY Muzzle
 405        WeaponFireFXBone    = SECONDARY Muzzle
 406        WeaponMuzzleFlash   = PRIMARY MuzzleFX
 407        WeaponMuzzleFlash   = SECONDARY MuzzleFX
 408      End
 409  
 410    End
 411  
 412    ; ***DESIGN parameters ***
 413    Side             = China
 414    EditorSorting    = SYSTEM
 415    TransportSlotCount = 1
 416    WeaponSet
 417      Conditions          = None 
 418      Weapon              = PRIMARY   SpectreHowitzerGun
 419    End
 420    
 421    ArmorSet
 422      Conditions     = None
 423      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Overlord with his damage module
 424    End
 425    VisionRange     = 200
 426  
 427    ; *** AUDIO Parameters ***
 428    UnitSpecificSounds
 429      TurretMoveStart = NoSound
 430      TurretMoveLoop  = NoSound ;TurretMoveLoop
 431      VoiceRapidFire  = NoSound
 432    End
 433  
 434    ; *** ENGINEERING Parameters ***
 435    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI
 436      Body            = StructureBody ModuleTag_02
 437      MaxHealth       = 100.0
 438      InitialHealth   = 100.0
 439    End
 440  
 441    Behavior = AIUpdateInterface ModuleTag_03
 442      Turret
 443        ControlledWeaponSlots = PRIMARY SECONDARY
 444        TurretTurnRate      = 60   // turn rate, in degrees per sec
 445        TurretPitchRate     = 60
 446        AllowsPitch         = Yes
 447      End
 448      AutoAcquireEnemiesWhenIdle = No 
 449    End
 450  
 451    Behavior             = DestroyDie ModuleTag_04
 452      ;nothing
 453    End
 454  
 455    Behavior = StealthDetectorUpdate ModuleTag_06
 456      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
 457      ;DetectionRange = ??? ;   Defaults to VisionRange
 458      CanDetectWhileContained   = Yes
 459    End
 460  
 461    Geometry            = BOX
 462    GeometryMajorRadius = 13.0
 463    GeometryMinorRadius = 13.0
 464    GeometryHeight      = 8.0
 465    GeometryIsSmall     = No      
 466    Shadow              = NONE
 467  
 468  End
 469  
 470  
 471  
 472  
 473  
 474  
 475  
 476  
 477  
 478  ;------------------------------------------------------------------------------
 479  Object AmericaJetRaptor
 480  
 481    ; *** ART Parameters ***
 482    SelectPortrait         = T21
 483    ButtonImage            = T21
 484    
 485    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
 486    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
 487    UpgradeCameo3 = Upgrade_AmericaCountermeasures
 488    ;UpgradeCameo4 = NONE
 489    ;UpgradeCameo5 = NONE
 490    
 491    Draw                   = W3DModelDraw ModuleTag_01
 492   
 493      DefaultConditionState
 494        Model               = avf16
 495        HideSubObject       = BurnerFX01 BurnerFX02
 496        WeaponLaunchBone = PRIMARY WeaponA
 497      End
 498  
 499      ConditionState        = JETEXHAUST
 500        ; exhaust
 501        ParticleSysBone     = Wingtip01 JetContrail
 502        ParticleSysBone     = Wingtip02 JetContrail
 503      End
 504  
 505      ConditionState        = JETEXHAUST JETAFTERBURNER
 506        ; exhaust
 507        ParticleSysBone     = Wingtip01 JetContrail
 508        ParticleSysBone     = Wingtip02 JetContrail
 509        ; afterburner
 510        ShowSubObject       = BurnerFX01 BurnerFX02
 511        ParticleSysBone     = Engine01 JetLenzflare
 512        ParticleSysBone     = Engine02 JetLenzflare
 513      End
 514  
 515      ConditionState        = REALLYDAMAGED
 516        Model               = avf16
 517        ; damage
 518        ParticleSysBone     = Smoke01 JetSmoke
 519        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 520      End
 521      
 522      ConditionState        = REALLYDAMAGED JETEXHAUST
 523        Model               = avf16
 524        ; damage
 525        ParticleSysBone     = Smoke01 JetSmoke
 526        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 527        ; exhaust
 528        ParticleSysBone     = Wingtip01 JetContrail
 529        ParticleSysBone     = Wingtip02 JetContrail
 530      End
 531  
 532      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
 533        Model               = avf16
 534        ; damage
 535        ParticleSysBone     = Smoke01 JetSmoke
 536        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 537        ; afterburner
 538        ShowSubObject       = BurnerFX01 BurnerFX02
 539        ParticleSysBone     = Engine01 JetLenzflare
 540        ParticleSysBone     = Engine02 JetLenzflare
 541        ; exhaust
 542        ParticleSysBone     = Wingtip01 JetContrail
 543        ParticleSysBone     = Wingtip02 JetContrail
 544      End
 545  
 546      ConditionState        = RUBBLE
 547        Model               = avf16
 548        HideSubObject       = None 
 549        ShowSubObject       = None
 550      End
 551  
 552      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
 553        Model               = avf16
 554        ;HideSubObject is needed cause there're inherited from default condition state      
 555        HideSubObject       = None 
 556        ShowSubObject       = None
 557        ParticleSysBone     = Engine01 JetExhaust
 558        ParticleSysBone     = Engine02 JetExhaust
 559        ; exhaust
 560        ParticleSysBone     = Wingtip01 JetContrail
 561        ParticleSysBone     = Wingtip02 JetContrail
 562      End
 563  
 564      OkToChangeModelColor = Yes
 565  
 566    End
 567  
 568    ; ***DESIGN parameters ***
 569    DisplayName             = OBJECT:Raptor
 570    EditorSorting           = VEHICLE
 571    Side                    = America
 572    TransportSlotCount      = 0 ;how many "slots" we take in a transport (0 == not transportable)
 573    VisionRange             = 200.0 
 574    ShroudClearingRange     = 400
 575    Prerequisites
 576      Object                = AmericaAirfield
 577    End
 578  
 579    WeaponSet
 580      Conditions            = None 
 581      Weapon                = PRIMARY RaptorJetMissileWeapon
 582    End
 583    WeaponSet
 584      Conditions            = PLAYER_UPGRADE 
 585      Weapon                = PRIMARY RaptorJetLaserGuidedMissileWeapon
 586    End
 587    ArmorSet
 588      Conditions            = None
 589      Armor                 = AirplaneArmor
 590      DamageFX              = None
 591    End
 592    ArmorSet
 593      Conditions            = PLAYER_UPGRADE
 594      Armor                 = CountermeasuresAirplaneArmor
 595      DamageFX              = None
 596    End
 597  
 598  
 599    BuildCost               = 1400
 600    BuildTime               = 20   
 601    ExperienceValue         = 50 50 100 150  ;Experience point value at each level
 602    ExperienceRequired      = 0 100 200 400   ;Experience points needed to gain each level
 603    IsTrainable             = Yes             ;Can gain experience
 604    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 605    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 606    CommandSet              = AmericaJetRaptorCommandSet
 607  
 608    ; *** AUDIO Parameters ***
 609    VoiceSelect            = RaptorVoiceSelect
 610    VoiceMove              = RaptorVoiceMove
 611    VoiceAttack            = RaptorVoiceAttack
 612    VoiceAttackAir         = RaptorVoiceAttackAir
 613    VoiceGuard             = RaptorVoiceAirPatrol
 614    SoundAmbient           = RaptorAmbientLoop
 615    SoundAmbientRubble     = NoSound
 616    ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
 617    ; SoundAmbient           = NoSound
 618    UnitSpecificSounds
 619      VoiceCreate          = RaptorVoiceCreate
 620      SoundEject           = PilotSoundEject
 621      VoiceEject           = PilotVoiceEject
 622      Afterburner          = RaptorAfterburner
 623      VoiceLowFuel         = RaptorVoiceLowFuel
 624      VoiceGarrison        = RaptorVoiceMove
 625    End
 626  
 627    ; *** ENGINEERING Parameters ***
 628    RadarPriority          = UNIT
 629    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
 630    Body                   = ActiveBody ModuleTag_02
 631      MaxHealth            = 160.0
 632      InitialHealth        = 160.0
 633    End
 634  
 635    Behavior                = WeaponSetUpgrade ModuleTag_03
 636      TriggeredBy           = Upgrade_AmericaLaserMissiles
 637    End
 638    Behavior                = ArmorUpgrade ModuleTag_Armor01
 639      TriggeredBy           = Upgrade_AmericaCountermeasures
 640    End
 641  
 642    Behavior                = CountermeasuresBehavior ModuleTag_10
 643      TriggeredBy           = Upgrade_AmericaCountermeasures
 644      FlareTemplateName     = CountermeasureFlare
 645      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 646      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
 647      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 648      VolleyVelocityFactor  = 1.0   ; Shoots out flares at a stronger velocity with a higher value.
 649      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 650      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
 651      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 652      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 653      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 654      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 655    End
 656  
 657    Behavior = ExperienceScalarUpgrade ModuleTag_04
 658      TriggeredBy = Upgrade_AmericaAdvancedTraining
 659      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 660    End
 661  
 662    Behavior                          = JetSlowDeathBehavior ModuleTag_05
 663      FXOnGroundDeath                 = FX_JetOnGroundDeath
 664      OCLOnGroundDeath                = OCL_RaptorDeathFinalBlowUp
 665      DestructionDelay                = 99999999; destruction will happen when we
 666      RollRate                        = 0.2
 667      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
 668      PitchRate                       = 0.0
 669      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 670      FXInitialDeath                  = FX_RaptorDeathInitial
 671      OCLInitialDeath                 = OCL_RaptorDeathInitial
 672      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
 673      FXSecondary                     = FX_JetDeathSecondary
 674      OCLSecondary                    = OCL_RaptorDeathSecondary
 675      FXHitGround                     = FX_JetDeathHitGround
 676      OCLHitGround                    = OCL_RaptorDeathHitGround
 677      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
 678      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
 679      OCLFinalBlowUp                  = OCL_RaptorDeathFinalBlowUp
 680  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
 681    End
 682    Behavior                    = EjectPilotDie ModuleTag_06
 683      ExemptStatus         = HIJACKED
 684      GroundCreationList = OCL_EjectPilotOnGround
 685      AirCreationList = OCL_EjectPilotViaParachute
 686      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
 687    End
 688    
 689    Behavior               = PhysicsBehavior ModuleTag_07
 690      Mass                 = 500.0
 691    End
 692  
 693    Behavior                 = TransitionDamageFX ModuleTag_08
 694      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
 695      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
 696    End
 697  
 698    Behavior = JetAIUpdate ModuleTag_09
 699      OutOfAmmoDamagePerSecond  = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
 700                                      ; note that it's expressed as a percent of max health, not an absolute
 701      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
 702      TakeoffPause              = 500
 703      MinHeight                 = 5
 704      ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
 705      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
 706    End
 707    Locomotor = SET_NORMAL RaptorJetLocomotor
 708    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
 709  
 710    Behavior = FlammableUpdate ModuleTag_21
 711      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 712      AflameDamageAmount = 3       ; taking this much damage...
 713      AflameDamageDelay = 500       ; this often.
 714    End
 715  
 716  
 717    Geometry                 = Box
 718    GeometryIsSmall          = Yes
 719    GeometryMajorRadius      = 14.0
 720    GeometryMinorRadius      = 7.0
 721    GeometryHeight           = 5.0
 722    Shadow                   = SHADOW_VOLUME
 723    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length.
 724  
 725  End
 726  
 727  
 728  ;------------------------------------------------------------------------------
 729  Object AmericaJetAircraftCarrierRaptor
 730  
 731    ; *** ART Parameters ***
 732    SelectPortrait         = SACRaptor_L
 733    ButtonImage            = SACRaptor
 734    
 735    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
 736    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
 737    UpgradeCameo3 = Upgrade_AmericaCountermeasures
 738    ;UpgradeCameo4 = NONE
 739    ;UpgradeCameo5 = NONE
 740    
 741    Draw                   = W3DModelDraw ModuleTag_01
 742   
 743      DefaultConditionState
 744        Model               = AVRaptor
 745        HideSubObject       = BurnerFX01 BurnerFX02
 746        WeaponLaunchBone = PRIMARY WeaponA
 747      End
 748  
 749      ConditionState        = JETEXHAUST
 750        ; exhaust
 751        ParticleSysBone     = Wingtip01 JetContrail
 752        ParticleSysBone     = Wingtip02 JetContrail
 753      End
 754  
 755      ConditionState        = JETEXHAUST JETAFTERBURNER
 756        ; exhaust
 757        ParticleSysBone     = Wingtip01 JetContrail
 758        ParticleSysBone     = Wingtip02 JetContrail
 759        ; afterburner
 760        ShowSubObject       = BurnerFX01 BurnerFX02
 761        ParticleSysBone     = Engine01 JetLenzflare
 762        ParticleSysBone     = Engine02 JetLenzflare
 763      End
 764  
 765      ConditionState        = REALLYDAMAGED
 766        Model               = AVRaptor_D
 767        ; damage
 768        ParticleSysBone     = Smoke01 JetSmoke
 769        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 770      End
 771      
 772      ConditionState        = REALLYDAMAGED JETEXHAUST
 773        Model               = AVRaptor_D
 774        ; damage
 775        ParticleSysBone     = Smoke01 JetSmoke
 776        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 777        ; exhaust
 778        ParticleSysBone     = Wingtip01 JetContrail
 779        ParticleSysBone     = Wingtip02 JetContrail
 780      End
 781  
 782      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
 783        Model               = AVRaptor_D
 784        ; damage
 785        ParticleSysBone     = Smoke01 JetSmoke
 786        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 787        ; afterburner
 788        ShowSubObject       = BurnerFX01 BurnerFX02
 789        ParticleSysBone     = Engine01 JetLenzflare
 790        ParticleSysBone     = Engine02 JetLenzflare
 791        ; exhaust
 792        ParticleSysBone     = Wingtip01 JetContrail
 793        ParticleSysBone     = Wingtip02 JetContrail
 794      End
 795  
 796      ConditionState        = RUBBLE
 797        Model               = AVRaptor_D1B
 798        HideSubObject       = None 
 799        ShowSubObject       = None
 800      End
 801  
 802      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
 803        Model               = AVRaptor_D1B
 804        ;HideSubObject is needed cause there're inherited from default condition state      
 805        HideSubObject       = None 
 806        ShowSubObject       = None
 807        ParticleSysBone     = Engine01 JetExhaust
 808        ParticleSysBone     = Engine02 JetExhaust
 809        ; exhaust
 810        ParticleSysBone     = Wingtip01 JetContrail
 811        ParticleSysBone     = Wingtip02 JetContrail
 812      End
 813  
 814      OkToChangeModelColor = Yes
 815  
 816    End
 817  
 818    ; ***DESIGN parameters ***
 819    DisplayName             = OBJECT:Raptor
 820    EditorSorting           = VEHICLE
 821    Side                    = America
 822    TransportSlotCount      = 0 ;how many "slots" we take in a transport (0 == not transportable)
 823    VisionRange             = 180.0 
 824    ShroudClearingRange     = 400
 825  
 826    WeaponSet
 827      Conditions            = None 
 828      Weapon                = PRIMARY AircraftCarrierRaptorJetMissileWeapon
 829    End
 830    WeaponSet
 831      Conditions            = PLAYER_UPGRADE 
 832      Weapon                = PRIMARY AircraftCarrierRaptorJetLaserGuidedMissileWeapon
 833    End
 834    ArmorSet
 835      Conditions            = None
 836      Armor                 = AirplaneArmor
 837      DamageFX              = None
 838    End
 839    ArmorSet
 840      Conditions            = PLAYER_UPGRADE
 841      Armor                 = CountermeasuresAirplaneArmor
 842      DamageFX              = None
 843    End
 844  
 845  
 846    BuildCost               = 0
 847    BuildTime               = 4   
 848    ExperienceValue         = 50 50 100 150  ;Experience point value at each level
 849    ExperienceRequired      = 0 100 200 400   ;Experience points needed to gain each level
 850    IsTrainable             = Yes             ;Can gain experience
 851    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 852    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 853    CommandSet              = AmericaJetRaptorCommandSet
 854  
 855    ; *** AUDIO Parameters ***
 856    VoiceSelect            = RaptorVoiceSelect
 857    VoiceMove              = RaptorVoiceMove
 858    VoiceAttack            = RaptorVoiceAttack
 859    VoiceAttackAir         = RaptorVoiceAttackAir
 860    VoiceGuard             = RaptorVoiceAirPatrol
 861    SoundAmbient           = RaptorAmbientLoop
 862    SoundAmbientRubble     = NoSound
 863    ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
 864    ; SoundAmbient           = NoSound
 865    UnitSpecificSounds
 866      VoiceCreate          = NoSound
 867      SoundEject           = PilotSoundEject
 868      VoiceEject           = PilotVoiceEject
 869      Afterburner          = RaptorAfterburner
 870      VoiceLowFuel         = RaptorVoiceLowFuel
 871      VoiceGarrison        = RaptorVoiceMove
 872    End
 873  
 874    ; *** ENGINEERING Parameters ***
 875    RadarPriority          = UNIT
 876    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT
 877    Body                   = ActiveBody ModuleTag_02
 878      MaxHealth            = 160.0
 879      InitialHealth        = 160.0
 880    End
 881  
 882    Behavior                = WeaponSetUpgrade ModuleTag_03
 883      TriggeredBy           = Upgrade_AmericaLaserMissiles
 884    End
 885    Behavior                = ArmorUpgrade ModuleTag_Armor01
 886      TriggeredBy           = Upgrade_AmericaCountermeasures
 887    End
 888  
 889    Behavior                = CountermeasuresBehavior ModuleTag_10
 890      TriggeredBy           = Upgrade_AmericaCountermeasures
 891      FlareTemplateName     = CountermeasureFlare
 892      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 893      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
 894      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 895      VolleyVelocityFactor  = 1.0   ; Shoots out flares at a stronger velocity with a higher value.
 896      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 897      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
 898      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 899      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 900      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 901      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 902    End
 903  
 904    Behavior = ExperienceScalarUpgrade ModuleTag_04
 905      TriggeredBy = Upgrade_AmericaAdvancedTraining
 906      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 907    End
 908  
 909    Behavior                          = JetSlowDeathBehavior ModuleTag_05
 910      FXOnGroundDeath                 = FX_JetOnGroundDeath
 911      OCLOnGroundDeath                = OCL_RaptorDeathFinalBlowUp
 912      DestructionDelay                = 99999999; destruction will happen when we
 913      RollRate                        = 0.2
 914      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
 915      PitchRate                       = 0.0
 916      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 917      FXInitialDeath                  = FX_RaptorDeathInitial
 918      OCLInitialDeath                 = OCL_RaptorDeathInitial
 919      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
 920      FXSecondary                     = FX_JetDeathSecondary
 921      OCLSecondary                    = OCL_RaptorDeathSecondary
 922      FXHitGround                     = FX_JetDeathHitGround
 923      OCLHitGround                    = OCL_RaptorDeathHitGround
 924      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
 925      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
 926      OCLFinalBlowUp                  = OCL_RaptorDeathFinalBlowUp
 927  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
 928    End
 929    Behavior                    = EjectPilotDie ModuleTag_06
 930      ExemptStatus         = HIJACKED
 931      GroundCreationList = OCL_EjectPilotOnGround
 932      AirCreationList = OCL_EjectPilotViaParachute
 933      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
 934    End
 935    
 936    Behavior               = PhysicsBehavior ModuleTag_07
 937      Mass                 = 500.0
 938    End
 939  
 940    Behavior                 = TransitionDamageFX ModuleTag_08
 941      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
 942      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
 943    End
 944  
 945    Behavior = JetAIUpdate ModuleTag_09
 946      OutOfAmmoDamagePerSecond  = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
 947                                      ; note that it's expressed as a percent of max health, not an absolute
 948      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
 949      TakeoffPause              = 500
 950      MinHeight                 = 5
 951      ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
 952      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
 953      AutoAcquireEnemiesWhenIdle = YES ATTACK_BUILDINGS
 954    End
 955    Locomotor = SET_NORMAL RaptorJetLocomotor
 956    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
 957  
 958    Behavior = FlammableUpdate ModuleTag_21
 959      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 960      AflameDamageAmount = 3       ; taking this much damage...
 961      AflameDamageDelay = 500       ; this often.
 962    End
 963  
 964  
 965    Geometry                 = Box
 966    GeometryIsSmall          = Yes
 967    GeometryMajorRadius      = 14.0
 968    GeometryMinorRadius      = 7.0
 969    GeometryHeight           = 5.0
 970    Shadow                   = SHADOW_VOLUME
 971    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length.
 972  
 973  End
 974  
 975  
 976  
 977  
 978  
 979  
 980  
 981  ;------------------------------------------------------------------------------
 982  Object AmericaJetB52
 983  
 984    ; *** ART Parameters ***
 985    Draw = W3DModelDraw ModuleTag_01
 986      DefaultConditionState
 987        Model = AVBomber
 988        ParticleSysBone = Engine00 JetBlackTrailThin
 989        ParticleSysBone = Engine02 JetBlackTrailThin
 990        ParticleSysBone = Engine03 JetBlackTrailThin
 991        ParticleSysBone = Engine04 JetBlackTrailThin
 992        ParticleSysBone = WingTip01 JetContrailThin
 993        ParticleSysBone = WingTip02 JetContrailThin
 994      End
 995      ConditionState = DAMAGED
 996        Model = AVBomber_D
 997        ParticleSysBone = Smoke01 JetFireLarge
 998        ParticleSysBone = Smoke02 JetFireLarge
 999        ParticleSysBone = Engine00 JetBlackTrailThin
1000        ParticleSysBone = Engine02 JetBlackTrailThin
1001        ParticleSysBone = Engine03 JetBlackTrailThin
1002        ParticleSysBone = Engine04 JetBlackTrailThin
1003        ParticleSysBone = Smoke01 JetSmokeLarge
1004        ParticleSysBone = Smoke02 JetSmokeLarge
1005      End
1006      ConditionState = REALLYDAMAGED
1007        Model = AVBomber_D
1008        ParticleSysBone = Smoke01 JetFireLarge
1009        ParticleSysBone = Smoke02 JetFireLarge
1010        ParticleSysBone = Engine00 JetBlackTrailThin
1011        ParticleSysBone = Engine02 JetBlackTrailThin
1012        ParticleSysBone = Engine03 JetBlackTrailThin
1013        ParticleSysBone = Engine04 JetBlackTrailThin
1014        ParticleSysBone = Smoke01 JetSmokeLarge
1015        ParticleSysBone = Smoke02 JetSmokeLarge
1016      End
1017      ConditionState = RUBBLE
1018        Model = AVBomber_D1
1019        ParticleSysBone = Smoke01 JetFireLarge
1020        ParticleSysBone = Smoke02 JetFireLarge
1021        ParticleSysBone = Smoke01 JetSmokeLarge
1022        ParticleSysBone = Smoke02 JetSmokeLarge
1023      End
1024      OkToChangeModelColor = Yes
1025    End
1026    
1027    Draw = W3DModelDraw ModuleTag_02
1028      DefaultConditionState
1029        Model           = AVBomber_A2U
1030        Animation       = AVBomber_A2K.AVBomber_A2
1031        AnimationMode   = MANUAL
1032        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1033      End
1034      ConditionState = DOOR_1_OPENING
1035        Animation       = AVBomber_A2K.AVBomber_A2
1036        AnimationMode   = ONCE
1037        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1038      End
1039      ConditionState = DOOR_1_CLOSING
1040        Animation       = AVBomber_A2K.AVBomber_A2
1041        AnimationMode   = ONCE_BACKWARDS
1042        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1043      End
1044  
1045      ConditionState = REALLYDAMAGED
1046        Model           = AVBomber_A2DU
1047        Animation       = AVBomber_A2K.AVBomber_A2
1048        AnimationMode   = MANUAL
1049        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1050      End
1051      ConditionState = DOOR_1_OPENING REALLYDAMAGED
1052        Model           = AVBomber_A2DU
1053        Animation       = AVBomber_A2K.AVBomber_A2
1054        AnimationMode   = ONCE
1055        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1056      End
1057      ConditionState = DOOR_1_CLOSING REALLYDAMAGED
1058        Model           = AVBomber_A2DU
1059        Animation       = AVBomber_A2K.AVBomber_A2
1060        AnimationMode   = ONCE_BACKWARDS
1061        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1062      End
1063    End
1064  
1065    ; ***DESIGN parameters ***
1066    DisplayName         = OBJECT:B52
1067    EditorSorting       = VEHICLE
1068    Side                = America
1069    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1070    VisionRange         = 0.0 
1071    ArmorSet
1072      Conditions      = None
1073      Armor           = AirplaneArmor
1074      DamageFX        = TankDamageFX
1075    End
1076    ArmorSet
1077      Conditions            = PLAYER_UPGRADE
1078      Armor                 = CountermeasuresAirplaneArmor
1079      DamageFX              = None
1080    End
1081    CommandSet        = Command_ScriptedTransportDrops
1082  
1083    ; *** AUDIO Parameters ***
1084    SoundAmbient = B52AmbientLoop
1085    SoundAmbientRubble    = NoSound
1086  
1087    ; *** ENGINEERING Parameters ***
1088    RadarPriority = UNIT
1089    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK  VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED
1090    Body = ActiveBody ModuleTag_03
1091      MaxHealth       = 1000.0
1092      InitialHealth   = 1000.0
1093    End
1094  
1095    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
1096  
1097    ;SCRIPTED SUPPORT: These special powers are triggered directly 
1098    ;from the transport without creating a transport. This is done 
1099    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
1100    ;which also prevents creating the payload transport.
1101    Behavior    = OCLSpecialPower ModuleTag_04
1102      SpecialPowerTemplate = SuperweaponDaisyCutter  ;@@KRIS@@
1103      OCL                  = SUPERWEAPON_DaisyCutter
1104      CreateLocation       = USE_OWNER_OBJECT
1105      ScriptedSpecialPowerOnly = Yes
1106    End
1107    Behavior    = OCLSpecialPower ModuleTag_05
1108      SpecialPowerTemplate = SuperweaponParadropAmerica
1109      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
1110      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
1111      OCL                  = SUPERWEAPON_Paradrop1
1112      CreateLocation       = USE_OWNER_OBJECT
1113      ScriptedSpecialPowerOnly = Yes
1114    End 
1115    Behavior    = OCLSpecialPower ModuleTag_06
1116      SpecialPowerTemplate = SuperweaponCarpetBomb
1117      OCL                  = SUPERWEAPON_CarpetBomb
1118      CreateLocation       = USE_OWNER_OBJECT
1119      ScriptedSpecialPowerOnly = Yes
1120    End 
1121     
1122    Behavior = PhysicsBehavior ModuleTag_07
1123      Mass = 500.0
1124    End
1125  
1126    Behavior = DeliverPayloadAIUpdate ModuleTag_08
1127      DoorDelay         = 500
1128      MaxAttempts       = 4
1129      DropOffset        = X:0 Y:0 Z:-10
1130      DropDelay         = 300     ; time in between each item dropped (if more than one)
1131      PutInContainer    = AmericaParachute
1132      DeliveryDistance  = 150
1133    End
1134    Locomotor = SET_NORMAL B52Locomotor
1135  
1136    Behavior = TransportContain ModuleTag_09
1137      Slots                       = 100                     ; hey, it's a BIG transport
1138      ScatterNearbyOnExit         = No
1139      OrientLikeContainerOnExit   = Yes
1140      KeepContainerVelocityOnExit = Yes
1141      ExitPitchRate               = 30
1142      ExitBone                    = WeaponA01
1143      AllowInsideKindOf           = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
1144      DoorOpenTime                = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
1145      NumberOfExitPaths           = 0
1146      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
1147    End
1148      
1149    Behavior                          = JetSlowDeathBehavior ModuleTag_10
1150      DestructionDelay                = 2000 
1151      RollRate                        = 0.0
1152      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
1153      PitchRate                       = 0
1154      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1155      FXInitialDeath                  = FX_JetBigDeathInitial
1156      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
1157      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
1158      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
1159      FXSecondary                     = FX_BigPlaneDeath
1160  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1161  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
1162  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1163    End
1164  
1165    Behavior = TransitionDamageFX ModuleTag_11
1166      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
1167      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
1168    End
1169  
1170    Behavior                = ArmorUpgrade ModuleTag_Armor01
1171      TriggeredBy           = Upgrade_AmericaCountermeasures
1172    End
1173  
1174    Behavior                = CountermeasuresBehavior ModuleTag_12
1175      TriggeredBy           = Upgrade_AmericaCountermeasures
1176      FlareTemplateName     = CountermeasureFlare
1177      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1178      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
1179      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1180      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1181      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1182      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
1183      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1184      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1185      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1186      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1187    End
1188  
1189    Geometry = Box
1190    GeometryIsSmall = No
1191    GeometryMajorRadius = 60.0
1192    GeometryMinorRadius = 10.0
1193    GeometryHeight = 10.0
1194    Shadow = SHADOW_VOLUME
1195    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1196  
1197  End
1198  
1199  
1200  
1201  
1202  
1203  
1204  
1205  ;------------------------------------------------------------------------------
1206  Object AmericaJetAurora
1207  
1208    ; *** ART Parameters ***
1209    SelectPortrait         = SAAurora_L
1210    ButtonImage            = SAAurora
1211    
1212    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
1213    UpgradeCameo2 = Upgrade_AmericaCountermeasures
1214    ;UpgradeCameo3 = NONE
1215    ;UpgradeCameo4 = NONE
1216    ;UpgradeCameo5 = NONE
1217    
1218    Draw = W3DModelDraw ModuleTag_01
1219  
1220      DefaultConditionState
1221        Model               = AVAurora
1222        HideSubObject       = BurnerFX03 BurnerFX04
1223        WeaponLaunchBone = PRIMARY WeaponA
1224      End
1225  
1226      ConditionState        = JETEXHAUST
1227        ; exhaust
1228        ParticleSysBone     = Wingtip01 JetContrail
1229        ParticleSysBone     = Wingtip02 JetContrail
1230      End
1231  
1232      ConditionState        = JETEXHAUST JETAFTERBURNER
1233        ; exhaust
1234        ParticleSysBone     = Wingtip01 JetContrail
1235        ParticleSysBone     = Wingtip02 JetContrail
1236        ; afterburner
1237        ShowSubObject       = BurnerFX03 BurnerFX04
1238        ParticleSysBone     = Engine01 JetLenzflare
1239        ParticleSysBone     = Engine02 JetLenzflare
1240      End
1241  
1242      ConditionState        = REALLYDAMAGED
1243        Model               = AVAurora_D
1244        ; damage
1245        ParticleSysBone     = Smoke01 JetSmoke
1246        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1247      End
1248      
1249      ConditionState        = REALLYDAMAGED JETEXHAUST
1250        Model               = AVAurora_D
1251        ; damage
1252        ParticleSysBone     = Smoke01 JetSmoke
1253        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1254        ; exhaust
1255        ParticleSysBone     = Wingtip01 JetContrail
1256        ParticleSysBone     = Wingtip02 JetContrail
1257      End
1258  
1259      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1260        Model               = AVAurora_D
1261        ; damage
1262        ParticleSysBone     = Smoke01 JetSmoke
1263        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1264        ; afterburner
1265        ShowSubObject       = BurnerFX03 BurnerFX04
1266        ParticleSysBone     = Engine01 JetLenzflare
1267        ParticleSysBone     = Engine02 JetLenzflare
1268        ; exhaust
1269        ParticleSysBone     = Wingtip01 JetContrail
1270        ParticleSysBone     = Wingtip02 JetContrail
1271      End
1272  
1273      ConditionState        = RUBBLE
1274        Model               = AVAurora_D1
1275        HideSubObject       = None 
1276        ShowSubObject       = None
1277      End
1278  
1279      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1280        Model               = AVAurora_D1
1281        ;HideSubObject is needed cause there're inherited from default condition state      
1282        HideSubObject       = None 
1283        ShowSubObject       = None
1284        ParticleSysBone     = Engine01 JetExhaust
1285        ParticleSysBone     = Engine02 JetExhaust
1286        ; exhaust
1287        ParticleSysBone     = Wingtip01 JetContrail
1288        ParticleSysBone     = Wingtip02 JetContrail
1289      End
1290  
1291      OkToChangeModelColor = Yes
1292    End
1293  
1294    ; ***DESIGN parameters ***
1295    DisplayName         = OBJECT:Aurora
1296    EditorSorting       = VEHICLE
1297    Side                = America
1298    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1299    VisionRange         = 180.0 
1300    ShroudClearingRange = 600
1301    Prerequisites
1302      Object = AmericaAirfield
1303      Object = AmericaStrategyCenter
1304    End
1305    BuildCost           = 2500
1306    BuildTime           = 30.0          ;in seconds     
1307    WeaponSet
1308      Conditions = None 
1309      Weapon = PRIMARY AuroraBombWeapon
1310    End
1311    ArmorSet
1312      Conditions      = None
1313      Armor           = AirplaneArmor
1314      DamageFX        = None
1315    End
1316    ArmorSet
1317      Conditions            = PLAYER_UPGRADE
1318      Armor                 = CountermeasuresAirplaneArmor
1319      DamageFX              = None
1320    End
1321  
1322    ExperienceValue = 200 200 400 400   ;Experience point value at each level
1323    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
1324    IsTrainable = Yes                   ;Can gain experience
1325    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1326    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1327    CommandSet        = AmericaJetAuroraCommandSet
1328  
1329    ; *** AUDIO Parameters ***
1330    VoiceSelect = AuroraBomberVoiceSelect
1331    VoiceMove = AuroraBomberVoiceMove
1332    VoiceGuard = AuroraBomberVoiceMove
1333    VoiceAttack = AuroraBomberVoiceAttack
1334    SoundAmbient = AuroraBomberAmbientLoop
1335    SoundAmbientRubble    = NoSound
1336    UnitSpecificSounds
1337      VoiceCreate          = AuroraBomberVoiceCreate
1338      SoundEject           = PilotSoundEject
1339      VoiceEject           = PilotVoiceEject
1340      Afterburner          = RaptorAfterburner
1341      VoiceLowFuel         = AuroraBomberVoiceLowFuel
1342      VoiceGarrison        = AuroraBomberVoiceMove
1343    End
1344  
1345    ; *** ENGINEERING Parameters ***
1346    RadarPriority = UNIT
1347    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1348    Body = ActiveBody ModuleTag_02
1349      MaxHealth       = 80.0
1350      InitialHealth   = 80.0
1351    End
1352  
1353    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1354      FXOnGroundDeath                 = FX_JetOnGroundDeath
1355      OCLOnGroundDeath                = OCL_AuroraDeathFinalBlowUp
1356      DestructionDelay                = 99999999; destruction will happen when we
1357      RollRate                        = 0.2
1358      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1359      PitchRate                       = 0.0
1360      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1361      FXInitialDeath                  = FX_AuroraDeathInitial
1362      ;OCLInitialDeath                = None
1363      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1364      FXSecondary                     = FX_JetDeathSecondary
1365      ;OCLSecondary                   = None
1366      FXHitGround                     = FX_JetDeathHitGround
1367      ;OCLHitGround                   = None
1368      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
1369      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1370      OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
1371  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1372    End
1373    Behavior = EjectPilotDie ModuleTag_04
1374      GroundCreationList = OCL_EjectPilotOnGround
1375      AirCreationList = OCL_EjectPilotViaParachute
1376      ExemptStatus = HIJACKED
1377      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1378    End
1379  
1380    Behavior = PhysicsBehavior ModuleTag_05
1381      Mass = 500.0
1382    End
1383  
1384    Behavior = ExperienceScalarUpgrade ModuleTag_06
1385      TriggeredBy = Upgrade_AmericaAdvancedTraining
1386      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1387    End
1388  
1389    Behavior = JetAIUpdate ModuleTag_07
1390      OutOfAmmoDamagePerSecond    = 10%    ; amount of damage to take per SEC (not per frame) when out of ammo
1391                                           ; note that it's expressed as a percent of max health, not an absolute
1392      TakeoffDistForMaxLift       = 0%   ; larger numbers give more lift sooner when taking off
1393      TakeoffPause                = 500
1394      MinHeight                   = 5
1395      SneakyOffsetWhenAttacking   = -20.0  ; this is how far behind us people aim when we are in attack mode
1396      AttackLocomotorType         = SET_SUPERSONIC
1397      AttackLocomotorPersistTime  = 100    ; we start slowing down almost immediately
1398      AttackersMissPersistTime    = 2000   ; but remain untargetable fer a bit longer
1399      ReturnForAmmoLocomotorType  = SET_SLUGGISH
1400      ReturnToBaseIdleTime        = 10000         ; if idle for this long, return to base, even if not out of ammo
1401    End
1402    Locomotor = SET_NORMAL      AuroraJetLocomotor
1403    Locomotor = SET_SUPERSONIC  AuroraJetSupersonicLocomotor
1404    Locomotor = SET_SLUGGISH    AuroraJetSluggishLocomotor
1405    Locomotor = SET_TAXIING     BasicJetTaxiLocomotor
1406  
1407    Behavior                = ArmorUpgrade ModuleTag_Armor01
1408      TriggeredBy           = Upgrade_AmericaCountermeasures
1409    End
1410  
1411    Behavior                = CountermeasuresBehavior ModuleTag_10
1412      TriggeredBy           = Upgrade_AmericaCountermeasures
1413      FlareTemplateName     = CountermeasureFlare
1414      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1415      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1416      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1417      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1418      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1419      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1420      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1421      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1422      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1423      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1424    End
1425  
1426    Behavior = FlammableUpdate ModuleTag_21
1427      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1428      AflameDamageAmount = 3       ; taking this much damage...
1429      AflameDamageDelay = 500       ; this often.
1430    End
1431  
1432    Behavior                 = TransitionDamageFX ModuleTag_22
1433      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
1434      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
1435    End
1436  
1437  
1438    Geometry                 = Box
1439    GeometryIsSmall          = Yes
1440    GeometryMajorRadius      = 14.0
1441    GeometryMinorRadius      = 7.0
1442    GeometryHeight           = 5.0
1443    Shadow                   = SHADOW_VOLUME
1444    ShadowSizeX              = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1445  
1446  End
1447  
1448  ;------------------------------------------------------------------------------
1449  Object AmericaJetStealthFighter
1450  
1451    ; *** ART Parameters ***
1452    SelectPortrait         = SAStealth_L
1453    ButtonImage            = SAStealth
1454    
1455    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
1456    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
1457    UpgradeCameo3 = Upgrade_AmericaCountermeasures
1458    UpgradeCameo4 = Upgrade_AmericaBunkerBusters
1459    ;UpgradeCameo5 = NONE
1460    
1461    Draw = W3DModelDraw ModuleTag_01
1462  
1463      DefaultConditionState
1464        Model                           = AVStealth
1465        HideSubObject                   = BurnerFX03 BurnerFX04
1466        WeaponLaunchBone  = PRIMARY WeaponA
1467      End
1468      
1469      ConditionState        = JETEXHAUST
1470        ParticleSysBone     = Wingtip01 JetContrail
1471        ParticleSysBone     = Wingtip02 JetContrail
1472      End
1473  
1474      ConditionState        = JETEXHAUST JETAFTERBURNER
1475        ; exhaust
1476        ParticleSysBone     = Wingtip01 JetContrail
1477        ParticleSysBone     = Wingtip02 JetContrail
1478        ; afterburners
1479        ShowSubObject       = BurnerFX03 BurnerFX04
1480        ParticleSysBone     = Engine01 JetLenzflare
1481        ParticleSysBone     = Engine02 JetLenzflare
1482      End
1483  
1484      ConditionState        = REALLYDAMAGED
1485        Model               = AVStealth_D
1486        ; damage
1487        ParticleSysBone     = Smoke01 JetSmoke
1488        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1489      End
1490  
1491      ConditionState        = REALLYDAMAGED JETEXHAUST
1492        Model               = AVStealth_D
1493        ; damage
1494        ParticleSysBone     = Smoke01 JetSmoke
1495        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1496        ; exhaust
1497        ParticleSysBone     = Wingtip01 JetContrail
1498        ParticleSysBone     = Wingtip02 JetContrail
1499      End
1500  
1501      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1502        Model               = AVStealth_D
1503        ; damage
1504        ParticleSysBone     = Smoke01 JetSmoke
1505        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1506        ; exhaust
1507        ParticleSysBone     = Wingtip01 JetContrail
1508        ParticleSysBone     = Wingtip02 JetContrail
1509        ; afterburners
1510        ShowSubObject       = BurnerFX03 BurnerFX04
1511        ParticleSysBone     = Engine01 JetLenzflare
1512        ParticleSysBone     = Engine02 JetLenzflare
1513      End
1514  
1515      ConditionState        = RUBBLE
1516        Model               = AVStealth_D1
1517        HideSubObject       = None 
1518        ShowSubObject       = None
1519      End
1520  
1521      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1522        Model               = AVStealth_D1
1523        ;HideSubObject is needed cause there're inherited from default condition state      
1524        HideSubObject       = None 
1525        ShowSubObject       = None
1526        ParticleSysBone     = Engine01 JetExhaust
1527        ParticleSysBone     = Engine02 JetExhaust
1528        ParticleSysBone     = Wingtip01 JetContrail
1529        ParticleSysBone     = Wingtip02 JetContrail
1530      End
1531      
1532      OkToChangeModelColor = Yes
1533  
1534    End
1535  
1536    ; ***DESIGN parameters ***
1537    DisplayName           = OBJECT:StealthFighter
1538    EditorSorting         = VEHICLE
1539    Side                  = America
1540    TransportSlotCount    = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1541    VisionRange           = 180.0 
1542    ShroudClearingRange   = 300.0
1543    Prerequisites
1544      Object = AmericaAirfield
1545      Science = SCIENCE_StealthFighter
1546    End
1547    WeaponSet
1548      Conditions = None 
1549      Weapon = PRIMARY StealthJetMissileWeapon
1550    End
1551    WeaponSet
1552      Conditions = PLAYER_UPGRADE
1553      Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon
1554    End
1555    ArmorSet
1556      Conditions      = None
1557      Armor           = AirplaneArmor
1558      DamageFX        = None
1559    End
1560    ArmorSet
1561      Conditions            = PLAYER_UPGRADE
1562      Armor                 = CountermeasuresAirplaneArmor
1563      DamageFX              = None
1564    End
1565  
1566    BuildCost           = 1600
1567    BuildTime           = 25.0            ;in seconds  
1568    ExperienceValue     = 100 100 200 300 ;Experience point value at each level
1569    ExperienceRequired  = 0 200 300 600   ; Experience points needed to gain each level
1570    IsTrainable         = Yes             ;Can gain experience
1571    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1572    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1573    CommandSet = AmericaJetStealthFighterCommandSet
1574  
1575    ; *** AUDIO Parameters ***
1576    VoiceSelect     = StealthFighterVoiceSelect
1577    VoiceMove       = StealthFighterVoiceMove
1578    VoiceAttack     = StealthFighterVoiceAttack
1579    VoiceAttackAir  = StealthFighterVoiceAttackAir
1580    VoiceGuard      = StealthFighterVoiceAirPatrol
1581    SoundAmbient    = StealthFighterAmbientLoop
1582    SoundAmbientRubble    = NoSound
1583    SoundStealthOn  = StealthOn
1584    SoundStealthOff = StealthOff
1585    UnitSpecificSounds
1586      VoiceCreate   = StealthFighterVoiceCreate
1587      SoundEject    = PilotSoundEject
1588      VoiceEject    = PilotVoiceEject
1589      Afterburner   = RaptorAfterburner
1590      VoiceLowFuel  = AuroraBomberVoiceLowFuel
1591      VoiceGarrison = StealthFighterVoiceMove
1592    End
1593  
1594    ; *** ENGINEERING Parameters ***
1595    RadarPriority   = LOCAL_UNIT_ONLY
1596    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1597    Body = ActiveBody ModuleTag_02
1598      MaxHealth       = 120.0
1599      InitialHealth   = 120.0
1600    End
1601  
1602    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1603      FXOnGroundDeath                 = FX_JetOnGroundDeath
1604      OCLOnGroundDeath                = OCL_StealthDeathFinalBlowUp
1605      DestructionDelay                = 99999999; destruction will happen when we
1606      RollRate                        = 0.2
1607      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1608      PitchRate                       = 0.0
1609      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1610      FXInitialDeath                  = FX_StealthFighterDeathInitial
1611      ;OCLInitialDeath                = None
1612      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1613      FXSecondary                     = FX_JetDeathSecondary
1614      ;OCLSecondary                   = None
1615      FXHitGround                     = FX_JetDeathHitGround
1616      ;OCLHitGround                   = None
1617      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
1618      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1619      OCLFinalBlowUp                  = OCL_StealthDeathFinalBlowUp
1620  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1621    End
1622    Behavior = EjectPilotDie ModuleTag_04
1623      GroundCreationList = OCL_EjectPilotOnGround
1624      AirCreationList = OCL_EjectPilotViaParachute
1625      ExemptStatus = HIJACKED
1626      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1627    End
1628   
1629    Behavior = PhysicsBehavior ModuleTag_05
1630      Mass = 500.0
1631    End
1632  
1633    Behavior = JetAIUpdate ModuleTag_06
1634      OutOfAmmoDamagePerSecond = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
1635                                      ; note that it's expressed as a percent of max health, not an absolute
1636      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
1637      TakeoffPause           = 500
1638      MinHeight              = 5
1639      ReturnToBaseIdleTime   = 10000         ; if idle for this long, return to base, even if not out of ammo
1640    End
1641  
1642    Behavior = WeaponSetUpgrade ModuleTag_07
1643      TriggeredBy = Upgrade_AmericaLaserMissiles
1644    End
1645  
1646    Behavior = ExperienceScalarUpgrade ModuleTag_08
1647      TriggeredBy = Upgrade_AmericaAdvancedTraining
1648      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1649    End
1650  
1651    Behavior = StealthUpdate ModuleTag_09
1652      StealthDelay                          = 1500 ; msec
1653      StealthForbiddenConditions            = FIRING_PRIMARY
1654      ; not currently used... but maybe someday? (srj)
1655      ;RevealDistanceFromTarget             = 0.0f
1656      FriendlyOpacityMin                    = 50.0%
1657      FriendlyOpacityMax                    = 100.0%
1658      InnateStealth                         = Yes
1659      OrderIdleEnemiesToAttackMeUponReveal  = Yes
1660    End
1661  
1662    Behavior                = ArmorUpgrade ModuleTag_Armor01
1663      TriggeredBy           = Upgrade_AmericaCountermeasures
1664    End
1665  
1666    Behavior                = CountermeasuresBehavior ModuleTag_10
1667      TriggeredBy           = Upgrade_AmericaCountermeasures
1668      FlareTemplateName     = CountermeasureFlare
1669      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1670      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1671      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1672      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1673      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1674      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1675      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1676      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1677      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1678      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1679    End
1680  
1681    Locomotor = SET_NORMAL StealthJetLocomotor
1682    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
1683  
1684    Behavior = FlammableUpdate ModuleTag_21
1685      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1686      AflameDamageAmount = 3       ; taking this much damage...
1687      AflameDamageDelay = 500       ; this often.
1688    End
1689  
1690    Behavior                 = TransitionDamageFX ModuleTag_22
1691      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
1692      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
1693    End
1694  
1695  
1696    Geometry = Cylinder
1697    GeometryIsSmall = Yes
1698    GeometryMajorRadius = 7.0
1699    GeometryMinorRadius = 7.0
1700    GeometryHeight = 7.0
1701    Shadow = SHADOW_VOLUME
1702    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1703  
1704  End
1705  
1706  ;--------------------¸ÄΪ°¢ÅÁÆ÷----------------------------------------------------------
1707  Object AmericaVehicleComanche
1708  
1709    ; *** ART Parameters ***
1710    SelectPortrait         = T5
1711    ButtonImage            = T5
1712    
1713    UpgradeCameo1 = Upgrade_ComancheRocketPods
1714    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
1715    UpgradeCameo3 = Upgrade_AmericaCountermeasures
1716    ;UpgradeCameo4 = NONE
1717    ;UpgradeCameo5 = NONE
1718    
1719    Draw = W3DModelDraw ModuleTag_01
1720  
1721      DefaultConditionState
1722        Model                           = AvAH64
1723        HideSubObject                   = MissileUpgrade
1724        Animation                       = AvAH64.AvAH64
1725        AnimationMode                   = LOOP
1726        WeaponMuzzleFlash               = PRIMARY TurretFX
1727        WeaponFireFXBone                = PRIMARY Muzzle
1728        WeaponFireFXBone                = SECONDARY Muzzle
1729        WeaponLaunchBone  = SECONDARY Muzzle
1730      End
1731  
1732      ConditionState = REALLYDAMAGED
1733        Model                           = AvAH64
1734        Animation                       = AvAH64.AvAH64
1735        AnimationMode                   = LOOP
1736      End
1737  
1738      ConditionState = WEAPONSET_PLAYER_UPGRADE
1739        ShowSubObject                   = MissileUpgrade
1740        Animation                       = AvAH64.AvAH64
1741        AnimationMode                   = LOOP
1742        WeaponFireFXBone                = TERTIARY WeaponB
1743        WeaponLaunchBone  = TERTIARY WeaponB
1744      End
1745  
1746      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
1747        Model                           = AvAH64
1748        ShowSubObject                   = MissileUpgrade
1749        Animation                       = AvAH64.AvAH64
1750        AnimationMode                   = LOOP
1751        WeaponFireFXBone                = TERTIARY WeaponB
1752        WeaponLaunchBone  = TERTIARY WeaponB
1753      End
1754  
1755      ConditionState = RUBBLE
1756        Model                           = AvAH64
1757        Animation                       = AvAH64.AvAH64
1758        AnimationMode                   = LOOP
1759      End
1760  
1761      ConditionState = RUBBLE SPECIAL_DAMAGED
1762        Model                           = AvAH64
1763        HideSubObject                   = AvAH64
1764      End
1765  
1766      OkToChangeModelColor = Yes
1767    End
1768  
1769    ; ***DESIGN parameters ***
1770    DisplayName         = OBJECT:Comanche
1771    EditorSorting       = VEHICLE
1772    Side                = America
1773    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1774    VisionRange         = 200.0 
1775    ShroudClearingRange = 600
1776    Prerequisites
1777      Object            = AmericaAirfield
1778    End
1779  
1780    WeaponSet
1781      Conditions          = None 
1782      ; -----
1783      Weapon              = PRIMARY     Comanche20mmCannonWeapon
1784      PreferredAgainst    = PRIMARY     INFANTRY
1785      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
1786      ; -----
1787      Weapon              = SECONDARY   ComancheAntiTankMissileWeapon
1788      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
1789      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
1790      ; -----
1791      Weapon              = TERTIARY    NONE
1792    End
1793    WeaponSet
1794      Conditions          = PLAYER_UPGRADE 
1795      ; -----
1796      Weapon              = PRIMARY     Comanche20mmCannonWeapon
1797      PreferredAgainst    = PRIMARY     INFANTRY
1798      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
1799      ; -----
1800      Weapon              = SECONDARY   ComancheAntiTankMissileWeapon
1801      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
1802      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
1803      ; -----
1804      Weapon              = TERTIARY    ComancheRocketPodWeapon
1805      AutoChooseSources   = TERTIARY    NONE
1806    End
1807    ArmorSet
1808      Conditions      = None
1809      Armor           = ComancheArmor
1810      DamageFX        = None
1811    End
1812    ArmorSet
1813      Conditions            = PLAYER_UPGRADE
1814      Armor                 = CountermeasuresComancheArmor
1815      DamageFX              = None
1816    End
1817    BuildCost           = 1500
1818    BuildTime           = 20              ; in seconds  
1819    ExperienceValue     = 50 50 100 200   ; Experience point value at each level
1820    ExperienceRequired  = 0 100 200 400   ; Experience points needed to gain each level
1821    IsTrainable         = Yes             ; Can gain experience
1822    CommandSet          = AmericaVehicleComancheCommandSet
1823  
1824    ; *** AUDIO Parameters ***
1825    VoiceSelect           = ComancheVoiceSelect
1826    VoiceMove             = ComancheVoiceMove
1827    VoiceGuard            = ComancheVoiceMove
1828    VoiceAttack           = ComancheVoiceAttack
1829    SoundAmbient          = ComancheAmbientLoop
1830    SoundAmbientRubble    = NoSound
1831    UnitSpecificSounds
1832      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1833      VoiceCreate         = ComancheVoiceCreate
1834      SoundEject          = PilotSoundEject
1835      VoiceEject          = PilotVoiceEject
1836      Afterburner         = RaptorAfterburner
1837      VoiceGarrison       = ComancheVoiceMove
1838      TurretMoveStart     = NoSound
1839      TurretMoveLoop      = NoSound
1840      VoiceFireRocketPods = ComancheVoiceAttackRocket
1841    End
1842  
1843  
1844    ; *** ENGINEERING Parameters ***
1845    RadarPriority   = UNIT
1846    KindOf          = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD
1847  
1848    Behavior = WeaponSetUpgrade ModuleTag_02
1849      TriggeredBy = Upgrade_ComancheRocketPods
1850    End
1851    Behavior = ExperienceScalarUpgrade ModuleTag_03
1852      TriggeredBy = Upgrade_AmericaAdvancedTraining
1853      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1854    End
1855  
1856    Body = ActiveBody ModuleTag_04
1857      MaxHealth       = 220.0
1858      InitialHealth   = 220.0
1859    End
1860  
1861    Behavior = FXListDie ModuleTag_05
1862      DeathFX = FX_ComancheStartDeath
1863    End
1864  
1865    Behavior = JetAIUpdate ModuleTag_06
1866      MinHeight                     = 5
1867      NeedsRunway                   = No
1868      KeepsParkingSpaceWhenAirborne = No
1869      AutoAcquireEnemiesWhenIdle    = Yes
1870      ; note that comanches do not return to base when idle
1871      
1872      ; this is a bit of a trick... normally, units cannot move-and-fire at
1873      ; the same time. we need the comanche to be able to. so we give it
1874      ; a "turret" (invisible) and put the two main weapons on it, but with
1875      ; no turn rate. voila!
1876      Turret
1877        TurretTurnRate = 0      ; this "turret" does not turn
1878        TurretPitchRate = 0     ; nor does it pitch
1879        ControlledWeaponSlots = PRIMARY SECONDARY
1880      End
1881  
1882    End
1883    Locomotor = SET_NORMAL  ComancheLocomotor
1884    Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor
1885  
1886    Behavior = PhysicsBehavior ModuleTag_07
1887      Mass = 50.0
1888    End
1889    Behavior = HelicopterSlowDeathBehavior ModuleTag_08
1890      DestructionDelay                = 99999999        ; the destruction delay
1891      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
1892      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
1893      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
1894      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
1895      SoundDeathLoop                  = ComancheDamagedLoop
1896      MinSelfSpin                     = 100                     ; in degrees per second
1897      MaxSelfSpin                     = 300                     ; in degrees per second
1898      SelfSpinUpdateDelay             = 100             ; in milliseconds
1899      SelfSpinUpdateAmount            = 10             ; in degrees   
1900      FallHowFast                     = 12.0%  ; fraction of gravity, lower = take longer to fall
1901      MinBladeFlyOffDelay             = 1500            ; in milliseconds
1902      MaxBladeFlyOffDelay             = 1500            ; in milliseconds
1903      AttachParticle                  = SootySmokeTrail
1904      AttachParticleBone              = Propeller02
1905      BladeObjectName                 = ComancheBlades
1906      BladeBoneName                   = Propeller01    
1907      ; Most things that eject pilots do so immediately upon death,
1908      ; via use of EjectPilotDie, but Helicopters are a special case...
1909      ; they need to do so after their blades are ejected. 
1910      OCLEjectPilot                   = OCL_EjectPilotViaParachute
1911      FXBlade                         = FX_HelicopterBladeExplosion
1912      OCLBlade                        = OCL_HelicopterBladeExplosion
1913      FXHitGround                     = FX_HelicopterHitGround
1914      OCLHitGround                    = OCL_HelicopterHitGround
1915      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
1916      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
1917      DelayFromGroundToFinalDeath     = 1500
1918      FinalRubbleObject               = ComancheRubbleHull
1919    End
1920  
1921    Behavior = TransitionDamageFX ModuleTag_09
1922      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
1923      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
1924    End
1925  
1926    Behavior                = ArmorUpgrade ModuleTag_Armor01
1927      TriggeredBy           = Upgrade_AmericaCountermeasures
1928    End
1929  
1930    Behavior                = CountermeasuresBehavior ModuleTag_10
1931      TriggeredBy           = Upgrade_AmericaCountermeasures
1932      FlareTemplateName     = CountermeasureFlare
1933      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1934      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1935      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1936      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1937      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1938      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1939      ReloadTime            = 4000  ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1940      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1941      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1942      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1943    End
1944  
1945    Behavior = FlammableUpdate ModuleTag_21
1946      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1947      AflameDamageAmount = 3       ; taking this much damage...
1948      AflameDamageDelay = 500       ; this often.
1949    End
1950  
1951    Geometry = BOX
1952    GeometryMajorRadius = 20.0
1953    GeometryMinorRadius = 3.0
1954    GeometryHeight = 25.0     
1955    GeometryIsSmall = No
1956    Shadow = SHADOW_VOLUME    
1957    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1958  
1959  End
1960  
1961  
1962  
1963  
1964  
1965  ;------------------------------------------------------------------------------
1966  Object AmericaJetA10Thunderbolt
1967  
1968    ; *** ART Parameters ***
1969    SelectPortrait         = SAWarthog_L
1970    ButtonImage            = SAWarthog
1971  
1972    Draw = W3DModelDraw ModuleTag_01
1973  
1974      OkToChangeModelColor = Yes
1975  
1976      ExtraPublicBone = WeaponA01
1977      ExtraPublicBone = WeaponA02
1978      ExtraPublicBone = WeaponA03
1979      ExtraPublicBone = WeaponA04
1980      ExtraPublicBone = WeaponA05
1981      ExtraPublicBone = WeaponA06
1982  
1983      DefaultConditionState
1984        Model             = AVWarthog
1985        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1986        WeaponFireFXBone  = PRIMARY Muzzle01
1987        ParticleSysBone = Engine01 JetBlackTrailThin
1988        ParticleSysBone = Engine02 JetBlackTrailThin
1989        ParticleSysBone = Wingtip01 JetContrailThin
1990        ParticleSysBone = Wingtip02 JetContrailThin
1991      End
1992  
1993      ConditionState      = REALLYDAMAGED
1994        Model             = AVWarthog_D
1995        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1996        WeaponFireFXBone  = PRIMARY Muzzle01
1997      End
1998      AliasConditionState  = RUBBLE
1999  
2000     ParticlesAttachedToAnimatedBones = Yes 
2001  
2002    End
2003  
2004    ; ***DESIGN parameters ***
2005    DisplayName         = OBJECT:A10Thunderbolt
2006    EditorSorting       = VEHICLE
2007    Side                = America
2008    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2009    VisionRange         = 300.0 
2010    ShroudClearingRange = 300
2011    Prerequisites
2012      Object = AmericaAirfield
2013    End
2014    WeaponSet
2015      Conditions = None 
2016      Weapon = PRIMARY A10ThunderboltVulcan
2017    End
2018    ArmorSet
2019      Conditions      = None
2020      Armor           = AirplaneArmor
2021      DamageFX        = None
2022    End
2023    ArmorSet
2024      Conditions            = PLAYER_UPGRADE
2025      Armor                 = CountermeasuresAirplaneArmor
2026      DamageFX              = None
2027    End
2028  
2029    ExperienceValue = 50 100 150 400    ;Experience point value at each level
2030    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
2031    IsTrainable = Yes             ;Can gain experience
2032  
2033    ; *** AUDIO Parameters ***
2034    SoundAmbient = A10ThunderboltAmbientLoop
2035    SoundAmbientRubble    = NoSound
2036    UnitSpecificSounds
2037      SoundEject = PilotSoundEject
2038      VoiceEject = PilotVoiceEject
2039      StartDive  = A10ThunderboltDive
2040    End
2041  
2042    ; *** ENGINEERING Parameters ***
2043    RadarPriority = UNIT
2044    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED
2045    Body = ActiveBody ModuleTag_02
2046      MaxHealth       = 600.0
2047      InitialHealth   = 600.0
2048    End
2049  
2050    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
2051  
2052    Behavior                          = JetSlowDeathBehavior ModuleTag_03
2053      DestructionDelay                = 99999999  ; destruction will happen when we
2054      RollRate                        = 0.0
2055      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
2056      PitchRate                       = 0.0
2057      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
2058      FXInitialDeath                  = FX_JetDeathInitial
2059      OCLInitialDeath                 = None
2060      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
2061      FXSecondary                     = FX_JetDeathSecondary
2062      OCLSecondary                    = None
2063      FXHitGround                     = FX_JetDeathHitGround
2064      OCLHitGround                    = OCL_A10DeathHitGround
2065      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
2066      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2067      OCLFinalBlowUp                  = OCL_A10DeathFinalBlowUp
2068    End
2069  
2070    Behavior = PhysicsBehavior ModuleTag_05
2071      Mass = 500.0
2072    End
2073  
2074    ;SCRIPTED SUPPORT: These special power is triggered directly 
2075    ;from the transport without creating a transport. This is done 
2076    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
2077    ;which also prevents creating the payload transport.
2078    Behavior    = OCLSpecialPower ModuleTag_06
2079      SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@
2080      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3
2081      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
2082      OCL                  = SUPERWEAPON_A10ThunderboltMissileStrike1
2083      CreateLocation       = USE_OWNER_OBJECT
2084      ScriptedSpecialPowerOnly = Yes
2085    End
2086  
2087    Behavior = DeliverPayloadAIUpdate ModuleTag_07
2088    End
2089    Locomotor = SET_NORMAL A10ThunderboltLocomotor
2090  
2091    Behavior                = ArmorUpgrade ModuleTag_Armor01
2092      TriggeredBy           = Upgrade_AmericaCountermeasures
2093    End
2094  
2095    Behavior                = CountermeasuresBehavior ModuleTag_10
2096      TriggeredBy           = Upgrade_AmericaCountermeasures
2097      FlareTemplateName     = CountermeasureFlare
2098      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2099      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
2100      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2101      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2102      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2103      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
2104      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2105      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2106      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2107      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2108    End
2109  
2110    Behavior = FlammableUpdate ModuleTag_21
2111      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2112      AflameDamageAmount = 3       ; taking this much damage...
2113      AflameDamageDelay = 500       ; this often.
2114    End
2115  
2116  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
2117  ;;;;;;;;  End
2118  
2119    Geometry = Cylinder
2120    GeometryIsSmall = Yes
2121    GeometryMajorRadius = 10.0
2122    GeometryMinorRadius = 10.0
2123    GeometryHeight = 10.0
2124    Shadow = SHADOW_VOLUME
2125    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2126  
2127  End
2128  
2129  
2130  
2131  ;------------------------------------------------------------------------------
2132  Object AmericaVehicleChinook
2133  
2134    ; *** ART Parameters ***
2135    SelectPortrait         = SAChinook_L
2136    ButtonImage            = SAChinook
2137    
2138    ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
2139    ;UpgradeCameo2 = NONE
2140    ;UpgradeCameo3 = NONE
2141    ;UpgradeCameo4 = NONE
2142    ;UpgradeCameo5 = NONE
2143  
2144    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter 
2145  
2146      ExtraPublicBone = RopeStart
2147      ExtraPublicBone = RopeEnd
2148  
2149      DefaultConditionState
2150        Model = AVChinook
2151        Animation = AVChinook.AVChinook
2152        AnimationMode = LOOP
2153      End
2154  
2155      ConditionState = REALLYDAMAGED
2156        Model = AVChinook_d
2157        Animation = AVChinook_d.AVChinook_d
2158        AnimationMode = LOOP
2159      End
2160  
2161      ConditionState = RUBBLE
2162        Model = AVChinook_d
2163        Animation = AVChinook_d.AVChinook_d
2164        AnimationMode = LOOP
2165      End
2166  
2167      ConditionState = RUBBLE SPECIAL_DAMAGED
2168        Model = AVChinook_d
2169        HideSubObject = Props01
2170        HideSubObject = Props02
2171      End
2172  
2173      OkToChangeModelColor = Yes
2174    End
2175  
2176    Draw = W3DModelDraw                         ModuleTag_02 ; Cargo net 
2177      ConditionState = NONE
2178        Model = None  ; Nothing here
2179        TransitionKey = TRANS_Empty
2180        WaitForStateToFinishIfPossible = TRANS_Unloading
2181      End
2182  
2183      ConditionState = DYING 
2184        Model = None  ; Nothing here
2185      End
2186      AliasConditionState = RUBBLE
2187      AliasConditionState = CARRYING RUBBLE
2188      AliasConditionState = DOCKING RUBBLE
2189      AliasConditionState = DOCKING CARRYING RUBBLE
2190   
2191       ConditionState = CARRYING
2192        Model = AVChinook_A ;Carrying a full wobbly net of stuff
2193        Animation = AVChinook_A.AVChinook_A
2194        AnimationMode = LOOP
2195        TransitionKey = TRANS_Full
2196        WaitForStateToFinishIfPossible = TRANS_PickingUp
2197      End
2198  
2199      ConditionState = DOCKING
2200        Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
2201        Animation = AVChinook_A1SK.AVChinook_A1
2202        AnimationMode = ONCE_BACKWARDS
2203        Flags = START_FRAME_LAST
2204        AnimationSpeedFactorRange = .75 .75
2205        TransitionKey = TRANS_PickingUp
2206        WaitForStateToFinishIfPossible = TRANS_Unloading  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
2207      End
2208  
2209      ConditionState = DOCKING CARRYING
2210        Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
2211        Animation = AVChinook_A1SK.AVChinook_A1
2212        AnimationMode = ONCE
2213        AnimationSpeedFactorRange = 2.75 2.75
2214        TransitionKey = TRANS_Unloading
2215        WaitForStateToFinishIfPossible = TRANS_PickingUp  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
2216      End
2217    End
2218  
2219    ; ***DESIGN parameters ***
2220    DisplayName         = OBJECT:Chinook
2221    EditorSorting       = VEHICLE
2222    Side                = America
2223    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2224    VisionRange         = 300.0 
2225    ShroudClearingRange = 600
2226    BuildCost           = 1200
2227    BuildTime           = 10.0          ;in seconds  
2228    Prerequisites
2229      Object = AmericaSupplyCenter
2230    End
2231    ExperienceValue     = 50 50 50 50 ;Experience point value at each level
2232    IsTrainable         = No  
2233    CommandSet          = AmericaVehicleChinookCommandSet
2234    ArmorSet
2235      Conditions      = None
2236      Armor           = ChinookArmor
2237      DamageFX        = None
2238    End
2239  
2240    ; *** AUDIO Parameters ***
2241    VoiceSelect     = ChinookVoiceSelect
2242    VoiceMove       = ChinookVoiceMove
2243    VoiceAttack     = ChinookVoiceAttack
2244    SoundAmbient    = ChinookAmbientLoop
2245    SoundAmbientRubble    = NoSound
2246    SoundEnter      = HumveeEnter
2247    SoundExit       = HumveeExit
2248    UnitSpecificSounds
2249      VoiceCreate         = ChinookVoiceCreate
2250      VoiceSupply         = ChinookVoiceSupply
2251      VoiceUnload         = ChinookVoiceUnload
2252      VoiceCombatDrop     = ChinookVoiceCombatDrop
2253      VoiceClearBuilding  = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
2254      VoiceGarrison       = ChinookVoiceMove
2255    End
2256  
2257    ; *** ENGINEERING Parameters ***
2258    RadarPriority   = UNIT
2259    ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
2260    ; (well, "near" actually) an Airfield to get healed...
2261    ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
2262    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD
2263  
2264    Body = ActiveBody ModuleTag_03
2265      MaxHealth       = 300.0
2266      InitialHealth   = 300.0
2267    End
2268  
2269    Behavior = FXListDie ModuleTag_05
2270      DeathFX = FX_HelicopterStartDeath
2271    End
2272  
2273    Behavior                       = TransitionDamageFX ModuleTag_06
2274      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
2275      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
2276    End
2277  
2278    Behavior = ChinookAIUpdate ModuleTag_07
2279      MaxBoxes                = 8
2280      SupplyCenterActionDelay = 2900 ;3000     ; ms for whole thing (one transaction)
2281      SupplyWarehouseActionDelay = 1200 ;1250  ; 875 ; ms per box (many small transactions)
2282      SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home.  (Direct dock command on warehouse overrides, and no max on Center Scan)
2283      SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
2284      NumRopes                = 4
2285      ; these define how long we can wait, once a guy is on-rope, before throwing another
2286      ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
2287      ; and we'll wait for each guy to clear before spawning another.
2288      PerRopeDelayMin         = 900
2289      PerRopeDelayMax         = 1500
2290      RopeWidth               = 0.5
2291      RopeColor               = R:0 G:0 B:0
2292      RopeWobbleLen           = 10
2293      RopeWobbleAmplitude     = 0.25
2294      RopeWobbleRate          = 180
2295      RopeFinalHeight         = 10    ; stop this far above ground
2296      RappelSpeed             = 30
2297      MinDropHeight           = 40    ; if dropping into a tall bldg, go at least this far above it
2298      UpgradedSupplyBoost     = 60    ; increase in value of the crates when supply lines has been upgraded
2299    End
2300    Locomotor = SET_NORMAL    ChinookLocomotor
2301    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
2302  
2303    Behavior = TransportContain ModuleTag_08
2304      Slots                 = 10
2305      DamagePercentToUnits  = 100%
2306      AllowInsideKindOf     = INFANTRY VEHICLE
2307      ForbidInsideKindOf    = AIRCRAFT HUGE_VEHICLE
2308      ExitDelay             = 100
2309      NumberOfExitPaths     = 1
2310    End
2311    Behavior = PhysicsBehavior ModuleTag_09
2312      Mass = 50.0
2313    End
2314    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
2315      DestructionDelay                = 99999999        ; the destruction delay
2316      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
2317      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
2318      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
2319      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
2320      SoundDeathLoop                  = ComancheDamagedLoop
2321      MinSelfSpin                     = 100                     ; in degrees per second
2322      MaxSelfSpin                     = 300                     ; in degrees per second
2323      SelfSpinUpdateDelay             = 100                     ; in milliseconds
2324      SelfSpinUpdateAmount            = 10                      ; in degrees   
2325      FallHowFast                     = 12.0%                   ; fraction of gravity, lower = take longer to fall
2326      MinBladeFlyOffDelay             = 1500                    ; in milliseconds
2327      MaxBladeFlyOffDelay             = 1500                    ; in milliseconds
2328      AttachParticle                  = SootySmokeTrail
2329      AttachParticleBone              = Propeller02
2330      BladeObjectName                 = ComancheBlades
2331      BladeBoneName                   = Propeller01    
2332      FXBlade                         = FX_HelicopterBladeExplosion
2333      OCLBlade                        = OCL_HelicopterBladeExplosion
2334      FXHitGround                     = FX_HelicopterHitGround
2335      OCLHitGround                    = OCL_HelicopterHitGround
2336      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
2337      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
2338      DelayFromGroundToFinalDeath     = 30
2339      FinalRubbleObject               = ChinookRubbleHull
2340    End
2341  
2342    Behavior = FlammableUpdate ModuleTag_21
2343      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2344      AflameDamageAmount = 3       ; taking this much damage...
2345      AflameDamageDelay = 500       ; this often.
2346    End
2347        Scale = 1.30                           ;Scaling
2348    GeometryMajorRadius = 1.0
2349    GeometryMinorRadius = 1.0
2350    GeometryHeight = 8.0
2351  
2352    Geometry              = BOX
2353    GeometryMajorRadius   = 20.0
2354    GeometryMinorRadius   = 6.0
2355    GeometryHeight        = 12.0     
2356    GeometryIsSmall       = No
2357    Shadow                = SHADOW_VOLUME    
2358    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2359  
2360  End
2361  
2362  
2363  
2364  
2365  ;------------------------------------------------------------------------------
2366  Object AmericaJetCargoPlane
2367  
2368    ; *** ART Parameters ***
2369    Draw = W3DModelDraw ModuleTag_01
2370      DefaultConditionState
2371        Model            = AVCargoPln
2372        Animation       = AVCargoPln.AVCargoPln
2373        AnimationMode   = LOOP
2374        ParticleSysBone = Propeller01 JetBlackTrailThin
2375        ParticleSysBone = Propeller02 JetBlackTrailThin
2376        ParticleSysBone = Propeller03 JetBlackTrailThin
2377        ParticleSysBone = Propeller04 JetBlackTrailThin
2378        ParticleSysBone = WingTip01 JetContrailThin
2379        ParticleSysBone = WingTip02 JetContrailThin
2380      End
2381  
2382      ConditionState = DAMAGED
2383        Model           = AVCargoPln_D
2384        Animation       = AVCargoPln_D.AVCargoPln_D
2385        AnimationMode   = MANUAL
2386        Flags           = START_FRAME_FIRST
2387        ParticleSysBone = Smoke01 JetFireLarge
2388        ParticleSysBone = Smoke02 JetFireLarge
2389        ParticleSysBone = Propeller03 JetBlackTrailThin
2390        ParticleSysBone = Propeller04 JetBlackTrailThin
2391        ParticleSysBone = Smoke01 JetSmokeLarge
2392        ParticleSysBone = Smoke02 JetSmokeLarge
2393      End
2394  
2395      ConditionState = REALLYDAMAGED
2396        Model           = AVCargoPln_D
2397        Animation       = AVCargoPln_D.AVCargoPln_D
2398        AnimationMode   = MANUAL
2399        Flags           = START_FRAME_FIRST
2400        ParticleSysBone = Smoke01 JetFireLarge
2401        ParticleSysBone = Smoke02 JetFireLarge
2402        ParticleSysBone = Smoke03 JetFireLarge
2403        ParticleSysBone = Smoke05 JetFireLarge
2404        ParticleSysBone = Propeller03 JetBlackTrailThin
2405        ParticleSysBone = Propeller04 JetBlackTrailThin
2406        ParticleSysBone = Smoke01 JetSmokeLarge
2407        ParticleSysBone = Smoke02 JetSmokeLarge
2408        ParticleSysBone = Smoke03 JetSmokeLarge
2409        ParticleSysBone = Smoke05 JetSmokeLarge
2410      End
2411  
2412      ConditionState = RUBBLE
2413        Model           = AVCargoPln_D1
2414        Animation       = AVCargoPln_D.AVCargoPln_D
2415        AnimationMode   = MANUAL
2416        Flags           = START_FRAME_FIRST
2417        ParticleSysBone = Smoke01 JetFireLarge
2418        ParticleSysBone = Smoke06 JetFireLarge
2419        ParticleSysBone = Smoke03 JetFireLarge
2420        ParticleSysBone = Smoke05 JetFireLarge
2421        ParticleSysBone = Smoke01 JetSmokeLarge
2422        ParticleSysBone = Smoke06 JetSmokeLarge
2423        ParticleSysBone = Smoke03 JetSmokeLarge
2424        ParticleSysBone = Smoke05 JetSmokeLarge
2425      End
2426      
2427      OkToChangeModelColor = Yes
2428    ParticlesAttachedToAnimatedBones = Yes 
2429  
2430    End
2431  
2432    Draw = W3DModelDraw ModuleTag_02
2433      DefaultConditionState
2434        Model           = AVCargoPln_A2
2435        Animation       = AVCargoPln_A2.AVCargoPln_A2
2436        AnimationMode   = MANUAL
2437        Flags           = START_FRAME_FIRST
2438      End
2439      ConditionState = DOOR_1_OPENING
2440        Model           = AVCargoPln_A2
2441        Animation       = AVCargoPln_A2.AVCargoPln_A2
2442        AnimationMode   = ONCE
2443        Flags           = START_FRAME_FIRST
2444      End
2445      ConditionState = DOOR_1_CLOSING
2446        Model           = AVCargoPln_A2
2447        Animation       = AVCargoPln_A2.AVCargoPln_A2
2448        AnimationMode   = ONCE_BACKWARDS
2449        Flags           = START_FRAME_LAST
2450      End
2451    End
2452    
2453    ; ***DESIGN parameters ***
2454    DisplayName         = OBJECT:CargoPlane
2455    EditorSorting       = VEHICLE
2456    Side                = America
2457    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2458    VisionRange         = 0.0 
2459    ArmorSet
2460      Conditions      = None
2461      Armor           = AirplaneArmor
2462      DamageFX        = TankDamageFX
2463    End
2464    ArmorSet
2465      Conditions            = PLAYER_UPGRADE
2466      Armor                 = CountermeasuresAirplaneArmor
2467      DamageFX              = None
2468    End
2469    CommandSet        = Command_ScriptedTransportDrops
2470  
2471    ; *** AUDIO Parameters ***
2472    SoundAmbient = C130AmbientLoop
2473    SoundAmbientRubble    = NoSound
2474  
2475    ; *** ENGINEERING Parameters ***
2476    RadarPriority = UNIT
2477    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED
2478    Body = ActiveBody ModuleTag_03
2479      MaxHealth       = 1000.0
2480      InitialHealth   = 1000.0
2481    End
2482  
2483    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
2484  
2485    Behavior = PhysicsBehavior ModuleTag_04
2486      Mass = 500.0
2487    End
2488  
2489    ;SCRIPTED SUPPORT: These special powers are triggered directly 
2490    ;from the transport without creating a transport. This is done 
2491    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
2492    ;which also prevents creating the payload transport.
2493    Behavior    = OCLSpecialPower ModuleTag_05
2494      SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@
2495      OCL                  = SUPERWEAPON_DaisyCutter
2496      CreateLocation       = USE_OWNER_OBJECT
2497      ScriptedSpecialPowerOnly = Yes
2498    End
2499    Behavior    = OCLSpecialPower ModuleTag_06
2500      SpecialPowerTemplate = SuperweaponParadropAmerica
2501      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
2502      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
2503      OCL                  = SUPERWEAPON_Paradrop1
2504      CreateLocation       = USE_OWNER_OBJECT
2505      ScriptedSpecialPowerOnly = Yes
2506    End 
2507    Behavior    = OCLSpecialPower ModuleTag_07
2508      SpecialPowerTemplate = SuperweaponCarpetBomb
2509      OCL                  = SUPERWEAPON_CarpetBomb
2510      CreateLocation       = USE_OWNER_OBJECT
2511      ScriptedSpecialPowerOnly = Yes
2512    End 
2513    Behavior    = OCLSpecialPower ModuleTag_08
2514      SpecialPowerTemplate = SuperweaponCrateDrop
2515      OCL                  = SUPERWEAPON_CrateDrop
2516      CreateLocation       = USE_OWNER_OBJECT
2517      ScriptedSpecialPowerOnly = Yes
2518    End 
2519  
2520    Behavior = DeliverPayloadAIUpdate ModuleTag_09
2521      DoorDelay         = 500
2522      MaxAttempts       = 4
2523      DropOffset        = X:0 Y:0 Z:-10
2524      DropDelay         = 1000 ; time in between each item dropped (if more than one)
2525      PutInContainer    = AmericaParachute
2526      DeliveryDistance  = 150
2527    End
2528    Locomotor = SET_NORMAL B52Locomotor
2529  
2530    Behavior = TransportContain ModuleTag_10
2531      Slots = 100                     ; hey, it's a BIG transport
2532      ScatterNearbyOnExit = No
2533      OrientLikeContainerOnExit = Yes
2534      KeepContainerVelocityOnExit = Yes
2535      ExitPitchRate = 30
2536      ExitBone = WeaponA01
2537      AllowInsideKindOf  = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 
2538      ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE)
2539      DoorOpenTime = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
2540      NumberOfExitPaths = 0
2541      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
2542    End
2543      
2544    Behavior                          = JetSlowDeathBehavior ModuleTag_11
2545      DestructionDelay                = 2000 
2546      RollRate                        = 0.0
2547      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
2548      PitchRate                       = 0
2549      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
2550      FXInitialDeath                  = FX_JetBigDeathInitial
2551      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
2552      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
2553      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
2554      FXSecondary                     = FX_BigPlaneDeath
2555  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2556  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
2557  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
2558    End
2559  
2560  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_12
2561  ;;;;;;;;  End
2562  
2563    Behavior                = ArmorUpgrade ModuleTag_Armor01
2564      TriggeredBy           = Upgrade_AmericaCountermeasures
2565    End
2566  
2567    Behavior                = CountermeasuresBehavior ModuleTag_13
2568      TriggeredBy           = Upgrade_AmericaCountermeasures
2569      FlareTemplateName     = CountermeasureFlare
2570      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2571      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
2572      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2573      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2574      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2575      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
2576      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2577      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2578      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2579      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2580    End
2581  
2582    Behavior = TransitionDamageFX ModuleTag_17
2583      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2584      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2585    End
2586  
2587  
2588    Geometry = Box
2589    GeometryIsSmall = No
2590    GeometryMajorRadius = 40.0
2591    GeometryMinorRadius = 10.0
2592    GeometryHeight = 10.0
2593    Shadow = SHADOW_VOLUME
2594    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2595  End


Generated: Sat Mar 28 08:18:23 2009 Cross-referenced by PHPXref 0.7