[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

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

   1  
   2  
   3  
   4  
   5  
   6  ;------------------------------------------------------------------------------
   7  Object AirF_PointDefenseLaserBeam
   8    ; *** ART Parameters ***
   9    Draw = W3DLaserDraw ModuleTag_01
  10       Texture = EXLaser4.tga
  11      NumBeams = 5                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
  12      InnerBeamWidth = 0.005                    ;The total width of beam
  13      InnerColor = R:255 G:0 B:180 A:120          ;The inside color of the laser (hot)
  14      OuterBeamWidth = 10                       ;The total width of beam
  15      OuterColor = R:100 G:0 B:100  A:100            ;The outside color of the laser (cool)
  16      Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  17      ScrollRate = -2500                        ;Scrolls the texture offset this fast -- towards(-) away(+)
  18      Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  19      SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
  20      TilingScalar = -3                         ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
  21  
  22      ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
  23      ;FadeLifetime = 0                         ;Laser will fade and delete.
  24      ;@todo -- add shot ability functionality (instead of instant point A to B)
  25    End
  26  
  27  
  28    KindOf = IMMOBILE
  29    ClientUpdate = LaserUpdate ModuleTag_02
  30      MuzzleParticleSystem = PaladinPointDefenseLaserFlare
  31      TargetParticleSystem = GenericLaserFlare
  32    End
  33  
  34    ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  35    ;the lifetime values will determine how long it renders. The damage
  36    ;is applied immediately, so lifetime doesn't matter.
  37    Behavior = LifetimeUpdate ModuleTag_03
  38      MinLifetime = 95   ; min lifetime in msec
  39      MaxLifetime = 95   ; max lifetime in msec
  40    End
  41  End
  42  
  43  
  44  
  45  
  46  
  47  
  48  
  49  
  50  Object AirF_AuroraBombGas
  51  
  52    ; *** ART Parameters ***
  53    ; *** DESIGN Parameters ***
  54  
  55    ; *** ENGINEERING Parameters ***
  56    KindOf = IMMOBILE
  57    Body                  = ActiveBody ModuleTag_01
  58      MaxHealth           = 1.0
  59      InitialHealth       = 1.0
  60    End
  61  
  62    Behavior = PhysicsBehavior ModuleTag_02
  63      Mass                = 150.0
  64      AerodynamicFriction = 7  ; this is now friction-per-sec
  65      ForwardFriction     = 200   ; this is now friction-per-sec
  66    End
  67    Behavior = HeightDieUpdate ModuleTag_03
  68      TargetHeight                     = 40.0
  69      TargetHeightIncludesStructures   = Yes
  70      DestroyAttachedParticlesAtHeight = 41.0   ; Hack, todo remove this
  71    End
  72    Behavior = SlowDeathBehavior ModuleTag_04
  73      DestructionDelay        = 1000
  74      DestructionDelayVariance = 100
  75      FX                  = INITIAL AirF_FX_AuroraBombIgnite
  76      FX                  = FINAL   FX_DaisyCutterFinalExplosion
  77      Weapon              = MIDPOINT   DaisyCutterFlameWeapon    ; Just a spot of flame to light trees on fire
  78      Weapon              = FINAL   AirF_AuroraBombDetonationWeapon
  79    End
  80  
  81  End
  82  
  83  
  84  
  85  ;------------------------------------------------------------------------------
  86  Object AirF_RaptorPointDefenseLaserBeam
  87    ; *** ART Parameters ***
  88    Draw = W3DLaserDraw ModuleTag_01
  89      Texture = EXLaser.tga
  90      NumBeams = 3                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
  91  
  92      InnerBeamWidth = 0.4            ;The total width of beam
  93      InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)
  94  
  95      OuterBeamWidth = 1.2            ;The total width of beam
  96      OuterColor = R:255 G:0 B:255  A:150 ;The outside color of the laser (cool)
  97      
  98      ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
  99      ;FadeLifetime = 0                ;Laser will fade and delete.
 100  
 101      ;@todo -- add shot ability functionality (instead of instant point A to B)
 102    End
 103  
 104    KindOf = IMMOBILE
 105    ClientUpdate = LaserUpdate ModuleTag_02
 106      MuzzleParticleSystem = PaladinPointDefenseLaserFlare
 107      TargetParticleSystem = GenericLaserFlare
 108    End
 109  
 110    ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
 111    ;the lifetime values will determine how long it renders. The damage
 112    ;is applied immediately, so lifetime doesn't matter.
 113    Behavior = LifetimeUpdate ModuleTag_03
 114      MinLifetime = 95   ; min lifetime in msec
 115      MaxLifetime = 95   ; max lifetime in msec
 116    End
 117  End
 118  
 119  
 120  
 121  
 122  
 123  
 124  ;------------------------------------------------------------------------------
 125  Object AirF_AuroraBomb
 126  
 127    ; *** ART Parameters ***
 128    Draw = W3DModelDraw ModuleTag_01
 129      DefaultConditionState
 130        Model = EXCarptBmb
 131      End
 132    End
 133  
 134    ; ***DESIGN parameters ***
 135    Side = America
 136    EditorSorting     = SYSTEM
 137    ArmorSet
 138      Conditions      = None
 139      Armor           = ProjectileArmor
 140      DamageFX        = None
 141    End
 142    VisionRange       = 0.0  
 143  
 144    ; *** AUDIO Parameters ***
 145  
 146    ; *** ENGINEERING Parameters ***
 147    KindOf            = PROJECTILE
 148    Body              = ActiveBody ModuleTag_02
 149      MaxHealth       = 100.0
 150      InitialHealth   = 100.0
 151    End
 152  
 153    Behavior              = PhysicsBehavior ModuleTag_03
 154      Mass                = 75.0
 155      AerodynamicFriction = 2     ; this is now friction-per-sec
 156      ForwardFriction     = 2     ; this is now friction-per-sec
 157      CenterOfMassOffset  = 2     ; Default of 0 means nothing tips as it falls.  Positive tips forward, negative tips back
 158    End;;
 159    Behavior = MissileAIUpdate ModuleTag_04
 160      TryToFollowTarget   = No 
 161      FuelLifetime        = 0
 162      IgnitionDelay       = 0
 163      InitialVelocity     = 0                ; in dist/sec
 164      DistanceToTravelBeforeTurning = 0
 165      DistanceToTargetBeforeDiving  = 0
 166    End
 167    Locomotor = SET_NORMAL AuroraBombLocomotor   ; yes, that's right.
 168    Behavior = CreateObjectDie ModuleTag_05
 169      CreationList = AirF_OCL_AuroraBombExplode
 170    End
 171    Behavior = FXListDie ModuleTag_06
 172      DeathFX = AirF_FX_AuroraBombExplode
 173    End
 174    Behavior = HeightDieUpdate ModuleTag_07
 175      TargetHeight = 50.0
 176      TargetHeightIncludesStructures = Yes
 177    End
 178       
 179  
 180  
 181    Geometry = Sphere
 182    GeometryIsSmall = Yes
 183    GeometryMajorRadius = 2.0
 184  
 185  End
 186  
 187  
 188  
 189  
 190  
 191  
 192  
 193  
 194  
 195  
 196  
 197  
 198  
 199  
 200  
 201  
 202  
 203  
 204  
 205  
 206  
 207  
 208  
 209  
 210  
 211  
 212  
 213  
 214  
 215  
 216  
 217  
 218  
 219  
 220  
 221  
 222  
 223  
 224  
 225  
 226  
 227  
 228  
 229  
 230  
 231  
 232  
 233  
 234  
 235  
 236  
 237  
 238  
 239  
 240  
 241  
 242  
 243  
 244  
 245  
 246  
 247  
 248  
 249  
 250  
 251  
 252  
 253  
 254  
 255  
 256  
 257  
 258  
 259  
 260  
 261  
 262  
 263  
 264  
 265  
 266  
 267  
 268  
 269  
 270  
 271  
 272  
 273  
 274  
 275  
 276  
 277  
 278  
 279  
 280  
 281  
 282  
 283  
 284  
 285  
 286  
 287  
 288  
 289  
 290  
 291  
 292  
 293  
 294  
 295  
 296  
 297  ;------------------------------------------------------------------------------
 298  Object AirF_PatriotBinaryDataStream
 299    ; *** ART Parameters ***
 300    Draw = W3DLaserDraw ModuleTag_01
 301      Texture = EXBinaryStream32.tga
 302      NumBeams = 1                      ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10
 303      InnerBeamWidth = 4                ;The total width of beam
 304      InnerColor = R:0 G:255 B:0 A:180  ;The inside color of the laser (hot)
 305      Tile = Yes                        ;The height of the texture will determine how many times to tile the texture to fit without scaling.
 306      ScrollRate = -0.25                 ;Scrolls the texture offset this fast -- towards(-) away(+)
 307      Segments = 20                     ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
 308      ArcHeight = 30.0                  ;The height of the arc
 309      SegmentOverlapRatio = 0.0000      ;This value overlaps(+) or separates(-) the segments by ratio
 310      TilingScalar = 0.25                ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)
 311   End
 312  
 313    KindOf = IMMOBILE
 314    ClientUpdate = LaserUpdate ModuleTag_02
 315      ;nothing
 316    End
 317  
 318    ; A patriot uses this stream as an event triggered thing, not something turned on and off with a state.
 319    Behavior = DeletionUpdate ModuleTag_03
 320      MinLifetime = 600   ; min lifetime in msec
 321      MaxLifetime = 600   ; max lifetime in msec
 322    End
 323  End
 324  
 325  ;--------------------------------
 326  Object AirF_AmericaJetSpectreGunship1
 327  
 328    ; *** ART Parameters ***
 329  
 330    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
 331  
 332  
 333  
 334      ;----NORMAL-------------
 335      DefaultConditionState
 336        Model           = AVSGunship
 337        WeaponFireFXBone    = PRIMARY MUZZLE
 338        WeaponFireFXBone    = SECONDARY MUZZLE
 339        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
 340        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
 341      End
 342  
 343      ConditionState    = DOOR_1_OPENING
 344        Model           = AVSGunship                 
 345        Animation       = AVSGunship.AVSGunship    
 346        AnimationMode   = ONCE
 347        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 348        ParticleSysBone = WingTip01 SpectreContrail
 349        ParticleSysBone = WingTip02 SpectreContrail
 350      End
 351  
 352      ConditionState    = DOOR_1_CLOSING
 353        Model           = AVSGunship                 
 354        Animation       = AVSGunship.AVSGunship    
 355        AnimationMode   = ONCE_BACKWARDS
 356        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 357        ParticleSysBone = WingTip01 JetContrailThin
 358        ParticleSysBone = WingTip02 JetContrailThin
 359        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 360        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 361        ParticleSysBone = Engine01 SpectreEngineFlare
 362        ParticleSysBone = Engine02 SpectreEngineFlare
 363      End
 364  
 365  
 366      ;----DAMAGED-------------
 367      ConditionState    = DOOR_1_OPENING DAMAGED
 368        Model           = AVSGunship_D                 
 369        Animation       = AVSGunship_D.AVSGunship_D    
 370        AnimationMode   = ONCE
 371        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 372        ParticleSysBone = WingTip01 SpectreContrail
 373        ParticleSysBone = WingTip02 SpectreContrail
 374        ParticleSysBone = Smoke01 JetFireLarge
 375        ParticleSysBone = Smoke02 JetFireLarge
 376        ParticleSysBone = Smoke01 JetSmokeLarge
 377        ParticleSysBone = Smoke02 JetSmokeLarge
 378      End
 379  
 380      ConditionState    = DOOR_1_CLOSING DAMAGED
 381        Model           = AVSGunship_D                 
 382        Animation       = AVSGunship_D.AVSGunship_D    
 383        AnimationMode   = ONCE_BACKWARDS
 384        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 385        ParticleSysBone = WingTip01 JetContrailThin
 386        ParticleSysBone = WingTip02 JetContrailThin
 387        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 388        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 389        ParticleSysBone = Engine01 SpectreEngineFlare
 390        ParticleSysBone = Engine02 SpectreEngineFlare
 391        ParticleSysBone = Smoke01 JetFireLarge
 392        ParticleSysBone = Smoke02 JetFireLarge
 393        ParticleSysBone = Smoke01 JetSmokeLarge
 394        ParticleSysBone = Smoke02 JetSmokeLarge
 395      End
 396  
 397  
 398      ;----REALLY DAMAGED-------------
 399      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
 400        Model           = AVSGunship_D                 
 401        Animation       = AVSGunship_D.AVSGunship_D    
 402        AnimationMode   = ONCE
 403        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 404        ParticleSysBone = WingTip01 SpectreContrail
 405        ParticleSysBone = WingTip02 SpectreContrail
 406        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 407        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 408        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 409        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 410        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 411        ParticleSysBone = Smoke01 JetSmokeLarge
 412        ParticleSysBone = Smoke02 SpectreSmokeLarge
 413        ParticleSysBone = Smoke03 JetSmokeLarge
 414        ParticleSysBone = Smoke04 SpectreSmokeLarge
 415      End
 416  
 417      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
 418        Model           = AVSGunship_D                 
 419        Animation       = AVSGunship_D.AVSGunship_D    
 420        AnimationMode   = ONCE_BACKWARDS
 421        Flags           = MAINTAIN_FRAME_ACROSS_STATES
 422        ParticleSysBone = WingTip01 JetContrailThin
 423        ParticleSysBone = WingTip02 JetContrailThin
 424        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 425        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 426        ParticleSysBone = Engine01 SpectreEngineFlare
 427        ParticleSysBone = Engine02 SpectreEngineFlare
 428        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 429        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 430        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 431        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 432        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 433        ParticleSysBone = Smoke01 JetSmokeLarge
 434        ParticleSysBone = Smoke02 SpectreSmokeLarge
 435        ParticleSysBone = Smoke03 JetSmokeLarge
 436        ParticleSysBone = Smoke04 SpectreSmokeLarge
 437      End
 438  
 439  
 440      ConditionState = RUBBLE
 441        Model           = AVSGunship_D1
 442        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 443        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 444        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 445        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 446        ParticleSysBone = Smoke01 SpectreSmokeLarge
 447        ParticleSysBone = Smoke03 SpectreSmokeLarge
 448        ParticleSysBone = Smoke02 SpectreSmokeLarge
 449        ParticleSysBone = Smoke05 SpectreSmokeLarge
 450      End
 451      AliasConditionState = REALLYDAMAGED RUBBLE
 452      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
 453      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
 454    
 455  
 456  
 457     OkToChangeModelColor = Yes
 458  
 459     ParticlesAttachedToAnimatedBones = Yes 
 460  
 461  
 462   End
 463  
 464  
 465  
 466    ; ***DESIGN parameters ***
 467    DisplayName         = OBJECT:SpectreGunship
 468    EditorSorting       = VEHICLE
 469    Side                = AmericaAirForceGeneral
 470    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 471    VisionRange         = 300.0 
 472    ShroudClearingRange = 300
 473    Prerequisites
 474      Object = AirF_AmericaAirfield
 475    End
 476  
 477    ArmorSet
 478      Conditions      = None
 479      Armor           = SpectreGunshipArmor
 480      DamageFX        = None
 481    End
 482    ArmorSet
 483      Conditions            = PLAYER_UPGRADE
 484      Armor                 = CountermeasuresSpectreGunshipArmor
 485      DamageFX              = None
 486    End
 487  
 488  
 489    WeaponSet
 490      Conditions          = None 
 491      Weapon              = PRIMARY   SpectreHowitzerGun
 492    End
 493  
 494    ExperienceValue = 50 100 150 400    ;Experience point value at each level
 495    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
 496    IsTrainable = No             ;Not Player built, so no veterancy..............................
 497  
 498    ; *** AUDIO Parameters ***
 499    VoiceSelect         = SpectreGunshipVoiceSelect
 500    VoiceAttack         = SpectreGunshipVoiceAttack
 501    VoiceMove         = SpectreGunshipVoiceMove
 502    SoundAmbient = SpectreGunshipAmbientLoop
 503    SoundAmbientRubble    = NoSound
 504    UnitSpecificSounds
 505      Afterburner    = SpectreGunshipAfterburnerLoop
 506      HowitzerFire   = SpectreHowitzerWeapon
 507    End
 508  
 509  
 510    ; *** ENGINEERING Parameters ***
 511    RadarPriority = UNIT
 512    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
 513  
 514    Body = ActiveBody ModuleTag_03
 515      MaxHealth       = 1000.0
 516      InitialHealth   = 1000.0
 517    End
 518  
 519    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
 520  
 521    Behavior                          = JetSlowDeathBehavior ModuleTag_04
 522      DestructionDelay                = 99999999  ; destruction will happen when we
 523      RollRate                        = 0.0
 524      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
 525      PitchRate                       = 0.0
 526      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 527      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
 528      OCLInitialDeath                 = None
 529      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
 530      FXSecondary                     = FX_spectreDeathExplosion
 531      OCLSecondary                    = None
 532      FXHitGround                     = FX_spectreGunshipDeathExplosion
 533      OCLHitGround                    = OCL_A10DeathHitGround
 534      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
 535    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
 536      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
 537    End
 538  
 539    Behavior = PhysicsBehavior ModuleTag_05
 540      Mass = 500.0
 541    End
 542  
 543    ;SCRIPTED SUPPORT: These special power is triggered directly 
 544    ;from the transport without creating a transport. This is done 
 545    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
 546    ;which also prevents creating the payload transport.
 547  
 548    Behavior = AIUpdateInterface ModuleTag_07
 549      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
 550    End
 551    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
 552    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
 553  
 554    Behavior = SpecialAbility ModuleTag_32 
 555      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
 556      UpdateModuleStartsAttack = Yes
 557    End
 558  
 559  
 560    Behavior = SpectreGunshipUpdate ModuleTag_10
 561      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
 562      SpecialPowerTemplate            = AirF_SuperweaponSpectreGunship
 563      HowitzerWeaponTemplate          = SpectreHowitzerGun
 564      GattlingTemplateName            = SpectreGunshipGattlingCannon 
 565      RandomOffsetForHowitzer = 20     
 566      TargetingReticleRadius  = 25
 567      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
 568      GunshipOrbitRadius      = 250
 569      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
 570      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
 571      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
 572      AttackAreaRadius        = 200
 573      OrbitTime               = 10000 ;LEVEL1 (less than normal)!!!!
 574  
 575      AttackAreaDecal
 576        Texture           = SCCSpecTarg
 577        Style             = SHADOW_ALPHA_DECAL
 578        OpacityMin        = 25%
 579        OpacityMax        = 50%
 580        OpacityThrobTime  = 1500
 581        Color             = R:127 G:177 B:222 A:255 
 582        OnlyVisibleToOwningPlayer = Yes
 583      End
 584      TargetingReticleDecal
 585        Texture           = SCCSpecRet
 586        Style             = SHADOW_ALPHA_DECAL
 587        OpacityMin        = 50%
 588        OpacityMax        = 100%
 589        OpacityThrobTime  = 300
 590        Color             = R:127 G:177 B:222 A:255 
 591        OnlyVisibleToOwningPlayer = Yes
 592      End
 593    End
 594  
 595  
 596  
 597  
 598  
 599    Behavior = HelixContain ModuleTag_09
 600      Slots                     = 1
 601      DamagePercentToUnits      = 100%
 602      AllowInsideKindOf         = PORTABLE_STRUCTURE
 603      PassengersAllowedToFire   = Yes
 604    End
 605  
 606  
 607    Behavior = FlammableUpdate ModuleTag_08
 608      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 609      AflameDamageAmount = 3       ; taking this much damage...
 610      AflameDamageDelay = 500       ; this often.
 611    End
 612  
 613    Behavior                = ArmorUpgrade ModuleTag_Armor01
 614      TriggeredBy           = Upgrade_AmericaCountermeasures
 615    End
 616  
 617    Behavior                = CountermeasuresBehavior ModuleTag_11
 618      TriggeredBy           = Upgrade_AmericaCountermeasures
 619      FlareTemplateName     = CountermeasureFlare
 620      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 621      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
 622      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 623      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
 624      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 625      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
 626      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 627      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 628      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 629      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 630    End
 631  
 632  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
 633  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
 634    
 635  
 636    Geometry = Box
 637    GeometryIsSmall = No
 638    GeometryMajorRadius = 40.0
 639    GeometryMinorRadius = 10.0
 640    GeometryHeight = 10.0
 641    Shadow = SHADOW_VOLUME
 642    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 643  
 644  End
 645  
 646  ;--------------------------------
 647  Object AirF_AmericaJetSpectreGunship2
 648  
 649    ; *** ART Parameters ***
 650  
 651    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
 652  
 653  
 654  
 655      ;----NORMAL-------------
 656      DefaultConditionState
 657        Model           = AVSGunship
 658        WeaponFireFXBone    = PRIMARY MUZZLE
 659        WeaponFireFXBone    = SECONDARY MUZZLE
 660        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
 661        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
 662      End
 663  
 664      ConditionState    = DOOR_1_OPENING
 665        Model           = AVSGunship                 
 666        Animation       = AVSGunship.AVSGunship    
 667        AnimationMode   = ONCE
 668        Flags           = START_FRAME_FIRST
 669        ParticleSysBone = WingTip01 SpectreContrail
 670        ParticleSysBone = WingTip02 SpectreContrail
 671      End
 672  
 673      ConditionState    = DOOR_1_CLOSING
 674        Model           = AVSGunship                 
 675        Animation       = AVSGunship.AVSGunship    
 676        AnimationMode   = ONCE_BACKWARDS
 677        Flags           = START_FRAME_LAST
 678        ParticleSysBone = WingTip01 JetContrailThin
 679        ParticleSysBone = WingTip02 JetContrailThin
 680        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 681        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 682        ParticleSysBone = Engine01 SpectreEngineFlare
 683        ParticleSysBone = Engine02 SpectreEngineFlare
 684      End
 685  
 686  
 687      ;----DAMAGED-------------
 688      ConditionState    = DOOR_1_OPENING DAMAGED
 689        Model           = AVSGunship_D                 
 690        Animation       = AVSGunship_D.AVSGunship_D    
 691        AnimationMode   = ONCE
 692        Flags           = START_FRAME_FIRST
 693        ParticleSysBone = WingTip01 SpectreContrail
 694        ParticleSysBone = WingTip02 SpectreContrail
 695        ParticleSysBone = Smoke01 JetFireLarge
 696        ParticleSysBone = Smoke02 JetFireLarge
 697        ParticleSysBone = Smoke01 JetSmokeLarge
 698        ParticleSysBone = Smoke02 JetSmokeLarge
 699      End
 700  
 701      ConditionState    = DOOR_1_CLOSING DAMAGED
 702        Model           = AVSGunship_D                 
 703        Animation       = AVSGunship_D.AVSGunship_D    
 704        AnimationMode   = ONCE_BACKWARDS
 705        Flags           = START_FRAME_LAST
 706        ParticleSysBone = WingTip01 JetContrailThin
 707        ParticleSysBone = WingTip02 JetContrailThin
 708        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 709        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 710        ParticleSysBone = Engine01 SpectreEngineFlare
 711        ParticleSysBone = Engine02 SpectreEngineFlare
 712        ParticleSysBone = Smoke01 JetFireLarge
 713        ParticleSysBone = Smoke02 JetFireLarge
 714        ParticleSysBone = Smoke01 JetSmokeLarge
 715        ParticleSysBone = Smoke02 JetSmokeLarge
 716      End
 717  
 718  
 719      ;----REALLY DAMAGED-------------
 720      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
 721        Model           = AVSGunship_D                 
 722        Animation       = AVSGunship_D.AVSGunship_D    
 723        AnimationMode   = ONCE
 724        Flags           = START_FRAME_FIRST
 725        ParticleSysBone = WingTip01 SpectreContrail
 726        ParticleSysBone = WingTip02 SpectreContrail
 727        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 728        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 729        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 730        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 731        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 732        ParticleSysBone = Smoke01 JetSmokeLarge
 733        ParticleSysBone = Smoke02 SpectreSmokeLarge
 734        ParticleSysBone = Smoke03 JetSmokeLarge
 735        ParticleSysBone = Smoke04 SpectreSmokeLarge
 736      End
 737  
 738      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
 739        Model           = AVSGunship_D                 
 740        Animation       = AVSGunship_D.AVSGunship_D    
 741        AnimationMode   = ONCE_BACKWARDS
 742        Flags           = START_FRAME_LAST
 743        ParticleSysBone = WingTip01 JetContrailThin
 744        ParticleSysBone = WingTip02 JetContrailThin
 745        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 746        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 747        ParticleSysBone = Engine01 SpectreEngineFlare
 748        ParticleSysBone = Engine02 SpectreEngineFlare
 749        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 750        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 751        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 752        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 753        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 754        ParticleSysBone = Smoke01 JetSmokeLarge
 755        ParticleSysBone = Smoke02 SpectreSmokeLarge
 756        ParticleSysBone = Smoke03 JetSmokeLarge
 757        ParticleSysBone = Smoke04 SpectreSmokeLarge
 758      End
 759  
 760  
 761      ConditionState = RUBBLE
 762        Model           = AVSGunship_D1
 763        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 764        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 765        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 766        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 767        ParticleSysBone = Smoke01 SpectreSmokeLarge
 768        ParticleSysBone = Smoke03 SpectreSmokeLarge
 769        ParticleSysBone = Smoke02 SpectreSmokeLarge
 770        ParticleSysBone = Smoke05 SpectreSmokeLarge
 771      End
 772      AliasConditionState = REALLYDAMAGED RUBBLE
 773      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
 774      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
 775    
 776  
 777  
 778     OkToChangeModelColor = Yes
 779  
 780     ParticlesAttachedToAnimatedBones = Yes 
 781  
 782  
 783   End
 784  
 785  
 786  
 787    ; ***DESIGN parameters ***
 788    DisplayName         = OBJECT:SpectreGunship
 789    EditorSorting       = VEHICLE
 790    Side                = AmericaAirForceGeneral
 791    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 792    VisionRange         = 300.0 
 793    ShroudClearingRange = 300
 794    Prerequisites
 795      Object = AirF_AmericaAirfield
 796    End
 797  
 798    ArmorSet
 799      Conditions      = None
 800      Armor           = SpectreGunshipArmor
 801      DamageFX        = None
 802    End
 803    ArmorSet
 804      Conditions            = PLAYER_UPGRADE
 805      Armor                 = CountermeasuresSpectreGunshipArmor
 806      DamageFX              = None
 807    End
 808  
 809  
 810    WeaponSet
 811      Conditions          = None 
 812      Weapon              = PRIMARY   SpectreHowitzerGun
 813    End
 814  
 815    ExperienceValue = 50 100 150 400    ;Experience point value at each level
 816    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
 817    IsTrainable = No             ;Not Player built, so no veterancy..............................
 818  
 819    ; *** AUDIO Parameters ***
 820    VoiceSelect         = SpectreGunshipVoiceSelect
 821    VoiceAttack         = SpectreGunshipVoiceAttack
 822    VoiceMove         = SpectreGunshipVoiceMove
 823    SoundAmbient = SpectreGunshipAmbientLoop
 824    SoundAmbientRubble    = NoSound
 825    UnitSpecificSounds
 826      Afterburner    = SpectreGunshipAfterburnerLoop
 827      HowitzerFire   = SpectreHowitzerWeapon
 828    End
 829  
 830  
 831    ; *** ENGINEERING Parameters ***
 832    RadarPriority = UNIT
 833    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
 834  
 835    Body = ActiveBody ModuleTag_03
 836      MaxHealth       = 600.0
 837      InitialHealth   = 600.0
 838    End
 839  
 840    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
 841  
 842    Behavior                          = JetSlowDeathBehavior ModuleTag_04
 843      DestructionDelay                = 99999999  ; destruction will happen when we
 844      RollRate                        = 0.0
 845      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
 846      PitchRate                       = 0.0
 847      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 848      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
 849      OCLInitialDeath                 = None
 850      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
 851      FXSecondary                     = FX_spectreDeathExplosion
 852      OCLSecondary                    = None
 853      FXHitGround                     = FX_spectreGunshipDeathExplosion
 854      OCLHitGround                    = OCL_A10DeathHitGround
 855      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
 856    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
 857      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
 858    End
 859  
 860    Behavior = PhysicsBehavior ModuleTag_05
 861      Mass = 500.0
 862    End
 863  
 864    ;SCRIPTED SUPPORT: These special power is triggered directly 
 865    ;from the transport without creating a transport. This is done 
 866    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
 867    ;which also prevents creating the payload transport.
 868  
 869    Behavior = AIUpdateInterface ModuleTag_07
 870      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
 871    End
 872    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
 873    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
 874  
 875    Behavior = SpecialAbility ModuleTag_32 
 876      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
 877      UpdateModuleStartsAttack = Yes
 878    End
 879  
 880  
 881    Behavior = SpectreGunshipUpdate ModuleTag_10
 882      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
 883      SpecialPowerTemplate            = AirF_SuperweaponSpectreGunship
 884      HowitzerWeaponTemplate          = SpectreHowitzerGun
 885      GattlingTemplateName            = SpectreGunshipGattlingCannon 
 886      RandomOffsetForHowitzer = 20     
 887      TargetingReticleRadius  = 25
 888      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
 889      GunshipOrbitRadius      = 250
 890      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
 891      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
 892      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
 893      AttackAreaRadius        = 200
 894      OrbitTime               = 15000 ;LEVEL2 (normal)
 895  
 896      AttackAreaDecal
 897        Texture           = SCCSpecTarg
 898        Style             = SHADOW_ALPHA_DECAL
 899        OpacityMin        = 25%
 900        OpacityMax        = 50%
 901        OpacityThrobTime  = 1500
 902        Color             = R:127 G:177 B:222 A:255 
 903        OnlyVisibleToOwningPlayer = Yes
 904      End
 905      TargetingReticleDecal
 906        Texture           = SCCSpecRet
 907        Style             = SHADOW_ALPHA_DECAL
 908        OpacityMin        = 50%
 909        OpacityMax        = 100%
 910        OpacityThrobTime  = 300
 911        Color             = R:127 G:177 B:222 A:255 
 912        OnlyVisibleToOwningPlayer = Yes
 913      End
 914    End
 915  
 916  
 917  
 918  
 919  
 920    Behavior = HelixContain ModuleTag_09
 921      Slots                     = 1
 922      DamagePercentToUnits      = 100%
 923      AllowInsideKindOf         = PORTABLE_STRUCTURE
 924      PassengersAllowedToFire   = Yes
 925    End
 926  
 927  
 928    Behavior = FlammableUpdate ModuleTag_08
 929      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 930      AflameDamageAmount = 3       ; taking this much damage...
 931      AflameDamageDelay = 500       ; this often.
 932    End
 933  
 934    Behavior                = ArmorUpgrade ModuleTag_Armor01
 935      TriggeredBy           = Upgrade_AmericaCountermeasures
 936    End
 937  
 938    Behavior                = CountermeasuresBehavior ModuleTag_11
 939      TriggeredBy           = Upgrade_AmericaCountermeasures
 940      FlareTemplateName     = CountermeasureFlare
 941      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 942      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
 943      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 944      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
 945      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 946      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
 947      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 948      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 949      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 950      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 951    End
 952  
 953  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
 954  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
 955    
 956  
 957    Geometry = Box
 958    GeometryIsSmall = No
 959    GeometryMajorRadius = 40.0
 960    GeometryMinorRadius = 10.0
 961    GeometryHeight = 10.0
 962    Shadow = SHADOW_VOLUME
 963    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 964  
 965  End
 966  
 967  ;--------------------------------
 968  Object AirF_AmericaJetSpectreGunship3
 969  
 970    ; *** ART Parameters ***
 971  
 972    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
 973  
 974  
 975  
 976      ;----NORMAL-------------
 977      DefaultConditionState
 978        Model           = AVSGunship
 979        WeaponFireFXBone    = PRIMARY MUZZLE
 980        WeaponFireFXBone    = SECONDARY MUZZLE
 981        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
 982        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
 983      End
 984  
 985      ConditionState    = DOOR_1_OPENING
 986        Model           = AVSGunship                 
 987        Animation       = AVSGunship.AVSGunship    
 988        AnimationMode   = ONCE
 989        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
 990        ParticleSysBone = WingTip01 SpectreContrail
 991        ParticleSysBone = WingTip02 SpectreContrail
 992      End
 993  
 994      ConditionState    = DOOR_1_CLOSING
 995        Model           = AVSGunship                 
 996        Animation       = AVSGunship.AVSGunship    
 997        AnimationMode   = ONCE_BACKWARDS
 998        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
 999        ParticleSysBone = WingTip01 JetContrailThin
1000        ParticleSysBone = WingTip02 JetContrailThin
1001        ParticleSysBone = Engine01 SpectreAfterburnerTrail
1002        ParticleSysBone = Engine02 SpectreAfterburnerTrail
1003        ParticleSysBone = Engine01 SpectreEngineFlare
1004        ParticleSysBone = Engine02 SpectreEngineFlare
1005      End
1006  
1007  
1008      ;----DAMAGED-------------
1009      ConditionState    = DOOR_1_OPENING DAMAGED
1010        Model           = AVSGunship_D                 
1011        Animation       = AVSGunship_D.AVSGunship_D    
1012        AnimationMode   = ONCE
1013        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1014        ParticleSysBone = WingTip01 SpectreContrail
1015        ParticleSysBone = WingTip02 SpectreContrail
1016        ParticleSysBone = Smoke01 JetFireLarge
1017        ParticleSysBone = Smoke02 JetFireLarge
1018        ParticleSysBone = Smoke01 JetSmokeLarge
1019        ParticleSysBone = Smoke02 JetSmokeLarge
1020      End
1021  
1022      ConditionState    = DOOR_1_CLOSING DAMAGED
1023        Model           = AVSGunship_D                 
1024        Animation       = AVSGunship_D.AVSGunship_D    
1025        AnimationMode   = ONCE_BACKWARDS
1026        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1027        ParticleSysBone = WingTip01 JetContrailThin
1028        ParticleSysBone = WingTip02 JetContrailThin
1029        ParticleSysBone = Engine01 SpectreAfterburnerTrail
1030        ParticleSysBone = Engine02 SpectreAfterburnerTrail
1031        ParticleSysBone = Engine01 SpectreEngineFlare
1032        ParticleSysBone = Engine02 SpectreEngineFlare
1033        ParticleSysBone = Smoke01 JetFireLarge
1034        ParticleSysBone = Smoke02 JetFireLarge
1035        ParticleSysBone = Smoke01 JetSmokeLarge
1036        ParticleSysBone = Smoke02 JetSmokeLarge
1037      End
1038  
1039  
1040      ;----REALLY DAMAGED-------------
1041      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
1042        Model           = AVSGunship_D                 
1043        Animation       = AVSGunship_D.AVSGunship_D    
1044        AnimationMode   = ONCE
1045        Flags           = MAINTAIN_FRAME_ACROSS_STATES START_FRAME_FIRST
1046        ParticleSysBone = WingTip01 SpectreContrail
1047        ParticleSysBone = WingTip02 SpectreContrail
1048        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
1049        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
1050        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
1051        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
1052        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
1053        ParticleSysBone = Smoke01 JetSmokeLarge
1054        ParticleSysBone = Smoke02 SpectreSmokeLarge
1055        ParticleSysBone = Smoke03 JetSmokeLarge
1056        ParticleSysBone = Smoke04 SpectreSmokeLarge
1057      End
1058  
1059      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
1060        Model           = AVSGunship_D                 
1061        Animation       = AVSGunship_D.AVSGunship_D    
1062        AnimationMode   = ONCE_BACKWARDS
1063        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1064        ParticleSysBone = WingTip01 JetContrailThin
1065        ParticleSysBone = WingTip02 JetContrailThin
1066        ParticleSysBone = Engine01 SpectreAfterburnerTrail
1067        ParticleSysBone = Engine02 SpectreAfterburnerTrail
1068        ParticleSysBone = Engine01 SpectreEngineFlare
1069        ParticleSysBone = Engine02 SpectreEngineFlare
1070        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
1071        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
1072        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
1073        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
1074        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
1075        ParticleSysBone = Smoke01 JetSmokeLarge
1076        ParticleSysBone = Smoke02 SpectreSmokeLarge
1077        ParticleSysBone = Smoke03 JetSmokeLarge
1078        ParticleSysBone = Smoke04 SpectreSmokeLarge
1079      End
1080  
1081  
1082      ConditionState = RUBBLE
1083        Model           = AVSGunship_D1
1084        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
1085        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
1086        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
1087        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
1088        ParticleSysBone = Smoke01 SpectreSmokeLarge
1089        ParticleSysBone = Smoke03 SpectreSmokeLarge
1090        ParticleSysBone = Smoke02 SpectreSmokeLarge
1091        ParticleSysBone = Smoke05 SpectreSmokeLarge
1092      End
1093      AliasConditionState = REALLYDAMAGED RUBBLE
1094      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
1095      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
1096    
1097  
1098  
1099     OkToChangeModelColor = Yes
1100  
1101     ParticlesAttachedToAnimatedBones = Yes 
1102  
1103  
1104   End
1105  
1106  
1107  
1108    ; ***DESIGN parameters ***
1109    DisplayName         = OBJECT:SpectreGunship
1110    EditorSorting       = VEHICLE
1111    Side                = AmericaAirForceGeneral
1112    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1113    VisionRange         = 300.0 
1114    ShroudClearingRange = 300
1115    Prerequisites
1116      Object = AirF_AmericaAirfield
1117    End
1118  
1119    ArmorSet
1120      Conditions      = None
1121      Armor           = SpectreGunshipArmor
1122      DamageFX        = None
1123    End
1124    ArmorSet
1125      Conditions            = PLAYER_UPGRADE
1126      Armor                 = CountermeasuresSpectreGunshipArmor
1127      DamageFX              = None
1128    End
1129  
1130  
1131    WeaponSet
1132      Conditions          = None 
1133      Weapon              = PRIMARY   SpectreHowitzerGun
1134    End
1135  
1136    ExperienceValue = 50 100 150 400    ;Experience point value at each level
1137    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
1138    IsTrainable = No             ;Not Player built, so no veterancy..............................
1139  
1140    ; *** AUDIO Parameters ***
1141    SoundAmbient = SpectreGunshipAmbientLoop
1142    SoundAmbientRubble    = NoSound
1143    UnitSpecificSounds
1144      Afterburner    = SpectreGunshipAfterburnerLoop
1145      HowitzerFire   = CrusaderTankWeapon
1146    End
1147  
1148  
1149    ; *** ENGINEERING Parameters ***
1150    RadarPriority = UNIT
1151    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
1152  
1153    Body = ActiveBody ModuleTag_03
1154      MaxHealth       = 600.0
1155      InitialHealth   = 600.0
1156    End
1157  
1158    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
1159  
1160    Behavior                          = JetSlowDeathBehavior ModuleTag_04
1161      DestructionDelay                = 99999999  ; destruction will happen when we
1162      RollRate                        = 0.0
1163      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
1164      PitchRate                       = 0.0
1165      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1166      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
1167      OCLInitialDeath                 = None
1168      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
1169      FXSecondary                     = FX_spectreDeathExplosion
1170      OCLSecondary                    = None
1171      FXHitGround                     = FX_spectreGunshipDeathExplosion
1172      OCLHitGround                    = OCL_A10DeathHitGround
1173      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
1174    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
1175      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
1176    End
1177  
1178    Behavior = PhysicsBehavior ModuleTag_05
1179      Mass = 500.0
1180    End
1181  
1182    ;SCRIPTED SUPPORT: These special power is triggered directly 
1183    ;from the transport without creating a transport. This is done 
1184    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
1185    ;which also prevents creating the payload transport.
1186  
1187    Behavior = AIUpdateInterface ModuleTag_07
1188      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
1189    End
1190    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
1191    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
1192  
1193    Behavior = SpecialAbility ModuleTag_32 
1194      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
1195      UpdateModuleStartsAttack = Yes
1196    End
1197  
1198  
1199    Behavior = SpectreGunshipUpdate ModuleTag_10
1200      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
1201      SpecialPowerTemplate            = AirF_SuperweaponSpectreGunship
1202      HowitzerWeaponTemplate          = SpectreHowitzerGun
1203      GattlingTemplateName            = SpectreGunshipGattlingCannon 
1204      RandomOffsetForHowitzer = 20     
1205      TargetingReticleRadius  = 25
1206      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
1207      GunshipOrbitRadius      = 250
1208      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
1209      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
1210      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
1211      AttackAreaRadius        = 200
1212      OrbitTime               = 20000 ;LEVEL3 (more than normal)!!!!
1213  
1214      AttackAreaDecal
1215        Texture           = SCCSpecTarg
1216        Style             = SHADOW_ALPHA_DECAL
1217        OpacityMin        = 25%
1218        OpacityMax        = 50%
1219        OpacityThrobTime  = 1500
1220        Color             = R:127 G:177 B:222 A:255 
1221        OnlyVisibleToOwningPlayer = Yes
1222      End
1223      TargetingReticleDecal
1224        Texture           = SCCSpecRet
1225        Style             = SHADOW_ALPHA_DECAL
1226        OpacityMin        = 50%
1227        OpacityMax        = 100%
1228        OpacityThrobTime  = 300
1229        Color             = R:127 G:177 B:222 A:255 
1230        OnlyVisibleToOwningPlayer = Yes
1231      End
1232    End
1233  
1234  
1235  
1236  
1237  
1238    Behavior = HelixContain ModuleTag_09
1239      Slots                     = 1
1240      DamagePercentToUnits      = 100%
1241      AllowInsideKindOf         = PORTABLE_STRUCTURE
1242      PassengersAllowedToFire   = Yes
1243    End
1244  
1245  
1246    Behavior = FlammableUpdate ModuleTag_08
1247      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1248      AflameDamageAmount = 3       ; taking this much damage...
1249      AflameDamageDelay = 500       ; this often.
1250    End
1251  
1252    Behavior                = ArmorUpgrade ModuleTag_Armor01
1253      TriggeredBy           = Upgrade_AmericaCountermeasures
1254    End
1255  
1256    Behavior                = CountermeasuresBehavior ModuleTag_11
1257      TriggeredBy           = Upgrade_AmericaCountermeasures
1258      FlareTemplateName     = CountermeasureFlare
1259      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1260      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
1261      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1262      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1263      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1264      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
1265      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1266      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1267      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1268      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1269    End
1270  
1271  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
1272  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
1273    
1274  
1275    Geometry = Box
1276    GeometryIsSmall = No
1277    GeometryMajorRadius = 40.0
1278    GeometryMinorRadius = 10.0
1279    GeometryHeight = 10.0
1280    Shadow = SHADOW_VOLUME
1281    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1282  
1283  End
1284  ;------------------------------------------------------------------------------
1285  Object AirF_SpectreGunshipHowitzer
1286  
1287    ; *** ART Parameters ***
1288    Draw                    = W3DModelDraw ModuleTag_01
1289      OkToChangeModelColor  = Yes
1290  
1291      DefaultConditionState
1292        Model               = AVSGUNSHIP_GHOW
1293        TurretPitch         = TURRETEL01
1294        WeaponFireFXBone    = PRIMARY Muzzle
1295        WeaponFireFXBone    = SECONDARY Muzzle
1296        WeaponMuzzleFlash   = PRIMARY MuzzleFX
1297        WeaponMuzzleFlash   = SECONDARY MuzzleFX
1298      End
1299  
1300    End
1301  
1302    ; ***DESIGN parameters ***
1303    Side             = AmericaAirForceGeneral
1304    EditorSorting    = SYSTEM
1305    TransportSlotCount = 1
1306    WeaponSet
1307      Conditions          = None 
1308      Weapon              = PRIMARY   SpectreHowitzerGun
1309    End
1310    
1311    ArmorSet
1312      Conditions     = None
1313      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Overlord with his damage module
1314    End
1315    VisionRange     = 200
1316  
1317    ; *** AUDIO Parameters ***
1318    UnitSpecificSounds
1319      TurretMoveStart = NoSound
1320      TurretMoveLoop  = NoSound ;TurretMoveLoop
1321      VoiceRapidFire  = NoSound
1322    End
1323  
1324    ; *** ENGINEERING Parameters ***
1325    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI
1326      Body            = StructureBody ModuleTag_02
1327      MaxHealth       = 100.0
1328      InitialHealth   = 100.0
1329    End
1330  
1331    Behavior = AIUpdateInterface ModuleTag_03
1332      Turret
1333        ControlledWeaponSlots = PRIMARY SECONDARY
1334        TurretTurnRate      = 60   // turn rate, in degrees per sec
1335        TurretPitchRate     = 60
1336        AllowsPitch         = Yes
1337      End
1338      AutoAcquireEnemiesWhenIdle = No 
1339    End
1340  
1341    Behavior             = DestroyDie ModuleTag_04
1342      ;nothing
1343    End
1344  
1345    Behavior = StealthDetectorUpdate ModuleTag_06
1346      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
1347      ;DetectionRange = ??? ;   Defaults to VisionRange
1348      CanDetectWhileContained   = Yes
1349    End
1350  
1351    Geometry            = BOX
1352    GeometryMajorRadius = 13.0
1353    GeometryMinorRadius = 13.0
1354    GeometryHeight      = 8.0
1355    GeometryIsSmall     = No      
1356    Shadow              = NONE
1357  
1358  End
1359  
1360  
1361  ;------------------------------------------------------------------------------
1362  Object AirF_AmericaJetB52
1363  
1364    ; *** ART Parameters ***
1365    Draw = W3DModelDraw ModuleTag_01
1366      DefaultConditionState
1367        Model = AVBomber
1368        ParticleSysBone = Engine00 JetBlackTrailThin
1369        ParticleSysBone = Engine02 JetBlackTrailThin
1370        ParticleSysBone = Engine03 JetBlackTrailThin
1371        ParticleSysBone = Engine04 JetBlackTrailThin
1372        ParticleSysBone = WingTip01 JetContrailThin
1373        ParticleSysBone = WingTip02 JetContrailThin
1374      End
1375      ConditionState = DAMAGED
1376        Model = AVBomber_D
1377        ParticleSysBone = Smoke01 JetFireLarge
1378        ParticleSysBone = Smoke02 JetFireLarge
1379        ParticleSysBone = Engine00 JetBlackTrailThin
1380        ParticleSysBone = Engine02 JetBlackTrailThin
1381        ParticleSysBone = Engine03 JetBlackTrailThin
1382        ParticleSysBone = Engine04 JetBlackTrailThin
1383        ParticleSysBone = Smoke01 JetSmokeLarge
1384        ParticleSysBone = Smoke02 JetSmokeLarge
1385      End
1386      ConditionState = REALLYDAMAGED
1387        Model = AVBomber_D
1388        ParticleSysBone = Smoke01 JetFireLarge
1389        ParticleSysBone = Smoke02 JetFireLarge
1390        ParticleSysBone = Engine00 JetBlackTrailThin
1391        ParticleSysBone = Engine02 JetBlackTrailThin
1392        ParticleSysBone = Engine03 JetBlackTrailThin
1393        ParticleSysBone = Engine04 JetBlackTrailThin
1394        ParticleSysBone = Smoke01 JetSmokeLarge
1395        ParticleSysBone = Smoke02 JetSmokeLarge
1396      End
1397      ConditionState = RUBBLE
1398        Model = AVBomber_D1
1399        ParticleSysBone = Smoke01 JetFireLarge
1400        ParticleSysBone = Smoke02 JetFireLarge
1401        ParticleSysBone = Smoke01 JetSmokeLarge
1402        ParticleSysBone = Smoke02 JetSmokeLarge
1403      End
1404      OkToChangeModelColor = Yes
1405    End
1406    
1407    Draw = W3DModelDraw ModuleTag_02
1408      DefaultConditionState
1409        Model           = AVBomber_A2U
1410        Animation       = AVBomber_A2K.AVBomber_A2
1411        AnimationMode   = MANUAL
1412        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1413      End
1414      ConditionState = DOOR_1_OPENING
1415        Animation       = AVBomber_A2K.AVBomber_A2
1416        AnimationMode   = ONCE
1417        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1418      End
1419      ConditionState = DOOR_1_CLOSING
1420        Animation       = AVBomber_A2K.AVBomber_A2
1421        AnimationMode   = ONCE_BACKWARDS
1422        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1423      End
1424  
1425      ConditionState = REALLYDAMAGED
1426        Model           = AVBomber_A2DU
1427        Animation       = AVBomber_A2K.AVBomber_A2
1428        AnimationMode   = MANUAL
1429        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1430      End
1431      ConditionState = DOOR_1_OPENING REALLYDAMAGED
1432        Model           = AVBomber_A2DU
1433        Animation       = AVBomber_A2K.AVBomber_A2
1434        AnimationMode   = ONCE
1435        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
1436      End
1437      ConditionState = DOOR_1_CLOSING REALLYDAMAGED
1438        Model           = AVBomber_A2DU
1439        Animation       = AVBomber_A2K.AVBomber_A2
1440        AnimationMode   = ONCE_BACKWARDS
1441        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
1442      End
1443    End
1444  
1445    ; ***DESIGN parameters ***
1446    DisplayName         = OBJECT:B52
1447    EditorSorting       = VEHICLE
1448    Side                = AmericaAirForceGeneral
1449    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1450    VisionRange         = 0.0 
1451    ArmorSet
1452      Conditions      = None
1453      Armor           = AirplaneArmor
1454      DamageFX        = TankDamageFX
1455    End
1456    ArmorSet
1457      Conditions            = PLAYER_UPGRADE
1458      Armor                 = CountermeasuresAirplaneArmor
1459      DamageFX              = None
1460    End
1461    CommandSet        = Command_ScriptedTransportDrops
1462  
1463    ; *** AUDIO Parameters ***
1464    SoundAmbient = B52AmbientLoop
1465    SoundAmbientRubble    = NoSound
1466  
1467    ; *** ENGINEERING Parameters ***
1468    RadarPriority = UNIT
1469    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK  VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED
1470    Body = ActiveBody ModuleTag_03
1471      MaxHealth       = 1000.0
1472      InitialHealth   = 1000.0
1473    End
1474  
1475    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
1476  
1477    ;SCRIPTED SUPPORT: These special powers are triggered directly 
1478    ;from the transport without creating a transport. This is done 
1479    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
1480    ;which also prevents creating the payload transport.
1481    Behavior    = OCLSpecialPower ModuleTag_04
1482      SpecialPowerTemplate = SuperweaponDaisyCutter  ;@@KRIS@@
1483      OCL                  = SUPERWEAPON_DaisyCutter
1484      CreateLocation       = USE_OWNER_OBJECT
1485      ScriptedSpecialPowerOnly = Yes
1486    End
1487    Behavior    = OCLSpecialPower ModuleTag_05
1488      SpecialPowerTemplate = SuperweaponParadropAmerica
1489      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
1490      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
1491      OCL                  = SUPERWEAPON_Paradrop1
1492      CreateLocation       = USE_OWNER_OBJECT
1493      ScriptedSpecialPowerOnly = Yes
1494    End 
1495    Behavior    = OCLSpecialPower ModuleTag_06
1496      SpecialPowerTemplate = AirF_SuperweaponCarpetBomb
1497      OCL                  = AirF_SUPERWEAPON_CarpetBomb
1498      CreateLocation       = USE_OWNER_OBJECT
1499      ScriptedSpecialPowerOnly = Yes
1500    End 
1501     
1502    Behavior = PhysicsBehavior ModuleTag_07
1503      Mass = 500.0
1504    End
1505  
1506    Behavior = DeliverPayloadAIUpdate ModuleTag_08
1507      DoorDelay         = 500
1508      MaxAttempts       = 4
1509      DropOffset        = X:0 Y:0 Z:-10
1510      DropDelay         = 300     ; time in between each item dropped (if more than one)
1511      PutInContainer    = AmericaParachute
1512      DeliveryDistance  = 150
1513    End
1514    Locomotor = SET_NORMAL B52Locomotor
1515  
1516    Behavior = TransportContain ModuleTag_09
1517      Slots                       = 100                     ; hey, it's a BIG transport
1518      ScatterNearbyOnExit         = No
1519      OrientLikeContainerOnExit   = Yes
1520      KeepContainerVelocityOnExit = Yes
1521      ExitPitchRate               = 30
1522      ExitBone                    = WeaponA01
1523      AllowInsideKindOf           = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
1524      DoorOpenTime                = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
1525      NumberOfExitPaths           = 0
1526      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
1527    End
1528      
1529    Behavior                          = JetSlowDeathBehavior ModuleTag_10
1530      DestructionDelay                = 2000 
1531      RollRate                        = 0.0
1532      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
1533      PitchRate                       = 0
1534      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1535      FXInitialDeath                  = FX_JetBigDeathInitial
1536      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
1537      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
1538      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
1539      FXSecondary                     = FX_BigPlaneDeath
1540  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1541  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
1542  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1543    End
1544  
1545    Behavior = TransitionDamageFX ModuleTag_11
1546      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
1547      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
1548    End
1549  
1550    Behavior                = ArmorUpgrade ModuleTag_Armor01
1551      TriggeredBy           = Upgrade_AmericaCountermeasures
1552    End
1553  
1554    Behavior                = CountermeasuresBehavior ModuleTag_12
1555      TriggeredBy           = Upgrade_AmericaCountermeasures
1556      FlareTemplateName     = CountermeasureFlare
1557      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1558      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
1559      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1560      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1561      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1562      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
1563      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1564      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1565      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1566      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1567    End
1568  
1569    Geometry = Box
1570    GeometryIsSmall = No
1571    GeometryMajorRadius = 60.0
1572    GeometryMinorRadius = 10.0
1573    GeometryHeight = 10.0
1574    Shadow = SHADOW_VOLUME
1575    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1576  
1577  End
1578  
1579  
1580  
1581  
1582  
1583  
1584  
1585  ;------------------------------------------------------------------------------
1586  Object AirF_AmericaJetAurora
1587  
1588    ; *** ART Parameters ***
1589    SelectPortrait         = SAWarthog_L
1590    ButtonImage            = SAWarthog
1591    
1592    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
1593    UpgradeCameo2 = Upgrade_AmericaCountermeasures
1594    ;UpgradeCameo3 = NONE
1595    ;UpgradeCameo4 = NONE
1596    ;UpgradeCameo5 = NONE
1597    
1598    Draw = W3DModelDraw ModuleTag_01
1599  
1600      DefaultConditionState
1601        Model             = AVWarthog
1602        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1603        WeaponFireFXBone  = PRIMARY Muzzle01
1604        ParticleSysBone = Engine01 JetBlackTrailThin
1605        ParticleSysBone = Engine02 JetBlackTrailThin
1606        ParticleSysBone = Wingtip01 JetContrailThin
1607        ParticleSysBone = Wingtip02 JetContrailThin
1608      End
1609  
1610      ConditionState        = JETEXHAUST
1611        ; exhaust
1612        ParticleSysBone     = Wingtip01 JetContrail
1613        ParticleSysBone     = Wingtip02 JetContrail
1614      End
1615  
1616      ConditionState        = JETEXHAUST JETAFTERBURNER
1617        ; exhaust
1618        ParticleSysBone     = Wingtip01 JetContrail
1619        ParticleSysBone     = Wingtip02 JetContrail
1620        ; afterburner
1621        ShowSubObject       = BurnerFX01 BurnerFX02
1622        ParticleSysBone     = Engine01 JetLenzflare
1623        ParticleSysBone     = Engine02 JetLenzflare
1624      End
1625  
1626      ConditionState      = REALLYDAMAGED
1627        Model             = AVWarthog_D
1628        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1629        WeaponFireFXBone  = PRIMARY Muzzle01
1630      End
1631      
1632      ConditionState        = REALLYDAMAGED JETEXHAUST
1633        Model               = AVWarthog_D
1634        ; damage
1635        ParticleSysBone     = Smoke01 JetSmoke
1636        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1637        ; exhaust
1638        ParticleSysBone     = Wingtip01 JetContrail
1639        ParticleSysBone     = Wingtip02 JetContrail
1640      End
1641  
1642      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1643        Model               = AVWarthog_D
1644        ; damage
1645        ParticleSysBone     = Smoke01 JetSmoke
1646        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1647        ; afterburner
1648        ShowSubObject       = BurnerFX01 BurnerFX02
1649        ParticleSysBone     = Engine01 JetLenzflare
1650        ParticleSysBone     = Engine02 JetLenzflare
1651        ; exhaust
1652        ParticleSysBone     = Wingtip01 JetContrail
1653        ParticleSysBone     = Wingtip02 JetContrail
1654      End
1655  
1656      ConditionState        = RUBBLE
1657        Model               = AVWarthog_D
1658        HideSubObject       = None 
1659        ShowSubObject       = None
1660      End
1661  
1662      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1663        Model               = AVWarthog_D
1664        ;HideSubObject is needed cause there're inherited from default condition state      
1665        HideSubObject       = None 
1666        ShowSubObject       = None
1667        ParticleSysBone     = Engine01 JetExhaust
1668        ParticleSysBone     = Engine02 JetExhaust
1669        ; exhaust
1670        ParticleSysBone     = Wingtip01 JetContrail
1671        ParticleSysBone     = Wingtip02 JetContrail
1672      End
1673  
1674      OkToChangeModelColor = Yes
1675  
1676    End
1677  
1678    ; ***DESIGN parameters ***
1679    DisplayName         = OBJECT:Aurora
1680    EditorSorting       = VEHICLE
1681    Side                = AmericaAirForceGeneral
1682    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1683    VisionRange         = 180.0 
1684    ShroudClearingRange = 600
1685    Prerequisites
1686      Object = AirF_AmericaAirfield
1687      Object = AirF_AmericaStrategyCenter
1688    End
1689    BuildCost           = 2000
1690    BuildTime           = 30.0          ;in seconds     
1691   
1692    WeaponSet
1693      Conditions            = None 
1694      Weapon                = PRIMARY A10Vulcan
1695      Weapon                = SECONDARY A10CarpetBomb
1696    End
1697  
1698    ArmorSet
1699      Conditions      = None
1700      Armor           = AirplaneArmor
1701      DamageFX        = None
1702    End
1703    ArmorSet
1704      Conditions            = PLAYER_UPGRADE
1705      Armor                 = CountermeasuresAirplaneArmor
1706      DamageFX              = None
1707    End
1708  
1709    ExperienceValue = 200 200 400 400   ;Experience point value at each level
1710    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
1711    IsTrainable = Yes                   ;Can gain experience
1712    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1713    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1714    CommandSet        = AmericaJetAuroraCommandSet
1715  
1716    ; *** AUDIO Parameters ***
1717    VoiceSelect = AuroraBomberVoiceSelect
1718    VoiceMove = AuroraBomberVoiceMove
1719    VoiceGuard = AuroraBomberVoiceMove
1720    VoiceAttack = AuroraBomberVoiceAttack
1721    SoundAmbient = AuroraBomberAmbientLoop
1722    SoundAmbientRubble    = NoSound
1723    UnitSpecificSounds
1724      VoiceCreate          = AuroraBomberVoiceCreate
1725      SoundEject           = PilotSoundEject
1726      VoiceEject           = PilotVoiceEject
1727      Afterburner          = RaptorAfterburner
1728      VoiceLowFuel         = AuroraBomberVoiceLowFuel
1729      VoiceGarrison        = AuroraBomberVoiceMove
1730    End
1731  
1732    ; *** ENGINEERING Parameters ***
1733    RadarPriority = UNIT
1734    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1735    Body = ActiveBody ModuleTag_02
1736      MaxHealth       = 300 ;80.0 
1737      InitialHealth   = 300 ;80.0
1738    End
1739  
1740    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1741      FXOnGroundDeath                 = FX_JetOnGroundDeath
1742      OCLOnGroundDeath                = OCL_AuroraDeathFinalBlowUp
1743      DestructionDelay                = 99999999; destruction will happen when we
1744      RollRate                        = 0.2
1745      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1746      PitchRate                       = 0.0
1747      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1748      FXInitialDeath                  = FX_AuroraDeathInitial
1749      ;OCLInitialDeath                = None
1750      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1751      FXSecondary                     = FX_JetDeathSecondary
1752      ;OCLSecondary                   = None
1753      FXHitGround                     = FX_JetDeathHitGround
1754      ;OCLHitGround                   = None
1755      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
1756      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1757      OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
1758  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1759    End
1760    Behavior = EjectPilotDie ModuleTag_04
1761      GroundCreationList = OCL_EjectPilotOnGround
1762      AirCreationList = OCL_EjectPilotViaParachute
1763      ExemptStatus = HIJACKED
1764      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1765    End
1766  
1767    Behavior = PhysicsBehavior ModuleTag_05
1768      Mass = 500.0
1769    End
1770  
1771    Behavior = ExperienceScalarUpgrade ModuleTag_06
1772      TriggeredBy = Upgrade_AmericaAdvancedTraining
1773      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1774    End
1775  
1776    Behavior = JetAIUpdate ModuleTag_07
1777      OutOfAmmoDamagePerSecond    = 10%    ; amount of damage to take per SEC (not per frame) when out of ammo
1778                                           ; note that it's expressed as a percent of max health, not an absolute
1779      TakeoffDistForMaxLift       = 0%   ; larger numbers give more lift sooner when taking off
1780      TakeoffPause                = 500
1781      MinHeight                   = 5
1782      SneakyOffsetWhenAttacking   = -20.0  ; this is how far behind us people aim when we are in attack mode
1783      AttackLocomotorType         = SET_SUPERSONIC
1784      AttackLocomotorPersistTime  = 100    ; we start slowing down almost immediately
1785      AttackersMissPersistTime    = 2000   ; but remain untargetable fer a bit longer
1786      ReturnForAmmoLocomotorType  = SET_SLUGGISH
1787      ReturnToBaseIdleTime        = 10000         ; if idle for this long, return to base, even if not out of ammo
1788    End
1789      Locomotor = SET_NORMAL A10Thunderbolt2Locomotor
1790    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
1791  
1792    Behavior                = ArmorUpgrade ModuleTag_Armor01
1793      TriggeredBy           = Upgrade_AmericaCountermeasures
1794    End
1795  
1796    Behavior                = CountermeasuresBehavior ModuleTag_10
1797      TriggeredBy           = Upgrade_AmericaCountermeasures
1798      FlareTemplateName     = CountermeasureFlare
1799      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1800      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1801      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1802      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1803      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1804      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1805      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1806      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1807      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1808      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1809    End
1810  
1811    Behavior = FlammableUpdate ModuleTag_21
1812      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1813      AflameDamageAmount = 3       ; taking this much damage...
1814      AflameDamageDelay = 500       ; this often.
1815    End
1816  
1817    Behavior                 = TransitionDamageFX ModuleTag_22
1818      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
1819      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
1820    End
1821  
1822  
1823  
1824  
1825    Geometry                 = Box
1826    GeometryIsSmall          = Yes
1827    GeometryMajorRadius      = 14.0
1828    GeometryMinorRadius      = 7.0
1829    GeometryHeight           = 5.0
1830    Shadow                   = SHADOW_VOLUME
1831    ShadowSizeX              = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1832  
1833  End
1834  
1835  ;------------------------------------------------------------------------------
1836  Object AirF_AmericaJetStealthFighter
1837  
1838    ; *** ART Parameters ***
1839    SelectPortrait         = SAStealth_L
1840    ButtonImage            = SAStealth
1841    
1842    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
1843    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
1844    UpgradeCameo3 = Upgrade_AmericaCountermeasures
1845    UpgradeCameo4 = Upgrade_AmericaBunkerBusters
1846    ;UpgradeCameo5 = NONE
1847    
1848    Draw = W3DModelDraw ModuleTag_01
1849  
1850      DefaultConditionState
1851        Model                           = AVStealth
1852        HideSubObject                   = BurnerFX03 BurnerFX04
1853        WeaponLaunchBone  = PRIMARY WeaponA
1854      End
1855      
1856      ConditionState        = JETEXHAUST
1857        ParticleSysBone     = Wingtip01 JetContrail
1858        ParticleSysBone     = Wingtip02 JetContrail
1859      End
1860  
1861      ConditionState        = JETEXHAUST JETAFTERBURNER
1862        ; exhaust
1863        ParticleSysBone     = Wingtip01 JetContrail
1864        ParticleSysBone     = Wingtip02 JetContrail
1865        ; afterburners
1866        ShowSubObject       = BurnerFX03 BurnerFX04
1867        ParticleSysBone     = Engine01 JetLenzflare
1868        ParticleSysBone     = Engine02 JetLenzflare
1869      End
1870  
1871      ConditionState        = REALLYDAMAGED
1872        Model               = AVStealth_D
1873        ; damage
1874        ParticleSysBone     = Smoke01 JetSmoke
1875        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1876      End
1877  
1878      ConditionState        = REALLYDAMAGED JETEXHAUST
1879        Model               = AVStealth_D
1880        ; damage
1881        ParticleSysBone     = Smoke01 JetSmoke
1882        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1883        ; exhaust
1884        ParticleSysBone     = Wingtip01 JetContrail
1885        ParticleSysBone     = Wingtip02 JetContrail
1886      End
1887  
1888      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1889        Model               = AVStealth_D
1890        ; damage
1891        ParticleSysBone     = Smoke01 JetSmoke
1892        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1893        ; exhaust
1894        ParticleSysBone     = Wingtip01 JetContrail
1895        ParticleSysBone     = Wingtip02 JetContrail
1896        ; afterburners
1897        ShowSubObject       = BurnerFX03 BurnerFX04
1898        ParticleSysBone     = Engine01 JetLenzflare
1899        ParticleSysBone     = Engine02 JetLenzflare
1900      End
1901  
1902      ConditionState        = RUBBLE
1903        Model               = AVStealth_D1
1904        HideSubObject       = None 
1905        ShowSubObject       = None
1906      End
1907  
1908      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1909        Model               = AVStealth_D1
1910        ;HideSubObject is needed cause there're inherited from default condition state      
1911        HideSubObject       = None 
1912        ShowSubObject       = None
1913        ParticleSysBone     = Engine01 JetExhaust
1914        ParticleSysBone     = Engine02 JetExhaust
1915        ParticleSysBone     = Wingtip01 JetContrail
1916        ParticleSysBone     = Wingtip02 JetContrail
1917      End
1918      
1919      OkToChangeModelColor = Yes
1920  
1921    End
1922  
1923    ; ***DESIGN parameters ***
1924    DisplayName           = OBJECT:StealthFighter
1925    EditorSorting         = VEHICLE
1926    Side                  = AmericaAirForceGeneral
1927    TransportSlotCount    = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1928    VisionRange           = 180.0 
1929    ShroudClearingRange   = 300.0
1930    Prerequisites
1931      Object = AirF_AmericaAirfield
1932    End
1933    WeaponSet
1934      Conditions = None 
1935      Weapon = PRIMARY StealthJetMissileWeapon
1936    End
1937    WeaponSet
1938      Conditions = PLAYER_UPGRADE
1939      Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon
1940    End
1941    ArmorSet
1942      Conditions      = None
1943      Armor           = AirplaneArmor
1944      DamageFX        = None
1945    End
1946    ArmorSet
1947      Conditions            = PLAYER_UPGRADE
1948      Armor                 = CountermeasuresAirplaneArmor
1949      DamageFX              = None
1950    End
1951  
1952    BuildCost           = 1250
1953    BuildTime           = 25.0            ;in seconds  
1954    ExperienceValue     = 100 100 200 300 ;Experience point value at each level
1955    ExperienceRequired  = 0 200 300 600   ; Experience points needed to gain each level
1956    IsTrainable         = Yes             ;Can gain experience
1957    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1958    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1959    CommandSet = AmericaJetStealthFighterCommandSet
1960  
1961    ; *** AUDIO Parameters ***
1962    VoiceSelect     = StealthFighterVoiceSelect
1963    VoiceMove       = StealthFighterVoiceMove
1964    VoiceAttack     = StealthFighterVoiceAttack
1965    VoiceAttackAir  = StealthFighterVoiceAttackAir
1966    VoiceGuard      = StealthFighterVoiceAirPatrol
1967    SoundAmbient    = StealthFighterAmbientLoop
1968    SoundAmbientRubble    = NoSound
1969    SoundStealthOn  = StealthOn
1970    SoundStealthOff = StealthOff
1971    UnitSpecificSounds
1972      VoiceCreate   = StealthFighterVoiceCreate
1973      SoundEject    = PilotSoundEject
1974      VoiceEject    = PilotVoiceEject
1975      Afterburner   = RaptorAfterburner
1976      VoiceLowFuel  = AuroraBomberVoiceLowFuel
1977      VoiceGarrison = StealthFighterVoiceMove
1978    End
1979  
1980    ; *** ENGINEERING Parameters ***
1981    RadarPriority   = LOCAL_UNIT_ONLY
1982    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1983    Body = ActiveBody ModuleTag_02
1984      MaxHealth       = 180.0
1985      InitialHealth   = 180.0
1986    End
1987  
1988    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1989      FXOnGroundDeath                 = FX_JetOnGroundDeath
1990      OCLOnGroundDeath                = OCL_StealthDeathFinalBlowUp
1991      DestructionDelay                = 99999999; destruction will happen when we
1992      RollRate                        = 0.2
1993      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1994      PitchRate                       = 0.0
1995      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1996      FXInitialDeath                  = FX_StealthFighterDeathInitial
1997      ;OCLInitialDeath                = None
1998      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1999      FXSecondary                     = FX_JetDeathSecondary
2000      ;OCLSecondary                   = None
2001      FXHitGround                     = FX_JetDeathHitGround
2002      ;OCLHitGround                   = None
2003      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
2004      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2005      OCLFinalBlowUp                  = OCL_StealthDeathFinalBlowUp
2006  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
2007    End
2008    Behavior = EjectPilotDie ModuleTag_04
2009      GroundCreationList = OCL_EjectPilotOnGround
2010      AirCreationList = OCL_EjectPilotViaParachute
2011      ExemptStatus = HIJACKED
2012      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
2013    End
2014   
2015    Behavior = PhysicsBehavior ModuleTag_05
2016      Mass = 500.0
2017    End
2018  
2019    Behavior = JetAIUpdate ModuleTag_06
2020      OutOfAmmoDamagePerSecond = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
2021                                      ; note that it's expressed as a percent of max health, not an absolute
2022      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
2023      TakeoffPause           = 500
2024      MinHeight              = 5
2025      ReturnToBaseIdleTime   = 10000         ; if idle for this long, return to base, even if not out of ammo
2026    End
2027  
2028    Behavior = WeaponSetUpgrade ModuleTag_07
2029      TriggeredBy = Upgrade_AmericaLaserMissiles
2030    End
2031  
2032    Behavior = ExperienceScalarUpgrade ModuleTag_08
2033      TriggeredBy = Upgrade_AmericaAdvancedTraining
2034      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
2035    End
2036  
2037    Behavior = StealthUpdate ModuleTag_09
2038      StealthDelay                          = 1500 ; msec
2039      StealthForbiddenConditions            = FIRING_PRIMARY
2040      ; not currently used... but maybe someday? (srj)
2041      ;RevealDistanceFromTarget             = 0.0f
2042      FriendlyOpacityMin                    = 50.0%
2043      FriendlyOpacityMax                    = 100.0%
2044      InnateStealth                         = Yes
2045      OrderIdleEnemiesToAttackMeUponReveal  = Yes
2046    End
2047  
2048    Behavior                = ArmorUpgrade ModuleTag_Armor01
2049      TriggeredBy           = Upgrade_AmericaCountermeasures
2050    End
2051  
2052    Behavior                = CountermeasuresBehavior ModuleTag_10
2053      TriggeredBy           = Upgrade_AmericaCountermeasures
2054      FlareTemplateName     = CountermeasureFlare
2055      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2056      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
2057      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2058      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2059      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2060      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
2061      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2062      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2063      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2064      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2065    End
2066  
2067    Locomotor = SET_NORMAL StealthJetLocomotor
2068    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
2069  
2070    Behavior = FlammableUpdate ModuleTag_21
2071      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2072      AflameDamageAmount = 3       ; taking this much damage...
2073      AflameDamageDelay = 500       ; this often.
2074    End
2075  
2076    Behavior                 = TransitionDamageFX ModuleTag_22
2077      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
2078      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
2079    End
2080  
2081    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
2082      WeaponTemplate        = AirF_PointDefenseLaser
2083      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
2084      ScanRate              = 0
2085      ScanRange             = 200.0
2086      PredictTargetVelocityFactor = 1.0
2087    End
2088  
2089  
2090    Geometry = Cylinder
2091    GeometryIsSmall = Yes
2092    GeometryMajorRadius = 7.0
2093    GeometryMinorRadius = 7.0
2094    GeometryHeight = 7.0
2095    Shadow = SHADOW_VOLUME
2096    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2097  
2098  End
2099  
2100  ;------------------------------------------------------------------------------
2101  Object AirF_AmericaVehicleComanche
2102  
2103    ; *** ART Parameters ***
2104    SelectPortrait         = SACCommanche_L
2105    ButtonImage            = SACCommanche
2106    
2107    UpgradeCameo1 = Upgrade_ComancheRocketPods
2108    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
2109    UpgradeCameo3 = Upgrade_AmericaCountermeasures
2110    ;UpgradeCameo4 = NONE
2111    ;UpgradeCameo5 = NONE
2112    
2113    Draw = W3DModelDraw ModuleTag_01
2114  
2115      DefaultConditionState
2116        Model                           = AVComancheAG
2117        HideSubObject                   = MissileUpgrade
2118        Animation                       = AVComancheAG.AVComancheAG
2119        AnimationMode                   = LOOP
2120        WeaponMuzzleFlash               = PRIMARY TurretFX
2121        WeaponFireFXBone                = PRIMARY Muzzle
2122        WeaponFireFXBone                = SECONDARY Muzzle
2123        WeaponLaunchBone  = SECONDARY Muzzle
2124      End
2125  
2126      ConditionState = REALLYDAMAGED
2127        Model                           = AVComancheAG_d
2128        Animation                       = AVComancheAG_d.AVComancheAG_d
2129        AnimationMode                   = LOOP
2130      End
2131  
2132      ConditionState = WEAPONSET_PLAYER_UPGRADE
2133        ShowSubObject                   = MissileUpgrade
2134        Animation                       = AVComancheAG.AVComancheAG
2135        AnimationMode                   = LOOP
2136        WeaponFireFXBone                = TERTIARY WeaponB
2137        WeaponLaunchBone  = TERTIARY WeaponB
2138      End
2139  
2140      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
2141        Model                           = AVComancheAG_d
2142        ShowSubObject                   = MissileUpgrade
2143        Animation                       = AVComancheAG_d.AVComancheAG_d
2144        AnimationMode                   = LOOP
2145        WeaponFireFXBone                = TERTIARY WeaponB
2146        WeaponLaunchBone  = TERTIARY WeaponB
2147      End
2148  
2149      ConditionState = RUBBLE
2150        Model                           = AVComancheAG_d
2151        Animation                       = AVComancheAG_d.AVComancheAG_d
2152        AnimationMode                   = LOOP
2153      End
2154  
2155      ConditionState = RUBBLE SPECIAL_DAMAGED
2156        Model                           = AVComancheAG_d
2157        HideSubObject                   = AVComanche_Prop
2158      End
2159  
2160      OkToChangeModelColor = Yes
2161    End
2162  
2163    ; ***DESIGN parameters ***
2164    DisplayName         = OBJECT:Comanche
2165    EditorSorting       = VEHICLE
2166    Side                = AmericaAirForceGeneral
2167    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2168    VisionRange         = 200.0 
2169    ShroudClearingRange = 600
2170    Prerequisites
2171      Object            = AirF_AmericaAirfield
2172    End
2173  
2174    WeaponSet
2175      Conditions          = None 
2176      ; -----
2177      Weapon              = PRIMARY     Comanche20mmCannonWeapon
2178      PreferredAgainst    = PRIMARY     INFANTRY
2179      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
2180      ; -----
2181      Weapon              = SECONDARY   ComancheAntiTankMissileWeapon
2182      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
2183      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
2184      ; -----
2185      Weapon              = TERTIARY    NONE
2186    End
2187    WeaponSet
2188      Conditions          = PLAYER_UPGRADE 
2189      ; -----
2190      Weapon              = PRIMARY     Comanche20mmCannonWeapon
2191      PreferredAgainst    = PRIMARY     INFANTRY
2192      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
2193      ; -----
2194      Weapon              = SECONDARY   ComancheAntiTankMissileWeapon
2195      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
2196      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
2197      ; -----
2198      Weapon              = TERTIARY    ComancheRocketPodWeapon
2199      AutoChooseSources   = TERTIARY    NONE
2200    End
2201    ArmorSet
2202      Conditions        = None
2203      Armor             = AFG_ComancheArmor
2204      DamageFX          = None
2205    End
2206    ArmorSet 
2207      Conditions        = PLAYER_UPGRADE
2208      Armor             = AFG_CountermeasuresComancheArmor
2209      DamageFX          = None
2210    End
2211    BuildCost           = 1200
2212    BuildTime           = 20              ; in seconds  
2213    ExperienceValue     = 50 50 100 200   ; Experience point value at each level
2214    ExperienceRequired  = 0 100 200 400   ; Experience points needed to gain each level
2215    IsTrainable         = Yes             ; Can gain experience
2216    CommandSet          = AirF_AmericaVehicleComancheCommandSet
2217  
2218    ; *** AUDIO Parameters ***
2219    VoiceSelect           = ComancheVoiceSelect
2220    VoiceMove             = ComancheVoiceMove
2221    VoiceGuard            = ComancheVoiceMove
2222    VoiceAttack           = ComancheVoiceAttack
2223    SoundAmbient          = ComancheAmbientLoop
2224    SoundAmbientRubble    = NoSound
2225    UnitSpecificSounds
2226      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
2227      VoiceCreate         = ComancheVoiceCreate
2228      SoundEject          = PilotSoundEject
2229      VoiceEject          = PilotVoiceEject
2230      Afterburner         = RaptorAfterburner
2231      VoiceGarrison       = ComancheVoiceMove
2232      TurretMoveStart     = NoSound
2233      TurretMoveLoop      = NoSound
2234      VoiceFireRocketPods = ComancheVoiceAttackRocket
2235    End
2236  
2237  
2238    ; *** ENGINEERING Parameters ***
2239    RadarPriority   = UNIT
2240    KindOf          = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD
2241  
2242    Behavior = WeaponSetUpgrade ModuleTag_02
2243      TriggeredBy = Upgrade_ComancheRocketPods
2244    End
2245    Behavior = ExperienceScalarUpgrade ModuleTag_03
2246      TriggeredBy = Upgrade_AmericaAdvancedTraining
2247      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
2248    End
2249  
2250    Body = ActiveBody ModuleTag_04
2251      MaxHealth       = 220.0
2252      InitialHealth   = 220.0
2253    End
2254  
2255    Behavior = FXListDie ModuleTag_05
2256      DeathFX = FX_ComancheStartDeath
2257    End
2258  
2259    Behavior = JetAIUpdate ModuleTag_06
2260      MinHeight                     = 5
2261      NeedsRunway                   = No
2262      KeepsParkingSpaceWhenAirborne = No
2263      AutoAcquireEnemiesWhenIdle    = Yes
2264      ; note that comanches do not return to base when idle
2265      
2266      ; this is a bit of a trick... normally, units cannot move-and-fire at
2267      ; the same time. we need the comanche to be able to. so we give it
2268      ; a "turret" (invisible) and put the two main weapons on it, but with
2269      ; no turn rate. voila!
2270      Turret
2271        TurretTurnRate = 0      ; this "turret" does not turn
2272        TurretPitchRate = 0     ; nor does it pitch
2273        ControlledWeaponSlots = PRIMARY SECONDARY
2274      End
2275  
2276    End
2277    Locomotor = SET_NORMAL  ComancheLocomotor
2278    Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor
2279  
2280    Behavior = PhysicsBehavior ModuleTag_07
2281      Mass = 50.0
2282    End
2283    Behavior = HelicopterSlowDeathBehavior ModuleTag_08
2284      DestructionDelay                = 99999999        ; the destruction delay
2285      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
2286      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
2287      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
2288      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
2289      SoundDeathLoop                  = ComancheDamagedLoop
2290      MinSelfSpin                     = 100                     ; in degrees per second
2291      MaxSelfSpin                     = 300                     ; in degrees per second
2292      SelfSpinUpdateDelay             = 100             ; in milliseconds
2293      SelfSpinUpdateAmount            = 10             ; in degrees   
2294      FallHowFast                     = 12.0%  ; fraction of gravity, lower = take longer to fall
2295      MinBladeFlyOffDelay             = 1500            ; in milliseconds
2296      MaxBladeFlyOffDelay             = 1500            ; in milliseconds
2297      AttachParticle                  = SootySmokeTrail
2298      AttachParticleBone              = Propeller02
2299      BladeObjectName                 = ComancheBlades
2300      BladeBoneName                   = Propeller01    
2301      ; Most things that eject pilots do so immediately upon death,
2302      ; via use of EjectPilotDie, but Helicopters are a special case...
2303      ; they need to do so after their blades are ejected. 
2304      OCLEjectPilot                   = OCL_EjectPilotViaParachute
2305      FXBlade                         = FX_HelicopterBladeExplosion
2306      OCLBlade                        = OCL_HelicopterBladeExplosion
2307      FXHitGround                     = FX_HelicopterHitGround
2308      OCLHitGround                    = OCL_HelicopterHitGround
2309      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
2310      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
2311      DelayFromGroundToFinalDeath     = 1500
2312      FinalRubbleObject               = ComancheRubbleHull
2313    End
2314  
2315    Behavior = TransitionDamageFX ModuleTag_09
2316      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
2317      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
2318    End
2319  
2320    Behavior                = ArmorUpgrade ModuleTag_Armor01
2321      TriggeredBy           = Upgrade_AmericaCountermeasures
2322    End
2323  
2324    Behavior                = CountermeasuresBehavior ModuleTag_10
2325      TriggeredBy           = Upgrade_AmericaCountermeasures
2326      FlareTemplateName     = CountermeasureFlare
2327      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2328      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
2329      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2330      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2331      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2332      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
2333      ReloadTime            = 4000  ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2334      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2335      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2336      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2337    End
2338  
2339    Behavior = FlammableUpdate ModuleTag_21
2340      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2341      AflameDamageAmount = 3       ; taking this much damage...
2342      AflameDamageDelay = 500       ; this often.
2343    End
2344  
2345    Behavior = StealthUpdate ModuleTag_22
2346      StealthDelay                          = 1500 ; msec
2347      StealthForbiddenConditions            = FIRING_PRIMARY ATTACKING USING_ABILITY
2348      FriendlyOpacityMin                    = 50.0%
2349      FriendlyOpacityMax                    = 100.0%
2350      InnateStealth                         = No
2351      OrderIdleEnemiesToAttackMeUponReveal  = Yes
2352    End
2353  
2354    Behavior = StealthUpgrade ModuleTag_23
2355      TriggeredBy = AirF_Upgrade_StealthComanche
2356    End
2357  
2358    Geometry = BOX
2359    GeometryMajorRadius = 20.0
2360    GeometryMinorRadius = 3.0
2361    GeometryHeight = 25.0     
2362    GeometryIsSmall = No
2363    Shadow = SHADOW_VOLUME    
2364    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2365  
2366  End
2367  
2368  
2369  
2370  
2371  
2372  ;------------------------------------------------------------------------------
2373  Object AirF_AmericaJetA10Thunderbolt
2374  
2375    ; *** ART Parameters ***
2376    SelectPortrait         = SAWarthog_L
2377    ButtonImage            = SAWarthog
2378  
2379    Draw = W3DModelDraw ModuleTag_01
2380  
2381      OkToChangeModelColor = Yes
2382  
2383      ExtraPublicBone = WeaponA01
2384      ExtraPublicBone = WeaponA02
2385      ExtraPublicBone = WeaponA03
2386      ExtraPublicBone = WeaponA04
2387      ExtraPublicBone = WeaponA05
2388      ExtraPublicBone = WeaponA06
2389  
2390      DefaultConditionState
2391        Model             = AVWarthog
2392        WeaponMuzzleFlash = PRIMARY MuzzleFX01
2393        WeaponFireFXBone  = PRIMARY Muzzle01
2394        ParticleSysBone = Engine01 JetBlackTrailThin
2395        ParticleSysBone = Engine02 JetBlackTrailThin
2396        ParticleSysBone = Wingtip01 JetContrailThin
2397        ParticleSysBone = Wingtip02 JetContrailThin
2398      End
2399  
2400      ConditionState      = REALLYDAMAGED
2401        Model             = AVWarthog_D
2402        WeaponMuzzleFlash = PRIMARY MuzzleFX01
2403        WeaponFireFXBone  = PRIMARY Muzzle01
2404      End
2405      AliasConditionState  = RUBBLE
2406  
2407     ParticlesAttachedToAnimatedBones = Yes 
2408  
2409    End
2410  
2411    ; ***DESIGN parameters ***
2412    DisplayName         = OBJECT:A10Thunderbolt
2413    EditorSorting       = VEHICLE
2414    Side                = AmericaAirForceGeneral
2415    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2416    VisionRange         = 300.0 
2417    ShroudClearingRange = 300
2418    Prerequisites
2419      Object = AirF_AmericaAirfield
2420    End
2421    WeaponSet
2422      Conditions = None 
2423      Weapon = PRIMARY A10ThunderboltVulcan
2424    End
2425    ArmorSet
2426      Conditions      = None
2427      Armor           = AirplaneArmor
2428      DamageFX        = None
2429    End
2430    ArmorSet
2431      Conditions            = PLAYER_UPGRADE
2432      Armor                 = CountermeasuresAirplaneArmor
2433      DamageFX              = None
2434    End
2435  
2436    ExperienceValue = 50 100 150 400    ;Experience point value at each level
2437    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
2438    IsTrainable = Yes             ;Can gain experience
2439  
2440    ; *** AUDIO Parameters ***
2441    SoundAmbient = A10ThunderboltAmbientLoop
2442    SoundAmbientRubble    = NoSound
2443    UnitSpecificSounds
2444      SoundEject = PilotSoundEject
2445      VoiceEject = PilotVoiceEject
2446      StartDive  = A10ThunderboltDive
2447    End
2448  
2449    ; *** ENGINEERING Parameters ***
2450    RadarPriority = UNIT
2451    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED
2452    Body = ActiveBody ModuleTag_02
2453      MaxHealth       = 600.0
2454      InitialHealth   = 600.0
2455    End
2456  
2457    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
2458  
2459    Behavior                          = JetSlowDeathBehavior ModuleTag_03
2460      DestructionDelay                = 99999999  ; destruction will happen when we
2461      RollRate                        = 0.0
2462      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
2463      PitchRate                       = 0.0
2464      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
2465      FXInitialDeath                  = FX_JetDeathInitial
2466      OCLInitialDeath                 = None
2467      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
2468      FXSecondary                     = FX_JetDeathSecondary
2469      OCLSecondary                    = None
2470      FXHitGround                     = FX_JetDeathHitGround
2471      OCLHitGround                    = OCL_A10DeathHitGround
2472      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
2473      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2474      OCLFinalBlowUp                  = OCL_A10DeathFinalBlowUp
2475    End
2476  
2477    Behavior = PhysicsBehavior ModuleTag_05
2478      Mass = 500.0
2479    End
2480  
2481    ;SCRIPTED SUPPORT: These special power is triggered directly 
2482    ;from the transport without creating a transport. This is done 
2483    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
2484    ;which also prevents creating the payload transport.
2485    Behavior    = OCLSpecialPower ModuleTag_06
2486      SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@
2487      UpgradeOCL           = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3
2488      UpgradeOCL           = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
2489      OCL                  = SUPERWEAPON_A10ThunderboltMissileStrike1
2490      CreateLocation       = USE_OWNER_OBJECT
2491      ScriptedSpecialPowerOnly = Yes
2492    End
2493  
2494    Behavior = DeliverPayloadAIUpdate ModuleTag_07
2495    End
2496    Locomotor = SET_NORMAL A10ThunderboltLocomotor
2497  
2498    Behavior                = ArmorUpgrade ModuleTag_Armor01
2499      TriggeredBy           = Upgrade_AmericaCountermeasures
2500    End
2501  
2502    Behavior                = CountermeasuresBehavior ModuleTag_10
2503      TriggeredBy           = Upgrade_AmericaCountermeasures
2504      FlareTemplateName     = CountermeasureFlare
2505      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2506      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
2507      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2508      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2509      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2510      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
2511      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2512      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2513      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2514      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2515    End
2516  
2517    Behavior = FlammableUpdate ModuleTag_21
2518      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2519      AflameDamageAmount = 3       ; taking this much damage...
2520      AflameDamageDelay = 500       ; this often.
2521    End
2522  
2523  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
2524  ;;;;;;;;  End
2525  
2526    Geometry = Cylinder
2527    GeometryIsSmall = Yes
2528    GeometryMajorRadius = 10.0
2529    GeometryMinorRadius = 10.0
2530    GeometryHeight = 10.0
2531    Shadow = SHADOW_VOLUME
2532    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2533  
2534  End
2535  
2536  ;------------------------------------------------------------------------------
2537  Object AirF_AmericaJetCargoPlane
2538  
2539    ; *** ART Parameters ***
2540    Draw = W3DModelDraw ModuleTag_01
2541      DefaultConditionState
2542        Model            = AVCargoPln
2543        Animation       = AVCargoPln.AVCargoPln
2544        AnimationMode   = LOOP
2545        ParticleSysBone = Propeller01 JetBlackTrailThin
2546        ParticleSysBone = Propeller02 JetBlackTrailThin
2547        ParticleSysBone = Propeller03 JetBlackTrailThin
2548        ParticleSysBone = Propeller04 JetBlackTrailThin
2549        ParticleSysBone = WingTip01 JetContrailThin
2550        ParticleSysBone = WingTip02 JetContrailThin
2551      End
2552  
2553      ConditionState = DAMAGED
2554        Model           = AVCargoPln_D
2555        Animation       = AVCargoPln_D.AVCargoPln_D
2556        AnimationMode   = MANUAL
2557        Flags           = START_FRAME_FIRST
2558        ParticleSysBone = Smoke01 JetFireLarge
2559        ParticleSysBone = Smoke02 JetFireLarge
2560        ParticleSysBone = Propeller03 JetBlackTrailThin
2561        ParticleSysBone = Propeller04 JetBlackTrailThin
2562        ParticleSysBone = Smoke01 JetSmokeLarge
2563        ParticleSysBone = Smoke02 JetSmokeLarge
2564      End
2565  
2566      ConditionState = REALLYDAMAGED
2567        Model           = AVCargoPln_D
2568        Animation       = AVCargoPln_D.AVCargoPln_D
2569        AnimationMode   = MANUAL
2570        Flags           = START_FRAME_FIRST
2571        ParticleSysBone = Smoke01 JetFireLarge
2572        ParticleSysBone = Smoke02 JetFireLarge
2573        ParticleSysBone = Smoke03 JetFireLarge
2574        ParticleSysBone = Smoke05 JetFireLarge
2575        ParticleSysBone = Propeller03 JetBlackTrailThin
2576        ParticleSysBone = Propeller04 JetBlackTrailThin
2577        ParticleSysBone = Smoke01 JetSmokeLarge
2578        ParticleSysBone = Smoke02 JetSmokeLarge
2579        ParticleSysBone = Smoke03 JetSmokeLarge
2580        ParticleSysBone = Smoke05 JetSmokeLarge
2581      End
2582  
2583      ConditionState = RUBBLE
2584        Model           = AVCargoPln_D1
2585        Animation       = AVCargoPln_D.AVCargoPln_D
2586        AnimationMode   = MANUAL
2587        Flags           = START_FRAME_FIRST
2588        ParticleSysBone = Smoke01 JetFireLarge
2589        ParticleSysBone = Smoke06 JetFireLarge
2590        ParticleSysBone = Smoke03 JetFireLarge
2591        ParticleSysBone = Smoke05 JetFireLarge
2592        ParticleSysBone = Smoke01 JetSmokeLarge
2593        ParticleSysBone = Smoke06 JetSmokeLarge
2594        ParticleSysBone = Smoke03 JetSmokeLarge
2595        ParticleSysBone = Smoke05 JetSmokeLarge
2596      End
2597      
2598      OkToChangeModelColor = Yes
2599    ParticlesAttachedToAnimatedBones = Yes 
2600  
2601    End
2602  
2603    Draw = W3DModelDraw ModuleTag_02
2604      DefaultConditionState
2605        Model           = AVCargoPln_A2
2606        Animation       = AVCargoPln_A2.AVCargoPln_A2
2607        AnimationMode   = MANUAL
2608        Flags           = START_FRAME_FIRST
2609      End
2610      ConditionState = DOOR_1_OPENING
2611        Model           = AVCargoPln_A2
2612        Animation       = AVCargoPln_A2.AVCargoPln_A2
2613        AnimationMode   = ONCE
2614        Flags           = START_FRAME_FIRST
2615      End
2616      ConditionState = DOOR_1_CLOSING
2617        Model           = AVCargoPln_A2
2618        Animation       = AVCargoPln_A2.AVCargoPln_A2
2619        AnimationMode   = ONCE_BACKWARDS
2620        Flags           = START_FRAME_LAST
2621      End
2622    End
2623    
2624    ; ***DESIGN parameters ***
2625    DisplayName         = OBJECT:CargoPlane
2626    EditorSorting       = VEHICLE
2627    Side                = AmericaAirForceGeneral
2628    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2629    VisionRange         = 0.0 
2630    ArmorSet
2631      Conditions      = None
2632      Armor           = AirplaneArmor
2633      DamageFX        = TankDamageFX
2634    End
2635    ArmorSet
2636      Conditions            = PLAYER_UPGRADE
2637      Armor                 = CountermeasuresAirplaneArmor
2638      DamageFX              = None
2639    End
2640    CommandSet        = Command_ScriptedTransportDrops
2641  
2642    ; *** AUDIO Parameters ***
2643    SoundAmbient = C130AmbientLoop
2644    SoundAmbientRubble    = NoSound
2645  
2646    ; *** ENGINEERING Parameters ***
2647    RadarPriority = UNIT
2648    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED
2649    Body = ActiveBody ModuleTag_03
2650      MaxHealth       = 1000.0
2651      InitialHealth   = 1000.0
2652    End
2653  
2654    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
2655  
2656    Behavior = PhysicsBehavior ModuleTag_04
2657      Mass = 500.0
2658    End
2659  
2660    ;SCRIPTED SUPPORT: These special powers are triggered directly 
2661    ;from the transport without creating a transport. This is done 
2662    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
2663    ;which also prevents creating the payload transport.
2664    Behavior    = OCLSpecialPower ModuleTag_05
2665      SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@
2666      OCL                  = SUPERWEAPON_DaisyCutter
2667      CreateLocation       = USE_OWNER_OBJECT
2668      ScriptedSpecialPowerOnly = Yes
2669    End
2670    Behavior    = OCLSpecialPower ModuleTag_06
2671      SpecialPowerTemplate = SuperweaponParadropAmerica
2672      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
2673      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
2674      OCL                  = SUPERWEAPON_Paradrop1
2675      CreateLocation       = USE_OWNER_OBJECT
2676      ScriptedSpecialPowerOnly = Yes
2677    End 
2678    Behavior    = OCLSpecialPower ModuleTag_07
2679      SpecialPowerTemplate = AirF_SuperweaponCarpetBomb
2680      OCL                  = AirF_SUPERWEAPON_CarpetBomb
2681      CreateLocation       = USE_OWNER_OBJECT
2682      ScriptedSpecialPowerOnly = Yes
2683    End 
2684    Behavior    = OCLSpecialPower ModuleTag_08
2685      SpecialPowerTemplate = SuperweaponCrateDrop
2686      OCL                  = SUPERWEAPON_CrateDrop
2687      CreateLocation       = USE_OWNER_OBJECT
2688      ScriptedSpecialPowerOnly = Yes
2689    End 
2690  
2691    Behavior = DeliverPayloadAIUpdate ModuleTag_09
2692      DoorDelay         = 500
2693      MaxAttempts       = 4
2694      DropOffset        = X:0 Y:0 Z:-10
2695      DropDelay         = 1000 ; time in between each item dropped (if more than one)
2696      PutInContainer    = AmericaParachute
2697      DeliveryDistance  = 150
2698    End
2699    Locomotor = SET_NORMAL B52Locomotor
2700  
2701    Behavior = TransportContain ModuleTag_10
2702      Slots = 100                     ; hey, it's a BIG transport
2703      ScatterNearbyOnExit = No
2704      OrientLikeContainerOnExit = Yes
2705      KeepContainerVelocityOnExit = Yes
2706      ExitPitchRate = 30
2707      ExitBone = WeaponA01
2708      AllowInsideKindOf  = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 
2709      ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE)
2710      DoorOpenTime = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
2711      NumberOfExitPaths = 0
2712      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
2713    End
2714      
2715    Behavior                          = JetSlowDeathBehavior ModuleTag_11
2716      DestructionDelay                = 2000 
2717      RollRate                        = 0.0
2718      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
2719      PitchRate                       = 0
2720      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
2721      FXInitialDeath                  = FX_JetBigDeathInitial
2722      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
2723      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
2724      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
2725      FXSecondary                     = FX_BigPlaneDeath
2726  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2727  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
2728  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
2729    End
2730  
2731  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_12
2732  ;;;;;;;;  End
2733  
2734    Behavior                = ArmorUpgrade ModuleTag_Armor01
2735      TriggeredBy           = Upgrade_AmericaCountermeasures
2736    End
2737  
2738    Behavior                = CountermeasuresBehavior ModuleTag_13
2739      TriggeredBy           = Upgrade_AmericaCountermeasures
2740      FlareTemplateName     = CountermeasureFlare
2741      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2742      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
2743      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2744      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2745      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2746      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
2747      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2748      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2749      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2750      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2751    End
2752  
2753    Behavior = TransitionDamageFX ModuleTag_17
2754      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2755      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2756    End
2757  
2758  
2759    Geometry = Box
2760    GeometryIsSmall = No
2761    GeometryMajorRadius = 40.0
2762    GeometryMinorRadius = 10.0
2763    GeometryHeight = 10.0
2764    Shadow = SHADOW_VOLUME
2765    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2766  End
2767  
2768  
2769  
2770  
2771  
2772  
2773  
2774  
2775  
2776  
2777  
2778  
2779  
2780  
2781  
2782  
2783  
2784  
2785  
2786  
2787  
2788  
2789  
2790  
2791  
2792  
2793  
2794  
2795  
2796  
2797  ;---------------------------¸ÄÎªÌØÖÖ²¿¶Ó---------------------------------------------------
2798  ;------------------------------------------------------------------------------
2799  Object AirF_AmericaInfantryColonelBurton
2800  
2801  
2802    ; *** ART Parameters ***
2803    SelectPortrait         = T25
2804    ButtonImage            = T25
2805    Draw = W3DModelDraw ModuleTag_01
2806  
2807      OkToChangeModelColor = Yes
2808  
2809      DefaultConditionState
2810        Model             = CIUNSL_SKN
2811        IdleAnimation     = CIUNSL_SKL.CIUNSL_STA 0 21
2812        IdleAnimation     = CIUNSL_SKL.CIUNSL_ID1
2813        IdleAnimation     = CIUNSL_SKL.CIUNSL_ID2
2814        AnimationMode     = ONCE
2815        WeaponFireFXBone  = PRIMARY Muzzle
2816        WeaponMuzzleFlash = PRIMARY MuzzleFX
2817        TransitionKey     = TRANS_Stand
2818      End
2819  
2820      ConditionState      = FIRING_A 
2821        Animation         = CIUNSL_SKL.CIUNSL_ATA1_LP
2822        AnimationMode     = LOOP
2823        TransitionKey     = TRANS_FiringA
2824      End
2825      AliasConditionState = BETWEEN_FIRING_SHOTS_A
2826      AliasConditionState = RELOADING_A
2827  
2828      TransitionState     = TRANS_Stand TRANS_FiringA
2829        Animation         = CIUNSL_SKL.CIUNSL_ATA1_ST
2830        AnimationMode     = ONCE
2831        AnimationSpeedFactorRange = 4 4
2832      End
2833  
2834      TransitionState     = TRANS_FiringA TRANS_Stand
2835        Animation         = CIUNSL_SKL.CIUNSL_ATA1_ED
2836        AnimationMode     = ONCE
2837        AnimationSpeedFactorRange = 4 4
2838      End
2839  
2840      ; these aliases handle the attack-move case.
2841      AliasConditionState = MOVING FIRING_A
2842      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
2843      AliasConditionState = MOVING RELOADING_A
2844  
2845      ConditionState      = FREEFALL
2846        Animation         = CIUNSL_SKL.CIUNSL_PFL
2847        AnimationMode     = LOOP
2848        TransitionKey     = TRANS_Falling
2849      End
2850  
2851      ConditionState      = PARACHUTING
2852        Animation         = CIUNSL_SKL.CIUNSL_PHG
2853        AnimationMode     = LOOP
2854        TransitionKey     = TRANS_Chute
2855      End
2856      AliasConditionState = PARACHUTING DYING
2857  
2858      ConditionState      = MOVING
2859        Animation         = CIUNSL_SKL.CIUNSL_RNA 
2860        AnimationMode     = LOOP
2861        Flags             = RANDOMSTART
2862        TransitionKey     = None
2863      End
2864  
2865      ConditionState      = DYING
2866        Animation         = CIUNSL_SKL.CIUNSL_DTA
2867        Animation         = CIUNSL_SKL.CIUNSL_DTB
2868        AnimationMode     = ONCE
2869        TransitionKey     = TRANS_Dying
2870      End
2871  
2872      TransitionState     = TRANS_Dying TRANS_Flailing
2873        Animation         = CIUNSL_SKL.CIUNSL_ADTA1
2874        AnimationMode     = ONCE
2875      End
2876  
2877      ConditionState      = DYING EXPLODED_FLAILING
2878        Animation         = CIUNSL_SKL.CIUNSL_ADTA2
2879        AnimationMode     = LOOP
2880        TransitionKey     = TRANS_Flailing
2881      End
2882  
2883      ConditionState      = DYING EXPLODED_BOUNCING
2884        Animation         = CIUNSL_SKL.CIUNSL_ADTA3
2885        AnimationMode     = ONCE
2886        TransitionKey     = None
2887      End
2888      AliasConditionState = DYING SPLATTED
2889  
2890      TransitionState     = TRANS_Falling TRANS_Chute
2891        Animation         = CIUNSL_SKL.CIUNSL_POP
2892        AnimationMode     = ONCE
2893      End
2894  
2895      TransitionState     = TRANS_Chute TRANS_Stand
2896        Animation         = CIUNSL_SKL.CIUNSL_PTD
2897        AnimationMode     = ONCE
2898      End
2899  
2900    End
2901  
2902    ; ***DESIGN parameters ***
2903    Side = AmericaAirForceGeneral
2904    EditorSorting = INFANTRY
2905    TransportSlotCount = 1
2906  
2907    DisplayName      = OBJECT:UNSoldier
2908    EditorSorting = INFANTRY
2909    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
2910    
2911    WeaponSet
2912      Conditions = None 
2913      Weapon = PRIMARY ColonelBurtonSniperRifleWeapon
2914    End
2915    ArmorSet
2916      Conditions      = None
2917      Armor           = HumanArmor
2918      DamageFX        = InfantryDamageFX
2919    End
2920  
2921    VisionRange = 100
2922    ShroudClearingRange = 300
2923    Prerequisites
2924      Object = AirF_AmericaBarracks
2925      Object = AirF_AmericaStrategyCenter
2926    End
2927    BuildCost = 1000
2928    BuildTime = 14.0          ;in seconds  
2929    ExperienceValue = 20 20 40 60    ;Experience point value at each level
2930    ExperienceRequired = 0 20 40 60 120  ;Experience points needed to gain each level
2931    IsTrainable = Yes             ;Can gain experience
2932    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
2933    CommandSet      = GLAInfantryTunnelDefenderCommandSet
2934    ; *** AUDIO Parameters ***
2935    VoiceSelect = RangerVoiceSelect
2936    VoiceMove = RangerVoiceMove
2937    VoiceAttack = RangerVoiceAttack
2938  
2939    ; *** ENGINEERING Parameters ***
2940    RadarPriority = UNIT
2941    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY
2942  
2943    Body = ActiveBody ModuleTag_02
2944      MaxHealth       = 180.0
2945      InitialHealth   = 180.0
2946    End
2947  
2948    Behavior = AIUpdateInterface ModuleTag_03
2949      AutoAcquireEnemiesWhenIdle = Yes
2950    End
2951    Locomotor = SET_NORMAL BasicHumanLocomotor
2952  
2953    Behavior = PhysicsBehavior ModuleTag_04
2954      Mass = 5.0
2955    End
2956    Behavior = ProductionUpdate ModuleTag_05
2957      ; nothing
2958    End
2959  
2960    Behavior = SquishCollide ModuleTag_07
2961      ;nothing
2962    End
2963  
2964  
2965  ; --- begin Death modules ---
2966    Behavior = SlowDeathBehavior ModuleTag_Death01
2967      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
2968      SinkDelay           = 3000
2969      SinkRate            = 0.5     ; in Dist/Sec
2970      DestructionDelay    = 8000
2971      FX                  = INITIAL FX_RangerDie
2972    End
2973    Behavior = SlowDeathBehavior ModuleTag_Death02
2974      DeathTypes          = NONE +CRUSHED +SPLATTED
2975      SinkDelay           = 3000
2976      SinkRate            = 0.5     ; in Dist/Sec
2977      DestructionDelay    = 8000
2978      FX                  = INITIAL FX_GIDieCrushed
2979    End
2980    Behavior = SlowDeathBehavior ModuleTag_Death03
2981      DeathTypes          = NONE +EXPLODED
2982      SinkDelay           = 3000
2983      SinkRate            = 0.5     ; in Dist/Sec
2984      DestructionDelay    = 8000
2985      FX                  = INITIAL FX_RangerDie
2986      FlingForce          = 8
2987      FlingForceVariance  = 3
2988      FlingPitch          = 60
2989      FlingPitchVariance  = 10
2990    End
2991    Behavior = SlowDeathBehavior ModuleTag_Death04
2992      DeathTypes          = NONE +BURNED
2993      DestructionDelay    = 0
2994      FX                  = INITIAL FX_DieByFireUSA
2995      OCL                 = INITIAL OCL_FlamingInfantry
2996    End
2997    Behavior = SlowDeathBehavior ModuleTag_Death05
2998      DeathTypes          = NONE +POISONED
2999      DestructionDelay    = 0
3000      FX                  = INITIAL FX_DieByToxinUSA
3001      OCL                 = INITIAL OCL_ToxicInfantry
3002    End
3003    Behavior = SlowDeathBehavior ModuleTag_Death06 
3004      DeathTypes          = NONE +POISONED_BETA
3005      DestructionDelay    = 0
3006      FX                  = INITIAL FX_DieByToxinUSA
3007      OCL                 = INITIAL OCL_ToxicInfantryBeta 
3008    End
3009    Behavior = SlowDeathBehavior ModuleTag_Death07
3010      DeathTypes          = NONE +POISONED_GAMMA
3011      DestructionDelay    = 0
3012      FX                  = INITIAL FX_DieByToxinUSA
3013      OCL                 = INITIAL OCL_ToxicInfantryGamma
3014    End
3015  
3016  
3017  ; --- end Death modules ---
3018  
3019    Behavior = PoisonedBehavior ModuleTag_12
3020      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3021      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3022    End
3023   
3024    Geometry = CYLINDER
3025    GeometryMajorRadius = 10.0
3026    GeometryMinorRadius = 10.0
3027    GeometryHeight = 13.0
3028    GeometryIsSmall = Yes
3029    Shadow = SHADOW_DECAL
3030    ShadowSizeX = 14;
3031    ShadowSizeY = 14;
3032    ShadowTexture = ShadowI;
3033    BuildCompletion = APPEARS_AT_RALLY_POINT
3034  
3035  End
3036  
3037  
3038  ;------------------------------------------------------------------------------
3039  Object AirF_AmericaInfantryRanger
3040  
3041    ; *** ART Parameters ***
3042    SelectPortrait          = SARanger_L
3043    ButtonImage            = SARanger
3044    
3045    UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade
3046    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
3047    UpgradeCameo3 = Upgrade_InfantryCaptureBuilding
3048    UpgradeCameo4 = Upgrade_AmericaChemicalSuits
3049    ;UpgradeCameo5 = NONE
3050    
3051    Draw = W3DModelDraw ModuleTag_01
3052  
3053      OkToChangeModelColor = Yes
3054  
3055      ; this says "we don't use these condition states at all, so completely
3056      ; ignore them for purposes of matchmaking"... this is useful to help
3057      ; reduce the number of AliasConditionState clauses you must add in
3058      ; order to avoid ambiguity in some cases.
3059      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
3060  
3061      ; --- Idle
3062      DefaultConditionState
3063        Model             = AIRngr_SKN
3064        IdleAnimation     = AIRngr_SKL.AIRngr_STA 0 35
3065        IdleAnimation     = AIRngr_SKL.AIRngr_IDA
3066        IdleAnimation     = AIRngr_SKL.AIRngr_IDB
3067        AnimationMode     = ONCE
3068        WeaponFireFXBone  = PRIMARY Muzzle
3069        WeaponMuzzleFlash = PRIMARY MuzzleFX
3070        WeaponFireFXBone  = SECONDARY Muzzle
3071        WeaponLaunchBone  = SECONDARY Muzzle
3072        TransitionKey     = TRANS_Stand
3073  
3074      End
3075  
3076      ConditionState      = REALLYDAMAGED
3077        IdleAnimation     = AIRngr_SKL.AIRngr_STB 0 35
3078        IdleAnimation     = AIRngr_SKL.AIRngr_IDC
3079        IdleAnimation     = AIRngr_SKL.AIRngr_IDD
3080        AnimationMode     = ONCE
3081        TransitionKey     = TRANS_StandInjured
3082      End
3083  
3084      TransitionState     = TRANS_Stand TRANS_StandInjured
3085        Animation         = AIRngr_SKL.AIRngr_SA2SB
3086        AnimationMode     = ONCE
3087      End
3088  
3089      ; --- attacking (Machine Gun)
3090      ConditionState      = USING_WEAPON_A
3091        Animation         = AIRngr_SKL.AIRngr_ATA
3092        AnimationMode     = LOOP
3093        TransitionKey     = TRANS_FiringA
3094      End
3095  
3096      ConditionState      = USING_WEAPON_A REALLYDAMAGED
3097        Animation         = AIRngr_SKL.AIRngr_ATA2
3098        AnimationMode     = LOOP
3099        TransitionKey     = TRANS_FiringAInjured
3100      End
3101  
3102      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
3103        Animation         = AIRngr_SKL.AIRngr_A2WAA
3104        AnimationMode     = ONCE
3105      End
3106  
3107      TransitionState     = TRANS_Stand TRANS_FiringA
3108        Animation         = AIRngr_SKL.AIRngr_ATAST
3109        AnimationMode     = ONCE
3110        AnimationSpeedFactorRange = 4 4
3111      End
3112  
3113      TransitionState     = TRANS_FiringA TRANS_Stand
3114        Animation         = AIRngr_SKL.AIRngr_ATAED
3115        AnimationMode     = ONCE
3116        AnimationSpeedFactorRange = 4 4
3117      End
3118  
3119      TransitionState     = TRANS_StandInjured TRANS_FiringAInjured
3120        Animation         = AIRngr_SKL.AIRngr_S2WAA
3121        AnimationMode     = ONCE
3122        AnimationSpeedFactorRange = 4 4
3123      End
3124  
3125      TransitionState     = TRANS_FiringAInjured TRANS_StandInjured
3126        Animation         = AIRngr_SKL.AIRngr_WAA2S
3127        AnimationMode     = ONCE
3128        AnimationSpeedFactorRange = 4 4
3129      End
3130      
3131      TransitionState     = TRANS_Stand TRANS_Move
3132        Animation         = AIRngr_SKL.AIRngr_STA2RNA
3133        AnimationMode     = ONCE
3134      End
3135  
3136      ; --- attacking (Grenade Launcher)
3137      ConditionState      = PREATTACK_B 
3138        Animation         = AIRngr_SKL.AIRngr_ATBA
3139        AnimationMode     = ONCE
3140        TransitionKey     = TRANS_FiringB
3141      End
3142      AliasConditionState = PREATTACK_B MOVING
3143      AliasConditionState = PREATTACK_B FIRING_B
3144      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
3145  
3146      ConditionState      = FIRING_B
3147        Animation         = AIRngr_SKL.AIRngr_ATBB
3148        AnimationMode     = ONCE
3149        TransitionKey     = TRANS_FiringB
3150      End
3151  
3152      ConditionState      = BETWEEN_FIRING_SHOTS_B
3153        Animation         = AIRngr_SKL.AIRngr_ATBB
3154        AnimationMode     = MANUAL
3155        Flags             = START_FRAME_LAST
3156        TransitionKey     = TRANS_FiringB
3157        WaitForStateToFinishIfPossible = TRANS_FiringB
3158      End
3159      AliasConditionState = RELOADING_B
3160  
3161      TransitionState     = TRANS_Stand TRANS_FiringB
3162        Animation         = AIRngr_SKL.AIRngr_ATBST1
3163        AnimationMode     = ONCE
3164      End
3165  
3166      TransitionState     = TRANS_FiringB TRANS_Stand
3167        Animation         = AIRngr_SKL.AIRngr_ATBST2
3168        AnimationMode     = ONCE
3169      End
3170  
3171      ConditionState      = PREATTACK_B REALLYDAMAGED
3172        Animation         = AIRngr_SKL.AIRngr_ATB2A
3173        AnimationMode     = ONCE
3174        TransitionKey     = TRANS_FiringBInjured
3175      End
3176      AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
3177      AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
3178      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
3179  
3180      ConditionState      = FIRING_B REALLYDAMAGED
3181        Animation         = AIRngr_SKL.AIRngr_ATB2B
3182        AnimationMode     = ONCE
3183        TransitionKey     = TRANS_FiringBInjured
3184      End
3185  
3186      ConditionState      = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
3187        Animation         = AIRngr_SKL.AIRngr_ATB2B
3188        AnimationMode     = MANUAL
3189        Flags             = START_FRAME_LAST
3190        TransitionKey     = TRANS_FiringBInjured
3191        WaitForStateToFinishIfPossible = TRANS_FiringBInjured
3192      End
3193      AliasConditionState = RELOADING_B REALLYDAMAGED
3194  
3195      TransitionState     = TRANS_StandInjured TRANS_FiringBInjured
3196        Animation         = AIRngr_SKL.AIRngr_ATB2ST1
3197        AnimationMode     = ONCE
3198      End
3199  
3200      TransitionState     = TRANS_FiringBInjured TRANS_StandInjured
3201        Animation         = AIRngr_SKL.AIRngr_ATB2ST2
3202        AnimationMode     = ONCE
3203      End
3204  
3205      ; -- cross-attack transitions
3206  
3207      TransitionState     = TRANS_FiringA TRANS_FiringB
3208        Animation         = AIRngr_SKL.AIRngr_ATA2AB
3209        AnimationMode     = ONCE
3210        AnimationSpeedFactorRange = 4 4
3211      End
3212  
3213      TransitionState     = TRANS_FiringB TRANS_FiringA
3214        Animation         = AIRngr_SKL.AIRngr_ATA2AB
3215        AnimationMode     = ONCE_BACKWARDS
3216        AnimationSpeedFactorRange = 4 4
3217      End
3218  
3219  
3220      ; --- moving
3221      ConditionState      = MOVING
3222        Animation         = AIRngr_SKL.AIRngr_RNA 30
3223        AnimationMode     = LOOP
3224        Flags             = RANDOMSTART
3225        TransitionKey     = TRANS_Move
3226        ParticleSysBone   = None InfantryDustTrails
3227      End
3228      AliasConditionState = MOVING ATTACKING
3229  
3230      ConditionState      = MOVING REALLYDAMAGED
3231        Animation         = AIRngr_SKL.AIRngr_RNB 30
3232        AnimationMode     = LOOP
3233        Flags             = RANDOMSTART
3234        TransitionKey     = TRANS_Move
3235      End
3236      AliasConditionState = MOVING REALLYDAMAGED ATTACKING
3237      
3238      ; --- dying anims
3239      ConditionState      = DYING
3240        Animation         = AIRngr_SKL.AIRngr_DTA
3241        Animation         = AIRngr_SKL.AIRngr_DTB
3242        AnimationMode     = ONCE
3243        TransitionKey     = None
3244      End
3245  
3246      TransitionState     = TRANS_Dying TRANS_Flailing
3247        Animation         = AIRngr_SKL.AIRngr_ADTF1
3248        AnimationMode     = ONCE
3249      End
3250  
3251      ConditionState      = DYING EXPLODED_FLAILING
3252        Animation         = AIRngr_SKL.AIRngr_ADTF2
3253        AnimationMode     = LOOP
3254        TransitionKey     = TRANS_Flailing
3255      End
3256  
3257      ConditionState      = DYING EXPLODED_BOUNCING
3258        Animation         = AIRngr_SKL.AIRngr_ADTF3
3259        AnimationMode     = ONCE
3260        TransitionKey     = None
3261      End
3262      AliasConditionState = DYING SPLATTED
3263  
3264      ; --- cheering
3265      ConditionState      = SPECIAL_CHEERING
3266        Animation         = AIRngr_SKL.AIRngr_CHA
3267        AnimationMode     = LOOP
3268      End
3269  
3270      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
3271        Animation         = AIRngr_SKL.AIRngr_CHB
3272        AnimationMode     = LOOP
3273      End
3274  
3275      ; ----- PARACHUTING ANIMATIONS
3276      ConditionState      = FREEFALL
3277        Animation         = AIRngr_SKL.AIRngr_PFL
3278        AnimationMode     = LOOP
3279        TransitionKey     = TRANS_Falling
3280      End
3281      AliasConditionState = FREEFALL REALLYDAMAGED
3282      AliasConditionState = FREEFALL DYING
3283      ConditionState      = PARACHUTING
3284        Animation         = AIRngr_SKL.AIRngr_PHG
3285        AnimationMode     = LOOP
3286        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3287        TransitionKey     = TRANS_Chute
3288      End
3289      AliasConditionState = PARACHUTING REALLYDAMAGED
3290      AliasConditionState = PARACHUTING DYING
3291      TransitionState     = TRANS_Falling TRANS_Chute
3292        Animation         = AIRngr_SKL.AIRngr_POP
3293        AnimationMode     = ONCE
3294        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3295      End
3296      TransitionState     = TRANS_Chute TRANS_Stand
3297        Animation         = AIRngr_SKL.AIRngr_PTD
3298        AnimationMode     = ONCE
3299      End
3300      TransitionState     = TRANS_Chute TRANS_StandInjured
3301        Animation         = AIRngr_SKL.AIRngr_PTD
3302        AnimationMode     = ONCE
3303      End
3304  
3305      ; ------- Bldg-capture
3306  
3307      ConditionState      = UNPACKING
3308        Model             = AIRngr_F_SKN
3309        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
3310        AnimationMode     = ONCE
3311      End
3312      AliasConditionState = UNPACKING REALLYDAMAGED
3313  
3314  
3315      ConditionState      = RAISING_FLAG
3316        Model             = AIRngr_F_SKN
3317        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
3318        AnimationMode     = ONCE
3319        TransitionKey     = TRANS_Raising
3320      End
3321      AliasConditionState = RAISING_FLAG REALLYDAMAGED
3322  
3323      ConditionState      = PACKING
3324        Model             = AIRngr_F_SKN
3325        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
3326        AnimationMode     = ONCE_BACKWARDS
3327        Flags             = START_FRAME_LAST
3328        TransitionKey     = TRANS_Packing
3329      End
3330      AliasConditionState = PACKING REALLYDAMAGED
3331  
3332      TransitionState     = TRANS_Raising TRANS_Packing
3333        Model             = AIRngr_F_SKN
3334        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
3335        AnimationMode     = ONCE_BACKWARDS
3336        Flags             = START_FRAME_LAST
3337      End
3338  
3339      ; --- RAPPELLING ANIMATIONS
3340      ConditionState      = RAPPELLING
3341        Animation         = AIRngr_SKL.AIRngr_RPL1 ;30
3342        AnimationMode     = LOOP
3343        Flags             = RANDOMSTART
3344        TransitionKey     = TRANS_Rappelling
3345      End
3346      AliasConditionState = MOVING RAPPELLING
3347  
3348      TransitionState     = TRANS_Rappelling TRANS_Stand
3349        Animation         = AIRngr_SKL.AIRngr_RPL2
3350        AnimationMode     = ONCE
3351      End
3352  
3353      TransitionState     = TRANS_Rappelling TRANS_StandInjured
3354        Animation         = AIRngr_SKL.AIRngr_RPL2
3355        AnimationMode     = ONCE
3356      End
3357  
3358    End
3359  
3360    ; ***DESIGN parameters ***
3361    DisplayName         = OBJECT:Ranger
3362    Side                = AmericaAirForceGeneral
3363    EditorSorting       = INFANTRY
3364    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
3365    
3366    WeaponSet
3367      Conditions = None 
3368      Weapon = PRIMARY RangerAdvancedCombatRifle
3369    End
3370    WeaponSet
3371      Conditions = PLAYER_UPGRADE 
3372      Weapon = PRIMARY RangerAdvancedCombatRifle
3373      Weapon = SECONDARY RangerFlashBangGrenadeWeapon
3374      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
3375      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
3376      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
3377    End
3378    ArmorSet
3379      Conditions      = None
3380      Armor           = HumanArmor
3381      DamageFX        = InfantryDamageFX
3382    End
3383    ArmorSet
3384      Conditions            = PLAYER_UPGRADE
3385      Armor                 = ChemSuitHumanArmor
3386      DamageFX              = None
3387    End
3388    VisionRange = 100
3389    ShroudClearingRange = 400
3390    Prerequisites
3391      Object = AirF_AmericaBarracks
3392    End
3393    BuildCost = 225
3394    BuildTime = 5.0          ;in seconds  
3395    
3396    ExperienceValue = 20 20 40 60    ;Experience point value at each level
3397    ExperienceRequired = 0 40 60 120  ;Experience points needed to gain each level
3398    IsTrainable = Yes             ;Can gain experience
3399    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
3400    CommandSet          = AmericaInfantryRangerCommandSet
3401  
3402    ; *** AUDIO Parameters ***
3403    VoiceSelect = RangerVoiceSelect
3404    VoiceMove = RangerVoiceMove
3405    VoiceGuard = RangerVoiceMove
3406    VoiceAttack = RangerVoiceAttack
3407    VoiceFear = RangerVoiceFear
3408    VoiceTaskComplete = RangerVoiceCaptureComplete
3409  
3410    UnitSpecificSounds
3411      VoiceEnter = RangerVoiceMove
3412      VoiceEnterHostile = RangerVoiceMove
3413      VoiceGarrison = RangerVoiceGarrison
3414      VoiceCreate         = RangerVoiceCreate
3415      VoiceSubdue         = RangerVoiceSubdue
3416      VoiceClearBuilding  = RangerVoiceClearBuilding
3417      VoiceGetHealed      = RangerVoiceMove
3418      VoicePrimaryWeaponMode = RangerVoiceModeGun
3419      VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang
3420    End
3421  
3422    UnitSpecificFX
3423      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
3424      CombatDropKillFX = FX_RangerCombatDropKill
3425    End
3426  
3427    ; *** ENGINEERING Parameters ***
3428    RadarPriority = UNIT
3429    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE
3430  
3431    Behavior = CommandButtonHuntUpdate ModuleTag_02
3432    End
3433  
3434    Body = ActiveBody ModuleTag_03
3435      MaxHealth       = 180.0
3436      InitialHealth   = 180.0
3437    End
3438  
3439    Behavior = ExperienceScalarUpgrade ModuleTag_04
3440      TriggeredBy = Upgrade_AmericaAdvancedTraining
3441      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
3442    End
3443  
3444    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
3445      ScanRate = 1000 ; once a second.
3446      ScanRange = 300 ;
3447      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
3448      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
3449    End
3450  
3451    Behavior = AIUpdateInterface ModuleTag_06
3452      AutoAcquireEnemiesWhenIdle = Yes
3453    End
3454    Locomotor = SET_NORMAL BasicHumanLocomotor
3455  
3456    Behavior = PhysicsBehavior ModuleTag_07
3457      Mass = 5.0
3458    End
3459  
3460    Behavior = ProductionUpdate ModuleTag_08
3461      ; nothing
3462    End
3463  
3464    Behavior = CommandButtonHuntUpdate  ModuleTag_09 ; allows use of command button hunt script with this unit. 
3465    End
3466  
3467    Behavior = WeaponSetUpgrade ModuleTag_10
3468      TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade
3469    End
3470    
3471  
3472  ; --- begin Death modules ---
3473    Behavior = SlowDeathBehavior ModuleTag_Death01
3474      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
3475      SinkDelay           = 3000
3476      SinkRate            = 0.5     ; in Dist/Sec
3477      DestructionDelay    = 8000
3478      FX                  = INITIAL FX_RangerDie
3479    End
3480    Behavior = SlowDeathBehavior ModuleTag_Death02
3481      DeathTypes          = NONE +CRUSHED +SPLATTED
3482      SinkDelay           = 3000
3483      SinkRate            = 0.5     ; in Dist/Sec
3484      DestructionDelay    = 8000
3485      FX                  = INITIAL FX_GIDieCrushed
3486    End
3487    Behavior = SlowDeathBehavior ModuleTag_Death03
3488      DeathTypes          = NONE +EXPLODED
3489      SinkDelay           = 3000
3490      SinkRate            = 0.5     ; in Dist/Sec
3491      DestructionDelay    = 8000
3492      FX                  = INITIAL FX_RangerDie
3493      FlingForce          = 8
3494      FlingForceVariance  = 3
3495      FlingPitch          = 60
3496      FlingPitchVariance  = 10
3497    End
3498    Behavior = SlowDeathBehavior ModuleTag_Death04
3499      DeathTypes          = NONE +BURNED
3500      DestructionDelay    = 0
3501      FX                  = INITIAL FX_DieByFireUSA
3502      OCL                 = INITIAL OCL_FlamingInfantry
3503    End
3504    Behavior = SlowDeathBehavior ModuleTag_Death05
3505      DeathTypes          = NONE +POISONED
3506      DestructionDelay    = 0
3507      FX                  = INITIAL FX_DieByToxinUSA
3508      OCL                 = INITIAL OCL_ToxicInfantry
3509    End
3510    
3511    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
3512      DeathTypes          = NONE +POISONED_BETA
3513      DestructionDelay    = 0
3514      FX                  = INITIAL FX_DieByToxinUSA
3515      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
3516    End
3517  
3518    Behavior = SlowDeathBehavior ModuleTag_Death07
3519      DeathTypes          = NONE +POISONED_GAMMA
3520      DestructionDelay    = 0
3521      FX                  = INITIAL FX_DieByToxinGLA
3522      OCL                 = INITIAL OCL_ToxicInfantryGamma
3523    End
3524  ; --- end Death modules ---
3525  
3526    Behavior = SquishCollide ModuleTag_12
3527      ;nothing
3528    End
3529    Behavior                = ArmorUpgrade ModuleTag_Armor01
3530      TriggeredBy           = Upgrade_AmericaChemicalSuits
3531    End
3532  
3533    Behavior = PoisonedBehavior ModuleTag_17
3534      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3535      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3536    End
3537   
3538    Behavior = SpecialAbility ModuleTag_18
3539      SpecialPowerTemplate      = SpecialAbilityRangerCaptureBuilding
3540      UpdateModuleStartsAttack  = Yes
3541      StartsPaused              = Yes ; Unpaused by upgrade module
3542      InitiateSound         = RangerVoiceCapture
3543    End
3544    Behavior = SpecialAbilityUpdate ModuleTag_19
3545      SpecialPowerTemplate  = SpecialAbilityRangerCaptureBuilding
3546      StartAbilityRange  = 5.0
3547      UnpackTime            = 3000  ; (changing this will scale anim speed)
3548      PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
3549      PackTime              = 2000  ; (changing this will scale anim speed)
3550      DoCaptureFX           = Yes
3551      AwardXPForTriggering  = 15
3552      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
3553    End
3554  
3555    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20
3556      SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
3557      TriggeredBy = Upgrade_InfantryCaptureBuilding
3558    End
3559  
3560    Behavior = LockWeaponCreate ModuleTag_21
3561      SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack.
3562    End
3563  
3564    Geometry = CYLINDER
3565    GeometryMajorRadius = 7.0
3566    GeometryMinorRadius = 7.0
3567    GeometryHeight = 13.0
3568  
3569    GeometryIsSmall = Yes
3570    Shadow = SHADOW_DECAL
3571    ShadowSizeX = 14;
3572    ShadowSizeY = 14;
3573    ShadowTexture = ShadowI;
3574    BuildCompletion = APPEARS_AT_RALLY_POINT
3575  
3576  End
3577  
3578  
3579  
3580  
3581  
3582  
3583  
3584  
3585  ;------------------------------------------------------------------------------
3586  Object AirF_AmericaInfantryMissileDefender
3587  
3588    ; *** ART Parameters ***
3589    SelectPortrait         = SAMissleDefender_L
3590    ButtonImage            = SAMissleDefender
3591    
3592    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
3593    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
3594    ;UpgradeCameo3 = NONE
3595    ;UpgradeCameo4 = NONE
3596    ;UpgradeCameo5 = NONE
3597    
3598    Draw = W3DModelDraw ModuleTag_01
3599      OkToChangeModelColor = Yes
3600  
3601      ;***NOTE***
3602      ;A little history -- the MissileDefender now uses the assets of the TankHunter. 
3603      ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW
3604      ;MD. It was a design/art/code decision because the new missile defender animations
3605      ;don't suit that of a mobile/offensive unit with packing and unpacking.
3606  
3607      DefaultConditionState
3608        Model             = NITHNT_SKN
3609        IdleAnimation     = NITHNT_SKL.NITHNT_STA 0 30
3610        IdleAnimation     = NITHNT_SKL.NITHNT_IDA
3611        IdleAnimation     = NITHNT_SKL.NITHNT_IDB
3612        AnimationMode     = ONCE
3613        AnimationSpeedFactorRange = 0.8 1.2
3614        TransitionKey     = TRANS_Stand
3615        WeaponMuzzleFlash = PRIMARY MuzzleFX
3616        WeaponFireFXBone  = PRIMARY Muzzle
3617        WeaponLaunchBone  = PRIMARY Muzzle
3618        WeaponLaunchBone  = SECONDARY Muzzle
3619  
3620      End
3621      AliasConditionState = REALLYDAMAGED
3622  
3623      ConditionState      = FIRING_A 
3624        Animation         = NITHNT_SKL.NITHNT_ATA 
3625        AnimationMode     = ONCE
3626        TransitionKey     = TRANS_START_FIRING
3627      End
3628      AliasConditionState = FIRING_A REALLYDAMAGED
3629  
3630      ConditionState      = BETWEEN_FIRING_SHOTS_A
3631        Animation         = NITHNT_SKL.NITHNT_STA
3632        AnimationMode     = ONCE
3633        ; this is basically a trick: this guy has a nontrivial animation for firing,
3634        ; and a long recycle time between shots. we want him to finish his fire animation
3635        ; (unless he's ordered to do something else), so this is just a handy trick that
3636        ; says, "if the previous state had this transition key, allow it to finish before
3637        ; switching to us, if possible".
3638        WaitForStateToFinishIfPossible = TRANS_START_FIRING
3639      End
3640      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
3641  
3642      ConditionState      = MOVING
3643        Animation         = NITHNT_SKL.NITHNT_RNA 20
3644        AnimationMode     = LOOP
3645        Flags             = RANDOMSTART
3646        TransitionKey     = None
3647        ParticleSysBone   = None InfantryDustTrails
3648      End
3649      AliasConditionState = MOVING REALLYDAMAGED
3650  
3651      ConditionState      = RELOADING_A
3652        Animation         = NITHNT_SKL.NITHNT_ATA 10
3653        AnimationMode     = ONCE
3654        ;WeaponLaunchBone = PRIMARY WeaponA
3655      End
3656      AliasConditionState = MOVING RELOADING_A
3657      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
3658  
3659      ConditionState      = DYING
3660        Animation         = NITHNT_SKL.NITHNT_DTA
3661        Animation         = NITHNT_SKL.NITHNT_DTB
3662        AnimationSpeedFactorRange = 0.9 1.25
3663        AnimationMode     = ONCE
3664        TransitionKey     = TRANS_Dying
3665      End
3666  
3667      TransitionState     = TRANS_Dying TRANS_Flailing
3668        Animation         = NITHNT_SKL.NITHNT_ADTA1
3669        AnimationMode     = ONCE
3670      End
3671  
3672      ConditionState      = DYING EXPLODED_FLAILING
3673        Animation         = NITHNT_SKL.NITHNT_ADTA2
3674        AnimationMode     = LOOP
3675        TransitionKey     = TRANS_Flailing
3676      End
3677  
3678      ConditionState      = DYING EXPLODED_BOUNCING
3679        Animation         = NITHNT_SKL.NITHNT_ADTA3
3680        AnimationMode     = ONCE
3681        TransitionKey     = None
3682      End
3683  
3684      ;PARACHUTING ANIMATIONS
3685      ConditionState      = FREEFALL
3686        Animation         = NITHNT_SKL.NITHNT_PFL
3687        AnimationMode     = LOOP
3688        TransitionKey     = TRANS_Falling
3689      End
3690      AliasConditionState = FREEFALL REALLYDAMAGED
3691      AliasConditionState = FREEFALL DYING
3692  
3693      ConditionState      = PARACHUTING
3694        Animation         = NITHNT_SKL.NITHNT_PHG
3695        AnimationMode     = LOOP
3696        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3697        TransitionKey     = TRANS_Chute
3698      End
3699      AliasConditionState = PARACHUTING REALLYDAMAGED
3700      AliasConditionState = PARACHUTING DYING
3701  
3702      TransitionState     = TRANS_Falling TRANS_Chute
3703        Animation         = NITHNT_SKL.NITHNT_POP
3704        AnimationMode     = ONCE
3705        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3706      End
3707  
3708      TransitionState     = TRANS_Chute TRANS_Stand
3709        Animation         = NITHNT_SKL.NITHNT_PTD
3710        AnimationMode     = ONCE
3711      End
3712  
3713    End
3714  
3715    ; ***DESIGN parameters ***
3716    DisplayName         = OBJECT:MissileTeam
3717    Side                = AmericaAirForceGeneral
3718    EditorSorting       = INFANTRY
3719    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
3720    
3721    WeaponSet
3722      Conditions = None 
3723      Weapon = PRIMARY    MissileDefenderMissileWeapon 
3724      Weapon = SECONDARY  MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability
3725      AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
3726      AutoChooseSources = SECONDARY NONE
3727    End
3728    ArmorSet
3729      Conditions      = None
3730      Armor           = HumanArmor
3731      DamageFX        = InfantryDamageFX
3732    End
3733    ArmorSet
3734      Conditions      = PLAYER_UPGRADE
3735      Armor           = ChemSuitHumanArmor
3736      DamageFX        = InfantryDamageFX
3737    End
3738  
3739    VisionRange = 150
3740    ShroudClearingRange = 400
3741    Prerequisites
3742      Object = AirF_AmericaBarracks
3743  
3744    End
3745    BuildCost = 300
3746    BuildTime = 5.0          ;in seconds  
3747    
3748    ExperienceValue = 20 20 40 60    ;Experience point value at each level
3749    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
3750    IsTrainable = Yes             ;Can gain experience
3751    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
3752    CommandSet          = AirF_AmericaInfantryMissileDefenderCommandSet
3753  
3754    ; *** AUDIO Parameters ***
3755    VoiceSelect = MissileDefenderVoiceSelect
3756    VoiceMove = MissileDefenderVoiceMove
3757    VoiceGuard = MissileDefenderVoiceMove
3758    VoiceAttack = MissileDefenderVoiceAttack
3759    VoiceAttackAir = MissileDefenderVoiceAttack
3760    VoiceFear = MissileDefenderVoiceFear
3761    
3762    UnitSpecificSounds
3763    VoiceGarrison = MissileDefenderVoiceGarrison
3764      VoiceCreate          = MissileDefenderVoiceCreate
3765      VoiceEnter = MissileDefenderVoiceMove
3766      VoiceGetHealed      = MissileDefenderVoiceMove
3767    End
3768  
3769    ; *** ENGINEERING Parameters ***
3770    RadarPriority = UNIT
3771    KindOf = PRELOAD SELECTABLE CAN_ATTACK  ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE
3772  
3773    Body = ActiveBody ModuleTag_02
3774      MaxHealth       = 100.0
3775      InitialHealth   = 100.0
3776    End
3777  
3778    Behavior                = ArmorUpgrade ModuleTag_Armor01
3779      TriggeredBy           = Upgrade_AmericaChemicalSuits
3780    End
3781    Behavior = ExperienceScalarUpgrade ModuleTag_03
3782      TriggeredBy = Upgrade_AmericaAdvancedTraining
3783      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
3784    End
3785  
3786    Behavior = AIUpdateInterface ModuleTag_04
3787      AutoAcquireEnemiesWhenIdle = Yes
3788    End
3789  
3790    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
3791      ScanRate = 1000 ; once a second.
3792      ScanRange = 300 ;
3793      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
3794      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
3795    End
3796  
3797    Locomotor = SET_NORMAL MissileDefenderLocomotor
3798  
3799    Behavior = PhysicsBehavior ModuleTag_06
3800      Mass = 5.0
3801    End
3802  
3803    Behavior = SpecialAbility ModuleTag_08
3804      SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles
3805      UpdateModuleStartsAttack = Yes
3806      InitiateSound = MissileDefenderVoiceAttackLaser
3807    End
3808    Behavior = SpecialAbilityUpdate ModuleTag_09
3809      SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles
3810      StartAbilityRange = 200.0
3811      AbilityAbortRange = 250.0 ;If the target moves outside this range, abort.
3812      PreparationTime = 1000
3813      PersistentPrepTime = 500
3814      SpecialObject = LaserBeam
3815      SpecialObjectAttachToBone = Muzzle01
3816    End
3817   
3818    Behavior = SquishCollide ModuleTag_10
3819      ;nothing
3820    End
3821  
3822    ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using
3823    ;the laser guided missiles.
3824    Behavior = CommandButtonHuntUpdate  ModuleTag_CBHunt ; allows use of command button hunt script with this unit. 
3825    End
3826  
3827  
3828  
3829  ; --- begin Death modules ---
3830    Behavior = SlowDeathBehavior ModuleTag_Death01
3831      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
3832      SinkDelay           = 3000
3833      SinkRate            = 0.5     ; in Dist/Sec
3834      DestructionDelay    = 8000
3835      FX                  = INITIAL FX_MissileDefenderDie
3836    End
3837    Behavior = SlowDeathBehavior ModuleTag_Death02
3838      DeathTypes          = NONE +CRUSHED +SPLATTED
3839      SinkDelay           = 3000
3840      SinkRate            = 0.5     ; in Dist/Sec
3841      DestructionDelay    = 8000
3842      FX                  = INITIAL FX_GIDieCrushed
3843    End
3844    Behavior = SlowDeathBehavior ModuleTag_Death03
3845      DeathTypes          = NONE +EXPLODED
3846      SinkDelay           = 3000
3847      SinkRate            = 0.5     ; in Dist/Sec
3848      DestructionDelay    = 8000
3849      FX                  = INITIAL FX_MissileDefenderDie
3850      FlingForce          = 8
3851      FlingForceVariance  = 3
3852      FlingPitch          = 60
3853      FlingPitchVariance  = 10
3854    End
3855    Behavior = SlowDeathBehavior ModuleTag_Death04
3856      DeathTypes          = NONE +BURNED
3857      DestructionDelay    = 0
3858      FX                  = INITIAL FX_DieByFireUSA
3859      OCL                 = INITIAL OCL_FlamingInfantry
3860    End
3861    Behavior = SlowDeathBehavior ModuleTag_Death05
3862      DeathTypes          = NONE +POISONED
3863      DestructionDelay    = 0
3864      FX                  = INITIAL FX_DieByToxinUSA
3865      OCL                 = INITIAL OCL_ToxicInfantry
3866    End
3867    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
3868      DeathTypes          = NONE +POISONED_BETA
3869      DestructionDelay    = 0
3870      FX                  = INITIAL FX_DieByToxinUSA
3871      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
3872    End
3873  
3874    Behavior = SlowDeathBehavior ModuleTag_Death07
3875      DeathTypes          = NONE +POISONED_GAMMA
3876      DestructionDelay    = 0
3877      FX                  = INITIAL FX_DieByToxinUSA
3878      OCL                 = INITIAL OCL_ToxicInfantryGamma
3879    End
3880  
3881  
3882  ; --- end Death modules ---
3883  
3884    Behavior = PoisonedBehavior ModuleTag_13
3885      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3886      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3887    End
3888   
3889    Geometry = CYLINDER
3890    GeometryMajorRadius = 7.0
3891    GeometryMinorRadius = 7.0
3892    GeometryHeight = 12.0
3893    GeometryIsSmall = Yes
3894    Shadow = SHADOW_DECAL
3895    ShadowSizeX = 14;
3896    ShadowSizeY = 14;
3897    ShadowTexture = ShadowI;
3898    BuildCompletion = APPEARS_AT_RALLY_POINT
3899  
3900  End
3901  
3902  ;------------------------------------------------------------------------------
3903  ; @todo -- this entire unit is "first pass only" and needs lots of specialization
3904  Object AirF_AmericaInfantryPilot
3905  
3906    ; *** ART Parameters ***
3907    SelectPortrait         = SAPilot_L
3908    ButtonImage            = SAPilot
3909    
3910    ;UpgradeCameo1 = NONE
3911    ;UpgradeCameo2 = NONE
3912    ;UpgradeCameo3 = NONE
3913    ;UpgradeCameo4 = NONE
3914    ;UpgradeCameo5 = NONE
3915    
3916    Draw = W3DModelDraw ModuleTag_01
3917      OkToChangeModelColor = Yes
3918  
3919      DefaultConditionState
3920        Model = AIRPlt_SKN
3921        IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20
3922        IdleAnimation = AIRPlt_SKL.AIRPlt_IDA 
3923        IdleAnimation = AIRPlt_SKL.AIRPlt_IDB 
3924        AnimationMode = ONCE
3925        TransitionKey = TRANS_Stand
3926      End
3927  
3928      ConditionState = FREEFALL
3929        Animation = AIRPlt_SKL.AIRPLT_PFL
3930        AnimationMode = ONCE
3931        TransitionKey = TRANS_Falling
3932      End
3933      AliasConditionState = FREEFALL DYING
3934  
3935      ConditionState = PARACHUTING
3936        Animation = AIRPlt_SKL.AIRPlt_PHG
3937        AnimationMode = LOOP
3938        TransitionKey = TRANS_Chute
3939        WaitForStateToFinishIfPossible = TRANS_Falling
3940      End
3941      AliasConditionState = PARACHUTING DYING
3942  
3943      ConditionState = MOVING
3944        Animation = AIRPlt_SKL.AIRPlt_RNA 
3945        AnimationMode = LOOP
3946        TransitionKey = TRANS_Stand
3947        ParticleSysBone     = None InfantryDustTrails
3948      End
3949      
3950  
3951      ConditionState = DYING
3952        Animation = AIRPlt_SKL.AIRPlt_DTA 
3953        Animation = AIRPlt_SKL.AIRPlt_DTB 
3954        AnimationMode = ONCE
3955        TransitionKey = TRANS_Dying
3956      End
3957  
3958      TransitionState = TRANS_Dying TRANS_Flailing
3959        Animation = AIRPlt_SKL.AIRPlt_ADTE1
3960        AnimationMode = ONCE
3961      End
3962  
3963      ConditionState = DYING EXPLODED_FLAILING
3964        Animation = AIRPlt_SKL.AIRPlt_ADTE2
3965        AnimationMode = LOOP
3966        TransitionKey = TRANS_Flailing
3967      End
3968  
3969      ConditionState = DYING EXPLODED_BOUNCING
3970        Animation = AIRPlt_SKL.AIRPlt_ADTE3
3971        AnimationMode = ONCE
3972        TransitionKey = None
3973      End
3974  
3975      ConditionState = SPECIAL_CHEERING
3976        Animation = AIRPLT_SKL.AIRPLT_CHA
3977        AnimationMode = LOOP
3978      End
3979  
3980      ;@TODO -- MISSING ANIMATION FILE
3981      ;TransitionState = TRANS_Falling TRANS_Chute
3982      ;  Animation = AIRPLT_SKL.AIRPLT_POP
3983      ;  AnimationMode = ONCE
3984      ;  Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3985      ;End
3986      
3987      TransitionState = TRANS_Chute TRANS_Stand
3988        Animation = AIRPlt_SKL.AIRPlt_PTD
3989        AnimationMode = ONCE
3990      End
3991  
3992    End
3993  
3994    ; ***DESIGN parameters ***
3995    DisplayName = OBJECT:Pilot
3996    Side = AmericaAirForceGeneral
3997    EditorSorting = INFANTRY
3998    TransportSlotCount = 1               ;how many "slots" we take in a transport (0 == not transportable)
3999    ExperienceValue    = 10 10 10 10 ;Experience point value at each level
4000    ExperienceRequired =  0 1 2 3 ;Experience points needed to gain each level
4001    IsTrainable     = Yes  ;Can gain experience
4002    CommandSet = AmericaInfantryPilotCommandSet
4003  
4004    ArmorSet
4005      Conditions      = None
4006      Armor           = HumanArmor
4007      DamageFX        = InfantryDamageFX
4008    End
4009  
4010    VisionRange = 150
4011    ShroudClearingRange = 300
4012    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4013  
4014    ; *** AUDIO Parameters ***
4015    VoiceSelect = PilotVoiceSelect
4016    VoiceMove = PilotVoiceMove
4017    VoiceAttack = PilotVoiceMove
4018    VoiceGarrison = NoSound
4019    VoiceFear = PilotVoiceFear
4020    UnitSpecificSounds
4021      VoiceEnter = PilotVoiceEnter
4022      VoiceEnterHostile     = PilotVoiceEnter
4023      VoiceGetHealed      = PilotVoiceMove
4024    End
4025  
4026    ; *** ENGINEERING Parameters ***
4027    RadarPriority = UNIT
4028    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL
4029  
4030    Behavior = VeterancyGainCreate ModuleTag_02
4031      ; omit the "ScienceRequired" so that this upgrade always occurs.
4032      ; Pilots should never (repeat, never) be less than VETERAN status.
4033      StartingLevel = VETERAN
4034    End
4035  
4036    Behavior = VeterancyCrateCollide       ModuleTag_03
4037      RequiredKindOf = VEHICLE      ; we only give our bonus to VEHICLEs we collide with
4038      ForbiddenKindOf = DOZER       ; but not to TRANSPORTs or DOZERs!
4039      EffectRange = 0               ; 0=="affect only the thing you collide with"
4040      AddsOwnerVeterancy = Yes      ; we add our own veterancy to the target (rather than just +1 level)
4041      IsPilot = Yes                 ; set the pilot flag because it's different than the veterancy crate and has extra checking
4042    End
4043  
4044    Body = ActiveBody ModuleTag_04
4045      MaxHealth       = 100.0
4046      InitialHealth   = 100.0
4047    End
4048  
4049    Behavior = AIUpdateInterface ModuleTag_05
4050      AutoAcquireEnemiesWhenIdle = Yes
4051    End
4052  
4053    Behavior = AutoFindHealingUpdate   ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 
4054      ScanRate = 1000 ; once a second.
4055      ScanRange = 300 ;
4056      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
4057      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
4058    End
4059  
4060    Behavior = PilotFindVehicleUpdate   ModuleTag_07 ; This update will have the unit go to a vehicle. jba 
4061      ScanRate = 1000 ; once a second.
4062      ScanRange = 300 ;
4063      MinHealth = 0.5 ;  don't enter a vehicle less than 50% healthy.
4064    End
4065  
4066    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor
4067    Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25
4068  
4069    Behavior = PhysicsBehavior ModuleTag_08
4070      Mass = 5.0
4071    End
4072  
4073    Behavior = LocomotorSetUpgrade ModuleTag_10
4074      TriggeredBy = Upgrade_Veterancy_HEROIC
4075    End
4076  
4077    Behavior = SquishCollide ModuleTag_11
4078      ;nothing
4079    End
4080  
4081  
4082  ; --- begin Death modules ---
4083    Behavior = SlowDeathBehavior ModuleTag_Death01
4084      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
4085      SinkDelay           = 3000
4086      SinkRate            = 0.5     ; in Dist/Sec
4087      DestructionDelay    = 8000
4088      FX                  = INITIAL FX_PilotDie
4089    End
4090    Behavior = SlowDeathBehavior ModuleTag_Death02
4091      DeathTypes          = NONE +CRUSHED +SPLATTED
4092      SinkDelay           = 3000
4093      SinkRate            = 0.5     ; in Dist/Sec
4094      DestructionDelay    = 8000
4095      FX                  = INITIAL FX_GIDieCrushed
4096    End
4097    Behavior = SlowDeathBehavior ModuleTag_Death03
4098      DeathTypes          = NONE +EXPLODED
4099      SinkDelay           = 3000
4100      SinkRate            = 0.5     ; in Dist/Sec
4101      DestructionDelay    = 8000
4102      FX                  = INITIAL FX_PilotDie
4103      FlingForce          = 8
4104      FlingForceVariance  = 3
4105      FlingPitch          = 60
4106      FlingPitchVariance  = 10
4107    End
4108    Behavior = SlowDeathBehavior ModuleTag_Death04
4109      DeathTypes          = NONE +BURNED
4110      DestructionDelay    = 0
4111      FX                  = INITIAL FX_DieByFireUSA
4112      OCL                 = INITIAL OCL_FlamingInfantry
4113    End
4114    Behavior = SlowDeathBehavior ModuleTag_Death05
4115      DeathTypes          = NONE +POISONED
4116      DestructionDelay    = 0
4117      FX                  = INITIAL FX_DieByToxinUSA
4118      OCL                 = INITIAL OCL_ToxicInfantry
4119    End
4120    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
4121      DeathTypes          = NONE +POISONED_BETA
4122      DestructionDelay    = 0
4123      FX                  = INITIAL FX_DieByToxinUSA
4124      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
4125    End
4126  
4127    Behavior = SlowDeathBehavior ModuleTag_Death07
4128      DeathTypes          = NONE +POISONED_GAMMA
4129      DestructionDelay    = 0
4130      FX                  = INITIAL FX_DieByToxinUSA
4131      OCL                 = INITIAL OCL_ToxicInfantryGamma
4132    End
4133  
4134  
4135  ; --- end Death modules ---
4136  
4137    Behavior = PoisonedBehavior ModuleTag_14
4138      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
4139      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
4140    End
4141   
4142    Geometry = CYLINDER
4143    GeometryMajorRadius = 10.0
4144    GeometryMinorRadius = 10.0
4145    GeometryHeight = 12.0
4146    GeometryIsSmall = Yes
4147    Shadow = SHADOW_DECAL
4148    ShadowSizeX = 14;
4149    ShadowSizeY = 14;
4150    ShadowTexture = ShadowI;
4151    BuildCompletion = APPEARS_AT_RALLY_POINT
4152  
4153  End
4154  
4155  ;------------------------------------------------------------------------------
4156  Object AirF_AmericaInfantryPathfinder
4157  
4158      ; *** ART Parameters ***
4159    SelectPortrait         = SAPathfinder1_L
4160    ButtonImage            = SAPathfinder1
4161    
4162    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
4163    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
4164    ;UpgradeCameo3 = NONE
4165    ;UpgradeCameo4 = NONE
4166    ;UpgradeCameo5 = NONE
4167    
4168    Draw = W3DModelDraw ModuleTag_01
4169  
4170      OkToChangeModelColor = Yes
4171  
4172      DefaultConditionState
4173        Model = AIPFDR_SKN
4174        IdleAnimation = AIPFDR_SKL.AIPFDR_STA 
4175        IdleAnimation = AIPFDR_SKL.AIPFDR_IDA
4176        AnimationMode = ONCE
4177        WeaponFireFXBone = PRIMARY Muzzle
4178        WeaponMuzzleFlash = PRIMARY MuzzleFX
4179        TransitionKey = TRANS_Standing
4180      End
4181      AliasConditionState = REALLYDAMAGED
4182  
4183      ConditionState = MOVING
4184        Animation = AIPFDR_SKL.AIPFDR_RNA 25
4185        AnimationMode = LOOP
4186        Flags = RANDOMSTART
4187        TransitionKey = TRANS_Standing
4188        ParticleSysBone   = None InfantryDustTrails
4189      End
4190      AliasConditionState = MOVING REALLYDAMAGED
4191  
4192      ConditionState  = FIRING_A 
4193        Animation     = AIPFDR_SKL.AIPFDR_ATB                 ; recoil in standing position
4194        AnimationMode = ONCE
4195        TransitionKey = TRANS_FiringA
4196      End
4197      AliasConditionState = FIRING_A MOVING
4198      AliasConditionState = FIRING_A MOVING REALLYDAMAGED
4199      AliasConditionState = FIRING_A REALLYDAMAGED
4200  
4201      ConditionState  = BETWEEN_FIRING_SHOTS_A
4202        Animation     = AIPFDR_SKL.AIPFDR_ATBST               ; motionless in standing position
4203        AnimationMode = ONCE
4204        WaitForStateToFinishIfPossible = TRANS_FiringA
4205      End
4206      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
4207      AliasConditionState = RELOADING_A
4208      AliasConditionState = RELOADING_A REALLYDAMAGED
4209  
4210      ConditionState = DYING
4211        Animation = AIPFDR_SKL.AIPFDR_DTA
4212        AnimationMode = ONCE
4213        TransitionKey = TRANS_Dying
4214      End
4215      
4216      TransitionState = TRANS_Dying TRANS_Flailing
4217        Animation = AIPFDR_SKL.AIPFDR_ADTA1
4218        AnimationMode = ONCE
4219      End
4220  
4221      ConditionState = DYING EXPLODED_FLAILING
4222        Animation = AIPFDR_SKL.AIPFDR_ADTA2
4223        AnimationMode = LOOP
4224        TransitionKey = TRANS_Flailing
4225      End
4226  
4227      ConditionState = DYING EXPLODED_BOUNCING
4228        Animation = AIPFDR_SKL.AIPFDR_ADTA3
4229        AnimationMode = ONCE
4230        TransitionKey = None
4231      End
4232  
4233      ConditionState = FREEFALL
4234        Animation = AIPFDR_SKL.AIPFDR_PFL
4235        AnimationMode = LOOP
4236        TransitionKey = TRANS_Falling
4237      End
4238      AliasConditionState = FREEFALL DYING
4239  
4240      ConditionState = PARACHUTING
4241        Animation = AIPFDR_SKL.AIPFDR_PHG
4242        AnimationMode = LOOP
4243        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
4244        ;our bone positions should come from the last frame, rather than the first
4245        TransitionKey = TRANS_Chute
4246      End
4247      AliasConditionState = PARACHUTING DYING
4248  
4249  
4250      TransitionState = TRANS_Falling TRANS_Chute
4251        Animation = AIPFDR_SKL.AIPFDR_POP
4252        AnimationMode = ONCE
4253        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
4254        ;our bone positions should come from the last frame, rather than the first
4255      End
4256  
4257      TransitionState = TRANS_Chute TRANS_Standing
4258        Animation = AIPFDR_SKL.AIPFDR_PTD
4259        AnimationMode = ONCE
4260      End
4261    End
4262  
4263    
4264    ; ***DESIGN parameters ***
4265    DisplayName      = OBJECT:Pathfinder
4266    Side = AmericaAirForceGeneral
4267    EditorSorting = INFANTRY
4268    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
4269    
4270    WeaponSet
4271      Conditions = None 
4272      Weapon = PRIMARY USAPathfinderSniperRifle
4273    End
4274    ArmorSet
4275      Conditions      = None
4276      Armor           = HumanArmor
4277      DamageFX        = InfantryDamageFX
4278    End
4279    ArmorSet
4280      Conditions      = PLAYER_UPGRADE
4281      Armor           = ChemSuitHumanArmor
4282      DamageFX        = InfantryDamageFX
4283    End
4284  
4285    VisionRange = 200
4286    ShroudClearingRange = 400
4287    Prerequisites
4288      Object = AirF_AmericaBarracks
4289      Science = SCIENCE_Pathfinder
4290    End
4291    BuildCost = 600
4292    BuildTime = 10.0          ;in seconds  
4293    
4294    ExperienceValue = 40 40 60 80    ;Experience point value at each level
4295    ExperienceRequired = 0 50 100 200  ;Experience points needed to gain each level
4296    IsTrainable = Yes             ;Can gain experience
4297    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4298    CommandSet      = AmericaInfantryPathfinderCommandSet
4299  
4300    ; *** AUDIO Parameters ***
4301    VoiceSelect = PathfinderVoiceSelect
4302    VoiceMove = PathfinderVoiceMove
4303    VoiceGuard = PathfinderVoiceMove
4304    VoiceAttack = PathfinderVoiceAttack
4305    VoiceFear = PathfinderVoiceFear
4306    SoundStealthOn = StealthOn
4307    SoundStealthOff = StealthOff
4308    VoiceFear = PathfinderVoiceFear
4309    
4310    UnitSpecificSounds
4311      VoiceCreate          = PathfinderVoiceCreate
4312      VoiceGarrison = PathfinderVoiceGarrison
4313      VoiceEnter = PathfinderVoiceMove
4314      VoiceEnterHostile =  PathfinderVoiceMove
4315      VoiceGetHealed      = PathfinderVoiceMove
4316    End
4317  
4318    ; *** ENGINEERING Parameters ***
4319    RadarPriority = UNIT
4320    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE
4321  
4322    Body = ActiveBody ModuleTag_02
4323      MaxHealth       = 120.0
4324      InitialHealth   = 120.0
4325    End
4326  
4327    Behavior                = ArmorUpgrade ModuleTag_Armor01
4328      TriggeredBy           = Upgrade_AmericaChemicalSuits
4329    End
4330  
4331    Behavior = AIUpdateInterface ModuleTag_03
4332      AutoAcquireEnemiesWhenIdle = Yes Stealthed
4333      MoodAttackCheckRate        = 250
4334    End
4335  
4336    Behavior = AutoFindHealingUpdate   ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 
4337      ScanRate = 1000 ; once a second.
4338      ScanRange = 300 ;
4339      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
4340      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
4341    End
4342  
4343    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor
4344  
4345    Behavior = ExperienceScalarUpgrade ModuleTag_05
4346      TriggeredBy = Upgrade_AmericaAdvancedTraining
4347      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
4348    End
4349  
4350    Behavior = PhysicsBehavior ModuleTag_06
4351      Mass = 5.0
4352    End
4353    Behavior = StealthDetectorUpdate ModuleTag_08
4354      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
4355      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
4356      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
4357      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
4358    End
4359    Behavior = StealthUpdate ModuleTag_09
4360      StealthDelay                = 0           ; msec
4361      StealthForbiddenConditions  = MOVING ; stays stealthy while attacking
4362      FriendlyOpacityMin          = 30.0%
4363      FriendlyOpacityMax          = 80.0%
4364      PulseFrequency              = 500   ; msec
4365      MoveThresholdSpeed          = 3
4366      InnateStealth               = Yes
4367      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4368    End
4369   
4370    Behavior = SquishCollide ModuleTag_10
4371      ;nothing
4372    End
4373  
4374  
4375  ; --- begin Death modules ---
4376    Behavior = SlowDeathBehavior ModuleTag_Death01
4377      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
4378      SinkDelay           = 3000
4379      SinkRate            = 0.5     ; in Dist/Sec
4380      DestructionDelay    = 8000
4381      FX                  = INITIAL FX_PathfinderDie
4382    End
4383    Behavior = SlowDeathBehavior ModuleTag_Death02
4384      DeathTypes          = NONE +CRUSHED +SPLATTED
4385      SinkDelay           = 3000
4386      SinkRate            = 0.5     ; in Dist/Sec
4387      DestructionDelay    = 8000
4388      FX                  = INITIAL FX_GIDieCrushed
4389    End
4390    Behavior = SlowDeathBehavior ModuleTag_Death03
4391      DeathTypes          = NONE +EXPLODED
4392      SinkDelay           = 3000
4393      SinkRate            = 0.5     ; in Dist/Sec
4394      DestructionDelay    = 8000
4395      FX                  = INITIAL FX_PathfinderDie
4396      FlingForce          = 8
4397      FlingForceVariance  = 3
4398      FlingPitch          = 60
4399      FlingPitchVariance  = 10
4400    End
4401    Behavior = SlowDeathBehavior ModuleTag_Death04
4402      DeathTypes          = NONE +BURNED
4403      DestructionDelay    = 0
4404      FX                  = INITIAL FX_DieByFireUSA
4405      OCL                 = INITIAL OCL_FlamingInfantry
4406    End
4407    Behavior = SlowDeathBehavior ModuleTag_Death05
4408      DeathTypes          = NONE +POISONED
4409      DestructionDelay    = 0
4410      FX                  = INITIAL FX_DieByToxinUSA
4411      OCL                 = INITIAL OCL_ToxicInfantry
4412    End
4413    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
4414      DeathTypes          = NONE +POISONED_BETA
4415      DestructionDelay    = 0
4416      FX                  = INITIAL FX_DieByToxinUSA
4417      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
4418    End
4419  
4420    Behavior = SlowDeathBehavior ModuleTag_Death07
4421      DeathTypes          = NONE +POISONED_GAMMA
4422      DestructionDelay    = 0
4423      FX                  = INITIAL FX_DieByToxinUSA
4424      OCL                 = INITIAL OCL_ToxicInfantryGamma
4425    End
4426  
4427  
4428  ; --- end Death modules ---
4429  
4430    Behavior = PoisonedBehavior ModuleTag_13
4431      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
4432      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
4433    End
4434   
4435    Geometry = CYLINDER
4436    GeometryMajorRadius = 10.0
4437    GeometryMinorRadius = 10.0
4438    GeometryHeight = 12.0
4439    GeometryIsSmall = Yes
4440    Shadow = SHADOW_DECAL
4441    ShadowSizeX = 14;
4442    ShadowSizeY = 14;
4443    ShadowTexture = ShadowI;
4444    BuildCompletion = APPEARS_AT_RALLY_POINT
4445  
4446  End
4447  
4448  
4449  
4450  
4451  
4452  
4453  
4454  
4455  
4456  
4457  
4458  
4459  
4460  
4461  
4462  
4463  
4464  
4465  
4466  
4467  
4468  
4469  
4470  
4471  
4472  
4473  
4474  
4475  
4476  
4477  
4478  
4479  
4480  
4481  ;------------------------------------------------------------------------------
4482  Object AirF_CountermeasureFlare
4483    Draw = W3DModelDraw ModuleTag_01
4484      DefaultConditionState
4485        Model = None
4486        ParticleSysBone = None CountermeasureFlareParticleSys
4487      End
4488    End
4489    KindOf = PROJECTILE
4490    Behavior = PhysicsBehavior ModuleTag_03
4491      Mass = 5
4492    End
4493    Behavior = AIUpdateInterface ModuleTag_04
4494      ; nothing
4495    End
4496    Locomotor = SET_NORMAL CountermeasureFlareLocomotor
4497  
4498    Behavior = LifetimeUpdate ModuleTag_05
4499      MinLifetime = 3000   ; min lifetime in msec
4500      MaxLifetime = 3000   ; max lifetime in msec
4501    End
4502  
4503  
4504    Geometry = Sphere
4505    GeometryIsSmall = Yes
4506    GeometryMajorRadius = 4.0
4507  End
4508  
4509  
4510  
4511  
4512  ;------------------------------------------------------------------------------
4513  Object AirF_ComancheBlades
4514  
4515    ; *** ART Parameters ***
4516    Draw = W3DModelDraw ModuleTag_01
4517      DefaultConditionState
4518        Model = AVComanche_D2
4519        Animation = AVComanche_D2.AVComanche_D2
4520        AnimationMode = LOOP
4521      End
4522    End
4523  
4524    ; ***DESIGN parameters ***
4525    DisplayName      = OBJECT:Comanche
4526    Side = AmericaAirForceGeneral
4527  
4528    ; *** ENGINEERING Parameters ***
4529    KindOf = PRELOAD IMMOBILE
4530  
4531    Behavior = PhysicsBehavior ModuleTag_02
4532      AllowBouncing = Yes
4533    End
4534    Behavior = LifetimeUpdate ModuleTag_03
4535      MinLifetime = 1000   ; min lifetime in msec
4536      MaxLifetime = 1000   ; max lifetime in msec
4537    End
4538  
4539    
4540    Behavior = StealthUpdate ModuleTag_04
4541      StealthDelay                          = 1500 ; msec
4542      StealthForbiddenConditions            = FIRING_PRIMARY ATTACKING USING_ABILITY
4543      FriendlyOpacityMin                    = 50.0%
4544      FriendlyOpacityMax                    = 100.0%
4545      InnateStealth                         = No
4546      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4547    End
4548  
4549    Behavior = StealthUpgrade ModuleTag_05
4550      TriggeredBy = AirF_Upgrade_StealthComanche
4551    End
4552  
4553  End
4554  
4555  ;------------------------------------------------------------------------------
4556  Object AirF_AmericaParachute
4557  
4558    ; *** ART Parameters ***
4559    Draw = W3DModelDraw ModuleTag_01
4560      OkToChangeModelColor = Yes
4561      DefaultConditionState
4562        Model = PMparacht_SKNc
4563        Animation = PMparacht_SKL.PMparacht_FAL
4564        AnimationMode = LOOP
4565      End
4566      ConditionState = PARACHUTING
4567        Model = PMparacht_SKNc
4568        Animation = PMparacht_SKL.PMparacht_OPN
4569        AnimationMode = ONCE
4570      End
4571      ConditionState = RUBBLE
4572        Model = PMparacht_SKNc
4573        Animation = PMparacht_SKL.PMparacht_DRP
4574        AnimationMode = ONCE
4575      End
4576      ; this is a weird state to resolve an ambiguity: sometimes
4577      ; we can have a "rubble" parachute momentarily, that doesn't
4578      ; know that it has finished parachuting yet...
4579      ConditionState = RUBBLE PARACHUTING
4580        Model = PMparacht_SKNc
4581        Animation = PMparacht_SKL.PMparacht_DRP
4582        AnimationMode = ONCE
4583      End
4584    End 
4585  
4586    ; ***DESIGN parameters ***
4587    Side                = AmericaAirForceGeneral
4588    EditorSorting       = SYSTEM
4589    TransportSlotCount  = 0                 
4590    VisionRange         = 300.0 
4591    ShroudClearingRange = 300
4592    IsTrainable         = No  ;Can gain experience
4593    KindOf              = PRELOAD PARACHUTE UNATTACKABLE
4594  
4595    ; *** AUDIO Parameters ***
4596  
4597    ; *** ENGINEERING Parameters ***
4598    Behavior = AIUpdateInterface ModuleTag_02
4599      ; nothing
4600    End
4601    Locomotor = SET_NORMAL ParachuteLocomotor
4602    Locomotor = SET_FREEFALL FreeFallLocomotor
4603  
4604    Body = ActiveBody ModuleTag_03
4605      MaxHealth       = 100000.0
4606      InitialHealth   = 100000.0
4607    End
4608  
4609    Behavior = PhysicsBehavior ModuleTag_04
4610      Mass = 5.0
4611    End
4612  
4613    Behavior = ParachuteContain ModuleTag_05
4614      PitchRateMax = 60           ; deg/sec
4615      RollRateMax = 60            ; deg/sec
4616      LowAltitudeDamping  = 0.2   ; how much to damp swaying when we get "close" to the ground
4617      ParachuteOpenDist   = 25.0  ; how far we have to fall 'till we open our 'chute
4618      AllowInsideKindOf   = INFANTRY PARACHUTABLE
4619      ParachuteOpenSound  = ParachuteOpen
4620    End
4621  
4622    Behavior = SlowDeathBehavior ModuleTag_06
4623      SinkDelay = 1000
4624      SinkRate = 1     ; in Dist/Sec
4625      DestructionDelay = 4000
4626    End
4627  
4628    RadarPriority = NOT_ON_RADAR
4629    Geometry = CYLINDER
4630    GeometryMajorRadius = 15.0
4631    GeometryHeight = 10.0    
4632    GeometryIsSmall = Yes
4633    Shadow = SHADOW_VOLUME
4634  
4635  End
4636  
4637  ;------------------------------------------------------------------------------
4638  Object AirF_AmericaCrateParachute
4639  
4640    ; *** ART Parameters ***
4641    Draw = W3DModelDraw ModuleTag_01
4642      OkToChangeModelColor = Yes
4643      DefaultConditionState
4644        Model = PMparacht_SKNc
4645        Animation = PMparacht_SKL.PMparacht_FAL
4646        AnimationMode = LOOP
4647      End
4648      ConditionState = PARACHUTING
4649        Model = PMparacht_SKNc
4650        Animation = PMparacht_SKL.PMparacht_OPN
4651        AnimationMode = ONCE
4652      End
4653      ConditionState = RUBBLE
4654        Model = PMparacht_SKNc
4655        Animation = PMparacht_SKL.PMparacht_DRP
4656        AnimationMode = ONCE
4657      End
4658      ; this is a weird state to resolve an ambiguity: sometimes
4659      ; we can have a "rubble" parachute momentarily, that doesn't
4660      ; know that it has finished parachuting yet...
4661      ConditionState = RUBBLE PARACHUTING
4662        Model = PMparacht_SKNc
4663        Animation = PMparacht_SKL.PMparacht_DRP
4664        AnimationMode = ONCE
4665      End
4666    End
4667  
4668    ; ***DESIGN parameters ***
4669    Side                = AmericaAirForceGeneral
4670    EditorSorting       = SYSTEM
4671    TransportSlotCount  = 0                 
4672    VisionRange         = 300.0 
4673    ShroudClearingRange = 300
4674    IsTrainable         = No  ;Can gain experience
4675    KindOf              = PRELOAD PARACHUTE UNATTACKABLE
4676  
4677    ; *** AUDIO Parameters ***
4678  
4679    ; *** ENGINEERING Parameters ***
4680    Behavior = AIUpdateInterface ModuleTag_02
4681      ; nothing
4682    End
4683    Locomotor = SET_NORMAL CrateParachuteLocomotor
4684    Locomotor = SET_FREEFALL CrateFreeFallLocomotor
4685  
4686    Body = ActiveBody ModuleTag_03
4687      MaxHealth       = 100000.0
4688      InitialHealth   = 100000.0
4689    End
4690  
4691    Behavior = PhysicsBehavior ModuleTag_04
4692      Mass = 5.0
4693    End
4694  
4695    Behavior = ParachuteContain ModuleTag_05
4696      PitchRateMax        = 60    ; deg/sec
4697      RollRateMax         = 60    ; deg/sec
4698      LowAltitudeDamping  = 0.2   ; how much to damp swaying when we get "close" to the ground
4699      ParachuteOpenDist   = 12.5  ; how far we have to fall 'till we open our 'chute
4700      AllowInsideKindOf   = PARACHUTABLE
4701      ParachuteOpenSound  = ParachuteOpen
4702    End
4703  
4704    Behavior = SlowDeathBehavior ModuleTag_06
4705      SinkDelay = 1000
4706      SinkRate = 1     ; in Dist/Sec
4707      DestructionDelay = 4000
4708    End
4709  
4710    RadarPriority = NOT_ON_RADAR
4711    Geometry = CYLINDER
4712    GeometryMajorRadius = 15.0
4713    GeometryHeight = 10.0    
4714    GeometryIsSmall = Yes
4715    Shadow = SHADOW_VOLUME
4716  
4717  End
4718  
4719  
4720  ;------------------------------------------------------------------------------
4721  Object AirF_LargeParachute
4722  
4723    ; *** ART Parameters ***
4724    Draw = W3DModelDraw ModuleTag_01
4725      OkToChangeModelColor = Yes
4726      DefaultConditionState
4727        Model = PMparacht_SKNc
4728        Animation = PMparacht_SKL.PMparacht_FAL
4729        AnimationMode = LOOP
4730      End
4731      ConditionState = PARACHUTING
4732        Model = PMparacht_SKNc
4733        Animation = PMparacht_SKL.PMparacht_OPN
4734        AnimationMode = ONCE
4735      End
4736      ConditionState = RUBBLE
4737        Model = PMparacht_SKNc
4738        Animation = PMparacht_SKL.PMparacht_DRP
4739        AnimationMode = ONCE
4740      End
4741      ; this is a weird state to resolve an ambiguity: sometimes
4742      ; we can have a "rubble" parachute momentarily, that doesn't
4743      ; know that it has finished parachuting yet...
4744      ConditionState = RUBBLE PARACHUTING
4745        Model = PMparacht_SKNc
4746        Animation = PMparacht_SKL.PMparacht_DRP
4747        AnimationMode = ONCE
4748      End
4749    End 
4750  
4751    ; ***DESIGN parameters ***
4752    EditorSorting       = SYSTEM
4753    TransportSlotCount  = 10                 
4754    VisionRange         = 300.0 
4755    ShroudClearingRange = 300
4756    IsTrainable         = No  ;Can gain experience
4757    KindOf              = PRELOAD PARACHUTE UNATTACKABLE
4758  
4759    ; *** AUDIO Parameters ***
4760  
4761    ; *** ENGINEERING Parameters ***
4762    Behavior = AIUpdateInterface ModuleTag_02
4763      ; nothing
4764    End
4765    Locomotor = SET_NORMAL ParachuteLocomotor
4766    Locomotor = SET_FREEFALL FreeFallLocomotor
4767  
4768    Body = ActiveBody ModuleTag_03
4769      MaxHealth       = 100000.0
4770      InitialHealth   = 100000.0
4771    End
4772  
4773    Behavior = PhysicsBehavior ModuleTag_04
4774      Mass = 5.0
4775    End
4776  
4777    Behavior = ParachuteContain ModuleTag_05
4778      PitchRateMax = 60           ; deg/sec
4779      RollRateMax = 60            ; deg/sec
4780      LowAltitudeDamping  = 0.2   ; how much to damp swaying when we get "close" to the ground
4781      ParachuteOpenDist   = 25.0  ; how far we have to fall 'till we open our 'chute
4782      AllowInsideKindOf   = INFANTRY VEHICLE PARACHUTABLE
4783      ParachuteOpenSound  = ParachuteOpen
4784    End
4785  
4786    Behavior = SlowDeathBehavior ModuleTag_06
4787      SinkDelay = 1000
4788      SinkRate = 1     ; in Dist/Sec
4789      DestructionDelay = 4000
4790    End
4791  
4792    RadarPriority = NOT_ON_RADAR
4793    Geometry = CYLINDER
4794    GeometryMajorRadius = 15.0
4795    GeometryHeight = 10.0    
4796    GeometryIsSmall = Yes
4797    Shadow = SHADOW_VOLUME
4798  
4799  End
4800  
4801  
4802  
4803  
4804  
4805  
4806  
4807  
4808  
4809  
4810  
4811  
4812  
4813  
4814  
4815  
4816  
4817  
4818  
4819  
4820  
4821  
4822  
4823  
4824  
4825  
4826  
4827  
4828  ;------------------------------------------------------------------------------
4829  Object AirF_AmericaVehicleHumvee
4830  
4831    ; *** ART Parameters ***
4832    SelectPortrait         = SAHummer_L
4833    ButtonImage            = SAHummer
4834    
4835    UpgradeCameo1 = Upgrade_AmericaBattleDrone
4836    UpgradeCameo2 = Upgrade_AmericaScoutDrone
4837    UpgradeCameo3 = Upgrade_AmericaTOWMissile
4838    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
4839    UpgradeCameo5 = Upgrade_AmericaHellfireDrone
4840    
4841    Draw = W3DTruckDraw ModuleTag_01
4842      OkToChangeModelColor = Yes
4843  
4844      ConditionState = NONE
4845        Model = AVHUMMER
4846        Turret = Turret
4847        ShowSubObject = Turret
4848        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
4849        WeaponFireFXBone = PRIMARY Muzzle
4850        WeaponMuzzleFlash = PRIMARY MuzzleFX
4851      End
4852  
4853      ConditionState = REALLYDAMAGED
4854        Model = AVHUMMER_d
4855        Turret = Turret
4856        ShowSubObject = Turret
4857        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
4858        WeaponFireFXBone = PRIMARY Muzzle
4859        WeaponMuzzleFlash = PRIMARY MuzzleFX
4860      End
4861  
4862      ConditionState = WEAPONSET_PLAYER_UPGRADE
4863        Model = AVHUMMER
4864        Turret = TurretUp01
4865        HideSubObject = Turret MuzzleFX01
4866        ShowSubObject = TurretUp01 Housecolor03
4867        WeaponFireFXBone = PRIMARY MuzzleUp
4868        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
4869        WeaponFireFXBone = SECONDARY WeaponB
4870        WeaponLaunchBone = SECONDARY WeaponB
4871        WeaponFireFXBone = TERTIARY WeaponB
4872        WeaponLaunchBone = TERTIARY WeaponB
4873      End
4874  
4875      ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
4876        Model = AVHUMMER_d
4877        Turret = TurretUp01
4878        HideSubObject = Turret MuzzleFX01
4879        ShowSubObject = TurretUp01 Housecolor03
4880        WeaponFireFXBone = PRIMARY MuzzleUp
4881        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
4882        WeaponFireFXBone = SECONDARY WeaponB
4883        WeaponLaunchBone = SECONDARY WeaponB
4884        WeaponFireFXBone = TERTIARY WeaponB
4885        WeaponLaunchBone = TERTIARY WeaponB
4886      End
4887  
4888      TrackMarks = EXTireTrack.tga
4889  
4890      Dust = RocketBuggyDust
4891      DirtSpray = RocketBuggyDirtSpray
4892      PowerslideSpray = RocketBuggyDirtPowerSlide
4893  
4894      ; These parameters are only used if the model has a separate suspension, 
4895      ; and the locomotor has HasSuspension = Yes.
4896      LeftFrontTireBone = Tire01
4897      RightFrontTireBone = Tire02
4898      LeftRearTireBone = Tire03
4899      RightRearTireBone = Tire04
4900      TireRotationMultiplier = 0.2   ; this * speed = rotation.
4901      PowerslideRotationAddition = 1.25   ; This speed is added to the rotation speed when powersliding.
4902  
4903    End
4904  
4905    ; ***DESIGN parameters ***
4906    DisplayName           = OBJECT:Humvee
4907    Side                  = AmericaAirForceGeneral
4908    EditorSorting         = VEHICLE
4909    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
4910    WeaponSet
4911      Conditions = None 
4912      Weapon = PRIMARY HumveeGun
4913    End
4914    WeaponSet
4915      Conditions = PLAYER_UPGRADE 
4916      Weapon = PRIMARY HumveeGun
4917      Weapon = SECONDARY HumveeMissileWeapon
4918      Weapon = TERTIARY HumveeMissileWeaponAir
4919      PreferredAgainst = TERTIARY     AIRCRAFT
4920    End
4921    ArmorSet
4922      Conditions      = None
4923      Armor           = HumveeArmor
4924      DamageFX        = TruckDamageFX
4925    End
4926    BuildCost       = 800
4927    BuildTime       = 10.0          ;in seconds    
4928    VisionRange     = 150
4929    ShroudClearingRange = 320
4930    Prerequisites
4931      Object = AirF_AmericaWarFactory
4932    End
4933    ExperienceValue = 50 50 100 150   ;Experience point value at each level
4934    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
4935    IsTrainable = Yes             ;Can gain experience
4936    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
4937    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4938    CommandSet      = AmericaVehicleHumveeCommandSet
4939  
4940    ; *** AUDIO Parameters ***
4941    VoiceSelect = HumveeVoiceSelect
4942    VoiceMove = HumveeVoiceMove
4943    VoiceGuard = HumveeVoiceMove
4944    VoiceAttack = HumveeVoiceAttack
4945    VoiceAttackAir = HumveeVoiceAttackTOW
4946    SoundMoveStart = HumveeMoveStart
4947    SoundMoveStartDamaged = HumveeMoveStart
4948    SoundEnter = HumveeEnter
4949    SoundExit = HumveeExit
4950  
4951    UnitSpecificSounds
4952      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4953      ;TurretMoveStart    = NoSound
4954      VoiceCreate         = HumveeVoiceCreate
4955      TurretMoveLoop      = TurretMoveLoop
4956      SoundEject          = PilotSoundEject
4957      VoiceEject          = PilotVoiceEject
4958      VoiceCrush          = HumveeVoiceCrush
4959    ; Required for the W3DTruckDraw module
4960      TruckLandingSound = RocketBuggyLand
4961      TruckPowerslideSound = RocketBuggyPowerslide
4962      VoiceUnload = HumveeVoiceUnload
4963      VoiceEnter = HumveeVoiceMove
4964    End
4965  
4966  
4967    ; *** ENGINEERING Parameters ***
4968    RadarPriority = UNIT
4969    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
4970  
4971    Body = ActiveBody ModuleTag_02
4972      MaxHealth       = 240.0
4973      InitialHealth   = 240.0
4974  
4975      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4976      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4977      SubdualDamageCap = 480
4978      SubdualDamageHealRate = 500
4979      SubdualDamageHealAmount = 50
4980    End
4981    Behavior = TransportAIUpdate ModuleTag_03
4982      Turret
4983        TurretTurnRate = 180
4984        RecenterTime = 5000   ; how long to wait during idle before recentering
4985        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
4986      End
4987      AutoAcquireEnemiesWhenIdle = Yes
4988      MoodAttackCheckRate        = 250
4989    End
4990    Locomotor = SET_NORMAL HumveeLocomotor
4991  
4992    Behavior = PhysicsBehavior ModuleTag_04
4993      Mass = 50.0
4994    End
4995  
4996    Behavior = TransportContain  ModuleTag_05
4997      PassengersAllowedToFire = Yes
4998      Slots             = 5
4999  ;    EnterSound          = GarrisonEnter
5000  ;    ExitSound           = GarrisonExit
5001      DamagePercentToUnits = 100% ;10%
5002      AllowInsideKindOf  = INFANTRY
5003      ExitDelay = 250
5004      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
5005      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
5006    End
5007  
5008    Behavior = ObjectCreationUpgrade ModuleTag_06
5009      UpgradeObject = OCL_AmericanBattleDrone
5010      TriggeredBy   = Upgrade_AmericaBattleDrone
5011      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
5012    End
5013    Behavior = ObjectCreationUpgrade ModuleTag_07
5014      UpgradeObject = OCL_AmericanScoutDrone
5015      TriggeredBy   = Upgrade_AmericaScoutDrone
5016      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
5017    End
5018    Behavior = ObjectCreationUpgrade ModuleTag_14
5019      UpgradeObject = OCL_AmericanHellfireDrone
5020      TriggeredBy   = Upgrade_AmericaHellfireDrone
5021      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
5022    End
5023  
5024    Behavior = ProductionUpdate ModuleTag_08
5025      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
5026    End
5027  
5028    Behavior = WeaponSetUpgrade ModuleTag_09
5029      TriggeredBy = Upgrade_AmericaTOWMissile
5030    End
5031    Behavior = ExperienceScalarUpgrade ModuleTag_10
5032      TriggeredBy = Upgrade_AmericaAdvancedTraining
5033      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
5034    End
5035  
5036    Behavior = SlowDeathBehavior ModuleTag_11
5037      DeathTypes = ALL -CRUSHED -SPLATTED
5038      ProbabilityModifier = 25
5039      DestructionDelay = 1
5040      OCL = INITIAL  OCL_InitialHumveeDebris
5041      FX  = FINAL    FX_BattleMasterExplosionOneFinal
5042      OCL = FINAL    OCL_FinalHumveeDebris
5043    End
5044  
5045    Behavior = DestroyDie ModuleTag_12
5046      DeathTypes = NONE +CRUSHED +SPLATTED
5047    End
5048  
5049    Behavior = FXListDie ModuleTag_13
5050      DeathTypes = NONE +CRUSHED +SPLATTED
5051      DeathFX = FX_CarCrush
5052    End
5053  
5054    Behavior = CreateCrateDie ModuleTag_CratesChange
5055      CrateData = SalvageCrateData
5056      ;CrateData = EliteTankCrateData
5057      ;CrateData = HeroicTankCrateData
5058    End
5059  
5060  ; This is commented out per hotlist request 10/9 ML
5061  ;  Behavior = CreateObjectDie ModuleTag_15
5062  ;    DeathTypes = ALL -CRUSHED -SPLATTED
5063  ;    CreationList = OCL_AmericanRangerDebris01
5064  ;    ExemptStatus = HIJACKED
5065  ;  End
5066  
5067    Behavior = EjectPilotDie ModuleTag_16
5068      DeathTypes = ALL -CRUSHED -SPLATTED
5069      ExemptStatus = HIJACKED
5070      ; The following added out per hotlist request 10/9 as above ML
5071      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
5072      GroundCreationList = OCL_EjectPilotOnGround
5073      AirCreationList = OCL_EjectPilotViaParachute
5074    End
5075  
5076    Behavior = TransitionDamageFX ModuleTag_17
5077      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5078      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
5079    End
5080  
5081    Behavior = FlammableUpdate ModuleTag_21
5082      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5083      AflameDamageAmount = 3       ; taking this much damage...
5084      AflameDamageDelay = 500       ; this often.
5085    End
5086  
5087    Geometry = BOX
5088    GeometryMajorRadius = 14.0
5089    GeometryMinorRadius = 7.0
5090    GeometryHeight = 11.5     
5091    GeometryIsSmall = Yes 
5092    Shadow = SHADOW_VOLUME
5093    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
5094  
5095  End
5096  
5097  
5098  
5099  
5100  
5101  
5102  
5103  
5104  
5105  
5106  
5107  
5108  
5109  ;----------------------------------------------------------
5110  Object AirF_AmericaVehicleTomahawk
5111  
5112    ; *** ART Parameters ***
5113    SelectPortrait         = SACTomahawk_L
5114    ButtonImage            = SACTomahawk
5115    
5116    UpgradeCameo1 = Upgrade_AmericaScoutDrone
5117    UpgradeCameo2 = Upgrade_AmericaBattleDrone
5118    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
5119    UpgradeCameo4 = Upgrade_AmericaHellfireDrone
5120    ;UpgradeCameo5 = XXX
5121    
5122    Draw = W3DTankDraw ModuleTag_01
5123      OkToChangeModelColor = Yes
5124        
5125      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
5126  
5127      DefaultConditionState
5128        Model = AVTomahawk
5129        Turret = TURRET
5130        TurretPitch = TURRETEL
5131        WeaponLaunchBone = PRIMARY WeaponA
5132        WeaponHideShowBone = PRIMARY MISSILE
5133      End
5134  
5135      ConditionState = REALLYDAMAGED
5136        Model = AVTomahawk_D
5137      End
5138      AliasConditionState = RUBBLE
5139  
5140      TrackMarks           = EXTnkTrack.tga
5141  
5142    End
5143  
5144    ; ***DESIGN parameters ***
5145    DisplayName      = OBJECT:Tomahawk
5146    Side = AmericaAirForceGeneral
5147    EditorSorting   = VEHICLE
5148    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
5149    BuildCost       = 1300
5150    BuildTime       = 20.0          ;in seconds    
5151    VisionRange     = 180
5152    ShroudClearingRange = 200
5153    Prerequisites
5154      Object = AirF_AmericaWarFactory
5155      Object = AirF_AmericaStrategyCenter
5156    End
5157    ExperienceValue = 50 50 100 150    ;Experience point value at each level
5158    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
5159    IsTrainable = Yes             ;Can gain experience
5160    WeaponSet
5161      Conditions = None 
5162      Weapon = PRIMARY TomahawkMissileWeapon
5163    End
5164    ArmorSet
5165      Conditions      = None
5166      Armor           = TruckArmor
5167      DamageFX        = TankDamageFX
5168    End
5169    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
5170    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
5171    CommandSet      = AmericaVehicleTomahawkCommandSet
5172  
5173    ; *** AUDIO Parameters ***
5174    VoiceSelect = TomahawkVoiceSelect
5175    VoiceMove = TomahawkVoiceMove
5176    VoiceGuard = TomahawkVoiceMove
5177    VoiceAttack = TomahawkVoiceAttack
5178    SoundMoveStart = TomahawkMoveStart
5179    SoundMoveStartDamaged = TomahawkMoveStart
5180    
5181    UnitSpecificSounds
5182      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5183      VoiceCreate = TomahawkVoiceCreate
5184      TurretMoveStart = NoSound
5185      TurretMoveLoop = TurretMoveLoopLoud
5186      SoundEject = PilotSoundEject
5187      VoiceEject = PilotVoiceEject
5188      VoiceCrush = TomahawkVoiceCrush
5189      VoiceEnter = TomahawkVoiceMove
5190      VoiceBombard = TomahawkVoiceAttack
5191    End
5192  
5193    ; *** ENGINEERING Parameters ***
5194    RadarPriority = UNIT
5195    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SCORE
5196  
5197    Body = ActiveBody ModuleTag_02
5198      MaxHealth       = 180.0
5199      InitialHealth   = 180.0
5200  
5201      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5202      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5203      SubdualDamageCap = 360
5204      SubdualDamageHealRate = 500
5205      SubdualDamageHealAmount = 50
5206    End
5207  
5208    Behavior = AIUpdateInterface ModuleTag_03
5209      Turret
5210        TurretTurnRate = 60   ; turn rate, in degrees per sec
5211        TurretPitchRate = 60
5212        FirePitch = 70  ; Instead of aiming pitchwise at the target, it will aim here
5213        AllowsPitch = Yes
5214        ControlledWeaponSlots = PRIMARY
5215      End
5216      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
5217    End
5218    Locomotor = SET_NORMAL TomahawkLocomotor
5219  
5220    Behavior = PhysicsBehavior ModuleTag_04
5221      Mass = 50.0
5222    End
5223    Behavior = SlowDeathBehavior ModuleTag_05
5224      DeathTypes = ALL -CRUSHED -SPLATTED
5225      DestructionDelay  = 500
5226      DestructionDelayVariance  = 100
5227      FX  = INITIAL  FX_GenericTankDeathEffect
5228      OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie
5229      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
5230    End
5231  
5232    Behavior = ObjectCreationUpgrade ModuleTag_06
5233      UpgradeObject = OCL_AmericanBattleDrone
5234      TriggeredBy   = Upgrade_AmericaBattleDrone
5235      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
5236    End
5237    Behavior = ObjectCreationUpgrade ModuleTag_07
5238      UpgradeObject = OCL_AmericanScoutDrone
5239      TriggeredBy   = Upgrade_AmericaScoutDrone
5240      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
5241    End
5242    Behavior = ObjectCreationUpgrade ModuleTag_15
5243      UpgradeObject = OCL_AmericanHellfireDrone
5244      TriggeredBy   = Upgrade_AmericaHellfireDrone
5245      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
5246    End
5247  
5248    Behavior = ProductionUpdate ModuleTag_08
5249      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
5250    End
5251  
5252    Behavior = ExperienceScalarUpgrade ModuleTag_09
5253      TriggeredBy = Upgrade_AmericaAdvancedTraining
5254      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
5255    End
5256  
5257    Behavior = DestroyDie ModuleTag_10
5258      DeathTypes = NONE +CRUSHED +SPLATTED
5259    End
5260  
5261    Behavior = FXListDie ModuleTag_11
5262      DeathTypes = NONE +CRUSHED +SPLATTED
5263      DeathFX = FX_CarCrush
5264    End
5265  
5266    Behavior = CreateObjectDie ModuleTag_12
5267      DeathTypes = NONE +CRUSHED +SPLATTED
5268      CreationList = OCL_CrusaderTank_CrushEffect
5269    End
5270  
5271  ;  Behavior = FXListDie
5272  ;    DeathTypes = ALL -CRUSHED -SPLATTED
5273  ;    DeathFX = FX_GenericTankDeathEffect
5274  ;  End
5275  ; Behavior = CreateObjectDie
5276  ;    DeathTypes = ALL -CRUSHED -SPLATTED
5277  ;    CreationList = OCL_GenericTankDeathEffect
5278  ;  End
5279    Behavior = EjectPilotDie ModuleTag_13
5280      DeathTypes = ALL -CRUSHED -SPLATTED
5281      ExemptStatus = HIJACKED
5282      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
5283      GroundCreationList = OCL_EjectPilotOnGround
5284      AirCreationList = OCL_EjectPilotViaParachute
5285    End
5286    
5287    Behavior = TransitionDamageFX ModuleTag_14
5288      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5289      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
5290    End
5291    
5292    Behavior = FlammableUpdate ModuleTag_21
5293      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5294      AflameDamageAmount = 3       ; taking this much damage...
5295      AflameDamageDelay = 500       ; this often.
5296    End
5297  
5298    Geometry = BOX
5299    GeometryMajorRadius = 15.0
5300    GeometryMinorRadius = 10.0
5301    GeometryHeight = 10.0     
5302    GeometryIsSmall = Yes
5303    Shadow = SHADOW_VOLUME 
5304    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length   
5305  
5306  End
5307  
5308  
5309  
5310  
5311  
5312  
5313  
5314  
5315  
5316  
5317  
5318  
5319  
5320  
5321  ;------------------------------------------------------------------------------
5322  ; Also known as the Ambulance
5323  Object AirF_AmericaVehicleMedic
5324  
5325    ; *** ART Parameters ***
5326    SelectPortrait         = SAAmbulance_L
5327    ButtonImage            = SAAmbulance
5328    
5329    UpgradeCameo1 = Upgrade_AmericaBattleDrone
5330    UpgradeCameo2 = Upgrade_AmericaScoutDrone
5331    ;UpgradeCameo3 = NONE
5332    ;UpgradeCameo4 = NONE
5333    ;UpgradeCameo5 = NONE
5334    
5335    Draw = W3DTruckDraw ModuleTag_01
5336  
5337      ConditionState = NONE
5338        Model = AVAmbulance
5339        Turret = Turret
5340        TurretPitch = TurretEL
5341        WeaponFireFXBone = PRIMARY WeaponA
5342        WeaponLaunchBone = PRIMARY WeaponA
5343      End
5344      ConditionState       = REALLYDAMAGED
5345        Model              = AVAmbulance_D
5346        Turret = Turret
5347        TurretPitch = TurretEL
5348        WeaponFireFXBone = PRIMARY WeaponA
5349        WeaponLaunchBone = PRIMARY WeaponA
5350      End      
5351      
5352      ConditionState       = RUBBLE
5353        Model              = AVAmbulance_D
5354      End      
5355      
5356      TrackMarks = EXTireTrack.tga
5357      OkToChangeModelColor = Yes
5358  
5359      Dust = RocketBuggyDust
5360      DirtSpray = RocketBuggyDirtSpray
5361      PowerslideSpray = RocketBuggyDirtPowerSlide
5362  
5363      ; These parameters are only used if the model has a separate suspension, 
5364      ; and the locomotor has HasSuspension = Yes.
5365      LeftFrontTireBone = Tire01
5366      RightFrontTireBone = Tire02
5367      LeftRearTireBone = Tire03
5368      RightRearTireBone = Tire04
5369      TireRotationMultiplier = 0.2        ; this * speed = rotation.
5370      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
5371  
5372  
5373    End
5374  
5375    ; ***DESIGN parameters ***
5376    DisplayName      = OBJECT:Medic
5377    Side = AmericaAirForceGeneral
5378    EditorSorting   = VEHICLE
5379    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
5380    WeaponSet 
5381      ;*** Fully automated and driven by the CleanupHazardUpdate ***
5382      Conditions        = None 
5383      Weapon            = PRIMARY AmbulanceCleanHazardWeapon 
5384      AutoChooseSources = PRIMARY NONE
5385    End
5386    ArmorSet
5387      Conditions      = None
5388      Armor           = ToxinTruckArmor 
5389      DamageFX        = TruckDamageFX
5390    End
5391    BuildCost       = 700
5392    BuildTime       = 10.0          ;in seconds    
5393    VisionRange     = 100
5394    ShroudClearingRange = 400
5395    Prerequisites
5396      Object = AirF_AmericaWarFactory
5397    End
5398    ExperienceValue    = 50 50 50 50 ;Experience point value at each level
5399    IsTrainable     = No
5400    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
5401    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
5402    CommandSet      = AmericaVehicleAmbulanceCommandSet
5403    
5404    ; *** AUDIO Parameters ***
5405    VoiceSelect = AmbulanceVoiceSelect
5406    VoiceMove = AmbulanceVoiceMove
5407    VoiceGuard = AmbulanceVoiceMove
5408    VoiceAttack = AmbulanceVoiceDetox
5409    SoundMoveStart = HumveeMoveStart
5410    SoundMoveStartDamaged = HumveeMoveStart
5411    SoundEnter = HumveeEnter
5412    SoundExit = HumveeExit
5413  
5414    UnitSpecificSounds
5415      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5416      VoiceCreate          = AmbulanceVoiceCreate
5417      TurretMoveStart = NoSound
5418      TurretMoveLoop = TurretMoveLoop
5419      ; Required for the W3DTruckDraw module
5420      TruckLandingSound = RocketBuggyLand
5421      TruckPowerslideSound = RocketBuggyPowerslide
5422      VoiceCrush          = AmbulanceVoiceCrush
5423      VoiceEnter = AmbulanceVoiceMove
5424    End
5425  
5426  
5427    ; *** ENGINEERING Parameters ***
5428    RadarPriority = UNIT
5429    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
5430    
5431    Body = ActiveBody ModuleTag_02
5432      MaxHealth       = 240.0
5433      InitialHealth   = 240.0
5434  
5435      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5436      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5437      SubdualDamageCap = 480
5438      SubdualDamageHealRate = 500
5439      SubdualDamageHealAmount = 50
5440    End
5441  
5442    Behavior = CleanupHazardUpdate ModuleTag_03
5443      WeaponSlot            = PRIMARY
5444      ScanRate              = 1000
5445      ScanRange             = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move!
5446    End
5447  
5448    ;Can be ordered to clean up a larger area with the ability to move around at an extended range.
5449    Behavior = CleanupAreaPower ModuleTag_04
5450      SpecialPowerTemplate          = SpecialAbilityAmbulanceCleanupArea
5451      MaxMoveDistanceFromLocation   = 300.0 ;allows the unit to move around while cleaning up
5452      InitiateSound = AmbulanceVoiceDetox
5453    End
5454  
5455    Behavior = TransportAIUpdate ModuleTag_05
5456     AutoAcquireEnemiesWhenIdle = No  ;CleanupHazardUpdate handles this...
5457     Turret
5458        TurretTurnRate = 180
5459        TurretPitchRate = 180
5460        AllowsPitch = Yes
5461        MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
5462        TurretFireAngleSweep = PRIMARY 25
5463        ControlledWeaponSlots = PRIMARY
5464      End
5465    End
5466    Locomotor = SET_NORMAL HumveeLocomotor
5467  
5468    Behavior = TransportContain ModuleTag_06
5469      Slots               = 3
5470      HealthRegen%PerSec  = 25
5471      DamagePercentToUnits = 10%
5472      AllowInsideKindOf   = INFANTRY
5473      AllowAlliesInside   = Yes
5474      AllowNeutralInside  = No
5475      AllowEnemiesInside  = No
5476      ExitDelay = 250
5477      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
5478      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
5479    End
5480  
5481    Behavior = PhysicsBehavior ModuleTag_07
5482      Mass = 50.0
5483    End
5484    Behavior = SlowDeathBehavior ModuleTag_08
5485      DeathTypes = ALL -CRUSHED -SPLATTED
5486      DestructionDelay = 0
5487      FX  = FINAL FX_GenericTankDeathExplosion
5488      OCL = FINAL OCL_FinalAmbulanceDebris
5489    End
5490  
5491    Behavior = ObjectCreationUpgrade ModuleTag_09
5492      UpgradeObject = OCL_AmericanBattleDrone
5493      TriggeredBy   = Upgrade_AmericaBattleDrone
5494      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
5495    End
5496    Behavior = ObjectCreationUpgrade ModuleTag_10
5497      UpgradeObject = OCL_AmericanScoutDrone
5498      TriggeredBy   = Upgrade_AmericaScoutDrone
5499      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
5500    End
5501    Behavior = ObjectCreationUpgrade ModuleTag_19
5502      UpgradeObject = OCL_AmericanHellfireDrone
5503      TriggeredBy   = Upgrade_AmericaHellfireDrone
5504      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
5505    End
5506    Behavior = ProductionUpdate ModuleTag_11
5507      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
5508    End
5509  
5510    Behavior = DestroyDie ModuleTag_12
5511      DeathTypes = NONE +CRUSHED +SPLATTED
5512    End
5513  
5514    Behavior = FXListDie ModuleTag_13
5515      DeathTypes = NONE +CRUSHED +SPLATTED
5516      DeathFX = FX_CarCrush
5517    End
5518  
5519    Behavior = CreateObjectDie ModuleTag_14
5520      DeathTypes = NONE +CRUSHED +SPLATTED
5521      CreationList = OCL_CrusaderTank_CrushEffect
5522    End
5523  
5524    Behavior = FXListDie ModuleTag_15
5525      DeathTypes = ALL -CRUSHED -SPLATTED
5526      DeathFX = FX_GenericTankDeathEffect
5527    End
5528  
5529    Behavior = CreateCrateDie ModuleTag_16
5530      CrateData = SalvageCrateData
5531      ;CrateData = EliteTankCrateData
5532      ;CrateData = HeroicTankCrateData
5533    End
5534  
5535    Behavior = ExperienceScalarUpgrade ModuleTag_17
5536      TriggeredBy = Upgrade_AmericaAdvancedTraining
5537      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
5538    End
5539  
5540    Behavior = TransitionDamageFX ModuleTag_18
5541      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5542      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
5543    End
5544  
5545    Behavior = FlammableUpdate ModuleTag_21
5546      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5547      AflameDamageAmount = 3       ; taking this much damage...
5548      AflameDamageDelay = 500       ; this often.
5549  
5550    End
5551  
5552    Behavior = AutoHealBehavior ModuleTag_22
5553      HealingAmount     = 4
5554      HealingDelay      = 1000 ; msec
5555      Radius            = 100.0f
5556      StartsActive      = Yes
5557      KindOf            = INFANTRY
5558    End
5559  
5560    Geometry = BOX
5561    GeometryMajorRadius = 14.0
5562    GeometryMinorRadius = 7.0
5563    GeometryHeight = 12.0  ; height set to allow clear clipping of projectile streams   
5564    GeometryIsSmall = Yes   
5565    Shadow = SHADOW_VOLUME 
5566  
5567  End
5568  
5569  ;------------------------------------------------------------------------------
5570  Object AirF_AmericaVehicleBattleDrone
5571  
5572    ; *** ART Parameters ***
5573    SelectPortrait         = SABattleDrone_L
5574    ButtonImage            = SABattleDrone
5575    
5576    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5577    ;UpgradeCameo2 = NONE
5578    ;UpgradeCameo3 = NONE
5579    ;UpgradeCameo4 = NONE
5580    ;UpgradeCameo5 = NONE
5581  
5582    ;MAIN CHASSIS
5583    Draw = W3DModelDraw ModuleTag_01
5584      OkToChangeModelColor = Yes
5585  
5586      DefaultConditionState
5587        Model = AVBATTLEDR
5588        Animation = AVBATTLEDR.AVBATTLEDR
5589        AnimationMode = LOOP
5590        Turret = Turret01
5591        TurretPitch = TurretEL01
5592        WeaponMuzzleFlash = PRIMARY TurretFX01
5593        WeaponFireFXBone = PRIMARY Muzzle01
5594      End
5595  
5596      ConditionState = REALLYDAMAGED
5597        Model = AVBATTLEDR_D
5598        Animation = AVBATTLEDR_D.AVBATTLEDR_D
5599        AnimationMode = LOOP
5600      End
5601    End
5602  
5603    ;EXTENDING ARM (FOR REPAIRING)
5604    Draw = W3DModelDraw ModuleTag_02
5605      OkToChangeModelColor = Yes
5606  
5607      DefaultConditionState
5608        Model = AVBATTLEDR_A
5609      End
5610  
5611      ;Unloading the arm (before starting to repair)
5612      ConditionState = UNPACKING
5613        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
5614        AnimationMode = ONCE
5615      End
5616  
5617      ;Loading the arm (after reparing complete)
5618      ConditionState = PACKING
5619        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
5620        AnimationMode = ONCE_BACKWARDS
5621        Flags = START_FRAME_LAST
5622      End
5623  
5624      ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set)
5625      ConditionState = FIRING_B
5626        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
5627        AnimationMode = ONCE
5628      End
5629  
5630  
5631      ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set)
5632      ConditionState = FIRING_C
5633        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
5634        AnimationMode = ONCE_BACKWARDS
5635        Flags = START_FRAME_LAST
5636      End
5637  
5638    End
5639  
5640  
5641    ; ***DESIGN parameters ***
5642    DisplayName         = OBJECT:BattleDrone
5643    Side                = AmericaAirForceGeneral
5644    EditorSorting       = VEHICLE
5645    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5646    WeaponSet
5647      Conditions        = None 
5648      Weapon            = PRIMARY BattleDroneMachineGun
5649    End
5650    ArmorSet
5651      Conditions        = None
5652      Armor             = TankArmor
5653      DamageFX          = SmallTankDamageFX
5654    End
5655  
5656    BuildCost           = 200
5657    BuildTime           = 5.0          ;in seconds    
5658    VisionRange         = 150
5659    ShroudClearingRange = 150
5660    Prerequisites
5661      Object = AirF_AmericaWarFactory
5662    End
5663    ExperienceValue     = 10 10 10 10 ;Experience point value at each level
5664    IsTrainable         = No
5665    
5666    ; *** AUDIO Parameters ***
5667    VoiceSelect         = NoSound
5668    VoiceMove           = NoSound
5669    VoiceAttack         = NoSound
5670    SoundMoveStart      = NoSound
5671    UnitSpecificSounds
5672    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5673      TurretMoveStart   = NoSound
5674      TurretMoveLoop    = TurretMoveLoop
5675    End
5676  
5677    ; *** ENGINEERING Parameters ***
5678    RadarPriority       = UNIT
5679    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
5680    Body = ActiveBody ModuleTag_03
5681      MaxHealth       = 100.0
5682      InitialHealth   = 100.0
5683    End
5684  
5685    Behavior = AIUpdateInterface ModuleTag_04
5686      Turret
5687        TurretTurnRate        = 360   // turn rate, in degrees per sec
5688        TurretPitchRate       = 360
5689        MinPhysicalPitch      = -75 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
5690        AllowsPitch           = Yes
5691        ControlledWeaponSlots = PRIMARY
5692      End
5693      AutoAcquireEnemiesWhenIdle = Yes
5694    End
5695    Locomotor = SET_NORMAL BattleDroneLocomotor
5696    Locomotor = SET_PANIC BattleDronePanicLocomotor   ;used for repairing master (zippy)
5697    Behavior = PhysicsBehavior ModuleTag_05
5698      Mass = 50.0
5699      KillWhenRestingOnGround = Yes
5700      AllowBouncing = No
5701    End
5702  
5703    Behavior = MaxHealthUpgrade ModuleTag_06
5704      TriggeredBy   = Upgrade_AmericaDroneArmor
5705      AddMaxHealth  = 50.0
5706      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5707    End
5708  
5709    Behavior = SlavedUpdate ModuleTag_07
5710      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5711      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5712      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5713      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5714      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5715      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5716      RepairRange = 8         ;How far I can zip around while repair (only moves when he stops welding)
5717      RepairMinAltitude = 18.0   ;My minimum repair hover altitude.
5718      RepairMaxAltitude = 24.0   ;My maximum repair hover altitude.
5719      RepairRatePerSecond = 5.0 ;How many health points can I repair per second.
5720      RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing.
5721      RepairMinReadyTime = 300
5722      RepairMaxReadyTime = 750
5723      RepairMinWeldTime = 250
5724      RepairMaxWeldTime = 500
5725      RepairWeldingSys = BlueSparks
5726      RepairWeldingFXBone = Muzzle02
5727      StayOnSameLayerAsMaster = Yes
5728    End
5729  
5730    Behavior = DestroyDie ModuleTag_08
5731      DeathTypes = ALL
5732    End
5733    Behavior                 = CreateObjectDie  ModuleTag_09
5734      DeathTypes = ALL
5735      CreationList      = OCL_AmericaBattleDroneExplode
5736    End
5737    
5738    Behavior                 = TransitionDamageFX ModuleTag_10
5739      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5740      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
5741    End
5742    
5743    Behavior                 = FXListDie ModuleTag_11
5744      DeathTypes = ALL
5745      DeathFX           = FX_AmericaBattleDroneExplode
5746    End
5747  
5748    Behavior = UpgradeDie  ModuleTag_12
5749      ;This frees the object based upgrade for the producer object.
5750      DeathTypes = ALL
5751      UpgradeToRemove     = Upgrade_AmericaBattleDrone ModuleTag_13
5752    End
5753  
5754    Behavior = FlammableUpdate ModuleTag_21
5755      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5756      AflameDamageAmount = 3       ; taking this much damage...
5757      AflameDamageDelay = 500       ; this often.
5758    End
5759  
5760    Geometry = CYLINDER
5761    GeometryMajorRadius = 5
5762    GeometryMinorRadius = 5
5763    GeometryHeight = 10.0     
5764    GeometryIsSmall = Yes 
5765    Shadow = SHADOW_VOLUME
5766    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5767  
5768  End
5769  
5770  
5771  ;------------------------------------------------------------------------------
5772  Object AirF_AmericaVehicleScoutDrone
5773  
5774    ; *** ART Parameters ***
5775    SelectPortrait         = SAScout_L
5776    ButtonImage            = SAScout
5777    
5778    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5779    ;UpgradeCameo2 = NONE
5780    ;UpgradeCameo3 = NONE
5781    ;UpgradeCameo4 = NONE
5782    ;UpgradeCameo5 = NONE
5783    
5784    Draw = W3DModelDraw ModuleTag_01
5785      OkToChangeModelColor = Yes
5786  
5787      ConditionState = NONE
5788        Model = AVScoutDr
5789        Animation = AVScoutDr.AVScoutDr
5790        AnimationMode = LOOP
5791      End
5792  
5793      ConditionState = REALLYDAMAGED
5794        Model = AVScoutDr_d
5795        Animation = AVScoutDr_d.AVScoutDr_d
5796        AnimationMode = LOOP
5797      End
5798    End
5799  
5800    ; ***DESIGN parameters ***
5801    DisplayName      = OBJECT:ScoutDrone
5802    Side = AmericaAirForceGeneral
5803    EditorSorting   = VEHICLE
5804    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5805    ArmorSet
5806      Conditions      = None
5807      Armor           = TankArmor
5808      DamageFX        = SmallTankDamageFX
5809    End
5810    BuildCost       = 100
5811    BuildTime       = 5.0          ;in seconds    
5812    VisionRange     = 150
5813    ShroudClearingRange = 500
5814    IsTrainable     = No  ;Can gain experience
5815    
5816    ; *** AUDIO Parameters ***
5817    VoiceSelect = NoSound
5818    VoiceMove = NoSound
5819    VoiceAttack = NoSound
5820    SoundMoveStart = NoSound
5821  
5822    UnitSpecificSounds
5823      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5824      TurretMoveStart = NoSound
5825      TurretMoveLoop = TurretMoveLoop
5826    End
5827  
5828  
5829    ; *** ENGINEERING Parameters ***
5830    RadarPriority = UNIT
5831    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT
5832    
5833    Body = ActiveBody ModuleTag_02
5834      MaxHealth       = 100.0
5835      InitialHealth   = 100.0
5836    End
5837  
5838    Behavior = AIUpdateInterface ModuleTag_03
5839      Turret
5840        TurretTurnRate = 60   // turn rate, in degrees per sec
5841        ControlledWeaponSlots = PRIMARY
5842      End
5843      AutoAcquireEnemiesWhenIdle = Yes
5844    End
5845    Locomotor = SET_NORMAL DroneLocomotor
5846    Behavior = StealthDetectorUpdate ModuleTag_04
5847      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
5848      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
5849      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
5850      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
5851    End
5852    Behavior = PhysicsBehavior ModuleTag_05
5853      Mass = 50.0
5854      KillWhenRestingOnGround = Yes
5855      AllowBouncing = No
5856    End
5857  
5858    Behavior = SlavedUpdate ModuleTag_06
5859      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5860      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5861      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5862      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5863      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5864      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5865      DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus.
5866      StayOnSameLayerAsMaster = Yes
5867    End
5868  
5869    Behavior = MaxHealthUpgrade ModuleTag_07
5870      TriggeredBy   = Upgrade_AmericaDroneArmor
5871      AddMaxHealth  = 50.0
5872      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5873    End
5874  
5875    Behavior = DestroyDie ModuleTag_08
5876      DeathTypes = ALL
5877    End
5878    Behavior                 = CreateObjectDie ModuleTag_09
5879      DeathTypes = ALL
5880      CreationList      = OCL_AmericaScoutDroneExplode
5881    End
5882    Behavior                 = FXListDie ModuleTag_10
5883      DeathTypes = ALL
5884      DeathFX           = FX_AmericaScoutDroneExplode
5885    End
5886    
5887    Behavior                 = TransitionDamageFX ModuleTag_11
5888      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5889      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
5890    End
5891  
5892    Behavior = UpgradeDie  ModuleTag_12
5893     ;This frees the object based upgrade for the producer object.
5894     DeathTypes = ALL
5895     UpgradeToRemove      = Upgrade_AmericaScoutDrone ModuleTag_13
5896    End
5897  
5898  
5899    Behavior = FlammableUpdate ModuleTag_21
5900      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5901      AflameDamageAmount = 3       ; taking this much damage...
5902      AflameDamageDelay = 500       ; this often.
5903    End
5904  
5905    Geometry = CYLINDER
5906    GeometryMajorRadius = 5.0
5907    GeometryMinorRadius = 6.0
5908    GeometryHeight = 3.0
5909    GeometryIsSmall = Yes
5910    Shadow = SHADOW_VOLUME
5911    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5912  
5913  End
5914  
5915  ;------------------------------------------------------------------------------
5916  Object AirF_AmericaVehicleHellfireDrone
5917  
5918    ; *** ART Parameters ***
5919    SelectPortrait         = SAHellfire_L
5920    ButtonImage            = SAHellfire
5921    
5922    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5923    ;UpgradeCameo2 = NONE
5924    ;UpgradeCameo3 = NONE
5925    ;UpgradeCameo4 = NONE
5926    ;UpgradeCameo5 = NONE
5927    
5928    Draw = W3DModelDraw ModuleTag_01
5929      OkToChangeModelColor = Yes
5930  
5931      DefaultConditionState
5932        Model = AVScoutDr
5933        WeaponLaunchBone = PRIMARY WeaponA
5934      End
5935  
5936      ConditionState = REALLYDAMAGED
5937        Model = AVScoutDr_d
5938      End
5939    End
5940  
5941    ; ***DESIGN parameters ***
5942    DisplayName      = OBJECT:HellfireDrone
5943    Side = AmericaAirForceGeneral
5944    EditorSorting   = VEHICLE
5945    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5946    ArmorSet
5947      Conditions      = None
5948      Armor           = TankArmor
5949      DamageFX        = SmallTankDamageFX
5950    End
5951    BuildCost       = 500
5952    BuildTime       = 5.0          ;in seconds    
5953    VisionRange     = 100
5954    ShroudClearingRange = 500
5955    IsTrainable     = No  ;Can gain experience
5956    
5957    ; *** AUDIO Parameters ***
5958    VoiceSelect = NoSound
5959    VoiceMove = NoSound
5960    VoiceAttack = NoSound
5961    SoundMoveStart = NoSound
5962  
5963    WeaponSet
5964      Conditions = NONE 
5965      Weapon = PRIMARY HellfireMissileWeapon
5966    End
5967  
5968  
5969    ; *** ENGINEERING Parameters ***
5970    RadarPriority = UNIT
5971    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
5972    
5973    Body = ActiveBody ModuleTag_02
5974      MaxHealth       = 100.0
5975      InitialHealth   = 100.0
5976    End
5977  
5978    Behavior = AIUpdateInterface ModuleTag_03
5979      Turret
5980        TurretTurnRate = 360   // turn rate, in degrees per sec
5981        TurretPitchRate = 360   // turn rate, in degrees per sec
5982        ControlledWeaponSlots = PRIMARY
5983      End
5984      AutoAcquireEnemiesWhenIdle = Yes
5985    End
5986    Locomotor = SET_NORMAL HellfireDroneLocomotor
5987    Behavior = PhysicsBehavior ModuleTag_05
5988      Mass = 50.0
5989      KillWhenRestingOnGround = Yes
5990      AllowBouncing = No
5991    End
5992    Behavior = SlavedUpdate ModuleTag_06
5993      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5994      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5995      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5996      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5997      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5998      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5999      StayOnSameLayerAsMaster = Yes
6000    End
6001  
6002    Behavior = MaxHealthUpgrade ModuleTag_07
6003      TriggeredBy   = Upgrade_AmericaDroneArmor
6004      AddMaxHealth  = 50.0
6005      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
6006    End
6007  
6008    Behavior = DestroyDie ModuleTag_08
6009      DeathTypes = ALL
6010    End
6011    Behavior                 = CreateObjectDie ModuleTag_09
6012      DeathTypes = ALL
6013      CreationList      = OCL_AmericaScoutDroneExplode
6014    End
6015    Behavior                 = FXListDie ModuleTag_10
6016      DeathTypes = ALL
6017      DeathFX           = FX_AmericaScoutDroneExplode
6018    End
6019    
6020    Behavior                 = TransitionDamageFX ModuleTag_11
6021      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6022      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
6023    End
6024  
6025    Behavior = UpgradeDie  ModuleTag_12
6026     ;This frees the object based upgrade for the producer object.
6027     DeathTypes = ALL
6028     UpgradeToRemove      = Upgrade_AmericaHellfireDrone ModuleTag_13
6029    End
6030  
6031  
6032    Behavior = FlammableUpdate ModuleTag_21
6033      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6034      AflameDamageAmount = 3       ; taking this much damage...
6035      AflameDamageDelay = 500       ; this often.
6036    End
6037  
6038    Geometry = CYLINDER
6039    GeometryMajorRadius = 5.0
6040    GeometryMinorRadius = 6.0
6041    GeometryHeight = 3.0
6042    GeometryIsSmall = Yes
6043    Shadow = SHADOW_VOLUME
6044    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
6045  
6046  End
6047  
6048  
6049  
6050  ;------------------------------------------------------------------------------
6051  Object AirF_AmericaVehicleSpyDrone
6052  
6053    ; *** ART Parameters ***
6054    SelectPortrait         = SAScout_L
6055    ButtonImage            = SAScout
6056    Draw = W3DModelDraw ModuleTag_01
6057      OkToChangeModelColor = Yes
6058  
6059      ConditionState = NONE
6060        Model = AVSpyDrone
6061        Animation = AVSpyDrone.AVSpyDrone
6062        AnimationMode = LOOP
6063      End
6064  
6065  ; Damage state waiting for pristine's approval (or may just not need one)
6066  ;    ConditionState = REALLYDAMAGED
6067  ;      Model = AVSpyDrone_d
6068  ;      Animation = AVSpyDrone_d.AVSpyDrone_d
6069  ;      AnimationMode = LOOP
6070  ;    End
6071    End
6072  
6073    ; ***DESIGN parameters ***
6074    DisplayName      = OBJECT:SpyDrone
6075    Side = AmericaAirForceGeneral
6076    EditorSorting   = VEHICLE
6077    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
6078    ArmorSet
6079      Conditions      = None
6080      Armor           = AirplaneArmor
6081      DamageFX        = SmallTankDamageFX
6082    End
6083    VisionRange     = 250
6084    ShroudClearingRange = 0; Dynamic range below
6085    IsTrainable     = No 
6086    
6087    ; *** AUDIO Parameters ***
6088    VoiceSelect = NoSound
6089    VoiceMove = NoSound
6090    VoiceAttack = NoSound
6091    SoundMoveStart = NoSound
6092  
6093    UnitSpecificSounds
6094      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6095      TurretMoveStart = NoSound
6096      TurretMoveLoop = TurretMoveLoop
6097    End
6098  
6099  
6100    ; *** ENGINEERING Parameters ***
6101    RadarPriority = UNIT
6102    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT
6103    
6104    Body = ActiveBody ModuleTag_02
6105      MaxHealth       = 200.0
6106      InitialHealth   = 200.0
6107    End
6108  
6109    Behavior = AIUpdateInterface ModuleTag_03
6110      AutoAcquireEnemiesWhenIdle = No
6111    End
6112  
6113    Locomotor = SET_NORMAL SpyDroneLocomtor
6114  
6115    Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04
6116      FinalVision = 250.0 
6117      ChangeInterval = 50
6118      ShrinkDelay = 2000
6119      ShrinkTime = 1000
6120      GrowDelay = 0
6121      GrowTime = 1000
6122      GrowInterval = 10 ; Faster than most
6123  
6124      GridDecalTemplate
6125        Texture           = EXGrid
6126        Style             = SHADOW_ADDITIVE_DECAL
6127        OpacityMin        = 50%
6128        OpacityMax        = 100%
6129        OpacityThrobTime  = 500
6130        Color             = R:32 G:64 B:128 A:0 //dim blue, additive
6131      End
6132  
6133    End
6134  
6135    Behavior = StealthDetectorUpdate ModuleTag_05
6136      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
6137      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
6138      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
6139      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
6140    End
6141    Behavior = PhysicsBehavior ModuleTag_06
6142      Mass = 50.0
6143    End
6144  
6145    Behavior = DestroyDie ModuleTag_07
6146      DeathTypes = ALL
6147    End
6148    Behavior                 = CreateObjectDie ModuleTag_08
6149      DeathTypes = ALL
6150      CreationList      = OCL_AmericaScoutDroneExplode
6151    End
6152    Behavior = StealthUpdate ModuleTag_09
6153      StealthDelay                = 0 ; msec
6154      StealthForbiddenConditions  = NONE
6155      InnateStealth               = Yes
6156      OrderIdleEnemiesToAttackMeUponReveal  = Yes
6157    End
6158    Behavior = MaxHealthUpgrade ModuleTag_10
6159      TriggeredBy   = Upgrade_AmericaDroneArmor
6160      AddMaxHealth  = 50.0
6161      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
6162    End
6163  
6164    Behavior = FlammableUpdate ModuleTag_21
6165      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6166      AflameDamageAmount = 3       ; taking this much damage...
6167      AflameDamageDelay = 500       ; this often.
6168    End
6169  
6170    Geometry = CYLINDER
6171    GeometryMajorRadius = 5.0
6172    GeometryMinorRadius = 6.0
6173    GeometryHeight = 3.0
6174    GeometryIsSmall = Yes
6175    Shadow = SHADOW_VOLUME
6176    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
6177  
6178  End
6179  
6180  
6181  
6182  
6183  
6184  
6185  ;------------------------------------------------------------------------------
6186  ;USA Construction Dozer or USDozer
6187  Object AirF_AmericaVehicleDozer
6188  
6189    ; *** ART Parameters ***
6190    SelectPortrait         = SACDozer_L
6191    ButtonImage            = SACDozer
6192    
6193    ;UpgradeCameo1 = NONE
6194    ;UpgradeCameo2 = NONE
6195    ;UpgradeCameo3 = NONE
6196    ;UpgradeCameo4 = NONE
6197    ;UpgradeCameo5 = NONE
6198    
6199    Draw = W3DTruckDraw ModuleTag_01
6200  
6201      OkToChangeModelColor = Yes
6202  
6203      DefaultConditionState
6204        Model             = AVCONSTDOZ_A
6205        ParticleSysBone   = EXHAUSTFX01 DozerSmokeLight
6206        WaitForStateToFinishIfPossible = TRANS_DIGGING
6207      End
6208  
6209      ConditionState = PREATTACK_A 
6210        Animation         = AVCONSTDOZ_A.AVCONSTDOZ_A
6211        AnimationMode     = ONCE
6212        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6213        ParticleSysBone   = DIRTFX01 DozerDirtFall ;gush of dirt
6214        TransitionKey     = TRANS_DIGGING
6215      End
6216  
6217      ConditionState = MOVING
6218        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6219        WaitForStateToFinishIfPossible = TRANS_DIGGING
6220      End
6221  
6222      ConditionState      = REALLYDAMAGED RUBBLE
6223        Model             = AVCONSTDOZ_AD
6224        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6225        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
6226      End
6227  
6228      ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
6229        Model             = AVCONSTDOZ_AD
6230        Animation         = AVCONSTDOZ_AD.AVCONSTDOZ_AD
6231        AnimationMode     = ONCE
6232        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6233        TransitionKey     = TRANS_DIGGING_DAMAGED
6234      End
6235  
6236      ConditionState      = MOVING REALLYDAMAGED RUBBLE
6237        Model             = AVCONSTDOZ_AD
6238        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6239        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
6240      End
6241  
6242  
6243      TrackMarks            = EXTireTrack2.tga
6244      Dust                  = RocketBuggyDust
6245      DirtSpray             = RocketBuggyDirtSpray
6246  
6247      ; These parameters are only used if the model has a separate suspension, 
6248      ; and the locomotor has HasSuspension = Yes.
6249  
6250      LeftFrontTireBone     = TIRE01
6251      RightFrontTireBone    = TIRE02
6252      LeftRearTireBone      = TIRE03
6253      RightRearTireBone     = TIRE04
6254  
6255      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
6256      PowerslideRotationAddition  = 0   ; This vehicle doesn't powerslide.
6257  
6258    ParticlesAttachedToAnimatedBones = Yes 
6259  
6260  
6261    End
6262  
6263  
6264  
6265    ; ***DESIGN parameters ***
6266    DisplayName         = OBJECT:Dozer
6267    Side                = AmericaAirForceGeneral
6268    EditorSorting       = VEHICLE
6269    TransportSlotCount  = 5 ;how many "slots" we take in a transport (0 == not transportable)
6270    BuildCost           = 1000
6271    BuildTime           = 5.0 ; in seconds
6272    VisionRange         = 200
6273    ShroudClearingRange = 200
6274  
6275    WeaponSet
6276      Conditions = None 
6277      Weapon = PRIMARY None
6278    End
6279    WeaponSet
6280      Conditions = MINE_CLEARING_DETAIL 
6281      Weapon = PRIMARY DozerMineDisarmingWeapon
6282    End
6283  
6284    ArmorSet
6285      Conditions        = None
6286      Armor             = DozerArmor ;Special Explosion-Proof Armor
6287      DamageFX          = TankDamageFX
6288    End
6289    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6290    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6291    CommandSet          = AirF_AmericaDozerCommandSet
6292  
6293    ; *** AUDIO Parameters ***
6294    VoiceSelect         = DozerUSAVoiceSelect
6295    VoiceMove           = DozerUSAVoiceMove
6296    VoiceGuard          = DozerUSAVoiceMove
6297    VoiceTaskComplete   = DozerUSAVoiceBuildComplete
6298    SoundMoveStart      = DozerUSAMoveStart
6299    SoundMoveStartDamaged = DozerUSAMoveStart
6300    UnitSpecificSounds
6301      VoiceCreate           = DozerUSAVoiceCreate
6302      VoiceNoBuild          = DozerUSAVoiceBuildNot
6303      VoiceCrush            = DozerUSAVoiceCrush
6304      VoiceRepair           = DozerUSAVoiceRepair
6305      VoiceDisarm           = DozerUSAVoiceClearMine
6306      TruckLandingSound     = NoSound
6307      TruckPowerslideSound  = NoSound
6308      VoiceEnter            = DozerUSAVoiceMove
6309      VoiceBuildResponse    = DozerUSAVoiceBuild
6310    End
6311  
6312    ; *** ENGINEERING Parameters ***
6313    RadarPriority       = UNIT
6314    KindOf              = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
6315   
6316    Body                = ActiveBody ModuleTag_02
6317      MaxHealth         = 250.0
6318      InitialHealth     = 250.0
6319  
6320      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6321      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6322      SubdualDamageCap = 500
6323      SubdualDamageHealRate = 500
6324      SubdualDamageHealAmount = 50
6325    End
6326    Behavior = DozerAIUpdate ModuleTag_03
6327      RepairHealthPercentPerSecond = 2%    ; % of max health to repair each second
6328      BoredTime                    = 5000  ; in milliseconds
6329      BoredRange                   = 150   ; when bored, we look this far away to do something
6330      ; the only "enemies" that workers can acquire are mines, to be disarmed...
6331      AutoAcquireEnemiesWhenIdle   = Yes
6332    End
6333  
6334    Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor
6335  
6336    Behavior            = PhysicsBehavior ModuleTag_04
6337      Mass              = 75.0
6338    End
6339  
6340    Behavior = StealthDetectorUpdate ModuleTag_05
6341      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
6342      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
6343      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
6344      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
6345      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
6346    End
6347  
6348    Behavior                 = TransitionDamageFX ModuleTag_06
6349      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6350      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6351    End
6352  
6353    ; Catch fire, and explode death
6354    Behavior = SlowDeathBehavior ModuleTag_07
6355      DeathTypes = ALL -CRUSHED -SPLATTED
6356      ProbabilityModifier = 100
6357      DestructionDelay = 1500
6358      DestructionDelayVariance = 600
6359      FX  = INITIAL  FX_CrusaderCatchFire
6360      OCL = FINAL    OCL_AmericaDozerExplode  
6361      FX  = FINAL    FX_BattleMasterExplosionOneFinal
6362    End   
6363  
6364    Behavior = CreateCrateDie ModuleTag_CratesChange
6365      CrateData = SalvageCrateData
6366    End
6367    
6368    Behavior = FlammableUpdate ModuleTag_21
6369      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6370      AflameDamageAmount = 3       ; taking this much damage...
6371      AflameDamageDelay = 500       ; this often.
6372    End
6373  
6374  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
6375  ;;;;;;;;  End
6376  
6377    Behavior               = FXListDie ModuleTag_23
6378      DeathTypes = NONE +CRUSHED +SPLATTED
6379      DeathFX         = FX_CarCrush
6380    End
6381  
6382    Behavior = DestroyDie ModuleTag_24
6383      DeathTypes = NONE +CRUSHED +SPLATTED
6384    End
6385  
6386    Geometry            = BOX
6387    GeometryMajorRadius = 15.0
6388    GeometryMinorRadius = 10.0
6389    GeometryHeight      = 15.0     
6390    GeometryIsSmall     = Yes
6391    Shadow              = SHADOW_VOLUME
6392    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
6393  
6394  End
6395  
6396  
6397  ;------------------------------------------------------------------------------
6398  ;Sentry Drone
6399  Object AirF_AmericaVehicleSentryDrone
6400  
6401    ; *** ART Parameters ***
6402    SelectPortrait         = SAsentry_L
6403    ButtonImage            = SAsentry
6404    
6405    UpgradeCameo1 = Upgrade_AmericaSentryDroneGun
6406    ;UpgradeCameo2 = NONE
6407    ;UpgradeCameo3 = NONE
6408    ;UpgradeCameo4 = NONE
6409    ;UpgradeCameo5 = NONE
6410  
6411    Draw = W3DTankDraw ModuleTag_01
6412      
6413      InitialRecoilSpeed   = 10
6414      MaxRecoilDistance    = 1.5
6415      RecoilSettleSpeed    = 3
6416  
6417      OkToChangeModelColor = Yes
6418  
6419      DefaultConditionState
6420        Model                           = AVSENTRY
6421        Animation                       = AVSENTRY.AVSENTRY
6422        AnimationMode                   = LOOP
6423        Turret                          = TURRET01
6424        HideSubObject                   = TURRETUP09  ;Hide controlled turret
6425        WeaponFireFXBone  = PRIMARY   TurretFX
6426        WeaponMuzzleFlash = PRIMARY   TurretFX
6427        WeaponRecoilBone  = PRIMARY   TurretUp
6428      End
6429      ConditionState                    = REALLYDAMAGED
6430        Turret                          = TURRET01
6431        Model                           = AVSENTRY_D
6432        Animation                       = AVSENTRY_D.AVSENTRY_D
6433        AnimationMode                   = LOOP
6434        HideSubObject                   = TURRETUP09      ;Hide controlled turret
6435      End
6436      ConditionState                    = RUBBLE
6437        Model                           = AVSENTRY_D1
6438        HideSubObject                   = TURRETUP09      ;Hide controlled turret
6439      End
6440      AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE 
6441      
6442      ConditionState = WEAPONSET_PLAYER_UPGRADE
6443        Model                           = AVSENTRY
6444        Animation                       = AVSENTRY.AVSENTRY
6445        AnimationMode                   = LOOP
6446        ShowSubObject                   = TURRETUP09
6447      End
6448  
6449      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
6450        Model                           = AVSENTRY_D
6451        Animation                       = AVSENTRY_D.AVSENTRY_D
6452        AnimationMode                   = LOOP
6453        ShowSubObject                   = TURRETUP09
6454      End
6455      TrackMarks              = EXTnkTrack.tga
6456      TreadDebrisLeft         = SentryDroneTrackDebrisDirtLeft
6457      TreadDebrisRight        = SentryDroneTrackDebrisDirtRight
6458      TreadAnimationRate      = 4.0  ; amount of tread texture to move per second
6459    End
6460  
6461  
6462    ; ***DESIGN parameters ***
6463    DisplayName        = OBJECT:SentryDrone
6464    Side               = AmericaAirForceGeneral
6465    EditorSorting      = VEHICLE
6466    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
6467    WeaponSet
6468      Conditions = None 
6469      Weapon = PRIMARY None
6470    End
6471    WeaponSet
6472      Conditions = PLAYER_UPGRADE
6473      Weapon = PRIMARY SentryDroneGun
6474    End
6475    ArmorSet
6476      Conditions      = None
6477      Armor           = SentryDroneArmor
6478      DamageFX        = TruckDamageFX
6479    End
6480    BuildCost       = 850
6481    BuildTime       = 10.0          ;in seconds    
6482    VisionRange     = 200
6483    ShroudClearingRange = 350
6484    Prerequisites
6485      Object = AirF_AmericaWarFactory
6486    End
6487  
6488    ExperienceValue = 50 50 100 150   ;Experience point value at each level
6489    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
6490    IsTrainable = No             ;Can gain experience
6491    CrusherLevel           = 0  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6492    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6493    CommandSet    = AmericaVehicleSentryDroneCommandSet
6494  
6495    ; *** AUDIO Parameters ***
6496    VoiceSelect           = SentryDroneVoiceSelect
6497    VoiceMove             = SentryDroneVoiceMove
6498    VoiceGuard            = SentryDroneVoiceMove
6499    VoiceAttack           = SentryDroneVoiceMove
6500    SoundMoveStart        = NoSound
6501    SoundMoveStartDamaged = NoSound
6502    UnitSpecificSounds
6503      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6504      VoiceCreate         = NoSound
6505      TurretMoveStart     = NoSound
6506      TurretMoveLoop      = NoSound
6507      VoiceEnter          = NoSound
6508      Deploy              = NoSound
6509      Undeploy            = NoSound
6510    End
6511    Behavior = WeaponSetUpgrade ModuleTag_03
6512      TriggeredBy = Upgrade_AmericaSentryDroneGun
6513    End
6514  
6515  
6516    ; *** ENGINEERING Parameters ***
6517    RadarPriority = UNIT
6518    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE
6519    
6520    Body = ActiveBody ModuleTag_02
6521      MaxHealth       = 300.0
6522      InitialHealth   = 300.0
6523  
6524      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6525      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6526      SubdualDamageCap = 480
6527      SubdualDamageHealRate = 500
6528      SubdualDamageHealAmount = 50
6529    End
6530    Behavior = DeployStyleAIUpdate ModuleTag_04
6531      Turret
6532        TurretTurnRate        = 180
6533        TurretPitchRate       = 180
6534        FirePitch             = 0            ; Instead of aiming pitchwise at the target, it will aim here
6535        AllowsPitch           = No
6536        RecenterTime          = 1000         ; how long to wait during idle before recentering
6537        ControlledWeaponSlots = PRIMARY
6538        NaturalTurretAngle    = 0
6539        InitiallyDisabled     = No
6540        MinIdleScanInterval   = 250    ; in milliseconds
6541        MaxIdleScanInterval   = 250    ; in milliseconds
6542        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
6543        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
6544      End
6545      AutoAcquireEnemiesWhenIdle = Yes Stealthed ; Means "Yes when idle, even if I am stealthed"
6546      PackTime = 1000
6547      UnpackTime = 1000
6548      TurretsFunctionOnlyWhenDeployed = Yes
6549      TurretsMustCenterBeforePacking = Yes
6550    End
6551  
6552    Locomotor = SET_NORMAL SentryLocomotor
6553    Behavior = PhysicsBehavior ModuleTag_05
6554      Mass = 50.0
6555    End
6556    Behavior = StealthUpdate ModuleTag_06
6557      StealthDelay                = 2000 ; msec
6558      StealthForbiddenConditions  = FIRING_PRIMARY MOVING
6559      HintDetectableConditions    = IS_FIRING_WEAPON 
6560      FriendlyOpacityMin          = 50.0%
6561      FriendlyOpacityMax          = 100.0%
6562      InnateStealth               = Yes
6563      OrderIdleEnemiesToAttackMeUponReveal  = Yes
6564    End
6565  
6566    Behavior = SlowDeathBehavior ModuleTag_07
6567      DeathTypes = ALL -CRUSHED -SPLATTED
6568      DestructionDelay  = 500
6569      DestructionDelayVariance  = 100
6570      FX  = INITIAL  FX_GenericTankDeathEffect
6571      OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie
6572      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
6573    End
6574  
6575    Behavior = DestroyDie ModuleTag_08
6576      DeathTypes = NONE +CRUSHED +SPLATTED
6577    End
6578  
6579    Behavior = FXListDie ModuleTag_09
6580      DeathTypes = NONE +CRUSHED +SPLATTED
6581      DeathFX = FX_CarCrush
6582    End
6583  
6584    Behavior = CreateCrateDie ModuleTag_CratesChange
6585      CrateData = SalvageCrateData
6586      ;CrateData = EliteTankCrateData
6587      ;CrateData = HeroicTankCrateData
6588    End
6589  
6590    Behavior = TransitionDamageFX ModuleTag_10
6591      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6592      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6593    End
6594  
6595    Behavior = FlammableUpdate ModuleTag_11
6596      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6597      AflameDamageAmount = 3       ; taking this much damage...
6598      AflameDamageDelay = 500       ; this often.
6599    End
6600    Behavior = StealthDetectorUpdate ModuleTag_12
6601      DetectionRate            = 900   ; how often to rescan for stealthed things in my sight (msec)
6602      DetectionRange           = 225   ;Dustin, enable this for independant balancing!
6603    End
6604  
6605  ;  Behavior = GrantUpgradeCreate ModuleTag_13
6606  ;    UpgradeToGrant = Upgrade_AmericaSentryDroneGun
6607  ;    ExemptStatus = UNDER_CONSTRUCTION
6608  ;  End
6609  
6610    Geometry = BOX
6611    GeometryMajorRadius = 9.0
6612    GeometryMinorRadius = 7.0
6613    GeometryHeight = 11.5     
6614    GeometryIsSmall = Yes 
6615    Shadow = SHADOW_VOLUME
6616    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6617  
6618  
6619  End
6620  
6621  ;------------------------------------------------------------------------------
6622  Object AirF_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly
6623  
6624    ; *** ART Parameters ***
6625    SelectPortrait         = SNPropSpeaker_L
6626    ButtonImage            = SNPropSpeaker
6627    
6628    UpgradeCameo1 = Upgrade_Nationalism
6629    UpgradeCameo2 = Upgrade_ChinaUraniumShells
6630    UpgradeCameo3 = Upgrade_ChinaNuclearTanks
6631    ;UpgradeCameo4 = NONE
6632    UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower
6633    
6634    Draw                    = W3DDependencyModelDraw ModuleTag_01
6635      OkToChangeModelColor  = Yes
6636      ExtraPublicBone = TurretFX01
6637      ExtraPublicBone = TurretFX02
6638      ExtraPublicBone = TURRET01
6639      ExtraPublicBone = TURRETEL
6640      ExtraPublicBone = TURRETEL01
6641  
6642      AttachToBoneInContainer = FIREPOINT01
6643  
6644      DefaultConditionState 
6645        Model         = AVAVNGER_G
6646        Turret              = TURRET01
6647        TurretPitch         = TURRETEL01
6648      End
6649  
6650      ConditionState = REALLYDAMAGED
6651        Model         = AVAVNGER_GD
6652        Turret              = TURRET01
6653        TurretPitch         = TURRETEL01
6654      End
6655    End
6656  
6657    PlacementViewAngle = -45
6658  
6659    ; ***DESIGN parameters ***
6660    Side             = AmericaAirForceGeneral
6661    EditorSorting    = SYSTEM
6662    TransportSlotCount = 1
6663    
6664    WeaponSet
6665      Conditions = None 
6666      Weapon = PRIMARY AvengerAirLaserOne
6667      Weapon = SECONDARY AvengerAirLaserTwo
6668    End
6669  
6670    ArmorSet
6671      Conditions     = None
6672      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Avenger with his damage module
6673    End
6674    VisionRange     = 200
6675  
6676    ; *** AUDIO Parameters ***
6677    UnitSpecificSounds
6678     TurretMoveStart = NoSound
6679      TurretMoveLoop  = NoSound ;TurretMoveLoop
6680    End
6681  
6682    ; *** ENGINEERING Parameters ***
6683    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
6684      Body            = StructureBody ModuleTag_02
6685      MaxHealth       = 100.0
6686      InitialHealth   = 100.0
6687    End
6688  
6689    Behavior = AIUpdateInterface ModuleTag_03
6690      Turret
6691        ControlledWeaponSlots = PRIMARY SECONDARY
6692        TurretTurnRate      = 180   // turn rate, in degrees per sec
6693        TurretPitchRate     = 180
6694        AllowsPitch         = Yes
6695        NaturalTurretPitch  = 45
6696      End
6697      AutoAcquireEnemiesWhenIdle = Yes 
6698      MoodAttackCheckRate = 500 ; default is 2000
6699    End
6700  
6701    Behavior             = DestroyDie ModuleTag_05
6702      ;<No Data>
6703    End
6704  
6705    Geometry            = BOX
6706    GeometryMajorRadius = 6.0
6707    GeometryMinorRadius = 6.0
6708    GeometryHeight      = 10.0
6709    GeometryIsSmall     = No      
6710    Shadow              = SHADOW_VOLUME
6711    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6712  
6713  End
6714  
6715  ;------------------------------------------------------------------------------
6716  Object AirF_AmericaTankAvenger
6717  
6718    ; *** ART Parameters ***
6719    SelectPortrait         = SAAvnger_L
6720    ButtonImage            = SAAvnger
6721    
6722    UpgradeCameo1 = Upgrade_AmericaBattleDrone
6723    UpgradeCameo2 = Upgrade_AmericaScoutDrone
6724    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
6725    UpgradeCameo4 = Upgrade_AmericaCompositeArmor
6726    UpgradeCameo5 = Upgrade_AmericaHallfireDrone
6727  
6728    Draw = W3DOverlordTruckDraw ModuleTag_01
6729      OkToChangeModelColor  = Yes
6730      ExtraPublicBone = TurretFX03
6731      ExtraPublicBone = LazerSpot01
6732      ExtraPublicBone = LazerSpot02
6733      DefaultConditionState
6734        Model               = AVAVNGER
6735      End
6736      
6737      ConditionState        = REALLYDAMAGED
6738        Model               = AVAVNGER_D
6739      End
6740      
6741      ConditionState        = RUBBLE
6742        Model               = AVAVNGER_D1
6743      End
6744      
6745      Dust = RocketBuggyDust
6746      DirtSpray = RocketBuggyDirtSpray
6747      PowerslideSpray = RocketBuggyDirtPowerSlide
6748  
6749      ; These parameters are only used if the model has a separate suspension, 
6750      ; and the locomotor has HasSuspension = Yes.
6751      LeftFrontTireBone = Tire01
6752      RightFrontTireBone = Tire02
6753      LeftRearTireBone = Tire03
6754      RightRearTireBone = Tire04
6755      TireRotationMultiplier = 0.2   ; this * speed = rotation.
6756      PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
6757    End
6758  
6759    ; ***DESIGN parameters ***
6760    DisplayName      = OBJECT:Avenger
6761    Side = AmericaAirForceGeneral
6762    EditorSorting   = VEHICLE
6763    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
6764    WeaponSet
6765      Conditions = None 
6766      Weapon = PRIMARY AvengerTargetDesignator
6767    End
6768    ArmorSet
6769      Conditions      = None
6770      Armor           = AntiAirVehicle
6771      DamageFX        = TankDamageFX
6772    End
6773    BuildCost       = 2000
6774    BuildTime       = 10.0          ;in seconds    
6775    VisionRange     = 150
6776    ShroudClearingRange = 300
6777    Prerequisites
6778      Object = AirF_AmericaWarFactory
6779      Object = AirF_AmericaStrategyCenter
6780    End
6781  
6782    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
6783    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
6784  
6785    IsTrainable     = Yes
6786    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6787    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6788    CommandSet      = AmericaTankAvengerCommandSet
6789      
6790    ; *** AUDIO Parameters ***
6791    VoiceSelect = AvengerVoiceSelect
6792    VoiceMove = AvengerVoiceMove
6793    VoiceGuard = AvengerVoiceMove
6794    VoiceAttack = AvengerVoicePaint
6795    VoiceAttackAir = AvengerVoiceAttack
6796    SoundMoveStart = HumveeMoveStart
6797    SoundMoveStartDamaged = HumveeMoveStart
6798  
6799    UnitSpecificSounds
6800      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6801      VoiceCreate     = AvengerVoiceCreate
6802      TurretMoveLoop = NoSound
6803      SoundEject = PilotSoundEject
6804      VoiceEject = PilotVoiceEject
6805      VoiceCrush = NoSound
6806      VoiceEnter = AvengerVoiceMove
6807    End
6808  
6809    ; *** ENGINEERING Parameters ***
6810    RadarPriority = UNIT
6811    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
6812    
6813    Body = ActiveBody ModuleTag_02
6814      MaxHealth       = 300.0
6815      InitialHealth   = 300.0
6816  
6817      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6818      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6819      SubdualDamageCap = 1000
6820      SubdualDamageHealRate = 500
6821      SubdualDamageHealAmount = 50
6822    End
6823  
6824    Behavior = AIUpdateInterface ModuleTag_03
6825      AutoAcquireEnemiesWhenIdle = Yes
6826    End
6827    Locomotor = SET_NORMAL CrusaderLocomotor
6828    Behavior = PhysicsBehavior ModuleTag_04
6829      Mass = 50.0
6830    End
6831    
6832    ; Turret fly off death
6833    Behavior = SlowDeathBehavior ModuleTag_05
6834      DeathTypes = ALL -CRUSHED -SPLATTED
6835      ProbabilityModifier = 50
6836  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
6837      DestructionDelay = 500
6838      DestructionDelayVariance = 100
6839      FX  = INITIAL  FX_GenericTankDeathEffect
6840      FX  = FINAL    FX_GenericTankDeathExplosion
6841      OCL = FINAL    OCL_AvengerTankDeathEffect
6842    End
6843    
6844    ; Catch fire, and explode death
6845    Behavior = SlowDeathBehavior ModuleTag_06
6846      DeathTypes = ALL -CRUSHED -SPLATTED
6847      ProbabilityModifier = 50
6848      DestructionDelay = 2000
6849      DestructionDelayVariance = 300
6850      FX  = INITIAL  FX_CrusaderCatchFire
6851      OCL = FINAL    OCL_AvengerTankDeathEffect
6852      FX  = FINAL    FX_GenericTankDeathExplosion 
6853    End
6854  
6855    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
6856      WeaponTemplate        = AvengerPointDefenseLaserOne
6857      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
6858      ScanRate              = 0
6859      ScanRange             = 200.0
6860      PredictTargetVelocityFactor = 1.0
6861    End
6862  
6863  ;  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
6864  ;    WeaponTemplate        = AvengerPointDefenseLaserTwo
6865  ;    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
6866  ;    ScanRate              = 100
6867  ;    ScanRange             = 200.0
6868  ;    PredictTargetVelocityFactor = 1.0
6869  ;  End
6870  
6871    Behavior = OverlordContain ModuleTag_OverlordContain
6872      Slots                 = 1
6873      DamagePercentToUnits  = 100%
6874      AllowInsideKindOf     = PORTABLE_STRUCTURE
6875      PassengersAllowedToFire = Yes
6876      PayloadTemplateName        = AmericaTankAvengerLaserTurret
6877      ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
6878    End
6879  
6880    Behavior = ObjectCreationUpgrade ModuleTag_08
6881      UpgradeObject = OCL_AmericanBattleDrone
6882      TriggeredBy   = Upgrade_AmericaBattleDrone
6883      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
6884    End
6885    Behavior = ObjectCreationUpgrade ModuleTag_09
6886      UpgradeObject = OCL_AmericanScoutDrone
6887      TriggeredBy   = Upgrade_AmericaScoutDrone
6888      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
6889    End 
6890    Behavior = ObjectCreationUpgrade ModuleTag_19
6891      UpgradeObject = OCL_AmericanHellfireDrone
6892      TriggeredBy   = Upgrade_AmericaHellfireDrone
6893      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
6894    End
6895  
6896    Behavior = ProductionUpdate ModuleTag_10
6897      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
6898    End
6899  
6900    Behavior = ExperienceScalarUpgrade ModuleTag_11
6901      TriggeredBy = Upgrade_AmericaAdvancedTraining
6902      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
6903    End
6904  
6905    Behavior = TransitionDamageFX ModuleTag_12
6906      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6907      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6908    End
6909  
6910    Behavior = FXListDie ModuleTag_13
6911      DeathTypes = NONE +CRUSHED +SPLATTED
6912      DeathFX = FX_CarCrush
6913    End
6914    Behavior = CreateObjectDie ModuleTag_14
6915      DeathTypes = NONE +CRUSHED +SPLATTED
6916      CreationList = OCL_CrusaderTank_CrushEffect
6917    End
6918    Behavior = DestroyDie ModuleTag_15
6919      DeathTypes = NONE +CRUSHED +SPLATTED
6920    End
6921    Behavior = CreateCrateDie ModuleTag_16
6922      CrateData = SalvageCrateData
6923      ;CrateData = EliteTankCrateData
6924      ;CrateData = HeroicTankCrateData
6925    End
6926    Behavior = EjectPilotDie ModuleTag_17
6927      DeathTypes = ALL -CRUSHED -SPLATTED
6928      ExemptStatus = HIJACKED
6929      GroundCreationList = OCL_EjectPilotOnGround
6930      AirCreationList = OCL_EjectPilotViaParachute
6931      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
6932    End
6933  
6934    Behavior = FlammableUpdate ModuleTag_22
6935      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6936      AflameDamageAmount = 3       ; taking this much damage...
6937      AflameDamageDelay = 500       ; this often.
6938    End
6939    
6940    Behavior = MaxHealthUpgrade ModuleTag_23
6941      TriggeredBy   = Upgrade_AmericaCompositeArmor
6942      AddMaxHealth  = 100.0
6943      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
6944    End
6945  
6946    Geometry = BOX
6947    GeometryMajorRadius = 15.0
6948    GeometryMinorRadius = 10.0
6949    GeometryHeight = 10.0     
6950    GeometryIsSmall = Yes    
6951    Shadow = SHADOW_VOLUME
6952    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6953  
6954  End
6955  
6956  
6957  
6958  
6959  
6960  
6961  
6962  
6963  
6964  
6965  
6966  
6967  
6968  
6969  ;------------------------------------------------------------------------------
6970  Object AirF_AmericaTankMicrowave
6971  
6972    ; *** ART Parameters ***
6973    SelectPortrait         = SAThunderBolt_L
6974    ButtonImage            = SAThunderBolt
6975    
6976    UpgradeCameo1 = Upgrade_AmericaBattleDrone
6977    UpgradeCameo2 = Upgrade_AmericaScoutDrone
6978    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
6979    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
6980    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
6981    
6982    Draw = W3DTankDraw ModuleTag_01
6983  
6984      ExtraPublicBone = WEAPON02 
6985      OkToChangeModelColor = Yes
6986  
6987      ConditionState  = NONE
6988        Model         = AVTHUNDRBLT
6989        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
6990        ParticleSysBone = NONE MicrowaveRotisserie
6991      End
6992      ConditionState  = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
6993        Model         = AVTHUNDRBLT
6994      End
6995      ConditionState  = REALLYDAMAGED RUBBLE
6996        Model         = AVTHUNDRBLT_D
6997        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
6998        ParticleSysBone = NONE MicrowaveRotisserie
6999      End
7000      ConditionState  = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
7001        Model         = AVTHUNDRBLT_D
7002      End
7003      
7004      TrackMarks              = EXTnkTrack.tga
7005      TreadAnimationRate      = 4.0  ; amount of tread texture to move per second
7006    End
7007  
7008    ; ***DESIGN parameters ***
7009    DisplayName      = OBJECT:Microwave
7010    Side                   = AmericaAirForceGeneral
7011    EditorSorting          = VEHICLE
7012    TransportSlotCount     = 3
7013    ArmorSet
7014      Conditions           = None
7015      Armor                = TankArmor
7016      DamageFX             = TankDamageFX
7017    End
7018  
7019    WeaponSet
7020      Conditions          = None 
7021    ; Weapon              = PRIMARY   MicrowaveTankVehicleDisabler
7022      Weapon              = PRIMARY MicrowaveTankBuildingDisabler  ;SECONDARY MicrowaveTankBuildingDisabler
7023      Weapon              = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY  MicrowaveTankBuildingClearer
7024    End
7025  
7026    BuildCost              = 800
7027    BuildTime              = 10.0          ;in seconds    
7028    VisionRange            = 200
7029    ShroudClearingRange = 300
7030    Prerequisites
7031      Object = AirF_AmericaWarFactory
7032      Object = AirF_AmericaStrategyCenter
7033    End
7034    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
7035    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
7036    IsTrainable            = Yes  ;Can gain experience
7037    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
7038    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
7039    CommandSet             = AmericaTankMicrowaveCommandSet
7040    
7041    ; *** AUDIO Parameters ***
7042    VoiceSelect           = MicrowaveTankVoiceSelect
7043    VoiceMove             = MicrowaveTankVoiceMove
7044    VoiceGuard            = MicrowaveTankVoiceMove
7045    VoiceAttack           = MicrowaveTankVoiceAttack
7046    SoundMoveStart        = HumveeMoveStart
7047    SoundMoveStartDamaged = HumveeMoveStart
7048    UnitSpecificSounds
7049      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
7050      VoiceCreate         = MicrowaveTankVoiceCreate
7051      VoiceEnter             = MicrowaveTankVoiceMove
7052      SoundEject          = PilotSoundEject
7053      VoiceEject          = PilotVoiceEject
7054      VoiceCrush          = MicrowaveTankVoiceMove
7055    End
7056  
7057    ; *** ENGINEERING Parameters ***
7058    RadarPriority          = UNIT
7059    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE
7060    
7061    Body                   = ActiveBody ModuleTag_02
7062      MaxHealth       = 480
7063      InitialHealth   = 480
7064  
7065      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7066      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7067      SubdualDamageCap = 960
7068      SubdualDamageHealRate = 500
7069      SubdualDamageHealAmount = 50
7070    End
7071  
7072    Behavior = AIUpdateInterface ModuleTag_03
7073      AutoAcquireEnemiesWhenIdle = Yes
7074    End
7075    Locomotor            = SET_NORMAL CrusaderLocomotor
7076    Behavior = PhysicsBehavior ModuleTag_04
7077      Mass                 = 50.0
7078    End
7079  
7080    ; Turret fly off death
7081    Behavior = SlowDeathBehavior ModuleTag_10
7082      DeathTypes = ALL -CRUSHED -SPLATTED
7083      ProbabilityModifier  = 50
7084      DestructionDelay  = 500
7085      DestructionDelayVariance  = 100
7086      FX  = INITIAL  FX_GenericTankDeathEffect
7087      OCL = MIDPOINT OCL_MicrowaveTankDeath
7088      FX  = FINAL    FX_GenericTankDeathExplosion
7089    End
7090  
7091    Behavior                 = TransitionDamageFX ModuleTag_12
7092      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
7093      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
7094    End
7095  
7096    Behavior = DestroyDie ModuleTag_13
7097      DeathTypes = NONE +CRUSHED +SPLATTED
7098    End
7099  
7100    ; A crushing defeat
7101    Behavior = FXListDie ModuleTag_14
7102      DeathTypes = NONE +CRUSHED +SPLATTED
7103      DeathFX = FX_CarCrush
7104    End
7105  
7106    Behavior = CreateObjectDie ModuleTag_15
7107      DeathTypes = NONE +CRUSHED +SPLATTED
7108      CreationList = OCL_MicrowaveTankDeath_CrushEffect
7109    End
7110  
7111    Behavior                    = CreateCrateDie ModuleTag_CratesChange
7112     CrateData             = SalvageCrateData
7113     ;CrateData             = EliteTankCrateData
7114     ;CrateData             = HeroicTankCrateData
7115    End
7116  
7117    Behavior = EjectPilotDie ModuleTag_17
7118      GroundCreationList = OCL_EjectPilotOnGround
7119      AirCreationList = OCL_EjectPilotViaParachute
7120      ExemptStatus = HIJACKED
7121      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
7122    End
7123  
7124    Behavior = MaxHealthUpgrade ModuleTag_18
7125      TriggeredBy   = Upgrade_AmericaCompositeArmor
7126      AddMaxHealth  = 100.0
7127      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
7128    End
7129    Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01
7130      TriggeredBy = Upgrade_AmericaAdvancedTraining
7131      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
7132    End
7133    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02
7134      UpgradeObject = OCL_AmericanBattleDrone
7135      TriggeredBy   = Upgrade_AmericaBattleDrone
7136      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
7137    End
7138    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03
7139      UpgradeObject = OCL_AmericanScoutDrone
7140      TriggeredBy   = Upgrade_AmericaScoutDrone
7141      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
7142    End
7143    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04
7144      UpgradeObject = OCL_AmericanHellfireDrone
7145      TriggeredBy   = Upgrade_AmericaHellfireDrone
7146      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
7147    End
7148    Behavior = ProductionUpdate ModuleTag_Prod01
7149      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
7150    End
7151  
7152    Behavior = FlammableUpdate ModuleTag_21
7153      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7154      AflameDamageAmount = 3       ; taking this much damage...
7155      AflameDamageDelay = 500       ; this often.
7156    End
7157  
7158    Behavior = FireWeaponUpdate ModuleTag_22
7159      Weapon = MicrowaveTankEmitterWeapon
7160      ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long
7161    End
7162  
7163    Behavior = CommandButtonHuntUpdate  ModuleTag_24 ; allows use of command button hunt script with this unit. 
7164    End
7165  
7166    Geometry               = BOX
7167    GeometryMajorRadius    = 15.0
7168    GeometryMinorRadius    = 10.0
7169    GeometryHeight         = 10.0     
7170    GeometryIsSmall        = Yes    
7171    Shadow = SHADOW_VOLUME
7172    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
7173  
7174  End
7175  
7176  
7177  
7178  
7179  
7180  
7181  
7182  
7183  
7184  
7185  
7186  
7187  
7188  
7189  
7190  
7191  
7192  
7193  
7194  
7195  
7196  
7197  
7198  
7199  
7200  
7201  
7202  
7203  
7204  
7205  
7206  
7207  
7208  
7209  
7210  
7211  
7212  
7213  
7214  ;------------------------------------------------------------------------------
7215  Object AirF_AmericaCommandCenter
7216  
7217    ; *** ART Parameters ***
7218    SelectPortrait         = SAComCentr_L
7219    ButtonImage            = SAComCentr
7220    
7221    ; ----------------- Main Building ------------------------
7222    Draw = W3DModelDraw ModuleTag_01
7223      OkToChangeModelColor = Yes
7224      ; day ******************************************
7225      ConditionState       = NONE
7226        Model              = ABBtCmdHQA
7227        Animation          = ABBtCmdHQA.ABBtCmdHQA
7228        AnimationMode      = LOOP
7229      End
7230      ConditionState       = DAMAGED
7231        Model              = ABBtCmdHQA_D
7232        Animation          = ABBtCmdHQA_D.ABBtCmdHQA_D
7233        AnimationMode      = LOOP
7234      End
7235      ConditionState       = REALLYDAMAGED RUBBLE
7236        Model              = ABBtCmdHQA_E
7237        Animation          = ABBtCmdHQA_E.ABBtCmdHQA_E
7238        AnimationMode      = LOOP
7239      End
7240  
7241  
7242      ; night ****************************************
7243      ConditionState       = NIGHT
7244        Model              = ABBtCmdHQA_N
7245        Animation          = ABBtCmdHQA_N.ABBtCmdHQA_N
7246        AnimationMode      = LOOP
7247      End  
7248      ConditionState       = DAMAGED NIGHT
7249        Model              = ABBtCmdHQA_DN
7250        Animation          = ABBtCmdHQA_DN.ABBtCmdHQA_DN
7251        AnimationMode      = LOOP
7252      End
7253      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
7254        Model              = ABBtCmdHQA_EN
7255        Animation          = ABBtCmdHQA_EN.ABBtCmdHQA_EN
7256        AnimationMode      = LOOP
7257       End    
7258  
7259      
7260      ; Snow
7261      ConditionState       = SNOW
7262        Model              = ABBtCmdHQA_S
7263        Animation          = ABBtCmdHQA_S.ABBtCmdHQA_S
7264        AnimationMode      = LOOP
7265      End  
7266      ConditionState       = DAMAGED SNOW
7267        Model              = ABBtCmdHQA_DS
7268        Animation          = ABBtCmdHQA_DS.ABBtCmdHQA_DS
7269        AnimationMode      = LOOP
7270      End
7271      ConditionState       = REALLYDAMAGED RUBBLE SNOW
7272        Model              = ABBtCmdHQA_ES
7273        Animation          = ABBtCmdHQA_ES.ABBtCmdHQA_ES
7274        AnimationMode      = LOOP
7275       End    
7276      
7277      ; night snow ****************************************
7278      ConditionState       = NIGHT SNOW
7279        Model              = ABBtCmdHQA_NS
7280        Animation          = ABBtCmdHQA_NS.ABBtCmdHQA_NS
7281        AnimationMode      = LOOP
7282      End  
7283      ConditionState       = DAMAGED NIGHT SNOW
7284        Model              = ABBtCmdHQA_DNS
7285        Animation          = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS
7286        AnimationMode      = LOOP
7287      End
7288      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
7289        Model              = ABBtCmdHQA_ENS
7290        Animation          = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS
7291        AnimationMode      = LOOP
7292       End 
7293  
7294      
7295      
7296      ;**************************************************************************************************************************
7297      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7298      ;for this draw module
7299      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7300        Model              = ABBtCmdHQA
7301        Animation          = ABBtCmdHQA.ABBtCmdHQA
7302        AnimationMode      = LOOP
7303        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7304      End
7305      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7306        Model              = ABBtCmdHQA_D
7307        Animation          = ABBtCmdHQA_D.ABBtCmdHQA_D
7308        AnimationMode      = LOOP
7309        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7310      End
7311      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7312        Model              = ABBtCmdHQA_E
7313        Animation          = ABBtCmdHQA_E.ABBtCmdHQA_E
7314        AnimationMode      = LOOP
7315        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7316      End
7317      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7318        Model              = ABBtCmdHQA_N
7319        Animation          = ABBtCmdHQA_N.ABBtCmdHQA_N
7320        AnimationMode      = LOOP
7321        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7322      End
7323      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7324        Model              = ABBtCmdHQA_DN
7325        Animation          = ABBtCmdHQA_DN.ABBtCmdHQA_DN
7326        AnimationMode      = LOOP
7327        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7328      End
7329      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
7330        Model              = ABBtCmdHQA_EN
7331        Animation          = ABBtCmdHQA_EN.ABBtCmdHQA_EN
7332        AnimationMode      = LOOP
7333        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7334      End
7335      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7336        Model              = ABBtCmdHQA_S
7337        Animation          = ABBtCmdHQA_S.ABBtCmdHQA_S
7338        AnimationMode      = LOOP
7339        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7340      End
7341      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7342        Model              = ABBtCmdHQA_DS
7343        Animation          = ABBtCmdHQA_DS.ABBtCmdHQA_DS
7344        AnimationMode      = LOOP
7345        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7346      End
7347      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
7348        Model              = ABBtCmdHQA_ES
7349        Animation          = ABBtCmdHQA_ES.ABBtCmdHQA_ES
7350        AnimationMode      = LOOP
7351        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7352      End
7353      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7354        Model              = ABBtCmdHQA_NS
7355        Animation          = ABBtCmdHQA_NS.ABBtCmdHQA_NS
7356        AnimationMode      = LOOP
7357        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7358      End
7359      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
7360        Model              = ABBtCmdHQA_DNS
7361        Animation          = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS
7362        AnimationMode      = LOOP
7363        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7364      End
7365      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
7366        Model              = ABBtCmdHQA_ENS
7367        Animation          = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS
7368        AnimationMode      = LOOP
7369        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7370      End
7371  
7372      ConditionState       = AWAITING_CONSTRUCTION 
7373        Model              = NONE
7374      End
7375      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7376      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7377      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7378      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7379      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7380      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
7381      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
7382      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
7383      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7384      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7385      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7386      AliasConditionState  = SOLD 
7387      AliasConditionState  = SOLD DAMAGED
7388      AliasConditionState  = SOLD REALLYDAMAGED
7389      AliasConditionState  = SOLD NIGHT
7390      AliasConditionState  = SOLD NIGHT DAMAGED
7391      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7392      AliasConditionState  = SOLD SNOW
7393      AliasConditionState  = SOLD SNOW DAMAGED
7394      AliasConditionState  = SOLD SNOW REALLYDAMAGED
7395      AliasConditionState  = SOLD NIGHT SNOW
7396      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7397      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7398      ;**************************************************************************************************************************************************************************************************************
7399      
7400     End
7401  
7402  ; ----------------- the factory door -------------------
7403    Draw                = W3DModelDraw ModuleTag_02
7404      DefaultConditionState
7405        Model           = ABBtCmdHQ_A7
7406        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7407        AnimationMode   = MANUAL
7408        Flags           = START_FRAME_FIRST
7409      End
7410  
7411  
7412      ;**************************************************************************************************************************
7413      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7414      ;for this draw module
7415      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7416        Model              = ABBtCmdHQ_A7
7417        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7418      End
7419      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7420      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7421      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
7422      
7423      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7424        Model              = ABBtCmdHQ_A7D
7425        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7426      End
7427      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7428      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7429      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED
7430      
7431      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7432        Model              = ABBtCmdHQ_A7E
7433        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7434      End
7435      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7436      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7437      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW NIGHT
7438      
7439      
7440      ConditionState       = AWAITING_CONSTRUCTION 
7441        Model              = NONE
7442      End
7443      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7444      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7445      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7446      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7447      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7448      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7449      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7450      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7451      AliasConditionState  = SOLD DAMAGED
7452      AliasConditionState  = SOLD REALLYDAMAGED
7453      AliasConditionState  = SOLD NIGHT
7454      AliasConditionState  = SOLD NIGHT DAMAGED
7455  
7456  
7457      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7458      AliasConditionState  = SOLD NIGHT SNOW
7459      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7460      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7461      ;**************************************************************************************************************************
7462  
7463  
7464      ConditionState    = DAMAGED
7465        Model           = ABBtCmdHQ_A7D
7466        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7467        AnimationMode   = MANUAL
7468        Flags           = START_FRAME_FIRST
7469      End
7470      ConditionState    = REALLYDAMAGED RUBBLE
7471        Model           = ABBtCmdHQ_A7E
7472        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7473        AnimationMode   = MANUAL
7474        Flags           = START_FRAME_FIRST
7475      End
7476      
7477      
7478      ConditionState    = DOOR_1_OPENING
7479        Model           = ABBtCmdHQ_A7
7480        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7481        AnimationMode   = ONCE
7482        Flags           = START_FRAME_FIRST
7483      End   
7484      ConditionState    = DOOR_1_OPENING DAMAGED
7485        Model           = ABBtCmdHQ_A7D
7486        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7487        AnimationMode   = ONCE
7488        Flags           = START_FRAME_FIRST
7489      End   
7490      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
7491        Model           = ABBtCmdHQ_A7E
7492        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7493        AnimationMode   = ONCE
7494        Flags           = START_FRAME_FIRST
7495      End
7496      ConditionState    = DOOR_1_CLOSING
7497        Model           = ABBtCmdHQ_A7
7498        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7499        AnimationMode   = ONCE_BACKWARDS
7500        Flags           = START_FRAME_LAST
7501      End
7502      
7503      
7504      ConditionState    = DOOR_1_CLOSING DAMAGED
7505        Model           = ABBtCmdHQ_A7D
7506        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7507        AnimationMode   = ONCE_BACKWARDS
7508        Flags           = START_FRAME_LAST
7509      End   
7510      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7511        Model           = ABBtCmdHQ_A7E
7512        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7513        AnimationMode   = ONCE_BACKWARDS
7514        Flags           = START_FRAME_LAST
7515      End   
7516      ConditionState    = DOOR_1_WAITING_OPEN
7517        Model           = ABBtCmdHQ_A7
7518        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7519        AnimationMode   = MANUAL
7520        Flags           = START_FRAME_LAST
7521      End   
7522      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
7523        Model           = ABBtCmdHQ_A7D
7524        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7525        AnimationMode   = MANUAL
7526        Flags           = START_FRAME_LAST
7527      End   
7528      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7529        Model           = ABBtCmdHQ_A7E
7530        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7531        AnimationMode   = MANUAL
7532        Flags           = START_FRAME_LAST
7533      End   
7534    End
7535    
7536    PlacementViewAngle  = -135
7537  
7538    ; ------------ Radar Extending -----------------
7539    Draw                = W3DModelDraw ModuleTag_03
7540      ConditionState    = None
7541        Model           = ABBtCmdHQ_AC
7542        Animation       = ABBtCmdHQ_AC.ABBtCmdHQ_AC
7543        AnimationMode   = LOOP
7544      End
7545      AliasConditionState = NIGHT
7546      AliasConditionState = SNOW
7547      AliasConditionState = NIGHT SNOW
7548      
7549      ConditionState    = DAMAGED
7550        Model           = ABBtCmdHQ_ACD
7551        Animation       = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD
7552        AnimationMode   = LOOP
7553      End
7554      AliasConditionState = NIGHT DAMAGED
7555      AliasConditionState = SNOW DAMAGED
7556      AliasConditionState = NIGHT SNOW DAMAGED
7557      
7558      ConditionState    = REALLYDAMAGED RUBBLE
7559        Model           = ABBtCmdHQ_ACE
7560        Animation       = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE
7561        AnimationMode   = LOOP
7562      End
7563      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
7564      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
7565      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
7566      
7567      ;**************************************************************************************************************************
7568      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7569      ;for this draw module
7570      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7571        Model              = ABBtCmdHQ_AC
7572        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7573      End
7574      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7575      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7576      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7577      
7578      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7579        Model              = ABBtCmdHQ_ACD
7580        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7581      End
7582      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
7583      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
7584      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
7585      
7586      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7587        Model              = ABBtCmdHQ_ACE
7588        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7589      End
7590      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7591      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7592      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
7593      
7594      ConditionState       = AWAITING_CONSTRUCTION 
7595        Model              = NONE
7596      End
7597      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7598      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7599      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7600      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7601      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7602      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7603      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7604      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7605      AliasConditionState  = SOLD DAMAGED
7606      AliasConditionState  = SOLD REALLYDAMAGED
7607      AliasConditionState  = SOLD NIGHT
7608      AliasConditionState  = SOLD NIGHT DAMAGED
7609      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7610      AliasConditionState  = SOLD NIGHT SNOW
7611      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7612      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7613      ;**************************************************************************************************************************
7614      
7615    End
7616  
7617    ; ----------------- The Door ------------------------
7618    Draw = W3DModelDraw ModuleTag_04
7619    
7620      DefaultConditionState
7621        Model           = ABBtCmdHQ_A7
7622  
7623        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7624        AnimationMode   = MANUAL
7625        Flags           = START_FRAME_FIRST
7626      End
7627      AliasConditionState = NIGHT 
7628      AliasConditionState = SNOW 
7629      AliasConditionState = NIGHT SNOW
7630         
7631      ConditionState    = DAMAGED
7632        Model           = ABBtCmdHQ_A7D
7633        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7634        AnimationMode   = MANUAL
7635        Flags           = START_FRAME_FIRST
7636      End
7637      AliasConditionState = NIGHT DAMAGED
7638      AliasConditionState = SNOW DAMAGED
7639      AliasConditionState = NIGHT SNOW DAMAGED
7640      
7641      ConditionState    = REALLYDAMAGED RUBBLE
7642        Model           = ABBtCmdHQ_A7E
7643        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7644        AnimationMode   = MANUAL
7645        Flags           = START_FRAME_FIRST
7646      End
7647      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
7648      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
7649      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
7650      
7651      ConditionState    = DOOR_1_OPENING
7652        Model           = ABBtCmdHQ_A7
7653        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7654        AnimationMode   = ONCE
7655        Flags           = START_FRAME_FIRST
7656      End   
7657      AliasConditionState = NIGHT DOOR_1_OPENING
7658      AliasConditionState = SNOW DOOR_1_OPENING
7659      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
7660      
7661      ConditionState    = DOOR_1_OPENING DAMAGED
7662        Model           = ABBtCmdHQ_A7D
7663        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7664        AnimationMode   = ONCE
7665        Flags           = START_FRAME_FIRST
7666      End  
7667      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
7668      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
7669      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
7670       
7671      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
7672        Model           = ABBtCmdHQ_A7E
7673        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7674        AnimationMode   = ONCE
7675        Flags           = START_FRAME_FIRST
7676      End
7677      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
7678      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
7679      AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
7680      
7681      ConditionState    = DOOR_1_CLOSING
7682        Model           = ABBtCmdHQ_A7
7683        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7684        AnimationMode   = ONCE_BACKWARDS
7685        Flags           = START_FRAME_LAST
7686      End   
7687      AliasConditionState = NIGHT DOOR_1_CLOSING
7688      AliasConditionState = SNOW DOOR_1_CLOSING
7689      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
7690      
7691      ConditionState    = DOOR_1_CLOSING DAMAGED
7692        Model           = ABBtCmdHQ_A7D
7693        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7694        AnimationMode   = ONCE_BACKWARDS
7695        Flags           = START_FRAME_LAST
7696      End   
7697      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
7698      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
7699      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED
7700      
7701      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7702        Model           = ABBtCmdHQ_A7E
7703        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7704        AnimationMode   = ONCE_BACKWARDS
7705        Flags           = START_FRAME_LAST
7706      End   
7707      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7708      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7709      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7710      
7711      ConditionState    = DOOR_1_WAITING_OPEN
7712        Model           = ABBtCmdHQ_A7
7713        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7714        AnimationMode   = MANUAL
7715        Flags           = START_FRAME_LAST
7716      End   
7717      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
7718      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
7719      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
7720      
7721      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
7722        Model           = ABBtCmdHQ_A7D
7723        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7724        AnimationMode   = MANUAL
7725        Flags           = START_FRAME_LAST
7726      End   
7727      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
7728      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
7729      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED
7730      
7731      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7732        Model           = ABBtCmdHQ_A7E
7733        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7734        AnimationMode   = MANUAL
7735        Flags           = START_FRAME_LAST
7736      End  
7737      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7738      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7739      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7740      
7741      ;**************************************************************************************************************************
7742      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7743      ;for this draw module
7744      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7745        Model              = ABBtCmdHQ_A7
7746        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7747      End
7748      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7749      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7750      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7751      
7752      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7753        Model              = ABBtCmdHQ_A7D
7754        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7755      End
7756      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
7757      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
7758      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
7759      
7760  
7761      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7762        Model              = ABBtCmdHQ_A7E
7763        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7764      End
7765      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7766      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7767      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
7768      
7769      ConditionState       = AWAITING_CONSTRUCTION 
7770        Model              = NONE
7771      End
7772      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7773      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7774      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7775      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7776      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7777      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7778      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7779      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7780      AliasConditionState  = SOLD DAMAGED
7781      AliasConditionState  = SOLD REALLYDAMAGED
7782      AliasConditionState  = SOLD NIGHT
7783      AliasConditionState  = SOLD NIGHT DAMAGED
7784      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7785      AliasConditionState  = SOLD NIGHT SNOW
7786      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7787      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7788      ;**************************************************************************************************************************
7789  
7790    End    
7791  
7792    ; ------------ construction-zone fence -----------------
7793    Draw = W3DModelDraw ModuleTag_05
7794    AnimationsRequirePower = No
7795    
7796      DefaultConditionState
7797        Model           = None
7798        TransitionKey   = DOWN_DEFAULT
7799      End
7800      ConditionState    = NIGHT
7801        Model           = None
7802        TransitionKey   = DOWN_DEFAULT
7803      End
7804      ConditionState    = SNOW
7805        Model           = None
7806        TransitionKey   = DOWN_DEFAULT
7807      End
7808      ConditionState    = SNOW NIGHT
7809        Model           = None
7810        TransitionKey   = DOWN_DEFAULT
7811      End
7812      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7813        Model           = ABBtCmdHQ_A4
7814        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7815        AnimationMode   = MANUAL
7816        Flags           = START_FRAME_LAST
7817        TransitionKey   = UP_DAY
7818        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7819        ParticleSysBone = SparksS01 LiveWireSparks02
7820      End
7821      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7822        Model           = ABBtCmdHQ_A4N
7823        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7824        AnimationMode   = MANUAL
7825        Flags           = START_FRAME_LAST
7826        TransitionKey   = UP_NIGHT
7827        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7828        ParticleSysBone = SparksS01 LiveWireSparks02
7829      End
7830      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7831        Model           = ABBtCmdHQ_A4S
7832        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7833        AnimationMode   = MANUAL
7834        Flags           = START_FRAME_LAST
7835        TransitionKey   = UP_SNOW
7836        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7837        ParticleSysBone = SparksS01 LiveWireSparks02
7838      End
7839      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7840        Model           = ABBtCmdHQ_A4SN
7841        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7842        AnimationMode   = MANUAL
7843        Flags           = START_FRAME_LAST
7844        TransitionKey   = UP_SNOWNIGHT
7845        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7846        ParticleSysBone = SparksS01 LiveWireSparks02
7847      End
7848      TransitionState   = DOWN_DEFAULT UP_DAY
7849        Model           = ABBtCmdHQ_A4
7850        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7851        AnimationMode   = ONCE
7852        AnimationSpeedFactorRange = 1.0 1.0
7853        Flags           = START_FRAME_FIRST
7854      End
7855      TransitionState   = DOWN_DEFAULT UP_NIGHT
7856        Model           = ABBtCmdHQ_A4N
7857        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7858        AnimationMode   = ONCE
7859        AnimationSpeedFactorRange = 1.0 1.0
7860        Flags           = START_FRAME_FIRST
7861      End
7862      TransitionState   = DOWN_DEFAULT UP_SNOW
7863        Model           = ABBtCmdHQ_A4S
7864        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7865        AnimationMode   = ONCE
7866        AnimationSpeedFactorRange = 1.0 1.0
7867        Flags           = START_FRAME_FIRST
7868      End
7869      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7870        Model           = ABBtCmdHQ_A4SN
7871        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7872        AnimationMode   = ONCE
7873        AnimationSpeedFactorRange = 1.0 1.0
7874        Flags           = START_FRAME_FIRST
7875      End
7876      TransitionState   = UP_DAY DOWN_DEFAULT
7877        Model           = ABBtCmdHQ_A4
7878        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7879        AnimationMode   = ONCE_BACKWARDS
7880        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7881        Flags           = START_FRAME_LAST
7882      End
7883      TransitionState   = UP_NIGHT DOWN_DEFAULT
7884        Model           = ABBtCmdHQ_A4N
7885        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7886        AnimationMode   = ONCE_BACKWARDS
7887        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7888        Flags           = START_FRAME_LAST
7889      End
7890      TransitionState   = UP_SNOW DOWN_DEFAULT
7891        Model           = ABBtCmdHQ_A4S
7892        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7893        AnimationMode   = ONCE_BACKWARDS
7894        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7895        Flags           = START_FRAME_LAST
7896      End
7897      TransitionState   = UP_SNOW NIGHT DOWN_DEFAULT
7898        Model           = ABBtCmdHQ_A4SN
7899        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7900        AnimationMode   = ONCE_BACKWARDS
7901        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7902        Flags           = START_FRAME_LAST
7903      End
7904    End
7905  
7906    ; ------------ under-construction scaffolding -----------------
7907    Draw = W3DModelDraw ModuleTag_06
7908    AnimationsRequirePower = No
7909      MinLODRequired = MEDIUM
7910      DefaultConditionState
7911        Model           = None
7912        TransitionKey   = DOWN_DEFAULT
7913      End
7914      ConditionState    = NIGHT
7915        Model           = None
7916        TransitionKey   = DOWN_DEFAULT
7917      End
7918      ConditionState    = SNOW
7919        Model           = None
7920        TransitionKey   = DOWN_DEFAULT
7921      End
7922      ConditionState    = SNOW NIGHT
7923        Model           = None
7924        TransitionKey   = DOWN_DEFAULT
7925      End
7926      ConditionState    = PARTIALLY_CONSTRUCTED
7927        Model           = ABBtCmdHQ_A6
7928        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
7929        AnimationMode   = MANUAL
7930        Flags           = START_FRAME_LAST
7931        TransitionKey   = UP_DAY
7932        ParticleSysBone = Sparks01 BuildUpBlueSpark
7933        ParticleSysBone = Sparks02 BuildUpBlueSpark
7934        ParticleSysBone = Sparks04 BuildUpBlueSpark
7935        ParticleSysBone = Sparks05 BuildUpBlueSpark
7936        ParticleSysBone = Sparks06 BuildUpBlueSpark
7937        ParticleSysBone = Sparks08 BuildUpBlueSpark
7938        ParticleSysBone = Sparks09 BuildUpBlueSpark
7939      End
7940      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7941        Model           = ABBtCmdHQ_A6N
7942        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
7943        AnimationMode   = MANUAL
7944        Flags           = START_FRAME_LAST
7945        TransitionKey   = UP_NIGHT
7946        ParticleSysBone = Sparks01 BuildUpBlueSpark
7947        ParticleSysBone = Sparks02 BuildUpBlueSpark
7948        ParticleSysBone = Sparks04 BuildUpBlueSpark
7949        ParticleSysBone = Sparks05 BuildUpBlueSpark
7950        ParticleSysBone = Sparks06 BuildUpBlueSpark
7951        ParticleSysBone = Sparks08 BuildUpBlueSpark
7952        ParticleSysBone = Sparks09 BuildUpBlueSpark
7953      End
7954      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7955        Model           = ABBtCmdHQ_A6S
7956        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
7957        AnimationMode   = MANUAL
7958        Flags           = START_FRAME_LAST
7959        TransitionKey   = UP_SNOW
7960        ParticleSysBone = Sparks01 BuildUpBlueSpark
7961        ParticleSysBone = Sparks02 BuildUpBlueSpark
7962        ParticleSysBone = Sparks04 BuildUpBlueSpark
7963        ParticleSysBone = Sparks05 BuildUpBlueSpark
7964        ParticleSysBone = Sparks06 BuildUpBlueSpark
7965        ParticleSysBone = Sparks08 BuildUpBlueSpark
7966        ParticleSysBone = Sparks09 BuildUpBlueSpark
7967      End
7968      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7969        Model           = ABBtCmdHQ_A6SN
7970        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
7971        AnimationMode   = MANUAL
7972        Flags           = START_FRAME_LAST
7973        TransitionKey   = UP_SNOWNIGHT
7974        ParticleSysBone = Sparks01 BuildUpBlueSpark
7975        ParticleSysBone = Sparks02 BuildUpBlueSpark
7976        ParticleSysBone = Sparks04 BuildUpBlueSpark
7977        ParticleSysBone = Sparks05 BuildUpBlueSpark
7978        ParticleSysBone = Sparks06 BuildUpBlueSpark
7979        ParticleSysBone = Sparks08 BuildUpBlueSpark
7980        ParticleSysBone = Sparks09 BuildUpBlueSpark
7981      End
7982      TransitionState   = DOWN_DEFAULT UP_DAY
7983       Model            = ABBtCmdHQ_A6
7984        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
7985        AnimationMode   = ONCE
7986        AnimationSpeedFactorRange = 1.0 1.0
7987        Flags           = START_FRAME_FIRST
7988      End
7989      TransitionState   = DOWN_DEFAULT UP_NIGHT
7990       Model            = ABBtCmdHQ_A6N
7991        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
7992        AnimationMode   = ONCE
7993        AnimationSpeedFactorRange = 1.0 1.0
7994        Flags           = START_FRAME_FIRST
7995      End
7996      TransitionState   = DOWN_DEFAULT UP_SNOW
7997       Model            = ABBtCmdHQ_A6S
7998        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
7999        AnimationMode   = ONCE
8000        AnimationSpeedFactorRange = 1.0 1.0
8001        Flags           = START_FRAME_FIRST
8002      End
8003      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8004       Model            = ABBtCmdHQ_A6SN
8005        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
8006        AnimationMode   = ONCE
8007        AnimationSpeedFactorRange = 1.0 1.0
8008        Flags           = START_FRAME_FIRST
8009      End
8010      TransitionState   = UP_DAY DOWN_DEFAULT
8011        Model           = ABBtCmdHQ_A6
8012        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
8013        AnimationMode   = ONCE_BACKWARDS
8014        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8015        Flags           = START_FRAME_LAST
8016      End
8017      TransitionState   = UP_NIGHT DOWN_DEFAULT
8018        Model           = ABBtCmdHQ_A6N
8019        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
8020        AnimationMode   = ONCE_BACKWARDS
8021        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8022        Flags           = START_FRAME_LAST
8023      End
8024      TransitionState   = UP_SNOW DOWN_DEFAULT
8025        Model           = ABBtCmdHQ_A6S
8026        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
8027        AnimationMode   = ONCE_BACKWARDS
8028        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8029        Flags           = START_FRAME_LAST
8030      End
8031      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8032        Model           = ABBtCmdHQ_A6SN
8033        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
8034        AnimationMode   = ONCE_BACKWARDS
8035        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8036        Flags           = START_FRAME_LAST
8037      End
8038    End
8039  
8040    ; ------------ being-constructed crane -----------------
8041    Draw = W3DModelDraw ModuleTag_07
8042    AnimationsRequirePower = No
8043      DefaultConditionState
8044        Model           = None
8045        TransitionKey   = DOWN_DEFAULT
8046      End
8047      ConditionState    = NIGHT
8048        Model           = None
8049        TransitionKey   = DOWN_DEFAULT
8050      End
8051      ConditionState    = SNOW
8052        Model           = None
8053        TransitionKey   = DOWN_DEFAULT
8054      End
8055      ConditionState    = SNOW NIGHT
8056        Model           = None
8057        TransitionKey   = DOWN_DEFAULT
8058      End
8059      ConditionState    = SOLD
8060        Model           = NONE
8061      End
8062  
8063      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
8064        Model           = ABBtCmdHQ_A5
8065        Animation       = ABBtCmdHQ_A5.ABBtCmdHQ_A5
8066        AnimationMode   = LOOP
8067        TransitionKey   = UP_DAY
8068      End
8069  
8070      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
8071        Model           = ABBtCmdHQ_A5N
8072        Animation       = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N
8073        AnimationMode   = LOOP
8074        TransitionKey   = UP_NIGHT
8075      End
8076      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
8077        Model           = ABBtCmdHQ_A5S
8078        Animation       = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S
8079        AnimationMode   = LOOP
8080        TransitionKey   = UP_SNOW
8081      End
8082      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
8083        Model           = ABBtCmdHQ_A5SN
8084        Animation       = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN
8085        AnimationMode   = LOOP
8086        TransitionKey   = UP_SNOWNIGHT
8087      End
8088      TransitionState   = DOWN_DEFAULT UP_DAY
8089        Model           = ABBtCmdHQ_A3
8090        Animation       = ABBtCmdHQ_A3.ABBtCmdHQ_A3
8091        AnimationMode   = ONCE
8092        AnimationSpeedFactorRange = 1.0 1.0
8093        Flags           = START_FRAME_FIRST
8094      End
8095  
8096      TransitionState   = DOWN_DEFAULT UP_NIGHT
8097        Model           = ABBtCmdHQ_A3N
8098        Animation       = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N
8099        AnimationMode   = ONCE
8100        AnimationSpeedFactorRange = 1.0 1.0
8101        Flags           = START_FRAME_FIRST
8102      End
8103      TransitionState   = DOWN_DEFAULT UP_SNOW
8104        Model           = ABBtCmdHQ_A3S
8105        ; @todo srj -- not found
8106        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8107        AnimationMode   = ONCE
8108        AnimationSpeedFactorRange = 1.0 1.0
8109        Flags           = START_FRAME_FIRST
8110      End
8111      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8112        Model           = ABBtCmdHQ_A3SN
8113        Animation       = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN
8114        AnimationMode   = ONCE
8115        AnimationSpeedFactorRange = 1.0 1.0
8116        Flags           = START_FRAME_FIRST
8117      End
8118      TransitionState   = UP_DAY DOWN_DEFAULT
8119        Model           = ABBtCmdHQ_A3
8120        Animation       = ABBtCmdHQ_A3.ABBtCmdHQ_A3
8121        AnimationMode   = ONCE_BACKWARDS
8122        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8123        Flags           = START_FRAME_LAST
8124      End
8125      TransitionState   = UP_NIGHT DOWN_DEFAULT
8126        Model           = ABBtCmdHQ_A3N
8127        Animation       = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N
8128        AnimationMode   = ONCE_BACKWARDS
8129        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8130        Flags           = START_FRAME_LAST
8131      End
8132      TransitionState   = UP_SNOW DOWN_DEFAULT
8133        Model           = ABBtCmdHQ_A3S
8134        ; @todo srj -- not found
8135        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8136        AnimationMode   = ONCE_BACKWARDS
8137        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8138        Flags           = START_FRAME_LAST
8139      End
8140      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8141        Model           = ABBtCmdHQ_A3S
8142        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8143        AnimationMode   = ONCE_BACKWARDS
8144        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8145        Flags           = START_FRAME_LAST
8146      End
8147    End
8148  
8149    ; Officers club flag
8150    Draw = W3DModelDraw ModuleTag_OfficersClub
8151      OkToChangeModelColor = No
8152  
8153      ConditionState       = NONE
8154        Model              = None
8155      End
8156      AliasConditionState  = DAMAGED
8157      AliasConditionState  = REALLYDAMAGED
8158      AliasConditionState  = RUBBLE
8159      AliasConditionState  = REALLYDAMAGED RUBBLE
8160      ConditionState       = PREORDER
8161        Model              = OCFlagUSA
8162        Animation          = OCFlagUSA.OCFlagUSA
8163        AnimationMode      = LOOP
8164        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8165      End
8166      ConditionState       = PREORDER DAMAGED
8167        Model              = OCFlagUSA_D
8168        Animation          = OCFlagUSA_D.OCFlagUSA_D
8169        AnimationMode      = LOOP
8170        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8171      End
8172      ConditionState       = PREORDER REALLYDAMAGED RUBBLE
8173        Model              = OCFlagUSA_E
8174        Animation          = OCFlagUSA_E.OCFlagUSA_E
8175        AnimationMode      = LOOP
8176        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8177      End
8178    End
8179  
8180    
8181    PlacementViewAngle  = -135
8182  
8183    ; ***DESIGN parameters ***
8184    DisplayName           = OBJECT:CommandCenter 
8185    Side                  = AmericaAirForceGeneral
8186    EditorSorting         = STRUCTURE
8187    BuildCost             = 2000
8188    BuildTime             = 45.0           ; in seconds
8189    EnergyProduction      = 0   ;Command Center should be free
8190    CommandSet            = AirF_AmericaCommandCenterCommandSet
8191    VisionRange           = 300.0           ; Shroud clearing distance
8192    ShroudClearingRange   = 300
8193    ArmorSet
8194      Conditions          = None
8195      Armor               = StructureArmorTough
8196      DamageFX            = StructureDamageFXNoShake
8197    End
8198    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
8199  
8200    ; *** AUDIO Parameters ***
8201    VoiceSelect           = CommandCenterUSASelect
8202    SoundOnDamaged        = BuildingDamagedStateLight
8203    SoundOnReallyDamaged  = BuildingDestroy
8204  
8205    UnitSpecificSounds
8206      UnderConstruction     = UnderConstructionLoop
8207    End
8208  
8209    ; *** ENGINEERING Parameters ***
8210    RadarPriority       = STRUCTURE
8211    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY
8212    Body                = StructureBody ModuleTag_08
8213      MaxHealth         = 5000.0
8214      InitialHealth     = 5000.0
8215  
8216      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8217      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8218      SubdualDamageCap = 5200
8219      SubdualDamageHealRate = 500
8220      SubdualDamageHealAmount = 100
8221    End
8222  
8223    Behavior = PreorderCreate ModuleTag_PreorderCreate
8224    End
8225  
8226    Behavior = GrantUpgradeCreate ModuleTag_09
8227      UpgradeToGrant           = Upgrade_AmericaRadar
8228      ExemptStatus      = UNDER_CONSTRUCTION
8229    End
8230  
8231    Behavior = ProductionUpdate ModuleTag_11
8232      NumDoorAnimations            = 1
8233      DoorOpeningTime              = 1500  ;in mSeconds
8234      DoorWaitOpenTime             = 3000  ;in mSeconds
8235      DoorCloseTime                = 1500  ;in mSeconds
8236      ConstructionCompleteDuration = 1500  ;in mSeconds
8237    End
8238    Behavior = RadarUpdate ModuleTag_12
8239      RadarExtendTime   = 4000     ;in mSeconds
8240    End
8241    Behavior = DefaultProductionExitUpdate ModuleTag_13
8242      UnitCreatePoint   = X:-18.0  Y:  35.0   Z:0.0
8243      NaturalRallyPoint = X: 60.0  Y:  35.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
8244    End
8245    Behavior = BaseRegenerateUpdate ModuleTag_14
8246      ;No data
8247    End
8248    Behavior             = DestroyDie ModuleTag_15
8249      ;nothing
8250    End
8251    Behavior             = CreateObjectDie ModuleTag_16
8252      CreationList  = OCL_LargeStructureDebris
8253    End
8254    Behavior             = CreateObjectDie ModuleTag_17
8255      CreationList  = OCL_AmericanRangerDebris10
8256      ExemptStatus  = UNDER_CONSTRUCTION
8257    End
8258    Behavior             = FXListDie ModuleTag_18
8259      DeathFX       = FX_StructureMediumDeath
8260    End
8261    Behavior         = RadarUpgrade ModuleTag_19
8262      TriggeredBy   = Upgrade_AmericaRadar
8263    End
8264    Behavior           = OCLSpecialPower ModuleTag_20
8265      SpecialPowerTemplate = SuperweaponDaisyCutter
8266      UpgradeOCL           = SCIENCE_MOAB SUPERWEAPON_MOAB
8267      OCL                  = SUPERWEAPON_DaisyCutter
8268      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8269    End
8270    Behavior           = OCLSpecialPower ModuleTag_21
8271      SpecialPowerTemplate = SpecialPowerSpyDrone
8272      OCL                  = SUPERWEAPON_SpyDrone
8273      CreateLocation       = CREATE_ABOVE_LOCATION
8274    End
8275    Behavior           = OCLSpecialPower ModuleTag_22
8276      SpecialPowerTemplate = SuperweaponParadropAmerica
8277      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
8278      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
8279      OCL                  = SUPERWEAPON_Paradrop1
8280      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8281      OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs.
8282    End 
8283  ;  Behavior           = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05
8284  ;    SpecialPowerTemplate = AirF_SuperweaponCarpetBomb
8285  ;    OCL                  = AirF_SUPERWEAPON_CarpetBomb
8286  ;    CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8287  ;  End 
8288    Behavior           = OCLSpecialPower ModuleTag_24
8289      SpecialPowerTemplate = SpecialPowerSpySatellite
8290      OCL                  = SUPERWEAPON_SpySatellite
8291      CreateLocation       = CREATE_AT_LOCATION
8292    End
8293    Behavior    = OCLSpecialPower ModuleTag_25
8294      SpecialPowerTemplate = SuperweaponCrateDrop
8295      OCL                  = SUPERWEAPON_CrateDrop
8296      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8297    End
8298    Behavior           = OCLSpecialPower ModuleTag_26
8299      SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike
8300      UpgradeOCL           = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3
8301      UpgradeOCL           = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
8302      OCL                  = SUPERWEAPON_A10ThunderboltMissileStrike1
8303      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8304    End
8305    Behavior           = OCLSpecialPower ModuleTag_27
8306      SpecialPowerTemplate = Early_SuperweaponEmergencyRepair
8307      UpgradeOCL           = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3
8308      UpgradeOCL           = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2
8309      OCL                  = SUPERWEAPON_RepairVehicles1
8310      CreateLocation       = CREATE_AT_LOCATION
8311    End
8312  
8313  
8314  ;;;; **NOTE put this back in?
8315  
8316    ; note that this power isn't normally available to human players, only to AI ones
8317    ;Behavior           = DefectorSpecialPower ModuleTag_28
8318    ;  SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params
8319    ;End
8320  
8321    ;Kris: Now launched by OCLSpecialPower for DaisyCutter.
8322    ;Behavior           = OCLSpecialPower ModuleTag_29
8323    ;  SpecialPowerTemplate = SuperweaponMOAB
8324    ;  OCL                  = SUPERWEAPON_MOAB
8325    ;  CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8326    ;End
8327  
8328    Behavior = FlammableUpdate ModuleTag_30
8329      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
8330      AflameDamageAmount = 5       ; taking this much damage...
8331      AflameDamageDelay = 500       ; this often.
8332    End
8333  
8334    Behavior = TransitionDamageFX ModuleTag_31
8335      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
8336      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
8337      ;---------------------------------------------------------------------------------------
8338      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
8339      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
8340      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
8341    End
8342  
8343  
8344    Behavior = SpecialAbility ModuleTag_32
8345      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
8346      UpdateModuleStartsAttack = Yes
8347    End
8348  
8349    ;Kris: Order matters -- process in order of highest level to lowest level technology.
8350    Behavior           = SpectreGunshipDeploymentUpdate ModuleSpectre_3
8351      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
8352      RequiredScience      = SCIENCE_SpectreGunship3
8353      GunshipTemplateName  = AirF_AmericaJetSpectreGunship3
8354      AttackAreaRadius     = 200
8355      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
8356                             ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET
8357    End
8358    Behavior           = SpectreGunshipDeploymentUpdate ModuleSpectre_2
8359      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
8360      RequiredScience      = SCIENCE_SpectreGunship2
8361      GunshipTemplateName  = AirF_AmericaJetSpectreGunship2
8362      AttackAreaRadius     = 200
8363      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
8364                             ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET
8365    End
8366    Behavior           = SpectreGunshipDeploymentUpdate ModuleSpectre_1
8367      SpecialPowerTemplate = AirF_SuperweaponSpectreGunship
8368      RequiredScience      = SCIENCE_SpectreGunship1
8369      GunshipTemplateName  = AirF_AmericaJetSpectreGunship1
8370      AttackAreaRadius     = 200
8371      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
8372                             ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET
8373    End
8374  
8375    Behavior           = OCLSpecialPower ModuleTag_34
8376      SpecialPowerTemplate = SuperweaponLeafletDrop
8377      OCL                  = SUPERWEAPON_LeafletDrop
8378      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8379    End
8380  
8381    ;Behavior = CommandSetUpgrade ModuleTag_35
8382    ;  CommandSet = AirF_AmericaCommandCenterCommandSetToMOAB
8383    ;  TriggeredBy   = Upgrade_AmericaMOAB
8384    ;End
8385    Behavior = GrantScienceUpgrade ModuleTag_Science
8386      GrantScience = SCIENCE_MOAB
8387      TriggeredBy = Upgrade_AmericaMOAB
8388    End
8389  
8390    Geometry            = BOX
8391    GeometryMajorRadius = 60.0
8392    GeometryMinorRadius = 70.0
8393    GeometryHeight      = 49.0
8394    GeometryIsSmall     = No
8395    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
8396    Shadow              = SHADOW_VOLUME
8397    BuildCompletion     = PLACED_BY_PLAYER
8398  
8399  End
8400  
8401  
8402  
8403  ;------------------------------------------------------------------------------
8404  Object AirF_AmericaPowerPlant
8405  
8406    ; *** ART Parameters ***
8407    SelectPortrait         = SAPowerPlant_L
8408    ButtonImage            = SAPowerPlant
8409  
8410  ; ---- the building itself ------
8411    Draw = W3DModelDraw ModuleTag_01
8412      OkToChangeModelColor = Yes
8413  
8414      ; day ********************************************
8415      ConditionState       = NONE;
8416        Model              = ABPWRPLANT
8417        Animation          = ABPWRPLANT.ABPWRPLANT
8418        AnimationMode      = LOOP
8419        ParticleSysBone    = Smoke02 SteamVent
8420      End
8421      ConditionState       = DAMAGED
8422        Model              = ABPWRPLANT_D
8423        ParticleSysBone    = Smoke01 SmolderingSmoke 
8424        ParticleSysBone    = Smoke02 SteamVent
8425        ParticleSysBone    = Smoke03 SmolderingSmoke
8426        ParticleSysBone    = Fire01 SmolderingFireLarge
8427        ParticleSysBone    = Sparks01 LiveWireSparks
8428        ParticleSysBone    = Sparks02 LiveWireSparks
8429      End
8430      ConditionState       = REALLYDAMAGED RUBBLE
8431        Model              = ABPWRPLANT_E
8432        ParticleSysBone    = Smoke01 SmolderingSmoke 
8433        ParticleSysBone    = Smoke02 SteamVent
8434        ParticleSysBone    = Smoke03 SmolderingSmoke
8435        ParticleSysBone    = Smoke04 SmolderingSmoke 
8436        ParticleSysBone    = Smoke05 SmolderingSmoke 
8437        ParticleSysBone    = Smoke06 SmolderingSmoke
8438        ParticleSysBone    = Fire01 SmolderingFireLarge 
8439        ParticleSysBone    = Fire02 SmolderingFireLarge
8440        ParticleSysBone    = Fire03 SmolderingFireLarge
8441        ParticleSysBone    = Spark01 LiveWireSparks
8442      End
8443  
8444      ; day upgrade
8445      ConditionState = POWER_PLANT_UPGRADED ;
8446        Model = ABPWRPLANT
8447        Animation     = ABPWRPLANT.ABPWRPLANT
8448        AnimationMode = LOOP
8449        ParticleSysBone = Smoke02 SteamVent
8450        ParticleSysBone = Spark01 LiveWireSparks
8451        ParticleSysBone = Spark02 LiveWireSparks02
8452        ParticleSysBone = Spark03 LiveWireSparks02 
8453        ParticleSysBone = Spark04 LiveWireSparks
8454        ParticleSysBone = Spark05 LiveWireSparks02
8455        ParticleSysBone = Spark06 LiveWireSparks 
8456      End
8457      ConditionState = DAMAGED POWER_PLANT_UPGRADED
8458        Model = ABPWRPLANT_D
8459        ParticleSysBone = Smoke01 SmolderingSmoke 
8460        ParticleSysBone = Smoke02 SteamVent
8461        ParticleSysBone = Smoke03 SmolderingSmoke
8462        ParticleSysBone = Fire01 SmolderingFireLarge
8463        ParticleSysBone = Spark01 LiveWireSparks
8464        ParticleSysBone = Spark02 LiveWireSparks02
8465        ParticleSysBone = Spark03 LiveWireSparks02 
8466        ParticleSysBone = Spark04 LiveWireSparks
8467        ParticleSysBone = Spark05 LiveWireSparks02
8468        ParticleSysBone = Spark06 LiveWireSparks 
8469      End
8470      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
8471        Model = ABPWRPLANT_E
8472        ParticleSysBone = Smoke01 SmolderingSmoke 
8473        ParticleSysBone = Smoke02 SteamVent
8474        ParticleSysBone = Smoke03 SmolderingSmoke
8475        ParticleSysBone = Smoke04 SmolderingSmoke 
8476        ParticleSysBone = Smoke05 SmolderingSmoke 
8477        ParticleSysBone = Smoke06 SmolderingSmoke
8478        ParticleSysBone = Fire01 SmolderingFireLarge 
8479        ParticleSysBone = Fire02 SmolderingFireLarge
8480        ParticleSysBone = Fire03 SmolderingFireLarge
8481        ParticleSysBone = Spark01 LiveWireSparks
8482        ParticleSysBone = Spark02 LiveWireSparks02
8483        ParticleSysBone = Spark03 LiveWireSparks02 
8484        ParticleSysBone = Spark04 LiveWireSparks
8485        ParticleSysBone = Spark05 LiveWireSparks02
8486        ParticleSysBone = Spark06 LiveWireSparks 
8487      End
8488  
8489      ; night 
8490      ConditionState = NIGHT;
8491        Model = ABPWRPLANT_N
8492        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
8493        AnimationMode = LOOP
8494        ParticleSysBone = Smoke02 SteamVent
8495      End
8496      ConditionState       = DAMAGED NIGHT
8497        Model              = ABPWRPLANT_DN
8498        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
8499        AnimationMode      = LOOP
8500        ParticleSysBone    = Smoke01 SmolderingSmoke 
8501        ParticleSysBone    = Smoke02 SteamVent
8502        ParticleSysBone    = Smoke03 SmolderingSmoke
8503        ParticleSysBone    = Fire01 SmolderingFireLarge
8504        ParticleSysBone    = Sparks01 LiveWireSparks
8505        ParticleSysBone    = Sparks02 LiveWireSparks
8506        ParticleSysBone    = Sparks03 LiveWireSparks02
8507      End
8508      ConditionState = REALLYDAMAGED RUBBLE NIGHT;
8509        Model = ABPWRPLANT_EN
8510        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
8511        AnimationMode = LOOP
8512        ParticleSysBone = Smoke01 SmolderingSmoke 
8513        ParticleSysBone = Smoke02 SteamVent
8514        ParticleSysBone = Smoke03 SmolderingSmoke
8515        ParticleSysBone = Smoke04 SmolderingSmoke 
8516        ParticleSysBone = Smoke05 SmolderingSmoke 
8517        ParticleSysBone = Smoke06 SmolderingSmoke
8518        ParticleSysBone = Fire01 SmolderingFireLarge 
8519        ParticleSysBone = Fire02 SmolderingFireLarge
8520        ParticleSysBone = Fire03 SmolderingFireLarge
8521        ParticleSysBone = Sparks01 LiveWireSparks
8522        ParticleSysBone = Sparks02 LiveWireSparks02
8523        ParticleSysBone = Sparks03 LiveWireSparks02 
8524        ParticleSysBone = Sparks04 LiveWireSparks
8525        ParticleSysBone = Sparks05 LiveWireSparks02
8526        ParticleSysBone = Sparks07 LiveWireSparks 
8527      End
8528  
8529      ; night upgraded
8530      ConditionState = NIGHT POWER_PLANT_UPGRADED
8531        Model = ABPWRPLANT_N
8532        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
8533        AnimationMode = LOOP
8534        ParticleSysBone = Smoke02 SteamVent
8535        ParticleSysBone = Sparks02 LiveWireSparks02
8536        ParticleSysBone = Sparks03 LiveWireSparks02 
8537        ParticleSysBone = Sparks04 LiveWireSparks
8538        ParticleSysBone = Sparks05 LiveWireSparks02
8539        ParticleSysBone = Sparks07 LiveWireSparks 
8540        ParticleSysBone = Sparks08 LiveWireSparks02
8541        ParticleSysBone = Sparks09 LiveWireSparks 
8542        ParticleSysBone = Sparks10 LiveWireSparks02
8543        ParticleSysBone = Sparks11 LiveWireSparks 
8544      End
8545      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED
8546        Model              = ABPWRPLANT_DN
8547        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
8548        AnimationMode      = LOOP
8549        ParticleSysBone    = Smoke01 SmolderingSmoke 
8550        ParticleSysBone    = Smoke02 SteamVent
8551        ParticleSysBone    = Smoke03 SmolderingSmoke
8552        ParticleSysBone    = Fire01 SmolderingFireLarge
8553        ParticleSysBone = Sparks02 LiveWireSparks02
8554        ParticleSysBone = Sparks03 LiveWireSparks02 
8555        ParticleSysBone = Sparks04 LiveWireSparks
8556        ParticleSysBone = Sparks05 LiveWireSparks02
8557        ParticleSysBone = Sparks07 LiveWireSparks 
8558        ParticleSysBone = Sparks08 LiveWireSparks02
8559        ParticleSysBone = Sparks09 LiveWireSparks 
8560        ParticleSysBone = Sparks10 LiveWireSparks02
8561        ParticleSysBone = Sparks11 LiveWireSparks 
8562      End
8563      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED
8564        Model = ABPWRPLANT_EN
8565        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
8566        AnimationMode = LOOP
8567        ParticleSysBone = Smoke01 SmolderingSmoke 
8568        ParticleSysBone = Smoke02 SteamVent
8569        ParticleSysBone = Smoke03 SmolderingSmoke
8570        ParticleSysBone = Smoke04 SmolderingSmoke 
8571        ParticleSysBone = Smoke05 SmolderingSmoke 
8572        ParticleSysBone = Smoke06 SmolderingSmoke
8573        ParticleSysBone = Fire01 SmolderingFireLarge 
8574        ParticleSysBone = Fire02 SmolderingFireLarge
8575        ParticleSysBone = Fire03 SmolderingFireLarge
8576        ParticleSysBone = Sparks02 LiveWireSparks02
8577        ParticleSysBone = Sparks03 LiveWireSparks02 
8578        ParticleSysBone = Sparks04 LiveWireSparks
8579        ParticleSysBone = Sparks05 LiveWireSparks02
8580        ParticleSysBone = Sparks07 LiveWireSparks 
8581        ParticleSysBone = Sparks08 LiveWireSparks02
8582        ParticleSysBone = Sparks09 LiveWireSparks 
8583        ParticleSysBone = Sparks10 LiveWireSparks02
8584        ParticleSysBone = Sparks11 LiveWireSparks 
8585      End
8586      
8587      
8588          ; day ********************************************
8589      ConditionState       = SNOW
8590        Model              = ABPWRPLANT_S
8591        Animation          = ABPWRPLANT_S.ABPWRPLANT_S
8592        AnimationMode      = LOOP
8593        ParticleSysBone    = Smoke02 SteamVent
8594      End
8595      ConditionState       = DAMAGED SNOW
8596        Model              = ABPWRPLANT_DS
8597        ParticleSysBone    = Smoke01 SmolderingSmoke 
8598        ParticleSysBone    = Smoke02 SteamVent
8599        ParticleSysBone    = Smoke03 SmolderingSmoke
8600        ParticleSysBone    = Fire01 SmolderingFireLarge
8601        ParticleSysBone    = Sparks01 LiveWireSparks
8602        ParticleSysBone    = Sparks02 LiveWireSparks
8603      End
8604      ConditionState       = REALLYDAMAGED RUBBLE SNOW
8605        Model              = ABPWRPLANT_ES
8606        ParticleSysBone    = Smoke01 SmolderingSmoke 
8607        ParticleSysBone    = Smoke02 SteamVent
8608        ParticleSysBone    = Smoke03 SmolderingSmoke
8609        ParticleSysBone    = Smoke04 SmolderingSmoke 
8610        ParticleSysBone    = Smoke05 SmolderingSmoke 
8611        ParticleSysBone    = Smoke06 SmolderingSmoke
8612        ParticleSysBone    = Fire01 SmolderingFireLarge 
8613        ParticleSysBone    = Fire02 SmolderingFireLarge
8614        ParticleSysBone    = Fire03 SmolderingFireLarge
8615        ParticleSysBone    = Spark01 LiveWireSparks
8616      End
8617  
8618  
8619      ; day upgrade
8620      ConditionState = POWER_PLANT_UPGRADED SNOW;
8621        Model = ABPWRPLANT_S
8622        Animation     = ABPWRPLANT_S.ABPWRPLANT_S
8623        AnimationMode = LOOP
8624        ParticleSysBone = Smoke02 SteamVent
8625        ParticleSysBone = Spark01 LiveWireSparks
8626        ParticleSysBone = Spark02 LiveWireSparks02
8627        ParticleSysBone = Spark03 LiveWireSparks02 
8628        ParticleSysBone = Spark04 LiveWireSparks
8629        ParticleSysBone = Spark05 LiveWireSparks02
8630        ParticleSysBone = Spark06 LiveWireSparks 
8631      End
8632      ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
8633        Model = ABPWRPLANT_DS
8634        ParticleSysBone = Smoke01 SmolderingSmoke 
8635        ParticleSysBone = Smoke02 SteamVent
8636        ParticleSysBone = Smoke03 SmolderingSmoke
8637        ParticleSysBone = Fire01 SmolderingFireLarge
8638        ParticleSysBone = Spark01 LiveWireSparks
8639        ParticleSysBone = Spark02 LiveWireSparks02
8640        ParticleSysBone = Spark03 LiveWireSparks02 
8641        ParticleSysBone = Spark04 LiveWireSparks
8642        ParticleSysBone = Spark05 LiveWireSparks02
8643        ParticleSysBone = Spark06 LiveWireSparks 
8644      End
8645      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
8646        Model = ABPWRPLANT_ES
8647        ParticleSysBone = Smoke01 SmolderingSmoke 
8648        ParticleSysBone = Smoke02 SteamVent
8649        ParticleSysBone = Smoke03 SmolderingSmoke
8650        ParticleSysBone = Smoke04 SmolderingSmoke 
8651        ParticleSysBone = Smoke05 SmolderingSmoke 
8652        ParticleSysBone = Smoke06 SmolderingSmoke
8653        ParticleSysBone = Fire01 SmolderingFireLarge 
8654        ParticleSysBone = Fire02 SmolderingFireLarge
8655        ParticleSysBone = Fire03 SmolderingFireLarge
8656        ParticleSysBone = Spark01 LiveWireSparks
8657        ParticleSysBone = Spark02 LiveWireSparks02
8658        ParticleSysBone = Spark03 LiveWireSparks02 
8659        ParticleSysBone = Spark04 LiveWireSparks
8660        ParticleSysBone = Spark05 LiveWireSparks02
8661        ParticleSysBone = Spark06 LiveWireSparks 
8662      End
8663  
8664  
8665      ; night 
8666      ConditionState = NIGHT SNOW;
8667        Model = ABPWRPLANT_NS
8668        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
8669        AnimationMode = LOOP
8670        ParticleSysBone = Smoke02 SteamVent
8671      End
8672      ConditionState       = DAMAGED NIGHT SNOW
8673        Model              = ABPWRPLANT_DNS
8674        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
8675        AnimationMode      = LOOP
8676        ParticleSysBone    = Smoke01 SmolderingSmoke 
8677        ParticleSysBone    = Smoke02 SteamVent
8678        ParticleSysBone    = Smoke03 SmolderingSmoke
8679        ParticleSysBone    = Fire01 SmolderingFireLarge
8680        ParticleSysBone    = Sparks01 LiveWireSparks
8681        ParticleSysBone    = Sparks02 LiveWireSparks
8682        ParticleSysBone    = Sparks03 LiveWireSparks02
8683      End
8684      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW;
8685        Model = ABPWRPLANT_ENS
8686        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
8687        AnimationMode = LOOP
8688        ParticleSysBone = Smoke01 SmolderingSmoke 
8689        ParticleSysBone = Smoke02 SteamVent
8690        ParticleSysBone = Smoke03 SmolderingSmoke
8691        ParticleSysBone = Smoke04 SmolderingSmoke 
8692        ParticleSysBone = Smoke05 SmolderingSmoke 
8693        ParticleSysBone = Smoke06 SmolderingSmoke
8694        ParticleSysBone = Fire01 SmolderingFireLarge 
8695        ParticleSysBone = Fire02 SmolderingFireLarge
8696        ParticleSysBone = Fire03 SmolderingFireLarge
8697        ParticleSysBone = Sparks01 LiveWireSparks
8698        ParticleSysBone = Sparks02 LiveWireSparks02
8699        ParticleSysBone = Sparks03 LiveWireSparks02 
8700        ParticleSysBone = Sparks04 LiveWireSparks
8701        ParticleSysBone = Sparks05 LiveWireSparks02
8702        ParticleSysBone = Sparks07 LiveWireSparks 
8703      End
8704  
8705      ; night upgraded
8706      ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW
8707        Model = ABPWRPLANT_NS
8708        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
8709        AnimationMode = LOOP
8710        ParticleSysBone = Smoke02 SteamVent
8711        ParticleSysBone = Sparks02 LiveWireSparks02
8712        ParticleSysBone = Sparks03 LiveWireSparks02 
8713        ParticleSysBone = Sparks04 LiveWireSparks
8714        ParticleSysBone = Sparks05 LiveWireSparks02
8715        ParticleSysBone = Sparks07 LiveWireSparks 
8716        ParticleSysBone = Sparks08 LiveWireSparks02
8717        ParticleSysBone = Sparks09 LiveWireSparks 
8718        ParticleSysBone = Sparks10 LiveWireSparks02
8719        ParticleSysBone = Sparks11 LiveWireSparks 
8720      End
8721      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW
8722        Model              = ABPWRPLANT_DNS
8723        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
8724        AnimationMode      = LOOP
8725        ParticleSysBone    = Smoke01 SmolderingSmoke 
8726        ParticleSysBone    = Smoke02 SteamVent
8727        ParticleSysBone    = Smoke03 SmolderingSmoke
8728        ParticleSysBone    = Fire01 SmolderingFireLarge
8729        ParticleSysBone = Sparks02 LiveWireSparks02
8730        ParticleSysBone = Sparks03 LiveWireSparks02 
8731        ParticleSysBone = Sparks04 LiveWireSparks
8732        ParticleSysBone = Sparks05 LiveWireSparks02
8733        ParticleSysBone = Sparks07 LiveWireSparks 
8734        ParticleSysBone = Sparks08 LiveWireSparks02
8735        ParticleSysBone = Sparks09 LiveWireSparks 
8736        ParticleSysBone = Sparks10 LiveWireSparks02
8737        ParticleSysBone = Sparks11 LiveWireSparks 
8738      End
8739      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW
8740        Model = ABPWRPLANT_ENS
8741        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
8742        AnimationMode = LOOP
8743        ParticleSysBone = Smoke01 SmolderingSmoke 
8744        ParticleSysBone = Smoke02 SteamVent
8745        ParticleSysBone = Smoke03 SmolderingSmoke
8746        ParticleSysBone = Smoke04 SmolderingSmoke 
8747        ParticleSysBone = Smoke05 SmolderingSmoke 
8748        ParticleSysBone = Smoke06 SmolderingSmoke
8749        ParticleSysBone = Fire01 SmolderingFireLarge 
8750        ParticleSysBone = Fire02 SmolderingFireLarge
8751        ParticleSysBone = Fire03 SmolderingFireLarge
8752        ParticleSysBone = Sparks02 LiveWireSparks02
8753        ParticleSysBone = Sparks03 LiveWireSparks02 
8754        ParticleSysBone = Sparks04 LiveWireSparks
8755        ParticleSysBone = Sparks05 LiveWireSparks02
8756        ParticleSysBone = Sparks07 LiveWireSparks 
8757        ParticleSysBone = Sparks08 LiveWireSparks02
8758        ParticleSysBone = Sparks09 LiveWireSparks 
8759        ParticleSysBone = Sparks10 LiveWireSparks02
8760        ParticleSysBone = Sparks11 LiveWireSparks 
8761      End
8762      
8763      ;**************************************************************************************************************************
8764      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8765      ;for this draw module
8766      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8767        Model              = ABPWRPLANT
8768        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8769      End
8770      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8771        Model              = ABPWRPLANT_D
8772        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8773      End
8774      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8775        Model              = ABPWRPLANT_E
8776        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8777      End
8778      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8779        Model              = ABPWRPLANT_N
8780        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8781      End
8782      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8783        Model              = ABPWRPLANT_DN
8784        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8785      End
8786      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8787        Model              = ABPWRPLANT_EN
8788        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8789      End
8790      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8791        Model              = ABPWRPLANT_S
8792        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8793      End
8794      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8795        Model              = ABPWRPLANT_DS
8796        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8797      End
8798      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8799        Model              = ABPWRPLANT_ES
8800        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8801      End
8802      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8803        Model              = ABPWRPLANT_NS
8804        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8805      End
8806      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8807        Model              = ABPWRPLANT_DNS
8808        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8809      End
8810      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8811        Model              = ABPWRPLANT_ENS
8812        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8813      End
8814  
8815      ConditionState       = AWAITING_CONSTRUCTION 
8816        Model              = NONE
8817      End
8818      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8819      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8820      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8821      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8822      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8823      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8824      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8825      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8826      AliasConditionState  = SOLD DAMAGED
8827      AliasConditionState  = SOLD REALLYDAMAGED
8828      AliasConditionState  = SOLD NIGHT
8829      AliasConditionState  = SOLD NIGHT DAMAGED
8830      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8831      AliasConditionState  = SOLD SNOW
8832      AliasConditionState  = SOLD SNOW DAMAGED
8833      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8834      AliasConditionState  = SOLD NIGHT SNOW
8835      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8836      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8837      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
8838      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
8839      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
8840      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
8841      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
8842      AliasConditionState  = SOLD SNOW POWER_PLANT_UPGRADED
8843      AliasConditionState  = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED
8844      AliasConditionState  = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
8845      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
8846      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
8847      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
8848      ;**************************************************************************************************************************
8849      
8850      
8851   
8852      
8853  
8854      
8855    End
8856  
8857    ; ------------ construction-zone fence -----------------
8858  
8859    Draw = W3DModelDraw ModuleTag_02
8860    AnimationsRequirePower = No
8861      DefaultConditionState
8862        Model           = None
8863        TransitionKey   = DOWN_DEFAULT
8864      End
8865      ConditionState    = NIGHT
8866        Model           = None
8867        TransitionKey   = DOWN_DEFAULT
8868      End
8869      ConditionState    = SNOW
8870        Model           = None
8871        TransitionKey   = DOWN_DEFAULT
8872      End
8873      ConditionState    = SNOW NIGHT
8874        Model           = None
8875        TransitionKey   = DOWN_DEFAULT
8876      End
8877      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8878        Model           = ABPwrPlant_A4
8879        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8880        AnimationMode   = MANUAL
8881        Flags           = START_FRAME_LAST
8882        TransitionKey   = UP_DAY
8883        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8884        ParticleSysBone = SparksS01 LiveWireSparks02
8885      End
8886      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8887        Model           = ABPwrPlant_A4N
8888        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8889        AnimationMode   = MANUAL
8890        Flags           = START_FRAME_LAST
8891        TransitionKey   = UP_NIGHT
8892        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8893        ParticleSysBone = SparksS01 LiveWireSparks02
8894      End
8895      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8896        Model           = ABPwrPlant_A4S
8897        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8898        AnimationMode   = MANUAL
8899        Flags           = START_FRAME_LAST
8900        TransitionKey   = UP_SNOW
8901        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8902        ParticleSysBone = SparksS01 LiveWireSparks02
8903      End
8904      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8905        Model           = ABPwrPlant_A4S
8906        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8907        AnimationMode   = MANUAL
8908        Flags           = START_FRAME_LAST
8909        TransitionKey   = UP_SNOWNIGHT
8910        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8911        ParticleSysBone = SparksS01 LiveWireSparks02
8912      End
8913      TransitionState   = DOWN_DEFAULT UP_DAY
8914        Model           = ABPwrPlant_A4
8915        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8916        AnimationMode   = ONCE
8917        AnimationSpeedFactorRange = 1.0 1.0
8918        Flags           = START_FRAME_FIRST
8919      End
8920      TransitionState   = DOWN_DEFAULT UP_NIGHT
8921        Model           = ABPwrPlant_A4N
8922        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8923        AnimationMode   = ONCE
8924        AnimationSpeedFactorRange = 1.0 1.0
8925        Flags           = START_FRAME_FIRST
8926      End
8927      TransitionState   = DOWN_DEFAULT UP_SNOW
8928        Model           = ABPwrPlant_A4S
8929        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8930        AnimationMode   = ONCE
8931        AnimationSpeedFactorRange = 1.0 1.0
8932        Flags           = START_FRAME_FIRST
8933      End
8934      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8935        Model           = ABPwrPlant_A4SN
8936        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
8937        AnimationMode   = ONCE
8938        AnimationSpeedFactorRange = 1.0 1.0
8939        Flags           = START_FRAME_FIRST
8940      End
8941      TransitionState   = UP_DAY DOWN_DEFAULT
8942        Model           = ABPwrPlant_A4
8943        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8944        AnimationMode   = ONCE_BACKWARDS
8945        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8946        Flags           = START_FRAME_LAST
8947      End
8948      TransitionState   = UP_NIGHT DOWN_DEFAULT
8949        Model           = ABPwrPlant_A4N
8950        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8951        AnimationMode   = ONCE_BACKWARDS
8952        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8953        Flags           = START_FRAME_LAST
8954      End
8955      TransitionState   = UP_SNOW DOWN_DEFAULT
8956        Model           = ABPwrPlant_A4S
8957        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8958        AnimationMode   = ONCE_BACKWARDS
8959        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8960        Flags           = START_FRAME_LAST
8961      End
8962      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8963        Model           = ABPwrPlant_A4SN
8964        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
8965        AnimationMode   = ONCE_BACKWARDS
8966        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8967        Flags           = START_FRAME_LAST
8968      End
8969    End
8970  
8971    ; ------------ under-construction scaffolding -----------------
8972    Draw = W3DModelDraw ModuleTag_03
8973    AnimationsRequirePower = No
8974      MinLODRequired = MEDIUM
8975      DefaultConditionState
8976        Model           = None
8977        TransitionKey   = DOWN_DEFAULT
8978      End
8979      ConditionState    = NIGHT
8980        Model           = None
8981        TransitionKey   = DOWN_DEFAULT
8982      End
8983      ConditionState    = SNOW
8984        Model           = None
8985        TransitionKey   = DOWN_DEFAULT
8986      End
8987      ConditionState    = SNOW NIGHT
8988        Model           = None
8989        TransitionKey   = DOWN_DEFAULT
8990      End
8991      ConditionState    = PARTIALLY_CONSTRUCTED
8992        Model           = ABPwrPlant_A6
8993        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
8994        AnimationMode   = MANUAL
8995        Flags           = START_FRAME_LAST
8996        TransitionKey   = UP_DAY
8997        ParticleSysBone = SparksS01 BuildUpBlueSpark
8998        ParticleSysBone = SparksS02 BuildUpBlueSpark
8999        ParticleSysBone = SparksS03 SparksSmall
9000        ParticleSysBone = SparksS06 BuildUpBlueSpark
9001      End
9002      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9003        Model           = ABPwrPlant_A6N
9004        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9005        AnimationMode   = MANUAL
9006        Flags           = START_FRAME_LAST
9007        TransitionKey   = UP_NIGHT
9008        ParticleSysBone = SparksS01 BuildUpBlueSpark
9009        ParticleSysBone = SparksS02 BuildUpBlueSpark
9010        ParticleSysBone = SparksS03 SparksSmall
9011        ParticleSysBone = SparksS06 BuildUpBlueSpark
9012      End
9013      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9014        Model           = ABPwrPlant_A6S
9015        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9016        AnimationMode   = MANUAL
9017        Flags           = START_FRAME_LAST
9018        TransitionKey   = UP_SNOW
9019        ParticleSysBone = SparksS01 BuildUpBlueSpark
9020        ParticleSysBone = SparksS02 BuildUpBlueSpark
9021        ParticleSysBone = SparksS03 SparksSmall
9022        ParticleSysBone = SparksS06 BuildUpBlueSpark
9023      End
9024      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9025        Model           = ABPwrPlant_A6SN
9026        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9027        AnimationMode   = MANUAL
9028        Flags           = START_FRAME_LAST
9029        TransitionKey   = UP_SNOWNIGHT
9030        ParticleSysBone = SparksS01 BuildUpBlueSpark
9031        ParticleSysBone = SparksS02 BuildUpBlueSpark
9032        ParticleSysBone = SparksS03 SparksSmall
9033        ParticleSysBone = SparksS06 BuildUpBlueSpark
9034      End
9035      TransitionState   = DOWN_DEFAULT UP_DAY
9036       Model            = ABPwrPlant_A6
9037        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
9038        AnimationMode   = ONCE
9039        AnimationSpeedFactorRange = 1.0 1.0
9040        Flags           = START_FRAME_FIRST
9041      End
9042      TransitionState   = DOWN_DEFAULT UP_NIGHT
9043       Model            = ABPwrPlant_A6N
9044        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9045        AnimationMode   = ONCE
9046        AnimationSpeedFactorRange = 1.0 1.0
9047        Flags           = START_FRAME_FIRST
9048      End
9049      TransitionState   = DOWN_DEFAULT UP_SNOW
9050       Model            = ABPwrPlant_A6S
9051        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9052        AnimationMode   = ONCE
9053  
9054        AnimationSpeedFactorRange = 1.0 1.0
9055        Flags           = START_FRAME_FIRST
9056      End
9057      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9058       Model            = ABPwrPlant_A6SN
9059        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9060        AnimationMode   = ONCE
9061        AnimationSpeedFactorRange = 1.0 1.0
9062        Flags           = START_FRAME_FIRST
9063      End
9064      TransitionState   = UP_DAY DOWN_DEFAULT
9065        Model           = ABPwrPlant_A6
9066        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
9067        AnimationMode   = ONCE_BACKWARDS
9068        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9069        Flags           = START_FRAME_LAST
9070      End
9071      TransitionState   = UP_NIGHT DOWN_DEFAULT
9072        Model           = ABPwrPlant_A6N
9073        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9074        AnimationMode   = ONCE_BACKWARDS
9075        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9076        Flags           = START_FRAME_LAST
9077      End
9078      TransitionState   = UP_SNOW DOWN_DEFAULT
9079        Model           = ABPwrPlant_A6S
9080        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9081        AnimationMode   = ONCE_BACKWARDS
9082        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9083        Flags           = START_FRAME_LAST
9084      End
9085      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9086        Model           = ABPwrPlant_A6SN
9087        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9088        AnimationMode   = ONCE_BACKWARDS
9089        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9090        Flags           = START_FRAME_LAST
9091      End
9092    End
9093  
9094    ; ------------ being-constructed crane -----------------
9095    Draw = W3DModelDraw ModuleTag_04
9096    AnimationsRequirePower = No
9097      DefaultConditionState
9098        Model           = None
9099        TransitionKey   = DOWN_DEFAULT
9100      End
9101      ConditionState    = NIGHT
9102        Model           = None
9103        TransitionKey   = DOWN_DEFAULT
9104      End
9105      ConditionState    = SNOW
9106        Model           = None
9107        TransitionKey   = DOWN_DEFAULT
9108      End
9109      ConditionState    = SNOW NIGHT
9110        Model           = None
9111        TransitionKey   = DOWN_DEFAULT
9112      End
9113      ConditionState    = SOLD
9114        Model           = NONE
9115      End
9116  
9117      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
9118        Model           = ABPwrPlant_A5
9119        Animation       = ABPwrPlant_A5.ABPwrPlant_A5
9120        AnimationMode   = LOOP
9121        TransitionKey  = UP_DAY
9122      End
9123  
9124      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
9125        Model           = ABPwrPlant_A5N
9126        Animation       = ABPwrPlant_A5N.ABPwrPlant_A5N
9127        AnimationMode   = LOOP
9128        TransitionKey  = UP_NIGHT
9129      End
9130      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
9131        Model           = ABPwrPlant_A5S
9132        Animation       = ABPwrPlant_A5S.ABPwrPlant_A5S
9133        AnimationMode   = LOOP
9134        TransitionKey  = UP_SNOW
9135      End
9136      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
9137        Model           = ABPwrPlant_A5SN
9138        Animation       = ABPwrPlant_A5SN.ABPwrPlant_A5SN
9139        AnimationMode   = LOOP
9140        TransitionKey  = UP_SNOWNIGHT
9141      End
9142      TransitionState   = DOWN_DEFAULT UP_DAY
9143        Model            = ABPwrPlant_AB
9144        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
9145        AnimationMode   = ONCE
9146        AnimationSpeedFactorRange = 1.0 1.0
9147        Flags           = START_FRAME_FIRST
9148      End
9149  
9150      TransitionState   = DOWN_DEFAULT UP_NIGHT
9151        Model            = ABPwrPlant_ABN
9152        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
9153        AnimationMode   = ONCE
9154        AnimationSpeedFactorRange = 1.0 1.0
9155        Flags           = START_FRAME_FIRST
9156      End
9157  
9158      TransitionState   = DOWN_DEFAULT UP_SNOW
9159        Model            = ABPwrPlant_ABS
9160        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
9161        AnimationMode   = ONCE
9162        AnimationSpeedFactorRange = 1.0 1.0
9163        Flags           = START_FRAME_FIRST
9164      End
9165      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9166        Model            = ABPwrPlant_ABSN
9167        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
9168        AnimationMode   = ONCE
9169        AnimationSpeedFactorRange = 1.0 1.0
9170        Flags           = START_FRAME_FIRST
9171      End
9172      TransitionState   = UP_DAY DOWN_DEFAULT
9173        Model            = ABPwrPlant_AB
9174        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
9175        AnimationMode   = ONCE_BACKWARDS
9176        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9177        Flags           = START_FRAME_LAST
9178      End
9179      TransitionState   = UP_NIGHT DOWN_DEFAULT
9180        Model            = ABPwrPlant_ABN
9181        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
9182        AnimationMode   = ONCE_BACKWARDS
9183        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9184        Flags           = START_FRAME_LAST
9185      End
9186      TransitionState   = UP_SNOW DOWN_DEFAULT
9187        Model            = ABPwrPlant_ABS
9188        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
9189        AnimationMode   = ONCE_BACKWARDS
9190        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9191        Flags           = START_FRAME_LAST
9192      End
9193      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9194        Model            = ABPwrPlant_ABSN
9195        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
9196        AnimationMode   = ONCE_BACKWARDS
9197        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9198        Flags           = START_FRAME_LAST
9199      End
9200    End
9201   
9202  ; ---- the control rods -----
9203    Draw = W3DModelDraw ModuleTag_05
9204      OkToChangeModelColor = Yes
9205  
9206      ; no upgrade
9207      ConditionState = NONE
9208        Model ABPWRPLANT_A1
9209      End
9210      AliasConditionState = SNOW
9211      AliasConditionState = NIGHT
9212      AliasConditionState = SNOW NIGHT
9213  
9214      ConditionState = DAMAGED
9215        Model ABPWRPLANT_A1D
9216      End
9217      AliasConditionState = DAMAGED SNOW
9218      AliasConditionState = DAMAGED NIGHT
9219      AliasConditionState = DAMAGED SNOW NIGHT
9220  
9221      ConditionState = REALLYDAMAGED RUBBLE
9222        Model ABPWRPLANT_A1E
9223      End
9224      AliasConditionState = REALLYDAMAGED RUBBLE SNOW
9225      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
9226      AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT
9227  
9228  
9229      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9230        Model              = ABPWRPLANT_A1
9231        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9232      End
9233      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9234      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9235      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9236  
9237      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9238        Model              = ABPWRPLANT_A1D
9239        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9240      End
9241      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9242      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9243      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9244  
9245      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9246        Model              = ABPWRPLANT_A1E
9247        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9248      End
9249      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9250      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9251      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9252  
9253      ; first to upgrade
9254      ConditionState = POWER_PLANT_UPGRADING
9255        Model ABPWRPLANT_A1
9256        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
9257        AnimationMode = ONCE
9258        Flags         = START_FRAME_FIRST
9259      End
9260      AliasConditionState = POWER_PLANT_UPGRADING SNOW
9261      AliasConditionState = POWER_PLANT_UPGRADING NIGHT
9262      AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT
9263  
9264      ConditionState = DAMAGED POWER_PLANT_UPGRADING
9265        Model ABPWRPLANT_A1D
9266        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
9267        AnimationMode = ONCE
9268        Flags         = START_FRAME_FIRST
9269      End
9270      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW
9271      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT
9272      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT
9273  
9274      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING
9275        Model ABPWRPLANT_A1E
9276        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
9277        AnimationMode = ONCE
9278        Flags         = START_FRAME_FIRST
9279      End
9280      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW
9281      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT
9282      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT
9283  
9284      ; already upgraded
9285      ConditionState = POWER_PLANT_UPGRADED
9286        Model ABPWRPLANT_A1
9287        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
9288        AnimationMode = MANUAL
9289        Flags         = START_FRAME_LAST
9290      End
9291      AliasConditionState = POWER_PLANT_UPGRADED SNOW
9292      AliasConditionState = POWER_PLANT_UPGRADED NIGHT
9293      AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT
9294  
9295      ConditionState = DAMAGED POWER_PLANT_UPGRADED
9296        Model ABPWRPLANT_A1D
9297        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
9298        AnimationMode = MANUAL
9299        Flags         = START_FRAME_LAST
9300      End
9301      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
9302      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT
9303      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT
9304  
9305      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
9306        Model ABPWRPLANT_A1E
9307        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
9308        AnimationMode = MANUAL
9309        Flags         = START_FRAME_LAST
9310      End
9311      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
9312      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT
9313      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT
9314   
9315    
9316      ConditionState       = AWAITING_CONSTRUCTION 
9317        Model              = NONE
9318      End
9319      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9320      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9321      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9322      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9323      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9324      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9325      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9326      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9327      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9328      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9329      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9330      AliasConditionState  = SOLD DAMAGED
9331      AliasConditionState  = SOLD REALLYDAMAGED
9332      AliasConditionState  = SOLD NIGHT
9333      AliasConditionState  = SOLD NIGHT DAMAGED
9334      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9335      AliasConditionState  = SOLD NIGHT SNOW
9336      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9337      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9338      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
9339      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
9340      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
9341      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
9342      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
9343      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
9344      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
9345      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
9346      ;**************************************************************************************************************************
9347    
9348    End
9349    
9350    
9351   
9352    PlacementViewAngle = -45
9353  
9354    ; ***DESIGN parameters ***
9355    DisplayName      = OBJECT:ColdFusionReactor
9356    Side             = AmericaAirForceGeneral
9357    EditorSorting    = STRUCTURE
9358    Prerequisites
9359  ;    Object = AirF_AmericaCommandCenter
9360    End
9361    BuildCost        = 800
9362    BuildTime        = 10.0           ; in seconds
9363    EnergyProduction = 5
9364    EnergyBonus      = 5
9365    VisionRange      = 200.0           ; Shroud clearing distance
9366    ShroudClearingRange = 200
9367    ArmorSet
9368      Conditions     = None
9369      Armor          = StructureArmor
9370      DamageFX       = StructureDamageFXNoShake
9371    End
9372    CommandSet       = AirF_AmericaPowerPlantCommandSet
9373    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
9374  
9375    ; *** AUDIO Parameters ***
9376    VoiceSelect = ColdFusionReactorSelect
9377    SoundOnDamaged        = BuildingDamagedStateLight
9378    SoundOnReallyDamaged  = BuildingDestroy
9379  
9380    UnitSpecificSounds
9381      UnderConstruction     = UnderConstructionLoop
9382    End
9383  
9384    ; *** ENGINEERING Parameters ***
9385    RadarPriority   = STRUCTURE
9386    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY
9387    Body            = StructureBody ModuleTag_06
9388      MaxHealth       = 800.0
9389      InitialHealth   = 800.0
9390  
9391      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9392      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9393      SubdualDamageCap = 1000
9394      SubdualDamageHealRate = 500
9395      SubdualDamageHealAmount = 100
9396    End
9397  
9398    Behavior = PowerPlantUpgrade ModuleTag_07
9399      TriggeredBy = Upgrade_AmericaAdvancedControlRods
9400    End
9401  
9402    Behavior = BaseRegenerateUpdate ModuleTag_08
9403      ;No data
9404    End
9405    Behavior = PowerPlantUpdate ModuleTag_09
9406      RodsExtendTime = 600
9407    End
9408  
9409  
9410    Behavior = DestroyDie ModuleTag_10
9411      ;nothing
9412    End
9413    Behavior             = CreateObjectDie ModuleTag_11
9414      CreationList  = OCL_ABPowerPlantExplode
9415    End
9416    Behavior             = CreateObjectDie ModuleTag_12
9417      CreationList  = OCL_AmericanRangerDebris02
9418      ExemptStatus  = UNDER_CONSTRUCTION
9419    End
9420    Behavior        = FXListDie ModuleTag_13
9421      DeathFX       = FX_StructureSmallDeath
9422    End
9423  
9424    Behavior = ProductionUpdate ModuleTag_14
9425      ; nothing
9426    End
9427  
9428    Behavior = FlammableUpdate ModuleTag_16
9429      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
9430      AflameDamageAmount = 5       ; taking this much damage...
9431      AflameDamageDelay = 500       ; this often.
9432    End
9433  
9434    Behavior = TransitionDamageFX ModuleTag_17
9435      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
9436      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9437      ;---------------------------------------------------------------------------------------
9438      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9439      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
9440      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
9441    End
9442  
9443    Geometry            = BOX
9444    GeometryMajorRadius = 22.0
9445    GeometryMinorRadius = 30.0
9446    GeometryHeight      = 46.0
9447    GeometryIsSmall     = No
9448    Shadow          = SHADOW_VOLUME
9449    BuildCompletion = PLACED_BY_PLAYER
9450  
9451  End
9452  
9453  ;------------------------------------------------------------------------------
9454  Object AirF_AmericaParticleCannonUplink
9455  
9456    ; *** ART Parameters ***
9457    SelectPortrait         = SAUplink_L
9458    ButtonImage            = SAUplink
9459  
9460    Draw = W3DModelDraw ModuleTag_01
9461      ExtraPublicBone        = FX01
9462      ExtraPublicBone        = FX02
9463      ExtraPublicBone        = FX03
9464      ExtraPublicBone        = FX04
9465      ExtraPublicBone        = FX05
9466      OkToChangeModelColor = Yes
9467      
9468      
9469      ; day **************************************
9470      ConditionState       = NONE
9471        Model              = ABSDILink
9472        Animation          = ABSDILink.ABSDILink
9473        AnimationMode      = LOOP
9474        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9475      End
9476      ConditionState       = DAMAGED
9477        Model              = ABSDILink_D
9478        Animation          = ABSDILink_D.ABSDILink_D
9479        AnimationMode      = LOOP
9480        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9481      End
9482      ConditionState       = REALLYDAMAGED RUBBLE
9483        Model              = ABSDILink_E
9484        Animation          = ABSDILink_E.ABSDILink_E
9485        AnimationMode      = LOOP
9486        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9487      End
9488  
9489  
9490      ; night *************************************
9491      ConditionState       = NIGHT
9492        Model              = ABSDILink_N
9493        Animation          = ABSDILink_N.ABSDILink_N
9494        AnimationMode      = LOOP
9495        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9496      End
9497      ConditionState       = DAMAGED NIGHT
9498        Model              = ABSDILink_DN
9499        Animation          = ABSDILink_DN.ABSDILink_DN
9500        AnimationMode      = LOOP
9501        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9502      End
9503      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
9504        Model              = ABSDILink_EN
9505        Animation          = ABSDILink_EN.ABSDILink_EN
9506        AnimationMode      = LOOP
9507        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9508      End
9509      
9510      ; day snow **************************************
9511      ConditionState       = SNOW
9512        Model              = ABSDILink_S
9513        Animation          = ABSDILink_S.ABSDILink_S
9514        AnimationMode      = LOOP
9515        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9516      End
9517      ConditionState       = DAMAGED SNOW
9518        Model              = ABSDILink_DS
9519        Animation          = ABSDILink_DS.ABSDILink_DS
9520        AnimationMode      = LOOP
9521        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9522      End
9523      ConditionState       = REALLYDAMAGED RUBBLE SNOW
9524        Model              = ABSDILink_ES
9525        Animation          = ABSDILink_ES.ABSDILink_ES
9526        AnimationMode      = LOOP
9527        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9528      End
9529  
9530      ; night snow *************************************
9531      ConditionState       = NIGHT SNOW
9532        Model              = ABSDILink_NS
9533        Animation          = ABSDILink_NS.ABSDILink_NS
9534        AnimationMode      = LOOP
9535        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9536      End
9537      ConditionState       = DAMAGED NIGHT SNOW
9538        Model              = ABSDILink_DNS
9539        Animation          = ABSDILink_DNS.ABSDILink_DNS
9540        AnimationMode      = LOOP
9541        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9542      End
9543      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
9544        Model              = ABSDILink_ENS
9545        Animation          = ABSDILink_ENS.ABSDILink_ENS
9546        AnimationMode      = LOOP
9547        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9548      End
9549  
9550      ;**************************************************************************************************************************
9551      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9552      ;for this draw module
9553      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9554        Model              = ABSDILink
9555        Animation          = ABSDILink.ABSDILink
9556        AnimationMode      = LOOP
9557        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9558      End
9559      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9560        Model              = ABSDILink_D
9561        Animation          = ABSDILink_D.ABSDILink_D
9562        AnimationMode      = LOOP
9563        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9564      End
9565      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9566        Model              = ABSDILink_E
9567        Animation          = ABSDILink_E.ABSDILink_E
9568        AnimationMode      = LOOP
9569        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9570      End
9571      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9572        Model              = ABSDILink_N
9573        Animation          = ABSDILink_N.ABSDILink_N
9574        AnimationMode      = LOOP
9575        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9576      End
9577      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
9578        Model              = ABSDILink_DN
9579        Animation          = ABSDILink_DN.ABSDILink_DN
9580        AnimationMode      = LOOP
9581        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9582      End
9583      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
9584        Model              = ABSDILink_EN
9585        Animation          = ABSDILink_EN.ABSDILink_EN
9586        AnimationMode      = LOOP
9587        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9588      End
9589      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9590        Model              = ABSDILink_S
9591        Animation          = ABSDILink_S.ABSDILink_S
9592        AnimationMode      = LOOP
9593        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9594      End
9595      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
9596        Model              = ABSDILink_DS
9597        Animation          = ABSDILink_DS.ABSDILink_DS
9598        AnimationMode      = LOOP
9599        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9600      End
9601      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
9602        Model              = ABSDILink_ES
9603        Animation          = ABSDILink_ES.ABSDILink_ES
9604        AnimationMode      = LOOP
9605        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9606      End
9607      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9608        Model              = ABSDILink_NS
9609        Animation          = ABSDILink_NS.ABSDILink_NS
9610        AnimationMode      = LOOP
9611        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9612      End
9613      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
9614        Model              = ABSDILink_DNS
9615        Animation          = ABSDILink_DNS.ABSDILink_DNS
9616        AnimationMode      = LOOP
9617        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9618      End
9619      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
9620        Model              = ABSDILink_ENS
9621        Animation          = ABSDILink_ENS.ABSDILink_ENS
9622        AnimationMode      = LOOP
9623        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9624      End
9625  
9626      ConditionState       = AWAITING_CONSTRUCTION 
9627        Model              = NONE
9628      End
9629      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9630      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9631      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9632      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9633      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9634      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9635      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9636      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9637      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9638      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9639      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9640      AliasConditionState  = SOLD 
9641      AliasConditionState  = SOLD DAMAGED
9642      AliasConditionState  = SOLD REALLYDAMAGED
9643      AliasConditionState  = SOLD NIGHT
9644      AliasConditionState  = SOLD NIGHT DAMAGED
9645      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9646      AliasConditionState  = SOLD SNOW
9647      AliasConditionState  = SOLD SNOW DAMAGED
9648      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9649      AliasConditionState  = SOLD NIGHT SNOW
9650      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9651      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9652      ;**************************************************************************************************************************
9653  
9654  
9655  
9656    End
9657  
9658    ;------------ the cannon section (hatch, dish animations) -----------
9659    Draw = W3DModelDraw ModuleTag_02
9660      ExtraPublicBone        = FXConnector
9661      ExtraPublicBone        = FXMain
9662      OkToChangeModelColor = Yes
9663      ; day **************************************
9664      ConditionState       = NONE
9665        Model              = ABSDILink_A1
9666        Animation          = ABSDILink_A1.ABSDILink_A1
9667        AnimationMode      = MANUAL
9668        Flags              = START_FRAME_FIRST
9669      End
9670      AliasConditionState  = NIGHT 
9671      AliasConditionState  = NIGHT SNOW
9672      AliasConditionState  = SNOW
9673      
9674      ConditionState       = DAMAGED
9675        Model              = ABSDILink_A1D
9676        Animation          = ABSDILink_A1D.ABSDILink_A1D
9677        AnimationMode      = MANUAL
9678        Flags              = START_FRAME_FIRST
9679      End
9680      AliasConditionState  = NIGHT DAMAGED
9681      AliasConditionState  = NIGHT SNOW DAMAGED
9682      AliasConditionState  = SNOW DAMAGED
9683      
9684      ConditionState       = REALLYDAMAGED RUBBLE
9685        Model              = ABSDILink_A1E
9686        Animation          = ABSDILink_A1E.ABSDILink_A1E
9687        AnimationMode      = MANUAL
9688        Flags              = START_FRAME_FIRST
9689      End
9690      AliasConditionState  = NIGHT REALLYDAMAGED RUBBLE
9691      AliasConditionState  = NIGHT SNOW REALLYDAMAGED RUBBLE
9692      AliasConditionState  = SNOW REALLYDAMAGED RUBBLE
9693      
9694      ConditionState       = AWAITING_CONSTRUCTION
9695        Model              = None
9696      End
9697      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION
9698      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION
9699      AliasConditionState  = SNOW AWAITING_CONSTRUCTION
9700      
9701      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9702        Model              = ABSDILink_A1
9703        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9704      End
9705      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9706      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9707      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9708      
9709      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9710        Model              = ABSDILink_A1D
9711        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9712      End
9713      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9714      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9715      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9716  
9717      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9718        Model              = ABSDILink_A1E
9719        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9720      End
9721      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9722      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9723      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9724  
9725      ;Preparing to fire!
9726      ConditionState       = UNPACKING
9727        Model              = ABSDILink_A1
9728        Animation          = ABSDILink_A1.ABSDILink_A1
9729        AnimationMode      = ONCE
9730        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9731      End
9732      AliasConditionState  = NIGHT UNPACKING
9733      AliasConditionState  = NIGHT SNOW UNPACKING
9734      AliasConditionState  = SNOW UNPACKING
9735      
9736      ConditionState       = UNPACKING DAMAGED
9737        Model              = ABSDILink_A1D
9738        Animation          = ABSDILink_A1D.ABSDILink_A1D
9739        AnimationMode      = ONCE
9740        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9741      End
9742      AliasConditionState  = NIGHT UNPACKING DAMAGED
9743      AliasConditionState  = NIGHT SNOW UNPACKING DAMAGED
9744      AliasConditionState  = SNOW UNPACKING DAMAGED
9745      
9746      ConditionState       = UNPACKING REALLYDAMAGED RUBBLE
9747        Model              = ABSDILink_A1E
9748        Animation          = ABSDILink_A1E.ABSDILink_A1E
9749        AnimationMode      = ONCE
9750        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9751      End
9752      AliasConditionState  = NIGHT UNPACKING REALLYDAMAGED RUBBLE
9753      AliasConditionState  = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE
9754      AliasConditionState  = SNOW UNPACKING REALLYDAMAGED RUBBLE
9755  
9756      ;Ready to fire -- or firing!
9757      ConditionState       = DEPLOYED
9758        Model              = ABSDILink_A1
9759        Animation          = ABSDILink_A1.ABSDILink_A1
9760        AnimationMode      = MANUAL
9761        Flags              = START_FRAME_LAST
9762      End
9763      AliasConditionState  = NIGHT DEPLOYED
9764      AliasConditionState  = NIGHT SNOW DEPLOYED
9765      AliasConditionState  = SNOW DEPLOYED
9766      
9767      ConditionState       = DEPLOYED DAMAGED
9768        Model              = ABSDILink_A1D
9769        Animation          = ABSDILink_A1D.ABSDILink_A1D
9770        AnimationMode      = MANUAL
9771        Flags              = START_FRAME_LAST
9772      End
9773      AliasConditionState  = NIGHT DEPLOYED DAMAGED
9774      AliasConditionState  = NIGHT SNOW DEPLOYED DAMAGED
9775      AliasConditionState  = SNOW DEPLOYED DAMAGED
9776      
9777      ConditionState       = DEPLOYED REALLYDAMAGED RUBBLE
9778        Model              = ABSDILink_A1E
9779        Animation          = ABSDILink_A1E.ABSDILink_A1E
9780        AnimationMode      = MANUAL
9781        Flags              = START_FRAME_LAST
9782      End
9783      AliasConditionState  = NIGHT DEPLOYED REALLYDAMAGED RUBBLE
9784      AliasConditionState  = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE
9785      AliasConditionState  = SNOW DEPLOYED REALLYDAMAGED RUBBLE
9786     
9787      ;Packing up (recharging for new attack)
9788      ConditionState       = PACKING
9789        Model              = ABSDILink_A1
9790        Animation          = ABSDILink_A1.ABSDILink_A1
9791        AnimationMode      = ONCE_BACKWARDS
9792        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9793      End
9794      AliasConditionState  = NIGHT PACKING
9795      AliasConditionState  = NIGHT SNOW PACKING
9796      AliasConditionState  = SNOW PACKING
9797      
9798      ConditionState       = PACKING DAMAGED
9799        Model              = ABSDILink_A1D
9800        Animation          = ABSDILink_A1D.ABSDILink_A1D
9801        AnimationMode      = ONCE_BACKWARDS
9802        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9803      End
9804      AliasConditionState  = NIGHT PACKING DAMAGED
9805      AliasConditionState  = NIGHT SNOW PACKING DAMAGED
9806      AliasConditionState  = SNOW PACKING DAMAGED
9807      
9808      ConditionState       = PACKING REALLYDAMAGED RUBBLE
9809        Model              = ABSDILink_A1E
9810        Animation          = ABSDILink_A1E.ABSDILink_A1E
9811        AnimationMode      = ONCE_BACKWARDS
9812        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9813      End
9814      AliasConditionState  = NIGHT PACKING REALLYDAMAGED RUBBLE
9815      AliasConditionState  = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE
9816      AliasConditionState  = SNOW PACKING REALLYDAMAGED RUBBLE
9817  
9818     
9819      ConditionState       = SOLD DEPLOYED
9820        Model              = NONE
9821      End     
9822      ConditionState       = SOLD SNOW DEPLOYED
9823         Model             = NONE
9824      End   
9825      ConditionState       = SOLD NIGHT DEPLOYED
9826         Model             = NONE
9827      End    
9828      ConditionState       = SOLD NIGHT SNOW DEPLOYED
9829         Model             = NONE
9830      End   
9831    End
9832  
9833  
9834    ; ------------ construction-zone fence -----------------
9835    Draw = W3DModelDraw ModuleTag_03
9836    AnimationsRequirePower = No
9837      DefaultConditionState
9838        Model           = None
9839        TransitionKey   = DOWN_DEFAULT
9840      End
9841      ConditionState    = NIGHT
9842        Model           = None
9843        TransitionKey   = DOWN_DEFAULT
9844      End
9845      ConditionState    = SNOW
9846        Model           = None
9847        TransitionKey   = DOWN_DEFAULT
9848      End
9849      ConditionState    = SNOW NIGHT
9850        Model           = None
9851        TransitionKey   = DOWN_DEFAULT
9852      End
9853      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9854        Model           = ABSDILink_A4
9855        Animation       = ABSDILink_A4.ABSDILink_A4
9856        AnimationMode   = MANUAL
9857        Flags           = START_FRAME_LAST
9858        TransitionKey   = UP_DAY
9859        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9860        ParticleSysBone = SparksS01 LiveWireSparks02
9861      End
9862      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9863        Model           = ABSDILink_A4N
9864        Animation       = ABSDILink_A4N.ABSDILink_A4N
9865        AnimationMode   = MANUAL
9866        Flags           = START_FRAME_LAST
9867        TransitionKey   = UP_NIGHT
9868        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9869        ParticleSysBone = SparksS01 LiveWireSparks02
9870      End
9871      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9872        Model           = ABSDILink_A4S
9873        Animation       = ABSDILink_A4S.ABSDILink_A4S
9874        AnimationMode   = MANUAL
9875        Flags           = START_FRAME_LAST
9876        TransitionKey   = UP_SNOW
9877        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9878        ParticleSysBone = SparksS01 LiveWireSparks02
9879      End
9880      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9881        Model           = ABSDILink_A4SN
9882        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9883        AnimationMode   = MANUAL
9884        Flags           = START_FRAME_LAST
9885        TransitionKey   = UP_SNOWNIGHT
9886        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9887        ParticleSysBone = SparksS01 LiveWireSparks02
9888      End
9889      TransitionState   = DOWN_DEFAULT UP_DAY
9890        Model           = ABSDILink_A4
9891        Animation       = ABSDILink_A4.ABSDILink_A4
9892        AnimationMode   = ONCE
9893        AnimationSpeedFactorRange = 1.0 1.0
9894        Flags           = START_FRAME_FIRST
9895      End
9896      TransitionState   = DOWN_DEFAULT UP_NIGHT
9897        Model           = ABSDILink_A4N
9898        Animation       = ABSDILink_A4N.ABSDILink_A4N
9899        AnimationMode   = ONCE
9900        AnimationSpeedFactorRange = 1.0 1.0
9901        Flags           = START_FRAME_FIRST
9902      End
9903      TransitionState   = DOWN_DEFAULT UP_SNOW
9904        Model           = ABSDILink_A4S
9905        Animation       = ABSDILink_A4S.ABSDILink_A4S
9906        AnimationMode   = ONCE
9907        AnimationSpeedFactorRange = 1.0 1.0
9908        Flags           = START_FRAME_FIRST
9909      End
9910      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9911        Model           = ABSDILink_A4SN
9912        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9913        AnimationMode   = ONCE
9914        AnimationSpeedFactorRange = 1.0 1.0
9915        Flags           = START_FRAME_FIRST
9916      End
9917      TransitionState   = UP_DAY DOWN_DEFAULT
9918        Model           = ABSDILink_A4
9919        Animation       = ABSDILink_A4.ABSDILink_A4
9920        AnimationMode   = ONCE_BACKWARDS
9921        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9922        Flags           = START_FRAME_LAST
9923      End
9924      TransitionState   = UP_NIGHT DOWN_DEFAULT
9925        Model           = ABSDILink_A4N
9926        Animation       = ABSDILink_A4N.ABSDILink_A4N
9927        AnimationMode   = ONCE_BACKWARDS
9928        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9929        Flags           = START_FRAME_LAST
9930      End
9931      TransitionState   = UP_SNOW DOWN_DEFAULT
9932        Model           = ABSDILink_A4S
9933        Animation       = ABSDILink_A4S.ABSDILink_A4S
9934        AnimationMode   = ONCE_BACKWARDS
9935        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9936        Flags           = START_FRAME_LAST
9937      End
9938      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9939        Model           = ABSDILink_A4SN
9940        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9941        AnimationMode   = ONCE_BACKWARDS
9942        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9943        Flags           = START_FRAME_LAST
9944      End
9945    End
9946  
9947    ; ------------ under-construction scaffolding -----------------
9948    Draw = W3DModelDraw ModuleTag_04
9949    AnimationsRequirePower = No
9950      MinLODRequired = MEDIUM
9951      DefaultConditionState
9952        Model           = None
9953        TransitionKey   = DOWN_DEFAULT
9954      End
9955      ConditionState    = NIGHT
9956        Model           = None
9957        TransitionKey   = DOWN_DEFAULT
9958      End
9959      ConditionState    = SNOW
9960        Model           = None
9961        TransitionKey   = DOWN_DEFAULT
9962      End
9963      ConditionState    = SNOW NIGHT
9964        Model           = None
9965        TransitionKey   = DOWN_DEFAULT
9966      End
9967      ConditionState    = PARTIALLY_CONSTRUCTED
9968        Model           = ABSDILink_A6
9969        Animation       = ABSDILink_A6.ABSDILink_A6
9970        AnimationMode   = MANUAL
9971        Flags           = START_FRAME_LAST
9972        TransitionKey   = UP_DAY
9973        ParticleSysBone = Sparks01 BuildUpBlueSpark
9974        ParticleSysBone = Sparks02 BuildUpBlueSpark
9975        ParticleSysBone = Sparks03 BuildUpBlueSpark
9976        ParticleSysBone = Sparks04 BuildUpBlueSpark
9977        ParticleSysBone = Sparks05 BuildUpBlueSpark
9978      End
9979      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9980        Model           = ABSDILink_A6N
9981        Animation       = ABSDILink_A6N.ABSDILink_A6N
9982        AnimationMode   = MANUAL
9983        Flags           = START_FRAME_LAST
9984        TransitionKey   = UP_NIGHT
9985        ParticleSysBone = Sparks01 BuildUpBlueSpark
9986        ParticleSysBone = Sparks02 BuildUpBlueSpark
9987        ParticleSysBone = Sparks03 BuildUpBlueSpark
9988        ParticleSysBone = Sparks04 BuildUpBlueSpark
9989        ParticleSysBone = Sparks05 BuildUpBlueSpark
9990      End
9991      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9992        Model           = ABSDILink_A6S
9993        Animation       = ABSDILink_A6S.ABSDILink_A6S
9994        AnimationMode   = MANUAL
9995        Flags           = START_FRAME_LAST
9996        TransitionKey   = UP_SNOW
9997        ParticleSysBone = Sparks01 BuildUpBlueSpark
9998        ParticleSysBone = Sparks02 BuildUpBlueSpark
9999        ParticleSysBone = Sparks03 BuildUpBlueSpark
10000        ParticleSysBone = Sparks04 BuildUpBlueSpark
10001        ParticleSysBone = Sparks05 BuildUpBlueSpark
10002      End
10003      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10004        Model           = ABSDILink_A6SN
10005        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10006        AnimationMode   = MANUAL
10007        Flags           = START_FRAME_LAST
10008        TransitionKey   = UP_SNOWNIGHT
10009        ParticleSysBone = Sparks01 BuildUpBlueSpark
10010        ParticleSysBone = Sparks02 BuildUpBlueSpark
10011        ParticleSysBone = Sparks03 BuildUpBlueSpark
10012        ParticleSysBone = Sparks04 BuildUpBlueSpark
10013        ParticleSysBone = Sparks05 BuildUpBlueSpark
10014      End
10015      TransitionState   = DOWN_DEFAULT UP_DAY
10016       Model            = ABSDILink_A6
10017        Animation       = ABSDILink_A6.ABSDILink_A6
10018        AnimationMode   = ONCE
10019        AnimationSpeedFactorRange = 1.0 1.0
10020        Flags           = START_FRAME_FIRST
10021      End
10022      TransitionState   = DOWN_DEFAULT UP_NIGHT
10023       Model            = ABSDILink_A6N
10024        Animation       = ABSDILink_A6N.ABSDILink_A6N
10025        AnimationMode   = ONCE
10026        AnimationSpeedFactorRange = 1.0 1.0
10027        Flags           = START_FRAME_FIRST
10028      End
10029      TransitionState   = DOWN_DEFAULT UP_SNOW
10030       Model            = ABSDILink_A6S
10031        Animation       = ABSDILink_A6S.ABSDILink_A6S
10032        AnimationMode   = ONCE
10033        AnimationSpeedFactorRange = 1.0 1.0
10034        Flags           = START_FRAME_FIRST
10035      End
10036      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10037       Model            = ABSDILink_A6SN
10038        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10039        AnimationMode   = ONCE
10040        AnimationSpeedFactorRange = 1.0 1.0
10041        Flags           = START_FRAME_FIRST
10042      End
10043      TransitionState   = UP_DAY DOWN_DEFAULT
10044        Model           = ABSDILink_A6
10045        Animation       = ABSDILink_A6.ABSDILink_A6
10046        AnimationMode   = ONCE_BACKWARDS
10047        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10048        Flags           = START_FRAME_LAST
10049      End
10050      TransitionState   = UP_NIGHT DOWN_DEFAULT
10051        Model           = ABSDILink_A6N
10052        Animation       = ABSDILink_A6N.ABSDILink_A6N
10053        AnimationMode   = ONCE_BACKWARDS
10054        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10055        Flags           = START_FRAME_LAST
10056      End
10057      TransitionState   = UP_SNOW DOWN_DEFAULT
10058        Model           = ABSDILink_A6S
10059        Animation       = ABSDILink_A6S.ABSDILink_A6S
10060        AnimationMode   = ONCE_BACKWARDS
10061        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10062        Flags           = START_FRAME_LAST
10063      End
10064      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10065        Model           = ABSDILink_A6SN
10066        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10067        AnimationMode   = ONCE_BACKWARDS
10068        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10069        Flags           = START_FRAME_LAST
10070      End
10071    End
10072  
10073    ; ------------ being-constructed crane -----------------
10074    Draw = W3DModelDraw ModuleTag_05
10075    AnimationsRequirePower = No
10076      DefaultConditionState
10077        Model           = None
10078        TransitionKey   = DOWN_DEFAULT
10079      End
10080      ConditionState    = NIGHT
10081        Model           = None
10082        TransitionKey   = DOWN_DEFAULT
10083      End
10084      ConditionState    = SNOW
10085        Model           = None
10086        TransitionKey   = DOWN_DEFAULT
10087      End
10088      ConditionState    = SNOW NIGHT
10089        Model           = None
10090        TransitionKey   = DOWN_DEFAULT
10091      End
10092      ConditionState    = SOLD
10093        Model           = NONE
10094      End
10095  
10096      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
10097        Model           = ABSDILink_A5
10098        Animation       = ABSDILink_A5.ABSDILink_A5
10099        AnimationMode   = LOOP
10100        TransitionKey  = UP_DAY
10101      End
10102  
10103      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
10104        Model           = ABSDILink_A5N
10105        Animation       = ABSDILink_A5N.ABSDILink_A5N
10106        AnimationMode   = LOOP
10107        TransitionKey  = UP_NIGHT
10108      End
10109      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
10110        Model           = ABSDILink_A5S
10111        Animation       = ABSDILink_A5S.ABSDILink_A5S
10112        AnimationMode   = LOOP
10113        TransitionKey  = UP_SNOW
10114      End
10115      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
10116        Model           = ABSDILink_A5SN
10117        Animation       = ABSDILink_A5SN.ABSDILink_A5SN
10118        AnimationMode   = LOOP
10119        TransitionKey  = UP_SNOWNIGHT
10120      End
10121      TransitionState   = DOWN_DEFAULT UP_DAY
10122        Model            = ABSDILink_AB
10123        Animation       = ABSDILink_AB.ABSDILink_AB
10124        AnimationMode   = ONCE
10125        AnimationSpeedFactorRange = 1.0 1.0
10126        Flags           = START_FRAME_FIRST
10127      End
10128  
10129      TransitionState   = DOWN_DEFAULT UP_NIGHT
10130        Model            = ABSDILink_ABN
10131        Animation       = ABSDILink_ABN.ABSDILink_ABN
10132        AnimationMode   = ONCE
10133        AnimationSpeedFactorRange = 1.0 1.0
10134        Flags           = START_FRAME_FIRST
10135      End
10136      TransitionState   = DOWN_DEFAULT UP_SNOW
10137        Model            = ABSDILink_ABS
10138        Animation       = ABSDILink_ABS.ABSDILink_ABS
10139        AnimationMode   = ONCE
10140        AnimationSpeedFactorRange = 1.0 1.0
10141        Flags           = START_FRAME_FIRST
10142      End
10143      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10144        Model            = ABSDILink_ABSN
10145        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
10146        AnimationMode   = ONCE
10147        AnimationSpeedFactorRange = 1.0 1.0
10148        Flags           = START_FRAME_FIRST
10149      End
10150      TransitionState   = UP_DAY DOWN_DEFAULT
10151        Model            = ABSDILink_AB
10152        Animation       = ABSDILink_AB.ABSDILink_AB
10153        AnimationMode   = ONCE_BACKWARDS
10154        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10155        Flags           = START_FRAME_LAST
10156      End
10157      TransitionState   = UP_NIGHT DOWN_DEFAULT
10158        Model            = ABSDILink_ABN
10159        Animation       = ABSDILink_ABN.ABSDILink_ABN
10160        AnimationMode   = ONCE_BACKWARDS
10161        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10162        Flags           = START_FRAME_LAST
10163      End
10164      TransitionState   = UP_SNOW DOWN_DEFAULT
10165        Model            = ABSDILink_ABS
10166        Animation       = ABSDILink_ABS.ABSDILink_ABS
10167        AnimationMode   = ONCE_BACKWARDS
10168        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10169        Flags           = START_FRAME_LAST
10170      End
10171      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10172        Model            = ABSDILink_ABSN
10173        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
10174        AnimationMode   = ONCE_BACKWARDS
10175        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10176        Flags           = START_FRAME_LAST
10177      End
10178    End
10179   
10180    PlacementViewAngle = -45
10181  
10182    ; ***DESIGN parameters ***
10183    DisplayName      = OBJECT:ParticleCannon 
10184    Side = AmericaAirForceGeneral
10185    EditorSorting    = STRUCTURE
10186    Prerequisites
10187      Object = AirF_AmericaStrategyCenter
10188    End
10189    BuildCost        = 5000
10190    BuildTime        = 60.0           ; in seconds
10191    EnergyProduction = -10
10192    VisionRange     = 200.0           ; Shroud clearing distance
10193    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
10194                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
10195  
10196    ShroudClearingRange = 200
10197    ArmorSet
10198      Conditions      = None
10199      Armor           = StructureArmorTough
10200      DamageFX        = StructureDamageFXNoShake
10201    End
10202    CommandSet        = AirF_AmericaParticleUplinkCannonCommandSet
10203    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
10204  
10205    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
10206    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
10207  
10208    ; *** AUDIO Parameters ***
10209    VoiceSelect = ParticleCannonSelect
10210    SoundOnDamaged        = BuildingDamagedStateLight
10211    SoundOnReallyDamaged  = BuildingDestroy
10212  
10213    UnitSpecificSounds
10214      UnderConstruction     = UnderConstructionLoop
10215    End
10216  
10217    ; *** ENGINEERING Parameters ***
10218    RadarPriority   = STRUCTURE
10219    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
10220    Body            = StructureBody ModuleTag_06
10221      MaxHealth       = 4000.0
10222      InitialHealth   = 4000.0
10223  
10224      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10225      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10226      SubdualDamageCap = 4200
10227      SubdualDamageHealRate = 500
10228      SubdualDamageHealAmount = 100
10229    End
10230    Behavior = BaseRegenerateUpdate ModuleTag_07
10231      ;No data
10232    End
10233  
10234    Behavior = SpecialPowerCreate ModuleTag_16
10235      ;nothing
10236    End
10237    Behavior = SpecialAbility ModuleTag_11
10238      SpecialPowerTemplate = SuperweaponParticleUplinkCannon
10239      UpdateModuleStartsAttack = Yes
10240    End
10241    Behavior = ParticleUplinkCannonUpdate ModuleTag_12
10242      SpecialPowerTemplate            = SuperweaponParticleUplinkCannon
10243  
10244      ;The values trigger the various pre-stages before being ready to actually fire.
10245      ;The total combined value of these determines the first sign of activity in the 
10246      ;cannon.
10247      BeginChargeTime                 = 5000 ;The outer nodes begin to charge.
10248      RaiseAntennaTime                = 4667 ;The hatch opens and raises antenna (matches animation speed)
10249      ReadyDelayTime                  = 2000 ;The time after antenna is raised prior to being ready to fire.
10250  
10251      ;***NOTE -- these values effect gameplay*****
10252      TotalFiringTime                 = 10000     ;The total ground contact time of the beam
10253  
10254      DamagePerSecond                 = 400       ;Amount of damage inflicted per second
10255      TotalDamagePulses               = 40        ;The total number of damage pulses -- less means more damage per pulse, but less accurate
10256      WidthGrowTime                   = 2000      ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking)
10257      BeamTravelTime                  = 2500      ;How long it takes for the beam to hit the ground after leaving the firing dish.
10258      DamageType                      = PARTICLE_BEAM ;Type of damage inflicted.
10259      DamageRadiusScalar              = 3.4       ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too!
10260      RevealRange                     = 50.0      ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death.
10261      ;********************************************
10262  
10263      ;Bone names for required elements
10264      OuterEffectBoneName             = FX          ;The base name for the outer node bones.
10265      OuterEffectNumBones             = 5           ;The number of outer nodes.
10266      ConnectorBoneName               = FXConnector ;The name of the bone where the connector lasers meet.
10267      FireBoneName                    = FXMain      ;The name of the bone where the main beam is fired from.
10268  
10269      ;These are particle systems tied to the outer nodes in varying intensities.
10270      OuterNodesLightFlareParticleSystem    = ParticleUplinkCannon_OuterNodeLightFlare
10271      OuterNodesMediumFlareParticleSystem   = ParticleUplinkCannon_OuterNodeMediumFlare
10272      OuterNodesIntenseFlareParticleSystem  = ParticleUplinkCannon_OuterNodeIntenseFlare
10273  
10274      ;The connectors system connects each of the outer nodes to the central node that receives
10275      ;the lasers from outside.
10276      ConnectorMediumLaserName        = ParticleUplinkCannon_MediumConnectorLaser
10277      ConnectorIntenseLaserName       = ParticleUplinkCannon_IntenseConnectorLaser
10278  
10279      ;Currently commented out -- These
10280      ;ConnectorMediumFlare            = ParticleUplinkCannon_InnerConnectorMediumFlare
10281      ;ConnectorIntenseFlare           = ParticleUplinkCannon_InnerConnectorIntenseFlare
10282  
10283      ;This is the name of the bone on the building where the beam is fired from
10284      LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire
10285      ParticleBeamLaserName           = ParticleUplinkCannon_OrbitalLaser
10286      GroundHitFX                     = FX_ParticleUplinkCannon_BeamHitsGround     ;TotalScorchMarks determines how many times this gets called.
10287  
10288      ;The flare fxlist that is played over and over during the beam firing process. Be
10289      ;mindful of the delay because that effects both art and sound.
10290      BeamLaunchFX                   = FX_ParticleUplinkCannon_BeamLaunchIteration
10291      DelayBetweenLaunchFX           = 1000
10292  
10293      ;Each scorch mark creates an object in the world, so while making more looks better
10294      ;it becomes a performance issue. The scalar will calculate the size of the scorch
10295      ;mark to make based on the current size of the beam (which changes dynamically). The
10296      ;number also matches the number of times the "GroundHitFX" is called.
10297      TotalScorchMarks               = 20
10298      ScorchMarkScalar               = 2.4
10299  
10300      ;***NOTE -- these values effect gameplay***
10301      ;The swath of death is the path the laser tracers centered on the targeted position.
10302      ;If the amplitude is zero, the line will go straight, with a higher value, it'll do
10303      ;a sine wave iteration, but always goes through the target point.
10304      SwathOfDeathDistance           = 200.0
10305      SwathOfDeathAmplitude          = 50.0
10306  
10307  
10308      ManualDrivingSpeed             = 20
10309      ManualFastDrivingSpeed         = 40
10310      DoubleClickToFastDriveDelay    = 500
10311  
10312      ;***SOUNDS!****
10313      PoweringUpSoundLoop            = ParticleUplinkCannon_PowerupSoundLoop
10314      UnpackToIdleSoundLoop          = ParticleUplinkCannon_UnpackToIdleSoundLoop
10315      FiringToPackSoundLoop          = ParticleUplinkCannon_FiringToPackSoundLoop
10316      GroundAnnihilationSoundLoop    = ParticleUplinkCannon_GroundAnnihilationSoundLoop
10317  
10318      ;The trail left behind creates an object that inflicts extra damage for a short period of time.
10319      DamagePulseRemnantObjectName   = ParticleUplinkCannonTrailRemnant
10320    End
10321    
10322    Behavior = FlammableUpdate ModuleTag_14
10323      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10324      AflameDamageAmount = 5       ; taking this much damage...
10325      AflameDamageDelay = 500       ; this often.
10326    End
10327  
10328    Behavior = ProductionUpdate ModuleTag_15
10329      ; This is needed in order to get a public timer to work!
10330    End
10331  
10332    Behavior = TransitionDamageFX ModuleTag_17
10333      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
10334      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10335      ;---------------------------------------------------------------------------------------
10336      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10337      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
10338      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
10339    End
10340  
10341    Behavior = SlowDeathBehavior ModuleTag_18
10342      ; don't run this death if we are under construction...
10343      ExemptStatus   = UNDER_CONSTRUCTION
10344      DestructionDelay = 2000
10345      FX             = INITIAL FX_ParticleUplinkDeathInitial
10346      OCL            = INITIAL OCL_SDILinkLasers
10347      FX             = FINAL   FX_StructureMediumDeath
10348      OCL            = FINAL   OCL_ParticleUplinkDeathFinal
10349    End
10350  
10351    Behavior = InstantDeathBehavior ModuleTag_19
10352      ; if we are under construction, use this death instead
10353      RequiredStatus = UNDER_CONSTRUCTION
10354      OCL            = OCL_ABPowerPlantExplode
10355      FX             = FX_StructureMediumDeath
10356    End
10357  
10358    Geometry            = BOX
10359    GeometryMajorRadius = 64.0
10360    GeometryMinorRadius = 38.0
10361    GeometryHeight      = 38.0
10362    GeometryIsSmall     = No
10363    Shadow          = SHADOW_VOLUME
10364    BuildCompletion = PLACED_BY_PLAYER
10365  
10366  End
10367  
10368  ;------------------------------------------------------------------------------
10369  Object AirF_SDILasers
10370    Draw                     = W3DModelDraw ModuleTag_01
10371      OkToChangeModelColor   = Yes
10372      ConditionState         = NONE
10373        Model                = ABSDILink_L
10374        Animation            = ABSDILink_L.ABSDILink_L
10375        AnimationMode        = ONCE
10376      End
10377    End
10378    Behavior = LifetimeUpdate ModuleTag_02
10379      MinLifetime = 3000   ; min lifetime in msec
10380      MaxLifetime = 3000   ; max lifetime in msec
10381    End
10382    Body = HighlanderBody ModuleTag_03
10383      MaxHealth       = 1.0
10384      InitialHealth   = 1.0
10385    End
10386    Behavior            = DestroyDie ModuleTag_04
10387      ;<NO DATA>
10388    End
10389  End
10390  
10391  ;------------------------------------------------------------------------------
10392  
10393  Object AirF_AmericaStrategyCenter
10394  
10395    ; *** ART Parameters ***
10396    SelectPortrait         = SAStrategyCenter_L
10397    ButtonImage            = SAStrategyCenter
10398    Draw = W3DModelDraw ModuleTag_01
10399      OkToChangeModelColor = Yes
10400  
10401      ; day ***************************************************
10402      ConditionState = NONE
10403        Model              = ABStrategy
10404        Animation          = ABStrategy.ABStrategy
10405        AnimationMode      = LOOP
10406      End
10407      ConditionState = DAMAGED
10408        Model              = ABStrategy_D
10409        Animation          = ABStrategy_D.ABStrategy_D
10410        AnimationMode      = LOOP
10411      End
10412      ConditionState = REALLYDAMAGED RUBBLE
10413        Model              = ABStrategy_E
10414        Animation          = ABStrategy_E.ABStrategy_E
10415        AnimationMode      = LOOP
10416      End
10417         
10418      ; SNOW ***************************************************
10419      ConditionState = SNOW
10420        Model              = ABStrategy_S
10421        Animation          = ABStrategy_S.ABStrategy_S
10422        AnimationMode      = LOOP
10423      End
10424      ConditionState = DAMAGED SNOW
10425        Model              = ABStrategy_DS
10426        Animation          = ABStrategy_DS.ABStrategy_DS
10427        AnimationMode      = LOOP
10428      End
10429      ConditionState = REALLYDAMAGED RUBBLE SNOW
10430        Model              = ABStrategy_ES
10431        Animation          = ABStrategy_ES.ABStrategy_ES
10432        AnimationMode      = LOOP
10433      End
10434      
10435      ; night **************************************************
10436      ConditionState = NIGHT
10437        Model              = ABStrategy_N
10438        Animation          = ABStrategy_N.ABStrategy_N
10439        AnimationMode      = ONCE_BACKWARDS
10440        Flags              = START_FRAME_FIRST
10441      End
10442      ConditionState = NIGHT DAMAGED
10443        Model              = ABStrategy_DN
10444        Animation          = ABStrategy_DN.ABStrategy_DN
10445        AnimationMode      = LOOP
10446      End
10447      ConditionState = NIGHT REALLYDAMAGED RUBBLE
10448        Model              = ABStrategy_EN
10449        Animation          = ABStrategy_EN.ABStrategy_EN
10450        AnimationMode      = LOOP
10451      End
10452      
10453      ; night Snow**************************************************
10454      ConditionState = NIGHT SNOW
10455        Model              = ABStrategy_NS
10456        Animation          = ABStrategy_NS.ABStrategy_NS
10457        AnimationMode      = ONCE_BACKWARDS
10458        Flags              = START_FRAME_FIRST
10459      End
10460      ConditionState = NIGHT DAMAGED SNOW
10461        Model              = ABStrategy_DNS
10462        Animation          = ABStrategy_DNS.ABStrategy_DNS
10463        AnimationMode      = LOOP
10464      End
10465      ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW
10466        Model              = ABStrategy_ENS
10467        Animation          = ABStrategy_ENS.ABStrategy_ENS
10468        AnimationMode      = LOOP
10469      End
10470  
10471      ;**************************************************************************************************************************
10472      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10473      ;for this draw module
10474      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10475        Model              = ABStrategy
10476        Animation          = ABStrategy.ABStrategy
10477        AnimationMode      = LOOP
10478        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10479      End
10480      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10481        Model              = ABStrategy_D
10482        Animation          = ABStrategy_D.ABStrategy_D
10483        AnimationMode      = LOOP
10484        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10485      End
10486      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10487        Model              = ABStrategy_E
10488        Animation          = ABStrategy_E.ABStrategy_E
10489        AnimationMode      = LOOP
10490        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10491      End
10492      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10493        Model              = ABStrategy_N
10494        Animation          = ABStrategy_N.ABStrategy_N
10495        AnimationMode      = LOOP
10496        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10497      End
10498      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
10499        Model              = ABStrategy_DN
10500        Animation          = ABStrategy_DN.ABStrategy_DN
10501        AnimationMode      = LOOP
10502        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10503      End
10504      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
10505        Model              = ABStrategy_EN
10506        Animation          = ABStrategy_EN.ABStrategy_EN
10507        AnimationMode      = LOOP
10508        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10509      End
10510      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10511        Model              = ABStrategy_S
10512        Animation          = ABStrategy_S.ABStrategy_S
10513        AnimationMode      = LOOP
10514        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10515      End
10516      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
10517        Model              = ABStrategy_DS
10518        Animation          = ABStrategy_DS.ABStrategy_DS
10519        AnimationMode      = LOOP
10520        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10521      End
10522      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
10523        Model              = ABStrategy_ES
10524        Animation          = ABStrategy_ES.ABStrategy_ES
10525        AnimationMode      = LOOP
10526        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10527      End
10528      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10529        Model              = ABStrategy_NS
10530        Animation          = ABStrategy_NS.ABStrategy_NS
10531        AnimationMode      = LOOP
10532        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10533      End
10534      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
10535        Model              = ABStrategy_DNS
10536        Animation          = ABStrategy_DNS.ABStrategy_DNS
10537        AnimationMode      = LOOP
10538        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10539      End
10540      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
10541        Model              = ABStrategy_ENS
10542        Animation          = ABStrategy_ENS.ABStrategy_ENS
10543        AnimationMode      = LOOP
10544        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10545      End
10546  
10547      ConditionState       = AWAITING_CONSTRUCTION 
10548        Model              = NONE
10549      End
10550      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10551      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10552      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10553      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10554      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10555      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10556      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10557      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10558      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10559      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10560      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10561      AliasConditionState  = SOLD 
10562      AliasConditionState  = SOLD DAMAGED
10563      AliasConditionState  = SOLD REALLYDAMAGED
10564      AliasConditionState  = SOLD NIGHT
10565      AliasConditionState  = SOLD NIGHT DAMAGED
10566      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10567      AliasConditionState  = SOLD SNOW
10568      AliasConditionState  = SOLD SNOW DAMAGED
10569      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10570      AliasConditionState  = SOLD NIGHT SNOW
10571      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10572      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10573      ;**************************************************************************************************************************
10574  
10575  
10576    End
10577  
10578    ; ------------ construction-zone fence -----------------
10579    Draw = W3DModelDraw ModuleTag_02
10580    AnimationsRequirePower = No
10581      OkToChangeModelColor = Yes
10582      DefaultConditionState
10583        Model           = None
10584        TransitionKey   = DOWN_DEFAULT
10585      End
10586      ConditionState    = NIGHT
10587        Model           = None
10588        TransitionKey   = DOWN_DEFAULT
10589      End
10590      ConditionState    = SNOW
10591        Model           = None
10592        TransitionKey   = DOWN_DEFAULT
10593      End
10594      ConditionState    = SNOW NIGHT
10595        Model           = None
10596        TransitionKey   = DOWN_DEFAULT
10597      End
10598      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10599        Model           = ABStrategy_A4
10600        Animation       = ABStrategy_A4.ABStrategy_A4
10601        AnimationMode   = MANUAL
10602        Flags           = START_FRAME_LAST
10603        TransitionKey   = UP_DAY
10604        ParticleSysBone = SparksS01 LiveWireSparks02
10605        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10606      End
10607      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10608        Model           = ABStrategy_A4N
10609        Animation       = ABStrategy_A4N.ABStrategy_A4N
10610        AnimationMode   = MANUAL
10611        Flags           = START_FRAME_LAST
10612        TransitionKey   = UP_NIGHT
10613        ParticleSysBone = SparksS01 LiveWireSparks02
10614        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10615      End
10616      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10617        Model           = ABStrategy_A4S
10618        Animation       = ABStrategy_A4S.ABStrategy_A4S
10619        AnimationMode   = MANUAL
10620        Flags           = START_FRAME_LAST
10621        TransitionKey   = UP_SNOW
10622        ParticleSysBone = SparksS01 LiveWireSparks02
10623        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10624      End
10625      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10626        Model           = ABStrategy_A4SN
10627        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10628        AnimationMode   = MANUAL
10629        Flags           = START_FRAME_LAST
10630        TransitionKey   = UP_SNOWNIGHT
10631        ParticleSysBone = SparksS01 LiveWireSparks02
10632        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10633      End
10634      TransitionState   = DOWN_DEFAULT UP_DAY
10635        Model           = ABStrategy_A4
10636        Animation       = ABStrategy_A4.ABStrategy_A4
10637        AnimationMode   = ONCE
10638        AnimationSpeedFactorRange = 1.0 1.0
10639        Flags           = START_FRAME_FIRST
10640      End
10641      TransitionState   = DOWN_DEFAULT UP_NIGHT
10642        Model           = ABStrategy_A4N
10643        Animation       = ABStrategy_A4N.ABStrategy_A4N
10644        AnimationMode   = ONCE
10645        AnimationSpeedFactorRange = 1.0 1.0
10646        Flags           = START_FRAME_FIRST
10647      End
10648      TransitionState   = DOWN_DEFAULT UP_SNOW
10649        Model           = ABStrategy_A4S
10650        Animation       = ABStrategy_A4S.ABStrategy_A4S
10651        AnimationMode   = ONCE
10652        AnimationSpeedFactorRange = 1.0 1.0
10653        Flags           = START_FRAME_FIRST
10654      End
10655      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10656        Model           = ABStrategy_A4SN
10657        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10658        AnimationMode   = ONCE
10659        AnimationSpeedFactorRange = 1.0 1.0
10660        Flags           = START_FRAME_FIRST
10661      End
10662      TransitionState   = UP_DAY DOWN_DEFAULT
10663        Model           = ABStrategy_A4
10664        Animation       = ABStrategy_A4.ABStrategy_A4
10665        AnimationMode   = ONCE_BACKWARDS
10666        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10667        Flags           = START_FRAME_LAST
10668      End
10669      TransitionState   = UP_NIGHT DOWN_DEFAULT
10670        Model           = ABStrategy_A4N
10671        Animation       = ABStrategy_A4N.ABStrategy_A4N
10672        AnimationMode   = ONCE_BACKWARDS
10673        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10674        Flags           = START_FRAME_LAST
10675      End
10676      TransitionState   = UP_SNOW DOWN_DEFAULT
10677        Model           = ABStrategy_A4S
10678        Animation       = ABStrategy_A4S.ABStrategy_A4S
10679        AnimationMode   = ONCE_BACKWARDS
10680        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10681        Flags           = START_FRAME_LAST
10682      End
10683  
10684      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10685        Model           = ABStrategy_A4SN
10686        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10687        AnimationMode   = ONCE_BACKWARDS
10688        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10689        Flags           = START_FRAME_LAST
10690      End
10691    End
10692  
10693    ; ------------ under-construction scaffolding -----------------
10694    Draw = W3DModelDraw ModuleTag_03
10695    AnimationsRequirePower = No
10696      MinLODRequired = MEDIUM
10697      OkToChangeModelColor = Yes
10698  
10699      DefaultConditionState
10700        Model           = None
10701        TransitionKey   = DOWN_DEFAULT
10702      End
10703      ConditionState    = NIGHT
10704        Model           = None
10705        TransitionKey   = DOWN_DEFAULT
10706      End
10707      ConditionState    = SNOW
10708        Model           = None
10709        TransitionKey   = DOWN_DEFAULT
10710      End
10711      ConditionState    = SNOW NIGHT
10712        Model           = None
10713        TransitionKey   = DOWN_DEFAULT
10714      End
10715      ConditionState    = PARTIALLY_CONSTRUCTED
10716        Model           = ABStrategy_A6
10717        Animation       = ABStrategy_A6.ABStrategy_A6
10718        AnimationMode   = MANUAL
10719        Flags           = START_FRAME_LAST
10720        TransitionKey   = UP_DAY
10721        ParticleSysBone = Sparks01 BuildUpBlueSpark
10722        ParticleSysBone = Sparks02 BuildUpBlueSpark
10723        ParticleSysBone = Sparks03 BuildUpBlueSpark
10724        ParticleSysBone = Sparks04 BuildUpBlueSpark
10725        ParticleSysBone = Sparks05 BuildUpBlueSpark
10726        ParticleSysBone = Sparks06 BuildUpBlueSpark
10727      End
10728      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
10729        Model           = ABStrategy_A6N
10730        Animation       = ABStrategy_A6N.ABStrategy_A6N
10731        AnimationMode   = MANUAL
10732        Flags           = START_FRAME_LAST
10733        TransitionKey   = UP_NIGHT
10734        ParticleSysBone = Sparks01 BuildUpBlueSpark
10735        ParticleSysBone = Sparks02 BuildUpBlueSpark
10736        ParticleSysBone = Sparks03 BuildUpBlueSpark
10737        ParticleSysBone = Sparks04 BuildUpBlueSpark
10738        ParticleSysBone = Sparks05 BuildUpBlueSpark
10739        ParticleSysBone = Sparks06 BuildUpBlueSpark
10740      End
10741      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
10742        Model           = ABStrategy_A6S
10743        Animation       = ABStrategy_A6S.ABStrategy_A6S
10744        AnimationMode   = MANUAL
10745        Flags           = START_FRAME_LAST
10746        TransitionKey   = UP_SNOW
10747        ParticleSysBone = Sparks01 BuildUpBlueSpark
10748        ParticleSysBone = Sparks02 BuildUpBlueSpark
10749        ParticleSysBone = Sparks03 BuildUpBlueSpark
10750        ParticleSysBone = Sparks04 BuildUpBlueSpark
10751        ParticleSysBone = Sparks05 BuildUpBlueSpark
10752        ParticleSysBone = Sparks06 BuildUpBlueSpark
10753      End
10754      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10755        Model           = ABStrategy_A6SN
10756        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10757        AnimationMode   = MANUAL
10758        Flags           = START_FRAME_LAST
10759        TransitionKey   = UP_SNOWNIGHT
10760        ParticleSysBone = Sparks01 BuildUpBlueSpark
10761        ParticleSysBone = Sparks02 BuildUpBlueSpark
10762        ParticleSysBone = Sparks03 BuildUpBlueSpark
10763        ParticleSysBone = Sparks04 BuildUpBlueSpark
10764        ParticleSysBone = Sparks05 BuildUpBlueSpark
10765        ParticleSysBone = Sparks06 BuildUpBlueSpark
10766      End
10767      TransitionState   = DOWN_DEFAULT UP_DAY
10768       Model            = ABStrategy_A6
10769        Animation       = ABStrategy_A6.ABStrategy_A6
10770        AnimationMode   = ONCE
10771        AnimationSpeedFactorRange = 1.0 1.0
10772        Flags           = START_FRAME_FIRST
10773      End
10774      TransitionState   = DOWN_DEFAULT UP_NIGHT
10775       Model            = ABStrategy_A6N
10776        Animation       = ABStrategy_A6N.ABStrategy_A6N
10777        AnimationMode   = ONCE
10778        AnimationSpeedFactorRange = 1.0 1.0
10779        Flags           = START_FRAME_FIRST
10780      End
10781      TransitionState   = DOWN_DEFAULT UP_SNOW
10782       Model            = ABStrategy_A6S
10783        Animation       = ABStrategy_A6S.ABStrategy_A6S
10784        AnimationMode   = ONCE
10785        AnimationSpeedFactorRange = 1.0 1.0
10786        Flags           = START_FRAME_FIRST
10787      End
10788      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10789       Model            = ABStrategy_A6SN
10790        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10791        AnimationMode   = ONCE
10792        AnimationSpeedFactorRange = 1.0 1.0
10793        Flags           = START_FRAME_FIRST
10794      End
10795      TransitionState   = UP_DAY DOWN_DEFAULT
10796        Model           = ABStrategy_A6
10797        Animation       = ABStrategy_A6.ABStrategy_A6
10798        AnimationMode   = ONCE_BACKWARDS
10799        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10800        Flags           = START_FRAME_LAST
10801      End
10802      TransitionState   = UP_NIGHT DOWN_DEFAULT
10803        Model           = ABStrategy_A6N
10804        Animation       = ABStrategy_A6N.ABStrategy_A6N
10805        AnimationMode   = ONCE_BACKWARDS
10806        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10807        Flags           = START_FRAME_LAST
10808      End
10809      TransitionState   = UP_SNOW DOWN_DEFAULT
10810        Model           = ABStrategy_A6S
10811        Animation       = ABStrategy_A6S.ABStrategy_A6S
10812        AnimationMode   = ONCE_BACKWARDS
10813        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10814        Flags           = START_FRAME_LAST
10815      End
10816      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10817        Model           = ABStrategy_A6SN
10818        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10819        AnimationMode   = ONCE_BACKWARDS
10820        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10821        Flags           = START_FRAME_LAST
10822      End
10823    End
10824  
10825    ; ------------ being-constructed crane -----------------
10826    Draw = W3DModelDraw ModuleTag_04
10827    AnimationsRequirePower = No
10828      DefaultConditionState
10829        Model           = None
10830        TransitionKey   = DOWN_DEFAULT
10831      End
10832      ConditionState    = NIGHT
10833        Model           = None
10834        TransitionKey   = DOWN_DEFAULT
10835      End
10836      ConditionState    = SNOW
10837        Model           = None
10838        TransitionKey   = DOWN_DEFAULT
10839      End
10840      ConditionState    = SNOW NIGHT
10841  
10842        Model           = None
10843        TransitionKey   = DOWN_DEFAULT
10844      End
10845      ConditionState    = SOLD
10846        Model           = NONE
10847      End
10848  
10849      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
10850        Model           = ABStrategy_A5
10851        Animation       = ABStrategy_A5.ABStrategy_A5
10852        AnimationMode   = LOOP
10853        TransitionKey  = UP_DAY
10854      End
10855  
10856      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
10857        Model           = ABStrategy_A5N
10858        Animation       = ABStrategy_A5N.ABStrategy_A5N
10859        AnimationMode   = LOOP
10860        TransitionKey  = UP_NIGHT
10861      End
10862  
10863      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
10864        Model           = ABStrategy_A5S
10865        Animation       = ABStrategy_A5S.ABStrategy_A5S
10866        AnimationMode   = LOOP
10867        TransitionKey  = UP_SNOW
10868      End
10869      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
10870        Model           = ABStrategy_A5SN
10871        Animation       = ABStrategy_A5SN.ABStrategy_A5SN
10872        AnimationMode   = LOOP
10873        TransitionKey  = UP_SNOWNIGHT
10874      End
10875      TransitionState   = DOWN_DEFAULT UP_DAY
10876        Model            = ABStrategy_AB
10877        Animation       = ABStrategy_AB.ABStrategy_AB
10878        AnimationMode   = ONCE
10879        AnimationSpeedFactorRange = 1.0 1.0
10880        Flags           = START_FRAME_FIRST
10881      End
10882  
10883      TransitionState   = DOWN_DEFAULT UP_NIGHT
10884        Model            = ABStrategy_ABN
10885        Animation       = ABStrategy_ABN.ABStrategy_ABN
10886        AnimationMode   = ONCE
10887        AnimationSpeedFactorRange = 1.0 1.0
10888        Flags           = START_FRAME_FIRST
10889      End
10890      TransitionState   = DOWN_DEFAULT UP_SNOW
10891        Model            = ABStrategy_ABS
10892        Animation       = ABStrategy_ABS.ABStrategy_ABS
10893        AnimationMode   = ONCE
10894        AnimationSpeedFactorRange = 1.0 1.0
10895        Flags           = START_FRAME_FIRST
10896      End
10897      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10898        Model            = ABStrategy_ABSN
10899        Animation       = ABStrategy_ABSN.ABStrategy_ABSN
10900        AnimationMode   = ONCE
10901        AnimationSpeedFactorRange = 1.0 1.0
10902        Flags           = START_FRAME_FIRST
10903      End
10904      TransitionState   = UP_DAY DOWN_DEFAULT
10905        Model            = ABStrategy_AB
10906        Animation       = ABStrategy_AB.ABStrategy_AB
10907        AnimationMode   = ONCE_BACKWARDS
10908        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10909        Flags           = START_FRAME_LAST
10910      End
10911      TransitionState   = UP_NIGHT DOWN_DEFAULT
10912        Model            = ABStrategy_ABN
10913        Animation       = ABStrategy_ABN.ABStrategy_ABN
10914        AnimationMode   = ONCE_BACKWARDS
10915        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10916        Flags           = START_FRAME_LAST
10917      End
10918      TransitionState   = UP_SNOW DOWN_DEFAULT
10919        Model            = ABStrategy_ABS
10920        Animation       = ABStrategy_ABS.ABStrategy_ABS
10921        AnimationMode   = ONCE_BACKWARDS
10922        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10923        Flags           = START_FRAME_LAST
10924      End
10925      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10926        Model            = ABStrategy_ABSN
10927        Animation       = ABStrategy_ABSN.ABStrategy_ABSN
10928        AnimationMode   = ONCE_BACKWARDS
10929        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10930        Flags           = START_FRAME_LAST
10931      End
10932    End
10933  
10934    ; ------------ BOMBARDMENT BATTLE PLAN -----------------
10935    Draw = W3DModelDraw ModuleTag_05
10936      OkToChangeModelColor = Yes
10937      DefaultConditionState
10938        Model           = ABStrategy_A1
10939        Animation       = ABStrategy_A1.ABStrategy_A1
10940        AnimationMode   = ONCE_BACKWARDS
10941        Flags           = START_FRAME_FIRST
10942      End
10943      AliasConditionState = DAMAGED
10944      AliasConditionState = REALLYDAMAGED
10945      AliasConditionState = NIGHT
10946      AliasConditionState = NIGHT SNOW
10947      AliasConditionState = SNOW
10948      AliasConditionState = NIGHT DAMAGED
10949      AliasConditionState = NIGHT SNOW DAMAGED
10950      AliasConditionState = SNOW DAMAGED
10951      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10952      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
10953      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10954      
10955      ConditionState    = DOOR_1_OPENING
10956        Model           = ABStrategy_A1
10957        Animation       = ABStrategy_A1.ABStrategy_A1
10958        AnimationMode   = ONCE
10959      End
10960      AliasConditionState = DAMAGED DOOR_1_OPENING
10961      AliasConditionState = REALLYDAMAGED DOOR_1_OPENING
10962      AliasConditionState = NIGHT DOOR_1_OPENING
10963      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
10964      AliasConditionState = SNOW DOOR_1_OPENING
10965      AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING
10966      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING
10967      AliasConditionState = SNOW DAMAGED DOOR_1_OPENING
10968      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
10969      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
10970      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
10971      
10972      ConditionState    = DOOR_1_CLOSING
10973        Model           = ABStrategy_A1
10974        Animation       = ABStrategy_A1.ABStrategy_A1
10975        AnimationMode   = ONCE_BACKWARDS
10976        Flags           = START_FRAME_LAST
10977      End
10978      AliasConditionState = DAMAGED DOOR_1_CLOSING
10979      AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING
10980      AliasConditionState = NIGHT DOOR_1_CLOSING
10981      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
10982      AliasConditionState = SNOW DOOR_1_CLOSING
10983      AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING
10984      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING
10985      AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING
10986      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
10987      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
10988      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
10989      
10990      ConditionState    = DOOR_1_WAITING_TO_CLOSE
10991        Model           = NONE
10992      End
10993      AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE
10994      AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
10995      AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE
10996      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
10997      AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE
10998      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
10999      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11000      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11001      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11002      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11003      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11004  
11005  
11006      ;**************************************************************************************************************************
11007      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11008      ;for this draw module
11009      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11010        Model              = ABStrategy_A1
11011        Animation          = ABStrategy_A1.ABStrategy_A1
11012        AnimationMode      = MANUAL
11013        Flags              = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11014      End
11015      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11016      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11017      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11018      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11019      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
11020      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
11021      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
11022      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
11023      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
11024      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
11025      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
11026      
11027      ConditionState       = AWAITING_CONSTRUCTION 
11028        Model              = NONE
11029      End
11030      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11031      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11032      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11033      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11034      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11035      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11036      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11037      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11038      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11039      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11040      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11041      AliasConditionState  = SOLD DOOR_1_WAITING_TO_CLOSE
11042      AliasConditionState  = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE
11043      AliasConditionState  = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11044      AliasConditionState  = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE
11045      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11046      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11047      AliasConditionState  = SOLD SNOW DOOR_1_WAITING_TO_CLOSE
11048      AliasConditionState  = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11049      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11050      AliasConditionState  = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11051      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11052      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11053      ;**************************************************************************************************************************
11054  
11055      
11056    End
11057    
11058    Draw = W3DModelDraw ModuleTag_06
11059      ;***This is the bombardment cannon object that only shows up when ready to fire***
11060      OkToChangeModelColor = Yes
11061      DefaultConditionState
11062        Model           = ABStrategy_A8
11063        WeaponLaunchBone  = PRIMARY Muzzle
11064        WeaponMuzzleFlash               = PRIMARY MuzzleFX
11065        WeaponRecoilBone                = PRIMARY Barrel
11066        Turret                          = Turret01
11067        TurretPitch                     = TurretEL
11068        HideSubObject   = Chassis
11069      End
11070      AliasConditionState = DAMAGED
11071      AliasConditionState = REALLYDAMAGED
11072      AliasConditionState = NIGHT
11073      AliasConditionState = NIGHT SNOW
11074      AliasConditionState = SNOW
11075      AliasConditionState = NIGHT DAMAGED
11076      AliasConditionState = NIGHT SNOW DAMAGED
11077      AliasConditionState = SNOW DAMAGED
11078      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11079      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11080      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11081      
11082      ConditionState    = DOOR_1_WAITING_TO_CLOSE
11083        Model           = ABStrategy_A8
11084        ShowSubObject   = Chassis
11085      End
11086      AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE
11087      AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11088      AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE
11089      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11090      AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE
11091      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11092      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11093      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11094      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11095      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11096      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11097      
11098      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11099        Model              = ABStrategy_A8
11100        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11101      End
11102      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11103      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11104      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11105      
11106      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11107        Model              = ABStrategy_A8
11108        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11109      End
11110      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
11111      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
11112      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
11113      
11114      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
11115        Model              = ABStrategy_A8
11116        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11117      End
11118      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT
11119      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW
11120      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW
11121      
11122      
11123      
11124      
11125      ConditionState       = AWAITING_CONSTRUCTION 
11126        Model              = NONE
11127      End
11128      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11129      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11130      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11131      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11132      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11133      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11134      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11135      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11136      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11137      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11138      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11139      AliasConditionState  = SOLD 
11140      AliasConditionState  = SOLD DAMAGED
11141      AliasConditionState  = SOLD REALLYDAMAGED
11142      AliasConditionState  = SOLD NIGHT
11143      AliasConditionState  = SOLD NIGHT DAMAGED
11144      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11145      AliasConditionState  = SOLD SNOW
11146      AliasConditionState  = SOLD SNOW DAMAGED
11147      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11148      AliasConditionState  = SOLD NIGHT SNOW
11149      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11150      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11151      AliasConditionState  = SOLD DOOR_1_WAITING_TO_CLOSE
11152      AliasConditionState  = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE
11153      AliasConditionState  = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11154      AliasConditionState  = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE
11155      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11156      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11157      AliasConditionState  = SOLD SNOW DOOR_1_WAITING_TO_CLOSE
11158      AliasConditionState  = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11159      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11160      AliasConditionState  = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11161      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11162      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11163  
11164      
11165    End
11166  
11167    ; ------------ HOLD THE LINE BATTLE PLAN -----------------
11168    Draw = W3DModelDraw ModuleTag_07
11169      OkToChangeModelColor = Yes
11170      DefaultConditionState
11171        Model           = ABStrategy_A7
11172        Animation       = ABStrategy_A7.ABStrategy_A7
11173        AnimationMode   = ONCE_BACKWARDS
11174        Flags           = START_FRAME_FIRST
11175      End
11176      AliasConditionState = DAMAGED
11177      AliasConditionState = REALLYDAMAGED
11178      AliasConditionState = NIGHT
11179      AliasConditionState = NIGHT SNOW
11180      AliasConditionState = SNOW
11181      AliasConditionState = NIGHT DAMAGED
11182      AliasConditionState = NIGHT SNOW DAMAGED
11183      AliasConditionState = SNOW DAMAGED
11184      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11185      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11186      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11187      
11188      ConditionState    = DOOR_2_OPENING
11189        Model           = ABStrategy_A7
11190        Animation       = ABStrategy_A7.ABStrategy_A7
11191        AnimationMode   = ONCE
11192      End
11193      AliasConditionState = DAMAGED DOOR_2_OPENING
11194      AliasConditionState = REALLYDAMAGED DOOR_2_OPENING
11195      AliasConditionState = NIGHT DOOR_2_OPENING
11196      AliasConditionState = NIGHT SNOW DOOR_2_OPENING
11197      AliasConditionState = SNOW DOOR_2_OPENING
11198      AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING
11199      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING
11200      AliasConditionState = SNOW DAMAGED DOOR_2_OPENING
11201      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING
11202      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
11203      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
11204      
11205      ConditionState    = DOOR_2_CLOSING
11206        Model           = ABStrategy_A7
11207        Animation       = ABStrategy_A7.ABStrategy_A7
11208        AnimationMode   = ONCE_BACKWARDS
11209        Flags           = START_FRAME_LAST
11210      End
11211      AliasConditionState = DAMAGED DOOR_2_CLOSING
11212      AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING
11213      AliasConditionState = NIGHT DOOR_2_CLOSING
11214      AliasConditionState = NIGHT SNOW DOOR_2_CLOSING
11215      AliasConditionState = SNOW DOOR_2_CLOSING
11216      AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING
11217      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING
11218      AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING
11219      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11220      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11221      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11222      
11223      ConditionState    = DOOR_2_WAITING_TO_CLOSE
11224        Model           = ABStrategy_A7
11225        Animation       = ABStrategy_A7.ABStrategy_A7
11226        AnimationMode   = ONCE
11227        Flags           = START_FRAME_LAST
11228      End
11229      AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE
11230      AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11231      AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE
11232      AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE
11233      AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE
11234      AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE
11235      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11236      AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11237      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11238      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11239      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11240      
11241      ;**************************************************************************************************************************
11242      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11243      ;for this draw module
11244      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11245        Model              = ABStrategy_A7
11246        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11247      End
11248      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11249      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11250      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11251          
11252      ConditionState       = AWAITING_CONSTRUCTION 
11253        Model              = NONE
11254      End
11255      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11256      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11257      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11258      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11259      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11260      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11261      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11262      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11263      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11264      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11265      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11266      AliasConditionState  = SOLD 
11267      AliasConditionState  = SOLD DAMAGED
11268      AliasConditionState  = SOLD REALLYDAMAGED
11269      AliasConditionState  = SOLD NIGHT
11270      AliasConditionState  = SOLD NIGHT DAMAGED
11271      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11272      AliasConditionState  = SOLD SNOW
11273      AliasConditionState  = SOLD SNOW DAMAGED
11274      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11275      AliasConditionState  = SOLD NIGHT SNOW
11276      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11277      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11278      AliasConditionState  = SOLD DOOR_2_WAITING_TO_CLOSE
11279      AliasConditionState  = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE
11280      AliasConditionState  = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11281      AliasConditionState  = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE
11282      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE
11283      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11284      AliasConditionState  = SOLD SNOW DOOR_2_WAITING_TO_CLOSE
11285      AliasConditionState  = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11286      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11287      AliasConditionState  = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE
11288      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11289      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11290      ;************************************************************************************************************************** 
11291    End
11292  
11293    ; ------------ SEARCH AND DESTROY BATTLE PLAN -----------------
11294    Draw = W3DModelDraw ModuleTag_08
11295      OkToChangeModelColor = Yes
11296      DefaultConditionState
11297        Model           = ABStrategy_A2
11298        Animation       = ABStrategy_A2.ABStrategy_A2
11299        AnimationMode   = ONCE_BACKWARDS
11300        Flags           = START_FRAME_FIRST
11301      End
11302      AliasConditionState = DAMAGED
11303      AliasConditionState = REALLYDAMAGED
11304      AliasConditionState = NIGHT
11305      AliasConditionState = NIGHT SNOW
11306      AliasConditionState = SNOW
11307      AliasConditionState = NIGHT DAMAGED
11308      AliasConditionState = NIGHT SNOW DAMAGED
11309      AliasConditionState = SNOW DAMAGED
11310      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11311      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11312      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11313      
11314      ConditionState    = DOOR_3_OPENING
11315        Model           = ABStrategy_A2
11316        Animation       = ABStrategy_A2.ABStrategy_A2
11317        AnimationMode   = ONCE
11318      End
11319      AliasConditionState = DAMAGED DOOR_3_OPENING
11320      AliasConditionState = REALLYDAMAGED DOOR_3_OPENING
11321      AliasConditionState = NIGHT DOOR_3_OPENING
11322      AliasConditionState = NIGHT SNOW DOOR_3_OPENING
11323      AliasConditionState = SNOW DOOR_3_OPENING
11324      AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING
11325      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING
11326      AliasConditionState = SNOW DAMAGED DOOR_3_OPENING
11327      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
11328      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
11329      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
11330      
11331      ConditionState    = DOOR_3_CLOSING
11332        Model           = ABStrategy_A2
11333        Animation       = ABStrategy_A2.ABStrategy_A2
11334        AnimationMode   = ONCE_BACKWARDS
11335        Flags           = START_FRAME_LAST
11336      End
11337      AliasConditionState = DAMAGED DOOR_3_CLOSING
11338      AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING
11339      AliasConditionState = NIGHT DOOR_3_CLOSING
11340      AliasConditionState = NIGHT SNOW DOOR_3_CLOSING
11341      AliasConditionState = SNOW DOOR_3_CLOSING
11342      AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING
11343      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING
11344      AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING
11345      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11346      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11347      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11348      
11349      ConditionState    = DOOR_3_WAITING_TO_CLOSE
11350        Model           = NONE
11351      End
11352      AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE
11353      AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11354      AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE
11355      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11356      AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE
11357      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11358      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11359      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11360      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11361      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11362      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11363      
11364      
11365      ;**************************************************************************************************************************
11366      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11367      ;for this draw module
11368      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11369        Model              = ABStrategy_A2
11370        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11371      End
11372      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11373      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11374      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11375          
11376      ConditionState       = AWAITING_CONSTRUCTION 
11377        Model              = NONE
11378      End
11379      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11380      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11381      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11382      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11383      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11384      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11385      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11386      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11387      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11388      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11389      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11390      AliasConditionState  = SOLD 
11391      AliasConditionState  = SOLD DAMAGED
11392      AliasConditionState  = SOLD REALLYDAMAGED
11393      AliasConditionState  = SOLD NIGHT
11394      AliasConditionState  = SOLD NIGHT DAMAGED
11395      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11396      AliasConditionState  = SOLD SNOW
11397      AliasConditionState  = SOLD SNOW DAMAGED
11398      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11399      AliasConditionState  = SOLD NIGHT SNOW
11400      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11401      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11402      AliasConditionState  = SOLD DOOR_3_WAITING_TO_CLOSE
11403      AliasConditionState  = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE
11404      AliasConditionState  = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11405      AliasConditionState  = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE
11406      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11407      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11408      AliasConditionState  = SOLD SNOW DOOR_3_WAITING_TO_CLOSE
11409      AliasConditionState  = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11410      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11411      AliasConditionState  = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11412      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11413      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11414      ;**************************************************************************************************************************
11415      
11416      
11417    End
11418    Draw = W3DModelDraw ModuleTag_09
11419      ;***This is the radar array that only shows up when plan is active***
11420      OkToChangeModelColor = Yes
11421      DefaultConditionState
11422        Model           = NONE
11423      End
11424      AliasConditionState = DAMAGED
11425      AliasConditionState = REALLYDAMAGED
11426      AliasConditionState = NIGHT
11427      AliasConditionState = NIGHT SNOW
11428      AliasConditionState = SNOW
11429      AliasConditionState = NIGHT DAMAGED
11430      AliasConditionState = NIGHT SNOW DAMAGED
11431      AliasConditionState = SNOW DAMAGED
11432      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11433      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11434      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11435      
11436      ConditionState    = DOOR_3_WAITING_TO_CLOSE
11437        Model           = ABStrategy_A3
11438        Animation       = ABStrategy_A3.ABStrategy_A3
11439        AnimationMode   = LOOP
11440      End
11441      AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE
11442      AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11443      AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE
11444      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11445      AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE
11446      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11447      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11448      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11449      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11450      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11451      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11452      
11453      ConditionState       = AWAITING_CONSTRUCTION 
11454        Model              = NONE
11455      End
11456      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11457      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11458      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11459      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11460      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11461      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11462      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11463      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11464      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11465      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11466      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11467      AliasConditionState  = SOLD 
11468      AliasConditionState  = SOLD DAMAGED
11469      AliasConditionState  = SOLD REALLYDAMAGED
11470      AliasConditionState  = SOLD NIGHT
11471      AliasConditionState  = SOLD NIGHT DAMAGED
11472      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11473      AliasConditionState  = SOLD SNOW
11474      AliasConditionState  = SOLD SNOW DAMAGED
11475      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11476      AliasConditionState  = SOLD NIGHT SNOW
11477      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11478      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11479      AliasConditionState  = SOLD DOOR_3_WAITING_TO_CLOSE
11480      AliasConditionState  = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE
11481      AliasConditionState  = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11482      AliasConditionState  = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE
11483      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11484      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11485      AliasConditionState  = SOLD SNOW DOOR_3_WAITING_TO_CLOSE
11486      AliasConditionState  = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11487      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11488      AliasConditionState  = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11489      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11490      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11491      
11492    End
11493   
11494    PlacementViewAngle = -45
11495  
11496    ; ***DESIGN parameters ***
11497    DisplayName      = OBJECT:StrategyCenter
11498    Side = AmericaAirForceGeneral
11499    EditorSorting    = STRUCTURE
11500    Prerequisites
11501      Object = AirF_AmericaWarFactory AirF_AmericaAirfield
11502    End
11503    CommandSet          = AirF_AmericaStrategyCenterCommandSet
11504    BuildCost           = 2500
11505    BuildTime           = 60.0           ; in seconds
11506    EnergyProduction    = -2
11507    VisionRange         = 400.0           ; Shroud clearing distance
11508  
11509    MaxSimultaneousOfType = 1
11510  
11511    ShroudClearingRange = 400
11512    WeaponSet
11513      Conditions           = None 
11514      Weapon               = PRIMARY StrategyCenterGun
11515      AutoChooseSources    = PRIMARY NONE
11516    End
11517    ArmorSet
11518      Conditions      = None
11519      Armor           = StructureArmor
11520      DamageFX        = StructureDamageFXNoShake
11521    End
11522    ExperienceValue     = 250 250 250 250  ; Experience point value at each level
11523  
11524    ; *** AUDIO Parameters ***
11525    VoiceSelect = StrategyCenterSelect
11526    SoundOnDamaged        = BuildingDamagedStateLight
11527    SoundOnReallyDamaged  = BuildingDestroy
11528  
11529    UnitSpecificSounds
11530      UnderConstruction     = UnderConstructionLoop
11531    End
11532  
11533    UnitSpecificSounds
11534      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
11535      TurretMoveStart = NoSound
11536      TurretMoveLoop  = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop
11537    End
11538  
11539    ; *** ENGINEERING Parameters ***
11540    RadarPriority   = STRUCTURE
11541    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH
11542    Body            = StructureBody ModuleTag_10
11543      MaxHealth       = 1500.0
11544      InitialHealth   = 1500.0
11545  
11546      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11547      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11548      SubdualDamageCap = 1700
11549      SubdualDamageHealRate = 500
11550      SubdualDamageHealAmount = 100
11551    End
11552    Behavior = ProductionUpdate ModuleTag_11
11553      ; nothing
11554    End
11555    Behavior = BaseRegenerateUpdate ModuleTag_12
11556      ;No data
11557    End 
11558  
11559    Behavior = SpecialAbility ModuleTag_13
11560      SpecialPowerTemplate = SpecialAbilityChangeBattlePlans
11561      UpdateModuleStartsAttack = Yes
11562    End
11563    Behavior = BattlePlanUpdate ModuleTag_14
11564      SpecialPowerTemplate              = SpecialAbilityChangeBattlePlans
11565  
11566      ;Transition Timings
11567      BombardmentPlanAnimationTime      = 7000
11568      HoldTheLinePlanAnimationTime      = 7000
11569      SearchAndDestroyPlanAnimationTime = 7000
11570      TransitionIdleTime                = 0
11571  
11572      ;Messages
11573      BombardmentMessageLabel      = MESSAGE:BattlePlanBombardmentInitiated
11574      HoldTheLineMessageLabel      = MESSAGE:BattlePlanHoldTheLineInitiated
11575      SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated
11576  
11577      ;Audio hooks
11578      BombardmentPlanUnpackSoundName        = StrategyCenter_BombardmentPlanUnpackSound
11579      BombardmentPlanPackSoundName          = StrategyCenter_BombardmentPlanPackSound
11580      BombardmentAnnouncementName           = StrategyCenter_BombardmentPlanAnnouncement
11581      SearchAndDestroyPlanUnpackSoundName   = StrategyCenter_SearchAndDestroyPlanUnpack
11582      SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop
11583      SearchAndDestroyPlanPackSoundName     = StrategyCenter_SearchAndDestroyPlanPack
11584      SearchAndDestroyAnnouncementName      = StrategyCenter_SearchAndDestroyAnnouncement
11585      HoldTheLinePlanUnpackSoundName        = StrategyCenter_HoldTheLinePlanUnpack
11586      HoldTheLinePlanPackSoundName          = StrategyCenter_HoldTheLinePlanPack
11587      HoldTheLineAnnouncementName           = StrategyCenter_HoldTheLineAnnouncement
11588  
11589      ;Army bonuses granted by different battle plans
11590      ValidMemberKindOf                   = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these...
11591      InvalidMemberKindOf                 = DOZER STRUCTURE AIRCRAFT DRONE   ;...but make sure they don't have any of these
11592      BattlePlanChangeParalyzeTime          = 5000 ;Subjected to paralyzation whenever a battle plan is changed.
11593      HoldTheLinePlanArmorDamageScalar      = 0.9 ;Armor damage bonus scalar -- LESS is better!
11594      SearchAndDestroyPlanSightRangeScalar  = 1.2 ;Sight range bonus -- more is better!
11595      ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file!
11596  
11597      ;Building bonuses granted based on battle plan mode.
11598      StrategyCenterSearchAndDestroySightRangeScalar = 2.0
11599      StrategyCenterSearchAndDestroyDetectsStealth   = Yes
11600      StrategyCenterHoldTheLineMaxHealthScalar       = 2.0
11601      StrategyCenterHoldTheLineMaxHealthChangeType   = PRESERVE_RATIO
11602  
11603    ;Revealing info
11604    ;VisionObjectName = VisionObject
11605  
11606    End
11607  
11608    Behavior = AIUpdateInterface ModuleTag_15
11609      Turret
11610        ControlledWeaponSlots    = PRIMARY
11611        TurretTurnRate      = 60   // turn rate, in degrees per sec
11612        TurretPitchRate     = 60
11613        AllowsPitch         = Yes
11614        FiresWhileTurning   = Yes
11615        NaturalTurretPitch  = 45 ; this keeps it aimed half way between land and sky
11616                                 ; since you never know from whence cometh danger
11617        NaturalTurretAngle = -90  ; this turret points backwards normally
11618  
11619        FirePitch           = 45       ; Instead of aiming pitchwise at the target, it will aim here
11620        MinIdleScanInterval = 500    ; in milliseconds
11621        MaxIdleScanInterval = 1000   ; in milliseconds
11622        MinIdleScanAngle    = 0      ; in degrees off the natural turret angle
11623        MaxIdleScanAngle    = 60     ; in degrees off the natural turret angle
11624      End
11625      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
11626    End
11627  
11628    Behavior = StealthDetectorUpdate ModuleTag_16
11629      DetectionRate       = 500   ; how often to rescan for stealthed things in my sight (msec)
11630      InitiallyDisabled   = Yes   ; only will be active when search & destroy plan active.
11631      DetectionRange     =  500    ;Dustin, enable this for independant balancing!
11632      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
11633      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
11634    End
11635  
11636    Behavior                   = SpyVisionSpecialPower SpyTag_1
11637      SpecialPowerTemplate     = SuperweaponCIAIntelligence   
11638      BaseDuration             =  30000 ;in milliseconds
11639      BonusDurationPerCaptured =  10000 ;in milliseconds
11640      MaxDuration              = 240000 ;in milliseconds    
11641    End
11642    Behavior                   = SpyVisionUpdate SpyTag_2
11643      ;<NO DATA>
11644    End
11645  
11646    Behavior = DestroyDie ModuleTag_17
11647      ;nothing
11648    End
11649    Behavior             = CreateObjectDie ModuleTag_18
11650      CreationList  = OCL_ABPowerPlantExplode
11651    End
11652    Behavior             = CreateObjectDie ModuleTag_19
11653      CreationList  = AirF_OCL_AmericanRangerDebris04
11654      ExemptStatus  = UNDER_CONSTRUCTION
11655    End
11656    Behavior             = FXListDie ModuleTag_20
11657      DeathFX       = FX_StructureMediumDeath
11658    End
11659  
11660    Behavior = FlammableUpdate ModuleTag_22
11661      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11662      AflameDamageAmount = 5       ; taking this much damage...
11663      AflameDamageDelay = 500       ; this often.
11664    End
11665  
11666    Behavior = TransitionDamageFX ModuleTag_23
11667      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
11668      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11669      ;---------------------------------------------------------------------------------------
11670      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11671      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
11672      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
11673    End
11674    
11675    
11676    Behavior           = OCLSpecialPower ModuleTag_24;this has been removed from everywhere but the ChinaAirfield in CHI05
11677      SpecialPowerTemplate = AirF_SuperweaponCarpetBomb
11678      OCL                  = AirF_SUPERWEAPON_CarpetBomb
11679      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
11680    End 
11681  
11682  
11683    Geometry            = BOX
11684    GeometryMajorRadius = 62.0
11685    GeometryMinorRadius = 44.0
11686    GeometryHeight      = 24.0
11687    GeometryIsSmall     = No
11688    Shadow          = SHADOW_VOLUME
11689    BuildCompletion = PLACED_BY_PLAYER
11690  
11691  End
11692  
11693  ;------------------------------------------------------------------------------
11694  
11695  Object AirF_AmericaAirfield
11696  
11697    ; *** ART Parameters ***
11698    SelectPortrait         = SAACommand_L
11699    ButtonImage            = SAACommand
11700    Draw = W3DModelDraw ModuleTag_01
11701  
11702      ExtraPublicBone = Runway1Parking1 
11703      ExtraPublicBone = Runway1Parking2 
11704      ExtraPublicBone = Runway2Parking1 
11705      ExtraPublicBone = Runway2Parking2 
11706      ExtraPublicBone = Runway1Park1Han
11707      ExtraPublicBone = Runway1Park2Han
11708      ExtraPublicBone = Runway2Park1Han
11709      ExtraPublicBone = Runway2Park2Han 
11710      ExtraPublicBone = Runway1Prep1 
11711      ExtraPublicBone = Runway1Prep2 
11712      ExtraPublicBone = Runway2Prep1 
11713      ExtraPublicBone = Runway2Prep2 
11714      ExtraPublicBone = RunwayStart1 
11715      ExtraPublicBone = RunwayStart2 
11716      ExtraPublicBone = RunwayEnd1 
11717      ExtraPublicBone = RunwayEnd2
11718      ExtraPublicBone = HeliPark01
11719  
11720      OkToChangeModelColor = Yes
11721  
11722      ; day ********************************************
11723      DefaultConditionState
11724        Model              = ABArFrcCmd
11725        Animation          = ABArFrcCmd.ABArFrcCmd
11726        AnimationMode      = LOOP
11727      End
11728      ConditionState       = DAMAGED
11729        Model              = ABArFrcCmd_D
11730        Animation          = ABArFrcCmd_D.ABArFrcCmd_D
11731        AnimationMode      = LOOP
11732        ParticleSysBone    = Smoke01 SmolderingSmoke
11733        ParticleSysBone    = Smoke02 SmolderingSmoke
11734        ParticleSysBone    = Smoke03 SmolderingSmoke
11735        ParticleSysBone    = Fire01 SmolderingFire
11736      End
11737      ConditionState       = REALLYDAMAGED RUBBLE
11738        Model              = ABArFrcCmd_E
11739        Animation          = ABArFrcCmd_E.ABArFrcCmd_E
11740        AnimationMode      = LOOP
11741        ParticleSysBone    = Smoke01 SmolderingSmoke
11742        ParticleSysBone    = Smoke02 SmolderingSmoke
11743        ParticleSysBone    = Smoke03 SmolderingSmoke
11744        ParticleSysBone    = Smoke04 SmolderingSmoke
11745        ParticleSysBone    = Smoke05 SmokeFactionLarge
11746        ParticleSysBone    = Smoke06 SmokeFactionLarge
11747        ParticleSysBone    = Fire01 SmolderingFire
11748        ParticleSysBone    = Fire02 SmolderingFire
11749        ParticleSysBone    = Fire03 FireFactionLarge
11750        ParticleSysBone    = Spark01 SparksLarge
11751      End
11752      
11753      ConditionState       = SNOW
11754        Model              = ABArFrcCmd_S
11755        Animation          = ABArFrcCmd_S.ABArFrcCmd_S
11756        AnimationMode      = LOOP
11757      End
11758      ConditionState       = DAMAGED SNOW
11759        Model              = ABArFrcCmd_DS
11760        Animation          = ABArFrcCmd_DS.ABArFrcCmd_DS
11761        AnimationMode      = LOOP
11762        ParticleSysBone    = Smoke01 SmolderingSmoke
11763        ParticleSysBone    = Smoke02 SmolderingSmoke
11764        ParticleSysBone    = Smoke03 SmolderingSmoke
11765        ParticleSysBone    = Fire01 SmolderingFire
11766      End
11767      ConditionState       = REALLYDAMAGED RUBBLE SNOW
11768        Model              = ABArFrcCmd_ES
11769        Animation          = ABArFrcCmd_ES.ABArFrcCmd_ES
11770        AnimationMode      = LOOP
11771        ParticleSysBone    = Smoke01 SmolderingSmoke
11772        ParticleSysBone    = Smoke02 SmolderingSmoke
11773        ParticleSysBone    = Smoke03 SmolderingSmoke
11774        ParticleSysBone    = Smoke04 SmolderingSmoke
11775        ParticleSysBone    = Smoke05 SmokeFactionLarge
11776        ParticleSysBone    = Smoke06 SmokeFactionLarge
11777        ParticleSysBone    = Fire01 SmolderingFire
11778        ParticleSysBone    = Fire02 SmolderingFire
11779        ParticleSysBone    = Fire03 FireFactionLarge
11780        ParticleSysBone    = Spark01 SparksLarge
11781      End
11782  
11783      ; night ******************************************
11784      ConditionState       = NIGHT
11785        Model              = ABArFrcCmd_N
11786        Animation          = ABArFrcCmd_N.ABArFrcCmd_N
11787        AnimationMode      = LOOP
11788      End
11789      ConditionState       = DAMAGED NIGHT
11790        Model              = ABArFrcCmd_ND
11791        Animation          = ABArFrcCmd_ND.ABArFrcCmd_ND
11792        AnimationMode      = LOOP
11793      End
11794      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
11795        Model              = ABArFrcCmd_NE
11796        Animation          = ABArFrcCmd_NE.ABArFrcCmd_NE
11797        AnimationMode      = LOOP
11798      End
11799      
11800      ConditionState       = NIGHT SNOW
11801        Model              = ABArFrcCmd_NS
11802        Animation          = ABArFrcCmd_NS.ABArFrcCmd_NS
11803        AnimationMode      = LOOP
11804      End
11805      ConditionState       = DAMAGED NIGHT SNOW
11806        Model              = ABArFrcCmd_NDS
11807        Animation          = ABArFrcCmd_NDS.ABArFrcCmd_NDS
11808        AnimationMode      = LOOP
11809      End
11810      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
11811        Model              = ABArFrcCmd_NES
11812        Animation          = ABArFrcCmd_NES.ABArFrcCmd_NES
11813        AnimationMode      = LOOP
11814      End
11815      
11816         ;**************************************************************************************************************************
11817      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11818      ;for this draw module
11819      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11820        Model              = ABArFrcCmd
11821        Animation          = ABArFrcCmd.ABArFrcCmd
11822        AnimationMode      = LOOP
11823        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11824      End
11825      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11826        Model              = ABArFrcCmd_D
11827        Animation          = ABArFrcCmd_D.ABArFrcCmd_D
11828        AnimationMode      = LOOP
11829        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11830      End
11831      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
11832        Model              = ABArFrcCmd_E
11833        Animation          = ABArFrcCmd_E.ABArFrcCmd_E
11834        AnimationMode      = LOOP
11835        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11836      End
11837      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11838        Model              = ABArFrcCmd_N
11839        Animation          = ABArFrcCmd_N.ABArFrcCmd_N
11840        AnimationMode      = LOOP
11841        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11842      End
11843      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
11844        Model              = ABArFrcCmd_ND
11845        Animation          = ABArFrcCmd_ND.ABArFrcCmd_ND
11846        AnimationMode      = LOOP
11847        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11848      End
11849      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
11850        Model              = ABArFrcCmd_NE
11851        Animation          = ABArFrcCmd_NE.ABArFrcCmd_NE
11852        AnimationMode      = LOOP
11853        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11854      End
11855      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11856        Model              = ABArFrcCmd_S
11857        Animation          = ABArFrcCmd_S.ABArFrcCmd_S
11858        AnimationMode      = LOOP
11859        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11860      End
11861      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
11862        Model              = ABArFrcCmd_DS
11863        Animation          = ABArFrcCmd_DS.ABArFrcCmd_DS
11864        AnimationMode      = LOOP
11865        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11866      End
11867      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
11868        Model              = ABArFrcCmd_ES
11869        Animation          = ABArFrcCmd_ES.ABArFrcCmd_ES
11870        AnimationMode      = LOOP
11871        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11872      End
11873      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11874        Model              = ABArFrcCmd_NS
11875        Animation          = ABArFrcCmd_NS.ABArFrcCmd_NS
11876        AnimationMode      = LOOP
11877        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11878      End
11879      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
11880        Model              = ABArFrcCmd_NDS
11881        Animation          = ABArFrcCmd_NDS.ABArFrcCmd_NDS
11882        AnimationMode      = LOOP
11883        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11884      End
11885      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
11886        Model              = ABArFrcCmd_NES
11887        Animation          = ABArFrcCmd_NES.ABArFrcCmd_NES
11888        AnimationMode      = LOOP
11889        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11890      End
11891  
11892      ConditionState       = AWAITING_CONSTRUCTION 
11893        Model              = NONE
11894      End
11895      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11896      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11897      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11898      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11899      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11900      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11901      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11902      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11903      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11904      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11905      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11906      AliasConditionState  = SOLD 
11907      AliasConditionState  = SOLD DAMAGED
11908      AliasConditionState  = SOLD REALLYDAMAGED
11909      AliasConditionState  = SOLD NIGHT
11910      AliasConditionState  = SOLD NIGHT DAMAGED
11911      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11912      AliasConditionState  = SOLD SNOW
11913      AliasConditionState  = SOLD SNOW DAMAGED
11914      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11915      AliasConditionState  = SOLD NIGHT SNOW
11916      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11917      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11918      ;**************************************************************************************************************************
11919  
11920    End
11921  
11922    ; ------------ blinky production lights -----------------
11923    Draw = W3DModelDraw ModuleTag_02
11924      DefaultConditionState
11925        Model              = None
11926      End
11927      ConditionState       = ACTIVELY_CONSTRUCTING
11928        Model              = ABArFrcCmd_A9
11929        Animation          = ABArFrcCmd_A9.ABArFrcCmd_A9
11930        AnimationMode      = LOOP
11931      End
11932    End
11933  
11934    ; ----------------- door #1 -------------------
11935    Draw                = W3DModelDraw ModuleTag_03
11936      ConditionState    = NONE
11937        Model           = ABArFrcCmd_A7
11938        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11939        AnimationMode   = MANUAL
11940        Flags           = START_FRAME_FIRST
11941      End
11942      AliasConditionState = NIGHT 
11943      AliasConditionState = SNOW 
11944      AliasConditionState = NIGHT SNOW 
11945      AliasConditionState = NIGHT DAMAGED
11946      AliasConditionState = SNOW DAMAGED
11947      AliasConditionState = NIGHT SNOW DAMAGED
11948      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11949      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11950      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE 
11951         
11952      ConditionState    = DOOR_1_OPENING
11953        Model           = ABArFrcCmd_A7
11954        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11955        AnimationMode   = ONCE
11956        Flags           = START_FRAME_FIRST
11957      End 
11958      AliasConditionState = NIGHT DOOR_1_OPENING
11959      AliasConditionState = SNOW DOOR_1_OPENING
11960      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
11961      AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING
11962      AliasConditionState = SNOW DAMAGED DOOR_1_OPENING
11963      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING
11964      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
11965      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
11966      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
11967       
11968      ConditionState    = DOOR_1_CLOSING
11969        Model           = ABArFrcCmd_A7
11970        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11971        AnimationMode   = ONCE_BACKWARDS
11972        Flags           = START_FRAME_LAST
11973      End   
11974      AliasConditionState = NIGHT DOOR_1_CLOSING
11975      AliasConditionState = SNOW DOOR_1_CLOSING
11976      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
11977      AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING
11978      AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING
11979      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING
11980      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11981      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11982      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE  DOOR_1_CLOSING
11983      
11984      ConditionState    = DOOR_1_WAITING_OPEN
11985        Model           = ABArFrcCmd_A7
11986        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11987        AnimationMode   = MANUAL
11988        Flags           = START_FRAME_LAST
11989      End   
11990      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
11991      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
11992      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
11993      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN
11994      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN
11995      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN
11996      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
11997      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
11998      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
11999      
12000      
12001      ;**************************************************************************************************************************
12002      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12003      ;for this draw module
12004      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12005        Model              = ABArFrcCmd_A7
12006        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12007      End
12008      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12009      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12010      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12011      
12012      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12013        Model              = ABArFrcCmd_A7
12014        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12015      End
12016  
12017      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12018      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12019      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12020      
12021      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12022        Model              = ABArFrcCmd_A7
12023        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12024      End
12025      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12026      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12027      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12028      
12029      ConditionState       = AWAITING_CONSTRUCTION 
12030        Model              = NONE
12031      End
12032      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12033      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12034      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12035      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12036      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12037      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12038      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12039      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12040      AliasConditionState  = SOLD 
12041      AliasConditionState  = SOLD DAMAGED
12042      AliasConditionState  = SOLD REALLYDAMAGED
12043      AliasConditionState  = SOLD NIGHT
12044      AliasConditionState  = SOLD NIGHT DAMAGED
12045      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12046      AliasConditionState  = SOLD SNOW
12047      AliasConditionState  = SOLD SNOW DAMAGED
12048      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12049      AliasConditionState  = SOLD NIGHT SNOW
12050      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12051      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12052      ;**************************************************************************************************************************
12053      
12054    End
12055  
12056    ; ----------------- door #2 -------------------
12057    Draw                = W3DModelDraw ModuleTag_04
12058      DefaultConditionState
12059        Model           = ABArFrcCmd_A8
12060        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12061        AnimationMode   = MANUAL
12062        Flags           = START_FRAME_FIRST
12063      End
12064      AliasConditionState = NIGHT 
12065      AliasConditionState = SNOW 
12066      AliasConditionState = NIGHT SNOW 
12067      AliasConditionState = NIGHT DAMAGED
12068      AliasConditionState = SNOW DAMAGED
12069      AliasConditionState = NIGHT SNOW DAMAGED
12070      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12071      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12072      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE 
12073      
12074      
12075      ConditionState    = DOOR_2_OPENING
12076        Model           = ABArFrcCmd_A8
12077        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12078        AnimationMode   = ONCE
12079        Flags           = START_FRAME_FIRST
12080      End
12081      AliasConditionState = NIGHT DOOR_2_OPENING
12082      AliasConditionState = SNOW DOOR_2_OPENING
12083      AliasConditionState = NIGHT SNOW DOOR_2_OPENING
12084      AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING
12085      AliasConditionState = SNOW DAMAGED DOOR_2_OPENING
12086      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING
12087      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING
12088      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
12089      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
12090     
12091         
12092      ConditionState    = DOOR_2_CLOSING
12093        Model           = ABArFrcCmd_A8
12094        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12095        AnimationMode   = ONCE_BACKWARDS
12096        Flags           = START_FRAME_LAST
12097      End   
12098      AliasConditionState = NIGHT DOOR_2_CLOSING
12099      AliasConditionState = SNOW DOOR_2_CLOSING
12100      AliasConditionState = NIGHT SNOW DOOR_2_CLOSING
12101      AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING
12102      AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING
12103      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING
12104      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12105      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12106      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12107      
12108      ConditionState    = DOOR_2_WAITING_OPEN
12109        Model           = ABArFrcCmd_A8
12110        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12111        AnimationMode   = MANUAL
12112        Flags           = START_FRAME_LAST 
12113      End 
12114      AliasConditionState = NIGHT DOOR_2_WAITING_OPEN
12115      AliasConditionState = SNOW DOOR_2_WAITING_OPEN
12116      AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN
12117      AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN
12118      AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN
12119      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN
12120      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12121      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12122      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12123      
12124          ;**************************************************************************************************************************
12125      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12126      ;for this draw module
12127      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12128        Model              = ABArFrcCmd_A8
12129        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12130      End
12131      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12132      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12133      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12134      
12135      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12136        Model              = ABArFrcCmd_A8
12137        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12138      End
12139      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12140      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12141      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12142      
12143      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12144        Model              = ABArFrcCmd_A8
12145        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12146      End
12147      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12148      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12149      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12150      
12151      ConditionState       = AWAITING_CONSTRUCTION 
12152        Model              = NONE
12153      End
12154      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12155      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12156      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12157      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12158      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12159      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12160      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12161      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12162      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12163      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12164      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12165      AliasConditionState  = SOLD 
12166      AliasConditionState  = SOLD DAMAGED
12167      AliasConditionState  = SOLD REALLYDAMAGED
12168      AliasConditionState  = SOLD NIGHT
12169      AliasConditionState  = SOLD NIGHT DAMAGED
12170      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12171      AliasConditionState  = SOLD SNOW
12172      AliasConditionState  = SOLD SNOW DAMAGED
12173      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12174      AliasConditionState  = SOLD NIGHT SNOW
12175      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12176      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12177      ;**************************************************************************************************************************
12178      
12179    End
12180    
12181    ; ----------------- door #3 -------------------
12182    Draw                = W3DModelDraw ModuleTag_05
12183      DefaultConditionState
12184        Model           = ABArFrcCmd_A2
12185        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12186        AnimationMode   = MANUAL
12187        Flags           = START_FRAME_FIRST
12188      End
12189      AliasConditionState = NIGHT 
12190      AliasConditionState = SNOW 
12191      AliasConditionState = NIGHT SNOW 
12192      AliasConditionState = NIGHT DAMAGED
12193      AliasConditionState = SNOW DAMAGED
12194      AliasConditionState = NIGHT SNOW DAMAGED
12195      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12196      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12197      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
12198      
12199      
12200      ConditionState    = DOOR_3_OPENING
12201        Model           = ABArFrcCmd_A2
12202        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12203        AnimationMode   = ONCE
12204        Flags           = START_FRAME_FIRST
12205      End   
12206      AliasConditionState = NIGHT DOOR_3_OPENING
12207      AliasConditionState = SNOW DOOR_3_OPENING
12208      AliasConditionState = NIGHT SNOW DOOR_3_OPENING
12209      AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING
12210      AliasConditionState = SNOW DAMAGED DOOR_3_OPENING
12211      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING
12212      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
12213      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
12214      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
12215      
12216      ConditionState    = DOOR_3_CLOSING
12217        Model           = ABArFrcCmd_A2
12218        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12219        AnimationMode   = ONCE_BACKWARDS
12220        Flags           = START_FRAME_LAST
12221      End   
12222      AliasConditionState = NIGHT DOOR_3_CLOSING
12223      AliasConditionState = SNOW DOOR_3_CLOSING
12224      AliasConditionState = NIGHT SNOW DOOR_3_CLOSING
12225      AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING
12226      AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING
12227      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING
12228      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12229      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12230      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12231      
12232      ConditionState    = DOOR_3_WAITING_OPEN
12233        Model           = ABArFrcCmd_A2
12234        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12235        AnimationMode   = MANUAL
12236        Flags           = START_FRAME_LAST
12237      End  
12238      AliasConditionState = NIGHT DOOR_3_WAITING_OPEN
12239      AliasConditionState = SNOW DOOR_3_WAITING_OPEN
12240      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN
12241      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN
12242      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN
12243      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN
12244      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12245      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12246      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12247          
12248      
12249          ;**************************************************************************************************************************
12250      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12251      ;for this draw module
12252      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12253        Model              = ABArFrcCmd_A2
12254        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12255      End
12256      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12257      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12258      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12259      
12260      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12261        Model              = ABArFrcCmd_A2
12262        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12263      End
12264      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12265      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12266      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12267      
12268      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12269        Model              = ABArFrcCmd_A2
12270        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12271      End
12272      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12273      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12274      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12275      
12276      ConditionState       = AWAITING_CONSTRUCTION 
12277        Model              = NONE
12278      End
12279      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12280      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12281      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12282      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12283      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12284      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12285      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12286      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12287      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12288      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12289      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12290      AliasConditionState  = SOLD 
12291      AliasConditionState  = SOLD DAMAGED
12292      AliasConditionState  = SOLD REALLYDAMAGED
12293      AliasConditionState  = SOLD NIGHT
12294      AliasConditionState  = SOLD NIGHT DAMAGED
12295      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12296      AliasConditionState  = SOLD SNOW
12297      AliasConditionState  = SOLD SNOW DAMAGED
12298      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12299      AliasConditionState  = SOLD NIGHT SNOW
12300      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12301      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12302      ;**************************************************************************************************************************
12303         
12304    End
12305  
12306    ; ----------------- door #4 -------------------
12307    Draw                = W3DModelDraw ModuleTag_06
12308      DefaultConditionState
12309        Model           = ABArFrcCmd_A3
12310        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12311        AnimationMode   = MANUAL
12312        Flags           = START_FRAME_FIRST
12313      End
12314      AliasConditionState = NIGHT 
12315      AliasConditionState = SNOW 
12316      AliasConditionState = NIGHT SNOW 
12317      AliasConditionState = NIGHT DAMAGED
12318      AliasConditionState = SNOW DAMAGED
12319      AliasConditionState = NIGHT SNOW DAMAGED
12320      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12321      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12322      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
12323      
12324      ConditionState    = DOOR_4_OPENING
12325        Model           = ABArFrcCmd_A3
12326        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12327        AnimationMode   = ONCE
12328        Flags           = START_FRAME_FIRST
12329      End   
12330      AliasConditionState = NIGHT DOOR_4_OPENING
12331      AliasConditionState = SNOW DOOR_4_OPENING
12332      AliasConditionState = NIGHT SNOW DOOR_4_OPENING
12333      AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING
12334      AliasConditionState = SNOW DAMAGED DOOR_4_OPENING
12335      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING
12336      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING
12337      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING
12338      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING
12339      
12340      ConditionState    = DOOR_4_CLOSING
12341        Model           = ABArFrcCmd_A3
12342        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12343        AnimationMode   = ONCE_BACKWARDS
12344        Flags           = START_FRAME_LAST
12345      End   
12346      AliasConditionState = NIGHT DOOR_4_CLOSING
12347      AliasConditionState = SNOW DOOR_4_CLOSING
12348      AliasConditionState = NIGHT SNOW DOOR_4_CLOSING
12349      AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING
12350      AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING
12351      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING
12352      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12353      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12354      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12355      
12356      ConditionState    = DOOR_4_WAITING_OPEN
12357        Model           = ABArFrcCmd_A3
12358        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12359        AnimationMode   = MANUAL
12360        Flags           = START_FRAME_LAST
12361      End 
12362      AliasConditionState = NIGHT DOOR_4_WAITING_OPEN
12363      AliasConditionState = SNOW DOOR_4_WAITING_OPEN
12364      AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN
12365      AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN
12366      AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN
12367      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN
12368      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12369      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12370      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12371      
12372      ;**************************************************************************************************************************
12373      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12374      ;for this draw module
12375      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12376        Model              = ABArFrcCmd_A3
12377        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12378      End
12379      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12380      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12381      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12382      
12383      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12384        Model              = ABArFrcCmd_A3
12385        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12386      End
12387      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12388      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12389      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12390      
12391      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12392        Model              = ABArFrcCmd_A3
12393        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12394      End
12395      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12396      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12397      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12398      
12399      ConditionState       = AWAITING_CONSTRUCTION 
12400        Model              = NONE
12401      End
12402      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12403      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12404      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12405      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12406      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12407      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12408      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12409      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12410      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12411      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12412      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12413      AliasConditionState  = SOLD 
12414      AliasConditionState  = SOLD DAMAGED
12415      AliasConditionState  = SOLD REALLYDAMAGED
12416      AliasConditionState  = SOLD NIGHT
12417      AliasConditionState  = SOLD NIGHT DAMAGED
12418      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12419      AliasConditionState  = SOLD SNOW
12420      AliasConditionState  = SOLD SNOW DAMAGED
12421      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12422      AliasConditionState  = SOLD NIGHT SNOW
12423      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12424      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12425      ;**************************************************************************************************************************
12426    End
12427  
12428    ; ------------ construction-zone fence -----------------
12429    Draw = W3DModelDraw ModuleTag_07
12430    AnimationsRequirePower = No
12431      DefaultConditionState
12432        Model           = None
12433        TransitionKey   = DOWN_DEFAULT
12434      End
12435      ConditionState    = NIGHT
12436        Model           = None
12437        TransitionKey   = DOWN_DEFAULT
12438      End
12439      ConditionState    = SNOW
12440        Model           = None
12441        TransitionKey   = DOWN_DEFAULT
12442      End
12443      ConditionState    = SNOW NIGHT
12444        Model           = None
12445        TransitionKey   = DOWN_DEFAULT
12446      End
12447      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12448        Model           = ABArFrcCmd_A4
12449        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12450        AnimationMode   = MANUAL
12451        Flags           = START_FRAME_LAST
12452        TransitionKey   = UP_DAY
12453        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12454        ParticleSysBone = SparksS01 LiveWireSparks02
12455      End
12456      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12457        Model           = ABArFrcCmd_A4N
12458        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12459        AnimationMode   = MANUAL
12460        Flags           = START_FRAME_LAST
12461        TransitionKey   = UP_NIGHT
12462        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12463        ParticleSysBone = SparksS01 LiveWireSparks02
12464      End
12465      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12466        Model           = ABArFrcCmd_A4S
12467        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12468        AnimationMode   = MANUAL
12469        Flags           = START_FRAME_LAST
12470        TransitionKey   = UP_SNOW
12471        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12472        ParticleSysBone = SparksS01 LiveWireSparks02
12473      End
12474      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12475        Model           = ABArFrcCmd_A4SN
12476  ; @todo srj -- missing
12477        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12478        AnimationMode   = MANUAL
12479        Flags           = START_FRAME_LAST
12480        TransitionKey   = UP_SNOWNIGHT
12481        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12482        ParticleSysBone = SparksS01 LiveWireSparks02
12483      End
12484      TransitionState   = DOWN_DEFAULT UP_DAY
12485        Model           = ABArFrcCmd_A4
12486        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12487        AnimationMode   = ONCE
12488        AnimationSpeedFactorRange = 1.0 1.0
12489        Flags           = START_FRAME_FIRST
12490      End
12491      TransitionState   = DOWN_DEFAULT UP_NIGHT
12492        Model           = ABArFrcCmd_A4N
12493        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12494        AnimationMode   = ONCE
12495        AnimationSpeedFactorRange = 1.0 1.0
12496        Flags           = START_FRAME_FIRST
12497      End
12498      TransitionState   = DOWN_DEFAULT UP_SNOW
12499        Model           = ABArFrcCmd_A4S
12500        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12501        AnimationMode   = ONCE
12502        AnimationSpeedFactorRange = 1.0 1.0
12503        Flags           = START_FRAME_FIRST
12504      End
12505      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12506        Model           = ABArFrcCmd_A4SN
12507  ; @todo srj -- missing
12508        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12509        AnimationMode   = ONCE
12510        AnimationSpeedFactorRange = 1.0 1.0
12511        Flags           = START_FRAME_FIRST
12512      End
12513      TransitionState   = UP_DAY DOWN_DEFAULT
12514        Model           = ABArFrcCmd_A4
12515        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12516        AnimationMode   = ONCE_BACKWARDS
12517        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12518        Flags           = START_FRAME_LAST
12519      End
12520      TransitionState   = UP_NIGHT DOWN_DEFAULT
12521        Model           = ABArFrcCmd_A4N
12522        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12523        AnimationMode   = ONCE_BACKWARDS
12524        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12525        Flags           = START_FRAME_LAST
12526      End
12527      TransitionState   = UP_SNOW DOWN_DEFAULT
12528        Model           = ABArFrcCmd_A4S
12529        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12530        AnimationMode   = ONCE_BACKWARDS
12531        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12532        Flags           = START_FRAME_LAST
12533      End
12534      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12535        Model           = ABArFrcCmd_A4SN
12536  ; @todo srj -- missing
12537        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12538        AnimationMode   = ONCE_BACKWARDS
12539        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12540        Flags           = START_FRAME_LAST
12541      End
12542    End
12543  
12544    ; ------------ under-construction scaffolding -----------------
12545    Draw = W3DModelDraw ModuleTag_08
12546    AnimationsRequirePower = No
12547      MinLODRequired = MEDIUM
12548      DefaultConditionState
12549        Model           = None
12550        TransitionKey   = DOWN_DEFAULT
12551      End
12552      ConditionState    = NIGHT
12553        Model           = None
12554        TransitionKey   = DOWN_DEFAULT
12555      End
12556      ConditionState    = SNOW
12557        Model           = None
12558        TransitionKey   = DOWN_DEFAULT
12559      End
12560      ConditionState    = SNOW NIGHT
12561        Model           = None
12562        TransitionKey   = DOWN_DEFAULT
12563      End
12564      ConditionState    = PARTIALLY_CONSTRUCTED
12565        Model           = ABArFrcCmd_A6
12566        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12567        AnimationMode   = MANUAL
12568        Flags           = START_FRAME_LAST
12569        TransitionKey   = UP_DAY
12570        ParticleSysBone = Sparks01 BuildUpBlueSpark
12571        ParticleSysBone = Sparks02 BuildUpBlueSpark
12572        ParticleSysBone = Sparks03 BuildUpBlueSpark
12573        ParticleSysBone = Sparks04 BuildUpBlueSpark
12574        ParticleSysBone = Sparks05 BuildUpBlueSpark
12575        ParticleSysBone = Sparks06 BuildUpBlueSpark
12576      End
12577      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
12578        Model           = ABArFrcCmd_A6N
12579        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12580        AnimationMode   = MANUAL
12581        Flags           = START_FRAME_LAST
12582        TransitionKey   = UP_NIGHT
12583        ParticleSysBone = Sparks01 BuildUpBlueSpark
12584        ParticleSysBone = Sparks02 BuildUpBlueSpark
12585        ParticleSysBone = Sparks03 BuildUpBlueSpark
12586        ParticleSysBone = Sparks04 BuildUpBlueSpark
12587        ParticleSysBone = Sparks05 BuildUpBlueSpark
12588        ParticleSysBone = Sparks06 BuildUpBlueSpark
12589      End
12590      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
12591        Model           = ABArFrcCmd_A6S
12592        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12593        AnimationMode   = MANUAL
12594        Flags           = START_FRAME_LAST
12595        TransitionKey   = UP_SNOW
12596        ParticleSysBone = Sparks01 BuildUpBlueSpark
12597        ParticleSysBone = Sparks02 BuildUpBlueSpark
12598        ParticleSysBone = Sparks03 BuildUpBlueSpark
12599        ParticleSysBone = Sparks04 BuildUpBlueSpark
12600        ParticleSysBone = Sparks05 BuildUpBlueSpark
12601        ParticleSysBone = Sparks06 BuildUpBlueSpark
12602      End
12603      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
12604        Model           = ABArFrcCmd_A6SN
12605  ; @todo srj -- missing
12606        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12607        AnimationMode   = MANUAL
12608        Flags           = START_FRAME_LAST
12609        TransitionKey   = UP_SNOWNIGHT
12610        ParticleSysBone = Sparks01 BuildUpBlueSpark
12611        ParticleSysBone = Sparks02 BuildUpBlueSpark
12612        ParticleSysBone = Sparks03 BuildUpBlueSpark
12613        ParticleSysBone = Sparks04 BuildUpBlueSpark
12614        ParticleSysBone = Sparks05 BuildUpBlueSpark
12615        ParticleSysBone = Sparks06 BuildUpBlueSpark
12616      End
12617      TransitionState   = DOWN_DEFAULT UP_DAY
12618       Model            = ABArFrcCmd_A6
12619        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12620        AnimationMode   = ONCE
12621        AnimationSpeedFactorRange = 1.0 1.0
12622        Flags           = START_FRAME_FIRST
12623      End
12624      TransitionState   = DOWN_DEFAULT UP_NIGHT
12625       Model            = ABArFrcCmd_A6N
12626        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12627        AnimationMode   = ONCE
12628        AnimationSpeedFactorRange = 1.0 1.0
12629        Flags           = START_FRAME_FIRST
12630      End
12631  
12632      TransitionState   = DOWN_DEFAULT UP_SNOW
12633       Model            = ABArFrcCmd_A6S
12634        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12635        AnimationMode   = ONCE
12636        AnimationSpeedFactorRange = 1.0 1.0
12637        Flags           = START_FRAME_FIRST
12638      End
12639      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12640       Model            = ABArFrcCmd_A6SN
12641  ; @todo srj -- missing
12642        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12643        AnimationMode   = ONCE
12644        AnimationSpeedFactorRange = 1.0 1.0
12645        Flags           = START_FRAME_FIRST
12646      End
12647      TransitionState   = UP_DAY DOWN_DEFAULT
12648        Model           = ABArFrcCmd_A6
12649        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12650        AnimationMode   = ONCE_BACKWARDS
12651        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12652        Flags           = START_FRAME_LAST
12653      End
12654      TransitionState   = UP_NIGHT DOWN_DEFAULT
12655        Model           = ABArFrcCmd_A6N
12656        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12657        AnimationMode   = ONCE_BACKWARDS
12658        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12659        Flags           = START_FRAME_LAST
12660      End
12661      TransitionState   = UP_SNOW DOWN_DEFAULT
12662        Model           = ABArFrcCmd_A6S
12663        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12664        AnimationMode   = ONCE_BACKWARDS
12665        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12666        Flags           = START_FRAME_LAST
12667      End
12668      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12669        Model           = ABArFrcCmd_A6SN
12670  ; @todo srj -- missing
12671        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12672        AnimationMode   = ONCE_BACKWARDS
12673        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12674        Flags           = START_FRAME_LAST
12675      End
12676    End
12677  
12678    ; ------------ being-constructed crane -----------------
12679    Draw = W3DModelDraw ModuleTag_09
12680    AnimationsRequirePower = No
12681      DefaultConditionState
12682        Model           = None
12683        TransitionKey   = DOWN_DEFAULT
12684      End
12685      ConditionState    = NIGHT
12686        Model           = None
12687        TransitionKey   = DOWN_DEFAULT
12688      End
12689      ConditionState    = SNOW
12690        Model           = None
12691        TransitionKey   = DOWN_DEFAULT
12692      End
12693      ConditionState    = SNOW NIGHT
12694        Model           = None
12695        TransitionKey   = DOWN_DEFAULT
12696      End
12697      ConditionState    = SOLD
12698        Model           = NONE
12699      End
12700  
12701      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
12702        Model           = ABArFrcCmd_A5
12703        Animation       = ABArFrcCmd_A5.ABArFrcCmd_A5
12704        AnimationMode   = LOOP
12705        TransitionKey   = UP_DAY
12706      End
12707  
12708      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
12709        Model           = ABArFrcCmd_A5N
12710        Animation       = ABArFrcCmd_A5N.ABArFrcCmd_A5N
12711        AnimationMode   = LOOP
12712        TransitionKey   = UP_NIGHT
12713      End
12714      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
12715        Model           = ABArFrcCmd_A5S
12716        Animation       = ABArFrcCmd_A5S.ABArFrcCmd_A5S
12717        AnimationMode   = LOOP
12718        TransitionKey   = UP_SNOW
12719      End
12720      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
12721        Model           = ABArFrcCmd_A5SN
12722        Animation       = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN
12723        AnimationMode   = LOOP
12724        TransitionKey   = UP_SNOWNIGHT
12725      End
12726      TransitionState   = DOWN_DEFAULT UP_DAY
12727        Model           = ABArFrcCmd_AB
12728        Animation       = ABArFrcCmd_AB.ABArFrcCmd_AB
12729        AnimationMode   = ONCE
12730        AnimationSpeedFactorRange = 1.0 1.0
12731        Flags           = START_FRAME_FIRST
12732      End
12733  
12734      TransitionState   = DOWN_DEFAULT UP_NIGHT
12735        Model           = ABArFrcCmd_ABN
12736        Animation       = ABArFrcCmd_ABN.ABArFrcCmd_ABN
12737        AnimationMode   = ONCE
12738        AnimationSpeedFactorRange = 1.0 1.0
12739        Flags           = START_FRAME_FIRST
12740      End
12741      TransitionState   = DOWN_DEFAULT UP_SNOW
12742        Model           = ABArFrcCmd_ABS
12743        ; @todo srj -- not found
12744        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12745        AnimationMode   = ONCE
12746        AnimationSpeedFactorRange = 1.0 1.0
12747        Flags           = START_FRAME_FIRST
12748      End
12749      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12750        Model           = ABArFrcCmd_ABSN
12751        Animation       = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN
12752        AnimationMode   = ONCE
12753        AnimationSpeedFactorRange = 1.0 1.0
12754        Flags           = START_FRAME_FIRST
12755      End
12756      TransitionState   = UP_DAY DOWN_DEFAULT
12757        Model           = ABArFrcCmd_AB
12758        Animation       = ABArFrcCmd_AB.ABArFrcCmd_AB
12759        AnimationMode   = ONCE_BACKWARDS
12760        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12761        Flags           = START_FRAME_LAST
12762      End
12763      TransitionState   = UP_NIGHT DOWN_DEFAULT
12764        Model           = ABArFrcCmd_ABN
12765        Animation       = ABArFrcCmd_ABN.ABArFrcCmd_ABN
12766        AnimationMode   = ONCE_BACKWARDS
12767        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12768        Flags           = START_FRAME_LAST
12769      End
12770      TransitionState   = UP_SNOW DOWN_DEFAULT
12771        Model           = ABArFrcCmd_ABS
12772        ; @todo srj -- not found
12773        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12774        AnimationMode   = ONCE_BACKWARDS
12775        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12776        Flags           = START_FRAME_LAST
12777      End
12778      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12779        Model           = ABArFrcCmd_ABS
12780        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12781        AnimationMode   = ONCE_BACKWARDS
12782        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12783        Flags           = START_FRAME_LAST
12784      End
12785    End
12786  
12787    PlacementViewAngle = -45
12788  
12789    ; ***DESIGN parameters ***
12790    DisplayName      = OBJECT:Airfield
12791    Side             = AmericaAirForceGeneral
12792    EditorSorting    = STRUCTURE
12793    Prerequisites
12794      Object = AirF_AmericaSupplyCenter
12795    End
12796    BuildCost           = 800
12797    BuildTime           = 30.0           ; in seconds
12798    EnergyProduction    = -1
12799    CommandSet          = AirF_AmericaAirfieldCommandSet
12800    VisionRange         = 200.0           ; Shroud clearing distance
12801    ShroudClearingRange = 200
12802    ArmorSet
12803      Conditions        = None
12804      Armor             = StructureArmor
12805      DamageFX          = StructureDamageFXNoShake
12806    End
12807    ExperienceValue     = 150 150 150 150  ; Experience point value at each level
12808  
12809    ; *** AUDIO Parameters ***
12810    VoiceSelect         = AirfieldUSASelect
12811    SoundOnDamaged        = BuildingDamagedStateLight
12812    SoundOnReallyDamaged  = BuildingDestroy
12813  
12814    UnitSpecificSounds
12815      UnderConstruction     = UnderConstructionLoop
12816    End
12817  
12818    ; *** ENGINEERING Parameters ***
12819    RadarPriority       = STRUCTURE
12820    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT
12821    Body                = StructureBody ModuleTag_10
12822      MaxHealth         = 2500.0
12823      InitialHealth     = 2500.0
12824  
12825      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
12826      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
12827      SubdualDamageCap = 2700
12828      SubdualDamageHealRate = 500
12829      SubdualDamageHealAmount = 100
12830    End
12831    
12832    Behavior = ParkingPlaceBehavior ModuleTag_11
12833      HealAmountPerSecond     = 10
12834      NumRows                 = 2
12835      NumCols                 = 2
12836      HasRunways              = Yes
12837      ApproachHeight          = 50
12838    End
12839  
12840    Behavior = ProductionUpdate ModuleTag_12
12841      NumDoorAnimations            = 4
12842      DoorOpeningTime              = 2000  ;in mSeconds
12843      DoorWaitOpenTime             = 3000  ;in mSeconds
12844      DoorCloseTime                = 2000  ;in mSeconds
12845      ConstructionCompleteDuration = 1000  ;in mSeconds
12846    End
12847    Behavior = BaseRegenerateUpdate ModuleTag_13
12848      ;No data
12849    End 
12850  
12851    Behavior = DestroyDie ModuleTag_14
12852      ;nothing
12853    End
12854    Behavior             = CreateObjectDie ModuleTag_15
12855      CreationList  = OCL_ABPowerPlantExplode
12856    End
12857    Behavior             = CreateObjectDie ModuleTag_16
12858      CreationList  = OCL_AmericanRangerDebris02
12859      ExemptStatus  = UNDER_CONSTRUCTION
12860    End
12861    Behavior             = FXListDie ModuleTag_17
12862      DeathFX       = FX_StructureMediumDeath
12863    End
12864  
12865    Behavior = FlammableUpdate ModuleTag_19
12866      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
12867      AflameDamageAmount = 5       ; taking this much damage...
12868      AflameDamageDelay = 500       ; this often.
12869    End
12870  
12871    Behavior = TransitionDamageFX ModuleTag_31
12872      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
12873      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
12874      ;---------------------------------------------------------------------------------------
12875      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
12876      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
12877      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
12878    End
12879  
12880    Geometry            = BOX
12881    GeometryMajorRadius = 112.0
12882    GeometryMinorRadius = 74.0
12883    GeometryHeight      = 25.0
12884    GeometryIsSmall     = No
12885    FactoryExitWidth    = 25
12886    Shadow          = SHADOW_VOLUME
12887    BuildCompletion = PLACED_BY_PLAYER
12888  
12889  End
12890  
12891  
12892  ;------------------------------------------------------------------------------
12893  Object AirF_AmericaSupplyCenter
12894  
12895    ; *** ART Parameters ***
12896    SelectPortrait         = SASupplyCntr_L
12897    ButtonImage            = SASupplyCntr
12898    Draw = W3DModelDraw ModuleTag_01
12899      OkToChangeModelColor = Yes
12900  
12901      ; day **************************************
12902      ConditionState       = NONE
12903        Model              = ABSupplyCT
12904        Animation          = ABSupplyCT.ABSupplyCT
12905        AnimationMode      = LOOP
12906        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12907      End
12908      ConditionState       = DAMAGED
12909        Model              = ABSupplyCT_D
12910        Animation          = ABSupplyCT_D.ABSupplyCT_D
12911        AnimationMode      = LOOP
12912        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12913        ParticleSysBone    = Smoke01 SmolderingSmoke
12914        ParticleSysBone    = Smoke02 SmolderingSmoke
12915        ParticleSysBone    = Smoke03 SmolderingSmoke
12916        ParticleSysBone    = Smoke04 SmolderingSmoke
12917        ParticleSysBone    = Smoke01 SmolderingFire
12918        ParticleSysBone    = Smoke02 SmolderingFire
12919        ParticleSysBone    = Smoke03 SmolderingFire
12920        ParticleSysBone    = Smoke04 SmolderingFire
12921      End
12922       ConditionState      = REALLYDAMAGED RUBBLE
12923        Model              = ABSupplyCT_E
12924        Animation          = ABSupplyCT_E.ABSupplyCT_E
12925        AnimationMode      = LOOP
12926        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12927        ParticleSysBone    = Smoke01 SmolderingSmoke
12928        ParticleSysBone    = Smoke02 SmolderingSmoke
12929        ParticleSysBone    = Smoke03 SmolderingSmoke
12930        ParticleSysBone    = Smoke04 SmolderingSmoke
12931        ParticleSysBone    = Smoke05 SmolderingSmoke
12932        ParticleSysBone    = Smoke06 SmolderingSmoke
12933        ParticleSysBone    = Smoke01 SmolderingFire
12934        ParticleSysBone    = Smoke02 SmolderingFire
12935        ParticleSysBone    = Smoke03 SmolderingFire
12936        ParticleSysBone    = Smoke04 SmolderingFire
12937        ParticleSysBone    = Smoke05 SmolderingFire
12938        ParticleSysBone    = Smoke06 SmolderingFire
12939      End
12940  
12941      
12942      ; day Snow **************************************
12943      ConditionState       = SNOW
12944        Model              = ABSupplyCT_S
12945        Animation          = ABSupplyCT_S.ABSupplyCT_S
12946        AnimationMode      = LOOP
12947        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12948      End
12949      ConditionState       = DAMAGED SNOW
12950        Model              = ABSupplyCT_DS
12951        Animation          = ABSupplyCT_DS.ABSupplyCT_DS
12952        AnimationMode      = LOOP
12953        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12954        ParticleSysBone    = Smoke01 SmolderingSmoke
12955        ParticleSysBone    = Smoke02 SmolderingSmoke
12956        ParticleSysBone    = Smoke03 SmolderingSmoke
12957        ParticleSysBone    = Smoke04 SmolderingSmoke
12958        ParticleSysBone    = Smoke01 SmolderingFire
12959        ParticleSysBone    = Smoke02 SmolderingFire
12960        ParticleSysBone    = Smoke03 SmolderingFire
12961        ParticleSysBone    = Smoke04 SmolderingFire
12962      End
12963       ConditionState      = REALLYDAMAGED RUBBLE SNOW
12964        Model              = ABSupplyCT_ES
12965        Animation          = ABSupplyCT_ES.ABSupplyCT_ES
12966        AnimationMode      = LOOP
12967        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12968        ParticleSysBone    = Smoke01 SmolderingSmoke
12969        ParticleSysBone    = Smoke02 SmolderingSmoke
12970        ParticleSysBone    = Smoke03 SmolderingSmoke
12971        ParticleSysBone    = Smoke04 SmolderingSmoke
12972        ParticleSysBone    = Smoke05 SmolderingSmoke
12973        ParticleSysBone    = Smoke06 SmolderingSmoke
12974        ParticleSysBone    = Smoke01 SmolderingFire
12975        ParticleSysBone    = Smoke02 SmolderingFire
12976        ParticleSysBone    = Smoke03 SmolderingFire
12977        ParticleSysBone    = Smoke04 SmolderingFire
12978        ParticleSysBone    = Smoke05 SmolderingFire
12979        ParticleSysBone    = Smoke06 SmolderingFire
12980      End
12981  
12982      
12983  
12984      ; Night *************************************
12985        ConditionState     = NIGHT
12986        Model              = ABSupplyCT_N
12987        Animation          = ABSupplyCT_N.ABSupplyCT_N
12988        AnimationMode      = LOOP
12989        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12990      End 
12991        ConditionState     = DAMAGED NIGHT
12992        Model              = ABSupplyCT_DN
12993        Animation          = ABSupplyCT_DN.ABSupplyCT_DN
12994        AnimationMode      = LOOP
12995        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12996      End 
12997        ConditionState     = REALLYDAMAGED RUBBLE NIGHT
12998        Model              = ABSupplyCT_EN
12999        Animation          = ABSupplyCT_EN.ABSupplyCT_EN
13000        AnimationMode      = LOOP
13001        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13002      End
13003  
13004      
13005      ; Night Snow*************************************
13006        ConditionState     = NIGHT SNOW
13007        Model              = ABSupplyCT_NS
13008        Animation          = ABSupplyCT_NS.ABSupplyCT_NS
13009        AnimationMode      = LOOP
13010        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13011      End 
13012        ConditionState     = DAMAGED NIGHT SNOW
13013        Model              = ABSupplyCT_DNS
13014        Animation          = ABSupplyCT_DNS.ABSupplyCT_DNS
13015        AnimationMode      = LOOP
13016        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13017      End 
13018        ConditionState     = REALLYDAMAGED RUBBLE NIGHT SNOW
13019        Model              = ABSupplyCT_ENS
13020        Animation          = ABSupplyCT_ENS.ABSupplyCT_ENS
13021        AnimationMode      = LOOP
13022        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13023      End
13024      
13025          ;**************************************************************************************************************************
13026      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13027      ;for this draw module
13028      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13029        Model              = ABSupplyCT
13030        Animation          = ABSupplyCT.ABSupplyCT
13031        AnimationMode      = LOOP
13032        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13033      End
13034      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13035        Model              = ABSupplyCT_D
13036        Animation          = ABSupplyCT_D.ABSupplyCT_D
13037        AnimationMode      = LOOP
13038        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13039      End
13040      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13041        Model              = ABSupplyCT_E
13042        Animation          = ABSupplyCT_E.ABSupplyCT_E
13043        AnimationMode      = LOOP
13044        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13045      End
13046      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13047        Model              = ABSupplyCT_N
13048        Animation          = ABSupplyCT_N.ABSupplyCT_N
13049        AnimationMode      = LOOP
13050        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13051      End
13052      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13053        Model              = ABSupplyCT_DN
13054        Animation          = ABSupplyCT_DN.ABSupplyCT_DN
13055        AnimationMode      = LOOP
13056        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13057      End
13058      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13059        Model              = ABSupplyCT_EN
13060        Animation          = ABSupplyCT_EN.ABSupplyCT_EN
13061        AnimationMode      = LOOP
13062        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13063      End
13064      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13065        Model              = ABSupplyCT_S
13066        Animation          = ABSupplyCT_S.ABSupplyCT_S
13067        AnimationMode      = LOOP
13068        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13069      End
13070      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13071        Model              = ABSupplyCT_DS
13072        Animation          = ABSupplyCT_DS.ABSupplyCT_DS
13073        AnimationMode      = LOOP
13074        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13075      End
13076      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13077        Model              = ABSupplyCT_ES
13078        Animation          = ABSupplyCT_ES.ABSupplyCT_ES
13079        AnimationMode      = LOOP
13080        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13081      End
13082      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13083        Model              = ABSupplyCT_NS
13084        Animation          = ABSupplyCT_NS.ABSupplyCT_NS
13085        AnimationMode      = LOOP
13086        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13087      End
13088      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13089        Model              = ABSupplyCT_DNS
13090        Animation          = ABSupplyCT_DNS.ABSupplyCT_DNS
13091        AnimationMode      = LOOP
13092        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13093      End
13094      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13095        Model              = ABSupplyCT_ENS
13096        Animation          = ABSupplyCT_ENS.ABSupplyCT_ENS
13097        AnimationMode      = LOOP
13098        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13099      End
13100  
13101      ConditionState       = AWAITING_CONSTRUCTION 
13102        Model              = NONE
13103      End
13104      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13105      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13106      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13107      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13108      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13109      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13110      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13111      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13112      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13113      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13114      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13115      AliasConditionState  = SOLD 
13116      AliasConditionState  = SOLD DAMAGED
13117      AliasConditionState  = SOLD REALLYDAMAGED
13118      AliasConditionState  = SOLD NIGHT
13119      AliasConditionState  = SOLD NIGHT DAMAGED
13120      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13121      AliasConditionState  = SOLD SNOW
13122      AliasConditionState  = SOLD SNOW DAMAGED
13123      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13124      AliasConditionState  = SOLD NIGHT SNOW
13125      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13126      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13127      ;**************************************************************************************************************************
13128  
13129  
13130   
13131    End
13132  
13133    ; ------------ construction-zone fence -----------------
13134    Draw = W3DModelDraw ModuleTag_02
13135    AnimationsRequirePower = No
13136      DefaultConditionState
13137        Model           = None
13138        TransitionKey   = DOWN_DEFAULT
13139      End
13140      ConditionState    = NIGHT
13141        Model           = None
13142        TransitionKey   = DOWN_DEFAULT
13143      End
13144      ConditionState    = SNOW
13145        Model           = None
13146        TransitionKey   = DOWN_DEFAULT
13147      End
13148      ConditionState    = SNOW NIGHT
13149        Model           = None
13150        TransitionKey   = DOWN_DEFAULT
13151      End
13152      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13153        Model           = ABSupplyCT_A4
13154        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13155        AnimationMode   = MANUAL
13156        Flags           = START_FRAME_LAST
13157        TransitionKey   = UP_DAY
13158        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13159        ParticleSysBone = SparksS01 LiveWireSparks02
13160      End
13161      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13162        Model           = ABSupplyCT_A4N
13163        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13164        AnimationMode   = MANUAL
13165        Flags           = START_FRAME_LAST
13166        TransitionKey   = UP_NIGHT
13167        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13168        ParticleSysBone = SparksS01 LiveWireSparks02
13169      End
13170      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13171        Model           = ABSupplyCT_A4S
13172        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13173        AnimationMode   = MANUAL
13174        Flags           = START_FRAME_LAST
13175        TransitionKey   = UP_SNOW
13176        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13177        ParticleSysBone = SparksS01 LiveWireSparks02
13178      End
13179      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13180        Model           = ABSupplyCT_A4SN
13181        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13182        AnimationMode   = MANUAL
13183        Flags           = START_FRAME_LAST
13184        TransitionKey   = UP_SNOWNIGHT
13185        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13186        ParticleSysBone = SparksS01 LiveWireSparks02
13187      End
13188      TransitionState   = DOWN_DEFAULT UP_DAY
13189        Model           = ABSupplyCT_A4
13190        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13191        AnimationMode   = ONCE
13192        AnimationSpeedFactorRange = 1.0 1.0
13193        Flags           = START_FRAME_FIRST
13194      End
13195      TransitionState   = DOWN_DEFAULT UP_NIGHT
13196        Model           = ABSupplyCT_A4N
13197        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13198        AnimationMode   = ONCE
13199        AnimationSpeedFactorRange = 1.0 1.0
13200        Flags           = START_FRAME_FIRST
13201      End
13202      TransitionState   = DOWN_DEFAULT UP_SNOW
13203        Model           = ABSupplyCT_A4S
13204        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13205        AnimationMode   = ONCE
13206        AnimationSpeedFactorRange = 1.0 1.0
13207        Flags           = START_FRAME_FIRST
13208      End
13209      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13210        Model           = ABSupplyCT_A4SN
13211        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13212        AnimationMode   = ONCE
13213        AnimationSpeedFactorRange = 1.0 1.0
13214        Flags           = START_FRAME_FIRST
13215      End
13216      TransitionState   = UP_DAY DOWN_DEFAULT
13217        Model           = ABSupplyCT_A4
13218        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13219        AnimationMode   = ONCE_BACKWARDS
13220        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13221        Flags           = START_FRAME_LAST
13222      End
13223      TransitionState   = UP_NIGHT DOWN_DEFAULT
13224        Model           = ABSupplyCT_A4N
13225        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13226        AnimationMode   = ONCE_BACKWARDS
13227        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13228        Flags           = START_FRAME_LAST
13229      End
13230      TransitionState   = UP_SNOW DOWN_DEFAULT
13231        Model           = ABSupplyCT_A4S
13232        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13233        AnimationMode   = ONCE_BACKWARDS
13234        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13235        Flags           = START_FRAME_LAST
13236      End
13237      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13238        Model           = ABSupplyCT_A4SN
13239        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13240        AnimationMode   = ONCE_BACKWARDS
13241        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13242        Flags           = START_FRAME_LAST
13243      End
13244    End
13245  
13246    ; ------------ under-construction scaffolding -----------------
13247    Draw = W3DModelDraw ModuleTag_03
13248    AnimationsRequirePower = No
13249      MinLODRequired = MEDIUM
13250      DefaultConditionState
13251        Model           = None
13252        TransitionKey   = DOWN_DEFAULT
13253      End
13254      ConditionState    = NIGHT
13255        Model           = None
13256        TransitionKey   = DOWN_DEFAULT
13257      End
13258      ConditionState    = SNOW
13259        Model           = None
13260        TransitionKey   = DOWN_DEFAULT
13261      End
13262      ConditionState    = SNOW NIGHT
13263        Model           = None
13264        TransitionKey   = DOWN_DEFAULT
13265      End
13266      ConditionState    = PARTIALLY_CONSTRUCTED
13267        Model           = ABSupplyCT_A6
13268        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13269        AnimationMode   = MANUAL
13270        Flags           = START_FRAME_LAST
13271        TransitionKey   = UP_DAY
13272        ParticleSysBone = Sparks01 BuildUpBlueSpark
13273        ParticleSysBone = Sparks02 BuildUpBlueSpark
13274        ParticleSysBone = Sparks03 BuildUpBlueSpark
13275        ParticleSysBone = Sparks04 BuildUpBlueSpark
13276        ParticleSysBone = Sparks05 BuildUpBlueSpark
13277        ParticleSysBone = Sparks06 BuildUpBlueSpark
13278      End
13279      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
13280        Model           = ABSupplyCT_A6N
13281        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13282        AnimationMode   = MANUAL
13283        Flags           = START_FRAME_LAST
13284        TransitionKey   = UP_NIGHT
13285        ParticleSysBone = Sparks01 BuildUpBlueSpark
13286        ParticleSysBone = Sparks02 BuildUpBlueSpark
13287        ParticleSysBone = Sparks03 BuildUpBlueSpark
13288        ParticleSysBone = Sparks04 BuildUpBlueSpark
13289        ParticleSysBone = Sparks05 BuildUpBlueSpark
13290        ParticleSysBone = Sparks06 BuildUpBlueSpark
13291      End
13292      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
13293        Model           = ABSupplyCT_A6S
13294        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13295        AnimationMode   = MANUAL
13296        Flags           = START_FRAME_LAST
13297        TransitionKey   = UP_SNOW
13298        ParticleSysBone = Sparks01 BuildUpBlueSpark
13299        ParticleSysBone = Sparks02 BuildUpBlueSpark
13300        ParticleSysBone = Sparks03 BuildUpBlueSpark
13301        ParticleSysBone = Sparks04 BuildUpBlueSpark
13302        ParticleSysBone = Sparks05 BuildUpBlueSpark
13303        ParticleSysBone = Sparks06 BuildUpBlueSpark
13304      End
13305      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
13306        Model           = ABSupplyCT_A6SN
13307        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13308        AnimationMode   = MANUAL
13309        Flags           = START_FRAME_LAST
13310        TransitionKey   = UP_SNOWNIGHT
13311        ParticleSysBone = Sparks01 BuildUpBlueSpark
13312        ParticleSysBone = Sparks02 BuildUpBlueSpark
13313        ParticleSysBone = Sparks03 BuildUpBlueSpark
13314        ParticleSysBone = Sparks04 BuildUpBlueSpark
13315        ParticleSysBone = Sparks05 BuildUpBlueSpark
13316        ParticleSysBone = Sparks06 BuildUpBlueSpark
13317      End
13318      TransitionState   = DOWN_DEFAULT UP_DAY
13319       Model            = ABSupplyCT_A6
13320        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13321        AnimationMode   = ONCE
13322        AnimationSpeedFactorRange = 1.0 1.0
13323        Flags           = START_FRAME_FIRST
13324      End
13325      TransitionState   = DOWN_DEFAULT UP_NIGHT
13326       Model            = ABSupplyCT_A6N
13327        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13328        AnimationMode   = ONCE
13329        AnimationSpeedFactorRange = 1.0 1.0
13330        Flags           = START_FRAME_FIRST
13331      End
13332      TransitionState   = DOWN_DEFAULT UP_SNOW
13333       Model            = ABSupplyCT_A6S
13334        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13335        AnimationMode   = ONCE
13336        AnimationSpeedFactorRange = 1.0 1.0
13337        Flags           = START_FRAME_FIRST
13338      End
13339      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13340       Model            = ABSupplyCT_A6SN
13341        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13342        AnimationMode   = ONCE
13343        AnimationSpeedFactorRange = 1.0 1.0
13344        Flags           = START_FRAME_FIRST
13345      End
13346      TransitionState   = UP_DAY DOWN_DEFAULT
13347        Model           = ABSupplyCT_A6
13348        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13349        AnimationMode   = ONCE_BACKWARDS
13350        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13351        Flags           = START_FRAME_LAST
13352      End
13353      TransitionState   = UP_NIGHT DOWN_DEFAULT
13354        Model           = ABSupplyCT_A6N
13355        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13356        AnimationMode   = ONCE_BACKWARDS
13357        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13358        Flags           = START_FRAME_LAST
13359      End
13360      TransitionState   = UP_SNOW DOWN_DEFAULT
13361        Model           = ABSupplyCT_A6S
13362        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13363        AnimationMode   = ONCE_BACKWARDS
13364        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13365        Flags           = START_FRAME_LAST
13366      End
13367      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13368        Model           = ABSupplyCT_A6SN
13369        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13370        AnimationMode   = ONCE_BACKWARDS
13371        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13372        Flags           = START_FRAME_LAST
13373      End
13374    End
13375  
13376    ; ------------ being-constructed crane -----------------
13377    Draw = W3DModelDraw ModuleTag_04
13378    AnimationsRequirePower = No
13379      DefaultConditionState
13380        Model           = None
13381        TransitionKey   = DOWN_DEFAULT
13382      End
13383      ConditionState    = NIGHT
13384        Model           = None
13385        TransitionKey   = DOWN_DEFAULT
13386      End
13387      ConditionState    = SNOW
13388        Model           = None
13389        TransitionKey   = DOWN_DEFAULT
13390      End
13391      ConditionState    = SNOW NIGHT
13392        Model           = None
13393        TransitionKey   = DOWN_DEFAULT
13394      End
13395      ConditionState    = SOLD
13396        Model           = NONE
13397      End
13398  
13399      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
13400        Model           = ABSupplyCT_A5
13401        Animation       = ABSupplyCT_A5.ABSupplyCT_A5
13402        AnimationMode   = LOOP
13403        TransitionKey  = UP_DAY
13404      End
13405  
13406      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
13407        Model           = ABSupplyCT_A5N
13408        Animation       = ABSupplyCT_A5N.ABSupplyCT_A5N
13409        AnimationMode   = LOOP
13410        TransitionKey  = UP_NIGHT
13411      End
13412      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
13413        Model           = ABSupplyCT_A5S
13414        Animation       = ABSupplyCT_A5S.ABSupplyCT_A5S
13415        AnimationMode   = LOOP
13416        TransitionKey  = UP_SNOW
13417      End
13418      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
13419        Model           = ABSupplyCT_A5SN
13420        Animation       = ABSupplyCT_A5SN.ABSupplyCT_A5SN
13421        AnimationMode   = LOOP
13422        TransitionKey  = UP_SNOWNIGHT
13423      End
13424      TransitionState   = DOWN_DEFAULT UP_DAY
13425        Model            = ABSupplyCT_AB
13426        Animation       = ABSupplyCT_AB.ABSupplyCT_AB
13427        AnimationMode   = ONCE
13428        AnimationSpeedFactorRange = 1.0 1.0
13429        Flags           = START_FRAME_FIRST
13430      End
13431  
13432      TransitionState   = DOWN_DEFAULT UP_NIGHT
13433        Model            = ABSupplyCT_ABN
13434        Animation       = ABSupplyCT_ABN.ABSupplyCT_ABN
13435        AnimationMode   = ONCE
13436        AnimationSpeedFactorRange = 1.0 1.0
13437        Flags           = START_FRAME_FIRST
13438      End
13439      TransitionState   = DOWN_DEFAULT UP_SNOW
13440        Model            = ABSupplyCT_ABS
13441        Animation       = ABSupplyCT_ABS.ABSupplyCT_ABS
13442        AnimationMode   = ONCE
13443        AnimationSpeedFactorRange = 1.0 1.0
13444        Flags           = START_FRAME_FIRST
13445      End
13446      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13447        Model            = ABSupplyCT_ABSN
13448        Animation       = ABSupplyCT_ABSN.ABSupplyCT_ABSN
13449        AnimationMode   = ONCE
13450        AnimationSpeedFactorRange = 1.0 1.0
13451        Flags           = START_FRAME_FIRST
13452      End
13453      TransitionState   = UP_DAY DOWN_DEFAULT
13454        Model            = ABSupplyCT_AB
13455        Animation       = ABSupplyCT_AB.ABSupplyCT_AB
13456        AnimationMode   = ONCE_BACKWARDS
13457        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13458        Flags           = START_FRAME_LAST
13459      End
13460      TransitionState   = UP_NIGHT DOWN_DEFAULT
13461        Model            = ABSupplyCT_ABN
13462        Animation       = ABSupplyCT_ABN.ABSupplyCT_ABN
13463        AnimationMode   = ONCE_BACKWARDS
13464        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13465        Flags           = START_FRAME_LAST
13466      End
13467      TransitionState   = UP_SNOW DOWN_DEFAULT
13468        Model            = ABSupplyCT_ABS
13469        Animation       = ABSupplyCT_ABS.ABSupplyCT_ABS
13470        AnimationMode   = ONCE_BACKWARDS
13471        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13472        Flags           = START_FRAME_LAST
13473      End
13474      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13475        Model            = ABSupplyCT_ABSN
13476        Animation       = ABSupplyCT_ABSN.ABSupplyCT_ABSN
13477        AnimationMode   = ONCE_BACKWARDS
13478        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13479        Flags           = START_FRAME_LAST
13480      End
13481    End
13482   
13483    ; ------------ Grabbing box crane arm -----------------
13484    Draw = W3DModelDraw ModuleTag_19
13485      OkToChangeModelColor = Yes   
13486      ConditionState    = NONE                        ; sit there
13487        Model           = ABSupplyCT_A8
13488        Animation       = ABSupplyCT_A8.ABSupplyCT_A8
13489        AnimationMode   = LOOP
13490        Flags           = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13491        WaitForStateToFinishIfPossible = TRANS_Playing
13492      End
13493      AliasConditionState  =  NIGHT
13494      AliasConditionState  =  SNOW
13495      AliasConditionState  =  NIGHT SNOW
13496      AliasConditionState  =  DAMAGED
13497      AliasConditionState  =  NIGHT DAMAGED
13498      AliasConditionState  =  SNOW DAMAGED
13499      AliasConditionState  =  NIGHT SNOW DAMAGED
13500      AliasConditionState  =  REALLYDAMAGED RUBBLE
13501      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE
13502      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE
13503      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE
13504      
13505      ConditionState    = DOCKING_ACTIVE              ; play arm box anim once
13506        Model           = ABSupplyCT_A7
13507        Animation       = ABSupplyCT_A7.ABSupplyCT_A7
13508        AnimationMode   = ONCE
13509        Flags           = START_FRAME_FIRST
13510        TransitionKey   = TRANS_Playing
13511      End
13512      AliasConditionState  =  NIGHT DOCKING_ACTIVE
13513      AliasConditionState  =  SNOW DOCKING_ACTIVE
13514      AliasConditionState  =  NIGHT SNOW DOCKING_ACTIVE
13515      AliasConditionState  =  DAMAGED DOCKING_ACTIVE
13516      AliasConditionState  =  NIGHT DAMAGED DOCKING_ACTIVE
13517      AliasConditionState  =  SNOW DAMAGED DOCKING_ACTIVE
13518      AliasConditionState  =  NIGHT SNOW DAMAGED DOCKING_ACTIVE
13519      AliasConditionState  =  REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13520      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13521      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13522      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13523      
13524    End
13525    
13526      ; ------------ Spinny Belt -----------------
13527    Draw = W3DModelDraw ModuleTag_SpinnyBelt
13528      OkToChangeModelColor = Yes   
13529      ConditionState    = NONE                        ; sit there
13530        Model           = ABSupplyCT_A9
13531        Animation       = ABSupplyCT_A9.ABSupplyCT_A9
13532        AnimationMode   = LOOP
13533      End
13534      AliasConditionState  =  NIGHT
13535      AliasConditionState  =  SNOW
13536      AliasConditionState  =  NIGHT SNOW
13537      AliasConditionState  =  DAMAGED
13538      AliasConditionState  =  NIGHT DAMAGED
13539      AliasConditionState  =  SNOW DAMAGED
13540      AliasConditionState  =  NIGHT SNOW DAMAGED
13541      AliasConditionState  =  REALLYDAMAGED RUBBLE
13542      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE
13543      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE
13544      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE
13545      
13546      
13547      ;**************************************************************************************************************************
13548      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13549      ;for this draw module
13550      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13551        Model              = ABSupplyCT_A9
13552        Animation          = ABSupplyCT_A9.ABSupplyCT_A9
13553        AnimationMode      = LOOP
13554        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13555      End
13556      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13557      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13558      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13559      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13560      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13561      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13562      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13563      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13564      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13565      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13566      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13567      
13568  
13569      ConditionState       = AWAITING_CONSTRUCTION 
13570        Model              = NONE
13571      End
13572      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13573      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13574      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13575      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13576      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13577      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13578      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13579      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13580      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13581      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13582      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13583      AliasConditionState  = SOLD 
13584      AliasConditionState  = SOLD DAMAGED
13585      AliasConditionState  = SOLD REALLYDAMAGED
13586      AliasConditionState  = SOLD NIGHT
13587      AliasConditionState  = SOLD NIGHT DAMAGED
13588      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13589      AliasConditionState  = SOLD SNOW
13590      AliasConditionState  = SOLD SNOW DAMAGED
13591      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13592      AliasConditionState  = SOLD NIGHT SNOW
13593      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13594      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13595      ;**************************************************************************************************************************
13596    End
13597  
13598    PlacementViewAngle = -45
13599  
13600    ; ***DESIGN parameters ***
13601    DisplayName      = OBJECT:SupplyCenter
13602    Side             = AmericaAirForceGeneral
13603    EditorSorting    = STRUCTURE
13604    Prerequisites
13605      Object = AirF_AmericaPowerPlant
13606    End
13607  
13608  
13609    BuildCost        = 2000
13610    RefundValue      = 400 ; With nothing (or zero) listed, we sell for half price. 
13611    BuildTime        = 10.0           ; in seconds
13612    EnergyProduction = -1
13613    CommandSet       = AirF_AmericaSupplyCenterCommandSet
13614    VisionRange      = 200.0           ; Shroud clearing distance
13615    ShroudClearingRange = 200
13616    ArmorSet
13617      Conditions      = None
13618      Armor           = StructureArmor
13619      DamageFX        = StructureDamageFXNoShake
13620    End
13621    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
13622  
13623    ; *** AUDIO Parameters ***
13624    VoiceSelect = SupplyCenterUSASelect
13625    SoundOnDamaged        = BuildingDamagedStateLight
13626    SoundOnReallyDamaged  = BuildingDestroy
13627  
13628    UnitSpecificSounds
13629      UnderConstruction     = UnderConstructionLoop
13630    End
13631  
13632    ; *** ENGINEERING Parameters ***
13633    RadarPriority       = STRUCTURE
13634    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE FS_POWER AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER
13635    Body                = StructureBody ModuleTag_05
13636      MaxHealth       = 2000.0
13637      InitialHealth   = 2000.0
13638  
13639      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
13640      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
13641      SubdualDamageCap = 2200
13642      SubdualDamageHealRate = 500
13643      SubdualDamageHealAmount = 100
13644    End
13645    Behavior = SupplyCenterCreate ModuleTag_06
13646      ;nothing
13647    End
13648    Behavior = DestroyDie ModuleTag_07
13649      ;nothing
13650    End
13651    Behavior             = CreateObjectDie ModuleTag_08
13652      CreationList  = AirF_OCL_AmericanRangerDebris03
13653      ExemptStatus  = UNDER_CONSTRUCTION
13654    End
13655    Behavior = ProductionUpdate ModuleTag_09
13656      ; nothing
13657    End
13658    Behavior = SupplyCenterProductionExitUpdate ModuleTag_10
13659      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
13660      NaturalRallyPoint = X: 44.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
13661    End
13662    Behavior = BaseRegenerateUpdate ModuleTag_11
13663      ;No data
13664    End 
13665    Behavior            = SpawnBehavior ModuleTag_12
13666      SpawnNumber       = 1
13667      SpawnReplaceDelay = 9999
13668      SpawnTemplateName = AFG_AmericaVehicleChinook
13669      OneShot           = Yes
13670      CanReclaimOrphans = No
13671      SlavesHaveFreeWill = Yes
13672    End
13673  
13674    Behavior = SupplyCenterDockUpdate ModuleTag_13
13675      NumberApproachPositions = 9 ; There are 9 approach bones in the art
13676    End
13677  
13678    Behavior = FlammableUpdate ModuleTag_15
13679      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
13680      AflameDamageAmount = 5       ; taking this much damage...
13681      AflameDamageDelay = 500       ; this often.
13682    End
13683    
13684    Behavior             = CreateObjectDie ModuleTag_16
13685      CreationList  = OCL_LargeStructureDebris
13686    End
13687    Behavior             = FXListDie ModuleTag_17
13688      DeathFX       = FX_StructureSmallDeath
13689    End
13690  
13691    Behavior = TransitionDamageFX ModuleTag_18
13692      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
13693      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
13694      ;---------------------------------------------------------------------------------------
13695      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
13696      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
13697      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
13698    End
13699    
13700    Geometry            = BOX
13701    GeometryMajorRadius = 44.0
13702    GeometryMinorRadius = 45.0
13703    GeometryHeight      = 24.0
13704    GeometryIsSmall     = No
13705    Shadow          = SHADOW_VOLUME
13706    BuildCompletion = PLACED_BY_PLAYER
13707  
13708  End
13709  
13710  ;------------------------------------------------------------------------------
13711  Object AirF_AmericaSupplyDropZone
13712  
13713    ; *** ART Parameters ***
13714    SelectPortrait         = SADropZone_L
13715    ButtonImage            = SADropZone
13716      Draw                 = W3DModelDraw ModuleTag_01
13717      OkToChangeModelColor = Yes   
13718      ConditionState       = NONE
13719        Model              = ABSupDrop
13720        ParticleSysBone    = Flare01 LandingZoneSmoke
13721        Animation          = ABSupDrop.ABSupDrop
13722        AnimationMode      = LOOP
13723      End
13724      
13725      ConditionState       = DAMAGED
13726        Model              = ABSupDrop_D
13727        ParticleSysBone    = Flare01 LandingZoneSmoke
13728        Animation          = ABSupDrop_D.ABSupDrop_D
13729        AnimationMode      = LOOP
13730      End
13731     
13732      ConditionState     = REALLYDAMAGED RUBBLE
13733        Model              = ABSupDrop_E
13734        ParticleSysBone    = Flare01 LandingZoneSmoke
13735        Animation          = ABSupDrop_E.ABSupDrop_E
13736        AnimationMode      = LOOP
13737      End
13738      
13739      ConditionState       = NIGHT
13740        Model              = ABSupDrop_N
13741        ParticleSysBone    = Flare01 LandingZoneSmoke
13742        Animation          = ABSupDrop_N.ABSupDrop_N
13743        AnimationMode      = LOOP
13744      End
13745      
13746      ConditionState       = DAMAGED NIGHT
13747        Model              = ABSupDrop_DN
13748        ParticleSysBone    = Flare01 LandingZoneSmoke
13749        Animation          = ABSupDrop_DN.ABSupDrop_DN
13750        AnimationMode      = LOOP
13751      End
13752     
13753      ConditionState     = REALLYDAMAGED RUBBLE NIGHT
13754        Model              = ABSupDrop_EN
13755        ParticleSysBone    = Flare01 LandingZoneSmoke
13756        Animation          = ABSupDrop_EN.ABSupDrop_EN
13757        AnimationMode      = LOOP
13758      End
13759      
13760      ;----------- SNOW
13761      
13762      ConditionState       = SNOW
13763        Model              = ABSupDrop_S
13764        ParticleSysBone    = Flare01 LandingZoneSmoke
13765        Animation          = ABSupDrop_S.ABSupDrop_S
13766        AnimationMode      = LOOP
13767      End
13768      
13769      ConditionState       = DAMAGED SNOW
13770        Model              = ABSupDrop_DS
13771        ParticleSysBone    = Flare01 LandingZoneSmoke
13772        Animation          = ABSupDrop_DS.ABSupDrop_DS
13773  
13774        AnimationMode      = LOOP
13775      End
13776     
13777      ConditionState     = REALLYDAMAGED RUBBLE SNOW
13778        Model              = ABSupDrop_ES
13779        ParticleSysBone    = Flare01 LandingZoneSmoke
13780        Animation          = ABSupDrop_ES.ABSupDrop_ES
13781        AnimationMode      = LOOP
13782      End
13783      
13784      ;---------- SNOW NIGHT
13785      
13786      ConditionState       = NIGHT SNOW
13787        Model              = ABSupDrop_NS
13788        ParticleSysBone    = Flare01 LandingZoneSmoke
13789        Animation          = ABSupDrop_NS.ABSupDrop_NS
13790        AnimationMode      = LOOP
13791      End
13792      
13793      ConditionState       = DAMAGED NIGHT SNOW
13794        Model              = ABSupDrop_DNS
13795        ParticleSysBone    = Flare01 LandingZoneSmoke
13796        Animation          = ABSupDrop_DNS.ABSupDrop_DNS
13797        AnimationMode      = LOOP
13798      End
13799     
13800      ConditionState     = REALLYDAMAGED RUBBLE NIGHT SNOW
13801        Model              = ABSupDrop_ENS
13802        ParticleSysBone    = Flare01 LandingZoneSmoke
13803        Animation          = ABSupDrop_ENS.ABSupDrop_ENS
13804        AnimationMode      = LOOP
13805      End
13806      
13807      ;**************************************************************************************************************************
13808      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13809      ;for this draw module
13810      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13811        Model              = ABSupDrop
13812        Animation          = ABSupDrop.ABSupDrop
13813        AnimationMode      = LOOP
13814        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13815      End
13816      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13817        Model              = ABSupDrop_D
13818        Animation          = ABSupDrop_D.ABSupDrop_D
13819        AnimationMode      = LOOP
13820        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13821      End
13822      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13823        Model              = ABSupDrop_E
13824        Animation          = ABSupDrop_E.ABSupDrop_E
13825        AnimationMode      = LOOP
13826        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13827      End
13828      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13829        Model              = ABSupDrop_N
13830        Animation          = ABSupDrop_N.ABSupDrop_N
13831        AnimationMode      = LOOP
13832        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13833      End
13834      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13835        Model              = ABSupDrop_DN
13836        Animation          = ABSupDrop_DN.ABSupDrop_DN
13837        AnimationMode      = LOOP
13838        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13839      End
13840      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13841        Model              = ABSupDrop_EN
13842        Animation          = ABSupDrop_EN.ABSupDrop_EN
13843        AnimationMode      = LOOP
13844        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13845      End
13846      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13847        Model              = ABSupDrop_S
13848        Animation          = ABSupDrop_S.ABSupDrop_S
13849        AnimationMode      = LOOP
13850        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13851      End
13852      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13853        Model              = ABSupDrop_DS
13854        Animation          = ABSupDrop_DS.ABSupDrop_DS
13855        AnimationMode      = LOOP
13856        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13857      End
13858      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13859        Model              = ABSupDrop_ES
13860        Animation          = ABSupDrop_ES.ABSupDrop_ES
13861        AnimationMode      = LOOP
13862        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13863      End
13864      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13865        Model              = ABSupDrop_NS
13866        Animation          = ABSupDrop_NS.ABSupDrop_NS
13867        AnimationMode      = LOOP
13868        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13869      End
13870      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13871        Model              = ABSupDrop_DNS
13872        Animation          = ABSupDrop_DNS.ABSupDrop_DNS
13873        AnimationMode      = LOOP
13874        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13875      End
13876      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13877        Model              = ABSupDrop_ENS
13878        Animation          = ABSupDrop_ENS.ABSupDrop_ENS
13879        AnimationMode      = LOOP
13880        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13881      End
13882  
13883      ConditionState       = AWAITING_CONSTRUCTION 
13884        Model              = NONE
13885      End
13886      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13887      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13888      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13889      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13890      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13891      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13892      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13893      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13894      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13895      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13896      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13897      AliasConditionState  = SOLD 
13898      AliasConditionState  = SOLD DAMAGED
13899      AliasConditionState  = SOLD REALLYDAMAGED
13900      AliasConditionState  = SOLD NIGHT
13901      AliasConditionState  = SOLD NIGHT DAMAGED
13902      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13903      AliasConditionState  = SOLD SNOW
13904      AliasConditionState  = SOLD SNOW DAMAGED
13905      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13906      AliasConditionState  = SOLD NIGHT SNOW
13907      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13908      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13909      ;**************************************************************************************************************************    
13910      
13911   
13912  
13913    End
13914   
13915    ; ------------ construction-zone fence -----------------
13916    Draw                = W3DModelDraw ModuleTag_02
13917    AnimationsRequirePower = No
13918      DefaultConditionState
13919        Model           = None
13920        TransitionKey   = DOWN_DEFAULT
13921      End
13922      ConditionState    = NIGHT
13923        Model           = None
13924        TransitionKey   = DOWN_DEFAULT
13925      End
13926      ConditionState    = SNOW
13927        Model           = None
13928        TransitionKey   = DOWN_DEFAULT
13929      End
13930      ConditionState    = SNOW NIGHT
13931        Model           = None
13932        TransitionKey   = DOWN_DEFAULT
13933      End
13934      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13935        Model           = ABSupDrop_A4
13936        Animation       = ABSupDrop_A4.ABSupDrop_A4
13937        AnimationMode   = MANUAL
13938        Flags           = START_FRAME_LAST
13939        TransitionKey   = UP_DAY
13940      End
13941      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13942        Model           = ABSupDrop_A4N
13943        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
13944        AnimationMode   = MANUAL
13945        Flags           = START_FRAME_LAST
13946        TransitionKey   = UP_NIGHT
13947      End
13948      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13949        Model           = ABSupDrop_A4S
13950        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
13951        AnimationMode   = MANUAL
13952        Flags           = START_FRAME_LAST
13953        TransitionKey   = UP_SNOW
13954      End
13955      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13956        Model           = ABSupDrop_A4SN
13957        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
13958        AnimationMode   = MANUAL
13959        Flags           = START_FRAME_LAST
13960        TransitionKey   = UP_SNOWNIGHT
13961      End
13962      TransitionState   = DOWN_DEFAULT UP_DAY
13963        Model           = ABSupDrop_A4
13964        Animation       = ABSupDrop_A4.ABSupDrop_A4
13965        AnimationMode   = ONCE
13966        AnimationSpeedFactorRange = 1.0 1.0
13967        Flags           = START_FRAME_FIRST
13968      End
13969      TransitionState   = DOWN_DEFAULT UP_NIGHT
13970        Model           = ABSupDrop_A4N
13971        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
13972        AnimationMode   = ONCE
13973        AnimationSpeedFactorRange = 1.0 1.0
13974        Flags           = START_FRAME_FIRST
13975      End
13976      TransitionState   = DOWN_DEFAULT UP_SNOW
13977        Model           = ABSupDrop_A4S
13978        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
13979        AnimationMode   = ONCE
13980        AnimationSpeedFactorRange = 1.0 1.0
13981        Flags           = START_FRAME_FIRST
13982      End
13983      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13984        Model           = ABSupDrop_A4SN
13985        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
13986        AnimationMode   = ONCE
13987        AnimationSpeedFactorRange = 1.0 1.0
13988        Flags           = START_FRAME_FIRST
13989      End
13990      TransitionState   = UP_DAY DOWN_DEFAULT
13991        Model           = ABSupDrop_A4
13992        Animation       = ABSupDrop_A4.ABSupDrop_A4
13993        AnimationMode   = ONCE_BACKWARDS
13994        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13995        Flags           = START_FRAME_LAST
13996      End
13997      TransitionState   = UP_NIGHT DOWN_DEFAULT
13998        Model           = ABSupDrop_A4N
13999        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
14000        AnimationMode   = ONCE_BACKWARDS
14001        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14002        Flags           = START_FRAME_LAST
14003      End
14004      TransitionState   = UP_SNOW DOWN_DEFAULT
14005        Model           = ABSupDrop_A4S
14006        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
14007        AnimationMode   = ONCE_BACKWARDS
14008        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14009        Flags           = START_FRAME_LAST
14010      End
14011      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14012        Model           = ABSupDrop_A4SN
14013        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
14014        AnimationMode   = ONCE_BACKWARDS
14015        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14016        Flags           = START_FRAME_LAST
14017      End
14018    End
14019  
14020    ; ------------ under-construction scaffolding -----------------
14021    Draw                = W3DModelDraw ModuleTag_03
14022    AnimationsRequirePower = No
14023      MinLODRequired    = MEDIUM
14024      DefaultConditionState
14025        Model           = None
14026        TransitionKey   = DOWN_DEFAULT
14027      End
14028      ConditionState    = NIGHT
14029        Model           = None
14030        TransitionKey   = DOWN_DEFAULT
14031      End
14032      ConditionState    = SNOW
14033        Model           = None
14034        TransitionKey   = DOWN_DEFAULT
14035      End
14036      ConditionState    = SNOW NIGHT
14037        Model           = None
14038        TransitionKey   = DOWN_DEFAULT
14039      End
14040      ConditionState    = PARTIALLY_CONSTRUCTED
14041        Model           = ABSupDrop_A6
14042        Animation       = ABSupDrop_A6.ABSupDrop_A6
14043        AnimationMode   = MANUAL
14044        Flags           = START_FRAME_LAST
14045        TransitionKey   = UP_DAY
14046        ParticleSysBone = Sparks01 BuildUpBlueSpark
14047        ParticleSysBone = Sparks02 BuildUpBlueSpark
14048        ParticleSysBone = Sparks03 BuildUpBlueSpark
14049        ParticleSysBone = Sparks04 BuildUpBlueSpark
14050        ParticleSysBone = Sparks05 BuildUpBlueSpark
14051        ParticleSysBone = Sparks06 BuildUpBlueSpark
14052      End
14053      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
14054        Model           = ABSupDrop_A6N
14055        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14056        AnimationMode   = MANUAL
14057        Flags           = START_FRAME_LAST
14058        TransitionKey   = UP_NIGHT
14059        ParticleSysBone = Sparks01 BuildUpBlueSpark
14060        ParticleSysBone = Sparks02 BuildUpBlueSpark
14061        ParticleSysBone = Sparks03 BuildUpBlueSpark
14062        ParticleSysBone = Sparks04 BuildUpBlueSpark
14063        ParticleSysBone = Sparks05 BuildUpBlueSpark
14064        ParticleSysBone = Sparks06 BuildUpBlueSpark
14065      End
14066      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
14067        Model           = ABSupDrop_A6S
14068        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14069        AnimationMode   = MANUAL
14070        Flags           = START_FRAME_LAST
14071        TransitionKey   = UP_SNOW
14072        ParticleSysBone = Sparks01 BuildUpBlueSpark
14073        ParticleSysBone = Sparks02 BuildUpBlueSpark
14074        ParticleSysBone = Sparks03 BuildUpBlueSpark
14075        ParticleSysBone = Sparks04 BuildUpBlueSpark
14076        ParticleSysBone = Sparks05 BuildUpBlueSpark
14077        ParticleSysBone = Sparks06 BuildUpBlueSpark
14078      End
14079      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
14080        Model           = ABSupDrop_A6SN
14081        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14082        AnimationMode   = MANUAL
14083        Flags           = START_FRAME_LAST
14084        TransitionKey   = UP_SNOWNIGHT
14085        ParticleSysBone = Sparks01 BuildUpBlueSpark
14086        ParticleSysBone = Sparks02 BuildUpBlueSpark
14087        ParticleSysBone = Sparks03 BuildUpBlueSpark
14088        ParticleSysBone = Sparks04 BuildUpBlueSpark
14089        ParticleSysBone = Sparks05 BuildUpBlueSpark
14090        ParticleSysBone = Sparks06 BuildUpBlueSpark
14091      End
14092      TransitionState   = DOWN_DEFAULT UP_DAY
14093       Model            = ABSupDrop_A6
14094        Animation       = ABSupDrop_A6.ABSupDrop_A6
14095        AnimationMode   = ONCE
14096        AnimationSpeedFactorRange = 1.0 1.0
14097        Flags           = START_FRAME_FIRST
14098      End
14099      TransitionState   = DOWN_DEFAULT UP_NIGHT
14100       Model            = ABSupDrop_A6N
14101        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14102        AnimationMode   = ONCE
14103        AnimationSpeedFactorRange = 1.0 1.0
14104        Flags           = START_FRAME_FIRST
14105      End
14106      TransitionState   = DOWN_DEFAULT UP_SNOW
14107       Model            = ABSupDrop_A6S
14108        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14109        AnimationMode   = ONCE
14110        AnimationSpeedFactorRange = 1.0 1.0
14111        Flags           = START_FRAME_FIRST
14112      End
14113      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14114       Model            = ABSupDrop_A6SN
14115        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14116        AnimationMode   = ONCE
14117        AnimationSpeedFactorRange = 1.0 1.0
14118        Flags           = START_FRAME_FIRST
14119      End
14120      TransitionState   = UP_DAY DOWN_DEFAULT
14121        Model           = ABSupDrop_A6
14122        Animation       = ABSupDrop_A6.ABSupDrop_A6
14123        AnimationMode   = ONCE_BACKWARDS
14124        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14125        Flags           = START_FRAME_LAST
14126      End
14127      TransitionState   = UP_NIGHT DOWN_DEFAULT
14128        Model           = ABSupDrop_A6N
14129        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14130        AnimationMode   = ONCE_BACKWARDS
14131        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14132        Flags           = START_FRAME_LAST
14133      End
14134      TransitionState   = UP_SNOW DOWN_DEFAULT
14135        Model           = ABSupDrop_A6S
14136        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14137        AnimationMode   = ONCE_BACKWARDS
14138        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14139        Flags           = START_FRAME_LAST
14140      End
14141      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14142        Model           = ABSupDrop_A6SN
14143        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14144        AnimationMode   = ONCE_BACKWARDS
14145        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14146        Flags           = START_FRAME_LAST
14147      End
14148    End
14149    PlacementViewAngle = -45
14150  
14151    ; ***DESIGN parameters ***
14152    DisplayName         = OBJECT:AmericaSupplyDropZone
14153    Side                = AmericaAirForceGeneral
14154    EditorSorting       = STRUCTURE
14155    BuildCost           = 2500
14156    BuildTime           = 45.0           ; in seconds
14157    Prerequisites
14158      Object            = AirF_AmericaStrategyCenter
14159    End
14160    EnergyProduction = -4
14161    ShroudClearingRange = 100
14162    ArmorSet
14163      Conditions        = None
14164      Armor             = StructureArmor
14165      DamageFX          = StructureDamageFXNoShake
14166    End
14167    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
14168  
14169    ; *** AUDIO Parameters ***
14170    VoiceSelect = SupplyDropZoneSelect
14171  
14172    UnitSpecificSounds
14173      UnderConstruction     = UnderConstructionLoop
14174    End
14175  
14176  
14177    ; *** ENGINEERING Parameters ***  
14178    ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows 
14179    ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE...
14180    ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML 
14181    KindOf              = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE
14182    RadarPriority       = STRUCTURE
14183    
14184    Body                = ActiveBody ModuleTag_04
14185      MaxHealth         = 1000.0
14186      InitialHealth     = 1000.0
14187  
14188      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14189      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14190      SubdualDamageCap = 1200
14191      SubdualDamageHealRate = 500
14192      SubdualDamageHealAmount = 100
14193    End
14194  
14195    Behavior       = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet 
14196      OCL          = OCL_AmericaSupplyDropZoneCrateDrop
14197      MinDelay     = 120000
14198      MaxDelay     = 120000
14199      CreateAtEdge = Yes ; as opposed to just creating on self
14200    End
14201  
14202    Behavior  = DestroyDie ModuleTag_06
14203    End
14204    
14205    Behavior             = CreateObjectDie ModuleTag_07
14206      CreationList  = AirF_OCL_AmericanRangerDebris03
14207      ExemptStatus  = UNDER_CONSTRUCTION
14208    End
14209    
14210    Behavior                  = CreateObjectDie ModuleTag_08
14211      CreationList       = OCL_LargeStructureDebris
14212    End
14213  
14214    Behavior             = FlammableUpdate ModuleTag_09
14215      AflameDuration     = 5000         ; If I catch fire, I'll burn for this long...
14216      AflameDamageAmount = 5       ; taking this much damage...
14217      AflameDamageDelay  = 500       ; this often.
14218    End
14219    
14220    Behavior                  = FXListDie ModuleTag_10
14221      DeathFX            = FX_StructureMediumDeath
14222    End
14223  
14224    Behavior = BaseRegenerateUpdate ModuleTag_11
14225      ;No data
14226    End 
14227  
14228    Behavior = TransitionDamageFX ModuleTag_31
14229      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
14230      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
14231      ;---------------------------------------------------------------------------------------
14232      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
14233      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
14234      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
14235    End
14236  
14237    Geometry            = BOX
14238    GeometryMajorRadius = 27.0
14239    GeometryMinorRadius = 27.0
14240    GeometryHeight      = 9.0
14241    GeometryIsSmall     = No
14242    Shadow              = SHADOW_VOLUME
14243  
14244  End
14245  
14246  
14247  ;------------------------------------------------------------------------------
14248  Object AirF_AmericaBarracks
14249   
14250    ; *** ART Parameters ***
14251    SelectPortrait         = SABarracks_L
14252    ButtonImage            = SABarracks
14253    PlacementViewAngle     = -45
14254      
14255    ;Main barracks model
14256    Draw                   = W3DModelDraw ModuleTag_01
14257      OkToChangeModelColor = Yes
14258      
14259      ;DAY *******************************
14260      ConditionState       = NONE
14261        Model              = ABBARRACKS
14262        Animation          = ABBarracks.ABBarracks
14263        AnimationMode      = LOOP
14264      End
14265      ConditionState       = DAMAGED
14266        Model              = ABBarracks_D
14267        Animation          = ABBarracks_D.ABBarracks_D
14268        AnimationMode      = LOOP
14269      End
14270      ConditionState       = REALLYDAMAGED RUBBLE
14271        Model              = ABBarracks_E
14272        Animation          = ABBarracks_E.ABBarracks_E
14273        AnimationMode      = LOOP
14274      End
14275  
14276      
14277      ;NIGHT *****************************
14278      ConditionState       = NIGHT
14279        Model              = ABBARRACKS_N
14280        Animation          = ABBarracks_N.ABBarracks_N
14281        AnimationMode      = LOOP
14282      End
14283      ConditionState       = DAMAGED NIGHT
14284        Model              = ABBarracks_DN
14285        Animation          = ABBarracks_DN.ABBarracks_DN
14286        AnimationMode      = LOOP
14287      End
14288      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
14289        Model              = ABBarracks_EN
14290        Animation          = ABBarracks_EN.ABBarracks_EN
14291        AnimationMode      = LOOP
14292      End
14293  
14294  
14295      ;SNOW ******************************
14296      ConditionState       = SNOW
14297        Model              = ABBARRACKS_S
14298        Animation          = ABBarracks_S.ABBarracks_S
14299        AnimationMode      = LOOP
14300      End
14301      ConditionState       = DAMAGED SNOW
14302        Model              = ABBarracks_DS
14303        Animation          = ABBarracks_DS.ABBarracks_DS
14304        AnimationMode      = LOOP
14305      End
14306       ConditionState      = REALLYDAMAGED RUBBLE SNOW
14307        Model              = ABBarracks_ES
14308        Animation          = ABBarracks_ES.ABBarracks_ES
14309        AnimationMode      = LOOP
14310      End
14311  
14312  
14313      ;SNOW AND NIGHT ********************
14314      ConditionState       = SNOW NIGHT
14315        Model              = ABBARRACKS_NS
14316        Animation          = ABBarracks_NS.ABBarracks_NS
14317        AnimationMode      = LOOP
14318      End
14319      ConditionState       = DAMAGED SNOW NIGHT
14320        Model              = ABBarracks_DNS
14321        Animation          = ABBarracks_DNS.ABBarracks_DNS
14322        AnimationMode      = LOOP
14323      End
14324      ConditionState       = REALLYDAMAGED RUBBLE SNOW NIGHT
14325        Model              = ABBarracks_ENS
14326        Animation          = ABBarracks_ENS.ABBarracks_ENS
14327        AnimationMode      = LOOP
14328      End
14329  
14330  
14331          ;**************************************************************************************************************************
14332      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
14333      ;for this draw module
14334      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14335        Model              = ABBarracks
14336        Animation          = ABBarracks.ABBarracks
14337        AnimationMode      = LOOP
14338        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14339      End
14340      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
14341        Model              = ABBarracks_D
14342        Animation          = ABBarracks_D.ABBarracks_D
14343        AnimationMode      = LOOP
14344        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14345      End
14346      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
14347        Model              = ABBarracks_E
14348        Animation          = ABBarracks_E.ABBarracks_E
14349        AnimationMode      = LOOP
14350        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14351      End
14352      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
14353        Model              = ABBarracks_N
14354        Animation          = ABBarracks_N.ABBarracks_N
14355        AnimationMode      = LOOP
14356        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14357      End
14358      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
14359        Model              = ABBarracks_DN
14360        Animation          = ABBarracks_DN.ABBarracks_DN
14361        AnimationMode      = LOOP
14362        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14363      End
14364      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
14365        Model              = ABBarracks_EN
14366        Animation          = ABBarracks_EN.ABBarracks_EN
14367        AnimationMode      = LOOP
14368        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14369      End
14370      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
14371        Model              = ABBarracks_S
14372        Animation          = ABBarracks_S.ABBarracks_S
14373        AnimationMode      = LOOP
14374        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14375      End
14376      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
14377        Model              = ABBarracks_DS
14378        Animation          = ABBarracks_DS.ABBarracks_DS
14379        AnimationMode      = LOOP
14380        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14381      End
14382      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
14383        Model              = ABBarracks_ES
14384        Animation          = ABBarracks_ES.ABBarracks_ES
14385        AnimationMode      = LOOP
14386        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14387      End
14388      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
14389        Model              = ABBarracks_NS
14390        Animation          = ABBarracks_NS.ABBarracks_NS
14391        AnimationMode      = LOOP
14392        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14393      End
14394      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
14395        Model              = ABBarracks_DNS
14396        Animation          = ABBarracks_DNS.ABBarracks_DNS
14397        AnimationMode      = LOOP
14398        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14399      End
14400      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
14401        Model              = ABBarracks_ENS
14402        Animation          = ABBarracks_ENS.ABBarracks_ENS
14403        AnimationMode      = LOOP
14404        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14405      End
14406  
14407      ConditionState       = AWAITING_CONSTRUCTION 
14408        Model              = NONE
14409      End
14410      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
14411      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
14412      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
14413      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
14414      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
14415      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
14416      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
14417      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
14418      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
14419      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
14420      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
14421      AliasConditionState  = SOLD 
14422      AliasConditionState  = SOLD DAMAGED
14423      AliasConditionState  = SOLD REALLYDAMAGED
14424      AliasConditionState  = SOLD NIGHT
14425      AliasConditionState  = SOLD NIGHT DAMAGED
14426      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
14427      AliasConditionState  = SOLD SNOW
14428      AliasConditionState  = SOLD SNOW DAMAGED
14429      AliasConditionState  = SOLD SNOW REALLYDAMAGED
14430      AliasConditionState  = SOLD NIGHT SNOW
14431      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
14432      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
14433      ;**************************************************************************************************************************
14434      
14435    End
14436  
14437  ;  Draw = W3DModelDraw ModuleTag_TestFlag
14438  ;    DefaultConditionState
14439  ;      Model           = ABBarracks_FA
14440  ;      Animation       = ABBarracks_FA.ABBarracks_FA
14441  ;      AnimationMode   = LOOP
14442  ;    End
14443  ;    ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14444  ;      Model           = None
14445  ;    End
14446  ;  End
14447  
14448    ; ------------ construction-zone fence -----------------
14449    Draw = W3DModelDraw ModuleTag_02
14450    AnimationsRequirePower = No
14451      DefaultConditionState
14452        Model           = None
14453        TransitionKey   = DOWN_DEFAULT
14454      End
14455      ConditionState    = NIGHT
14456        Model           = None
14457        TransitionKey   = DOWN_DEFAULT
14458      End
14459      ConditionState    = SNOW
14460        Model           = None
14461        TransitionKey   = DOWN_DEFAULT
14462      End
14463      ConditionState    = SNOW NIGHT
14464        Model           = None
14465        TransitionKey   = DOWN_DEFAULT
14466      End
14467      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14468        Model           = ABBarracks_A4
14469        Animation       = ABBarracks_A4.ABBarracks_A4
14470        AnimationMode   = MANUAL
14471        Flags           = START_FRAME_LAST
14472        TransitionKey   = UP_DAY
14473        ParticleSysBone = SparksS01 LiveWireSparks02
14474      End
14475      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14476        Model           = ABBarracks_A4N
14477        Animation       = ABBarracks_A4N.ABBarracks_A4N
14478        AnimationMode   = MANUAL
14479        Flags           = START_FRAME_LAST
14480        TransitionKey   = UP_NIGHT
14481        ParticleSysBone = SparksS01 LiveWireSparks02
14482      End
14483  
14484      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14485        Model           = ABBarracks_A4S
14486        Animation       = ABBarracks_A4S.ABBarracks_A4S
14487        AnimationMode   = MANUAL
14488        Flags           = START_FRAME_LAST
14489        TransitionKey   = UP_SNOW
14490        ParticleSysBone = SparksS01 LiveWireSparks02
14491      End
14492      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14493        Model           = ABBarracks_A4SN
14494        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14495        AnimationMode   = MANUAL
14496        Flags           = START_FRAME_LAST
14497        TransitionKey   = UP_SNOWNIGHT
14498        ParticleSysBone = SparksS01 LiveWireSparks02
14499      End
14500      TransitionState   = DOWN_DEFAULT UP_DAY
14501        Model           = ABBarracks_A4
14502        Animation       = ABBarracks_A4.ABBarracks_A4
14503        AnimationMode   = ONCE
14504        AnimationSpeedFactorRange = 1.0 1.0
14505        Flags           = START_FRAME_FIRST
14506      End
14507      TransitionState   = DOWN_DEFAULT UP_NIGHT
14508        Model           = ABBarracks_A4N
14509        Animation       = ABBarracks_A4N.ABBarracks_A4N
14510        AnimationMode   = ONCE
14511        AnimationSpeedFactorRange = 1.0 1.0
14512        Flags           = START_FRAME_FIRST
14513      End
14514      TransitionState   = DOWN_DEFAULT UP_SNOW
14515        Model           = ABBarracks_A4S
14516        Animation       = ABBarracks_A4S.ABBarracks_A4S
14517        AnimationMode   = ONCE
14518        AnimationSpeedFactorRange = 1.0 1.0
14519        Flags           = START_FRAME_FIRST
14520      End
14521      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14522        Model           = ABBarracks_A4SN
14523        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14524        AnimationMode   = ONCE
14525        AnimationSpeedFactorRange = 1.0 1.0
14526        Flags           = START_FRAME_FIRST
14527      End
14528      TransitionState   = UP_DAY DOWN_DEFAULT
14529        Model           = ABBarracks_A4
14530        Animation       = ABBarracks_A4.ABBarracks_A4
14531        AnimationMode   = ONCE_BACKWARDS
14532        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14533        Flags           = START_FRAME_LAST
14534      End
14535      TransitionState   = UP_NIGHT DOWN_DEFAULT
14536        Model           = ABBarracks_A4N
14537        Animation       = ABBarracks_A4N.ABBarracks_A4N
14538        AnimationMode   = ONCE_BACKWARDS
14539        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14540        Flags           = START_FRAME_LAST
14541      End
14542      TransitionState   = UP_SNOW DOWN_DEFAULT
14543        Model           = ABBarracks_A4S
14544        Animation       = ABBarracks_A4S.ABBarracks_A4S
14545        AnimationMode   = ONCE_BACKWARDS    
14546        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14547        Flags           = START_FRAME_LAST
14548      End  
14549      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14550        Model           = ABBarracks_A4SN
14551        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14552        AnimationMode   = ONCE_BACKWARDS    
14553        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14554        Flags           = START_FRAME_LAST
14555      End 
14556     End
14557  
14558    ; ------------ under-construction scaffolding -----------------
14559    Draw = W3DModelDraw ModuleTag_03
14560    AnimationsRequirePower = No
14561      MinLODRequired = MEDIUM
14562      DefaultConditionState
14563        Model           = None
14564        TransitionKey   = DOWN_DEFAULT
14565      End
14566      ConditionState    = NIGHT
14567        Model           = None
14568        TransitionKey   = DOWN_DEFAULT
14569      End
14570      ConditionState    = SNOW
14571        Model           = None
14572        TransitionKey   = DOWN_DEFAULT
14573      End
14574      ConditionState    = SNOW NIGHT
14575        Model           = None
14576        TransitionKey   = DOWN_DEFAULT
14577      End
14578      ConditionState    = PARTIALLY_CONSTRUCTED
14579        Model           = ABBarracks_A6
14580        Animation       = ABBarracks_A6.ABBarracks_A6
14581        AnimationMode   = MANUAL
14582        Flags           = START_FRAME_LAST
14583        TransitionKey   = UP_DAY
14584        ParticleSysBone = Sparks01 BuildUpBlueSpark
14585        ParticleSysBone = Sparks02 BuildUpBlueSpark
14586        ParticleSysBone = Sparks03 BuildUpBlueSpark
14587        ParticleSysBone = Sparks04 BuildUpBlueSpark
14588        ParticleSysBone = Sparks05 BuildUpBlueSpark
14589        ParticleSysBone = Sparks06 BuildUpBlueSpark
14590      End
14591      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
14592        Model           = ABBarracks_A6N
14593        Animation       = ABBarracks_A6N.ABBarracks_A6N
14594        AnimationMode   = MANUAL
14595        Flags           = START_FRAME_LAST
14596        TransitionKey   = UP_NIGHT
14597        ParticleSysBone = Sparks01 BuildUpBlueSpark
14598        ParticleSysBone = Sparks02 BuildUpBlueSpark
14599        ParticleSysBone = Sparks03 BuildUpBlueSpark
14600        ParticleSysBone = Sparks04 BuildUpBlueSpark
14601        ParticleSysBone = Sparks05 BuildUpBlueSpark
14602        ParticleSysBone = Sparks06 BuildUpBlueSpark
14603      End
14604      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
14605        Model           = ABBarracks_A6S
14606        Animation       = ABBarracks_A6S.ABBarracks_A6S
14607        AnimationMode   = MANUAL
14608        Flags           = START_FRAME_LAST
14609        TransitionKey   = UP_SNOW
14610        ParticleSysBone = Sparks01 BuildUpBlueSpark
14611        ParticleSysBone = Sparks02 BuildUpBlueSpark
14612        ParticleSysBone = Sparks03 BuildUpBlueSpark
14613        ParticleSysBone = Sparks04 BuildUpBlueSpark
14614        ParticleSysBone = Sparks05 BuildUpBlueSpark
14615        ParticleSysBone = Sparks06 BuildUpBlueSpark
14616      End
14617      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
14618        Model           = ABBarracks_A6SN
14619        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14620        AnimationMode   = MANUAL
14621        Flags           = START_FRAME_LAST
14622        TransitionKey   = UP_SNOWNIGHT
14623        ParticleSysBone = Sparks01 BuildUpBlueSpark
14624        ParticleSysBone = Sparks02 BuildUpBlueSpark
14625        ParticleSysBone = Sparks03 BuildUpBlueSpark
14626        ParticleSysBone = Sparks04 BuildUpBlueSpark
14627        ParticleSysBone = Sparks05 BuildUpBlueSpark
14628        ParticleSysBone = Sparks06 BuildUpBlueSpark
14629      End 
14630     TransitionState   = DOWN_DEFAULT UP_DAY
14631       Model            = ABBarracks_A6
14632        Animation       = ABBarracks_A6.ABBarracks_A6
14633        AnimationMode   = ONCE
14634        AnimationSpeedFactorRange = 1.0 1.0
14635        Flags           = START_FRAME_FIRST
14636      End
14637      TransitionState   = DOWN_DEFAULT UP_NIGHT
14638       Model            = ABBarracks_A6N
14639        Animation       = ABBarracks_A6N.ABBarracks_A6N
14640        AnimationMode   = ONCE
14641        AnimationSpeedFactorRange = 1.0 1.0
14642        Flags           = START_FRAME_FIRST
14643      End
14644      TransitionState   = DOWN_DEFAULT UP_SNOW
14645       Model            = ABBarracks_A6S
14646        Animation       = ABBarracks_A6S.ABBarracks_A6S
14647        AnimationMode   = ONCE
14648        AnimationSpeedFactorRange = 1.0 1.0
14649        Flags           = START_FRAME_FIRST
14650      End
14651      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14652       Model            = ABBarracks_A6SN
14653        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14654        AnimationMode   = ONCE
14655        AnimationSpeedFactorRange = 1.0 1.0
14656        Flags           = START_FRAME_FIRST
14657      End
14658      TransitionState   = UP_DAY DOWN_DEFAULT
14659        Model           = ABBarracks_A6
14660        Animation       = ABBarracks_A6.ABBarracks_A6
14661        AnimationMode   = ONCE_BACKWARDS
14662        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14663        Flags           = START_FRAME_LAST
14664      End
14665      TransitionState   = UP_NIGHT DOWN_DEFAULT
14666        Model           = ABBarracks_A6N
14667        Animation       = ABBarracks_A6N.ABBarracks_A6N
14668        AnimationMode   = ONCE_BACKWARDS
14669        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14670        Flags           = START_FRAME_LAST
14671      End
14672      TransitionState   = UP_SNOW DOWN_DEFAULT
14673        Model           = ABBarracks_A6S
14674        Animation       = ABBarracks_A6S.ABBarracks_A6S
14675        AnimationMode   = ONCE_BACKWARDS
14676        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14677        Flags           = START_FRAME_LAST
14678      End
14679      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14680        Model           = ABBarracks_A6SN
14681        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14682        AnimationMode   = ONCE_BACKWARDS
14683        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14684        Flags           = START_FRAME_LAST
14685      End
14686    End
14687  
14688    ; ------------ being-constructed crane -----------------
14689    Draw = W3DModelDraw ModuleTag_04
14690    AnimationsRequirePower = No
14691      DefaultConditionState
14692        Model           = None
14693        TransitionKey   = DOWN_DEFAULT
14694      End
14695      ConditionState    = NIGHT
14696        Model           = None
14697        TransitionKey   = DOWN_DEFAULT
14698      End
14699      ConditionState    = SNOW
14700        Model           = None
14701        TransitionKey   = DOWN_DEFAULT
14702      End
14703      ConditionState    = SNOW NIGHT
14704        Model           = None
14705        TransitionKey   = DOWN_DEFAULT
14706      End
14707      ConditionState    = SOLD
14708        Model           = NONE
14709      End
14710  
14711      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
14712        Model           = ABBarracks_A5
14713        Animation       = ABBarracks_A5.ABBarracks_A5
14714        AnimationMode   = LOOP
14715        TransitionKey   = UP_DAY
14716      End
14717  
14718      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
14719        Model           = ABBarracks_A5N
14720        Animation       = ABBarracks_A5N.ABBarracks_A5N
14721        AnimationMode   = LOOP
14722        TransitionKey   = UP_NIGHT
14723      End
14724      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
14725        Model           = ABBarracks_A5S
14726        Animation       = ABBarracks_A5S.ABBarracks_A5S
14727        AnimationMode   = LOOP
14728        TransitionKey   = UP_SNOW
14729      End
14730      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
14731        Model           = ABBarracks_A5SN
14732        Animation       = ABBarracks_A5SN.ABBarracks_A5SN
14733        AnimationMode   = LOOP
14734        TransitionKey   = UP_SNOWNIGHT
14735      End 
14736     TransitionState    = DOWN_DEFAULT UP_DAY
14737        Model           = ABBarracks_AB
14738        Animation       = ABBarracks_AB.ABBarracks_AB
14739        AnimationMode   = ONCE
14740        AnimationSpeedFactorRange = 1.0 1.0
14741        Flags           = START_FRAME_FIRST
14742      End
14743  
14744      TransitionState   = DOWN_DEFAULT UP_NIGHT
14745        Model           = ABBarracks_ABN
14746        Animation       = ABBarracks_ABN.ABBarracks_ABN
14747        AnimationMode   = ONCE
14748        AnimationSpeedFactorRange = 1.0 1.0
14749        Flags           = START_FRAME_FIRST
14750      End
14751      TransitionState   = DOWN_DEFAULT UP_SNOW
14752        Model           = ABBarracks_ABS
14753        Animation       = ABBarracks_ABS.ABBarracks_ABS
14754        AnimationMode   = ONCE
14755        AnimationSpeedFactorRange = 1.0 1.0
14756        Flags           = START_FRAME_FIRST
14757      End
14758      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14759        Model           = ABBarracks_ABSN
14760        Animation       = ABBarracks_ABSN.ABBarracks_ABSN
14761        AnimationMode   = ONCE
14762        AnimationSpeedFactorRange = 1.0 1.0
14763        Flags           = START_FRAME_FIRST
14764      End
14765      TransitionState   = UP_DAY DOWN_DEFAULT
14766        Model           = ABBarracks_AB
14767        Animation       = ABBarracks_AB.ABBarracks_AB
14768        AnimationMode   = ONCE_BACKWARDS
14769        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14770        Flags           = START_FRAME_LAST
14771      End
14772      TransitionState   = UP_NIGHT DOWN_DEFAULT
14773        Model           = ABBarracks_ABN
14774        Animation       = ABBarracks_ABN.ABBarracks_ABN
14775        AnimationMode   = ONCE_BACKWARDS
14776        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14777        Flags           = START_FRAME_LAST
14778      End
14779      TransitionState   = UP_SNOW DOWN_DEFAULT
14780        Model           = ABBarracks_ABS
14781        Animation       = ABBarracks_ABS.ABBarracks_ABS
14782        AnimationMode   = ONCE_BACKWARDS
14783        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14784        Flags           = START_FRAME_LAST
14785      End
14786      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14787        Model           = ABBarracks_ABSN
14788        Animation       = ABBarracks_ABSN.ABBarracks_ABSN
14789        AnimationMode   = ONCE_BACKWARDS
14790        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14791        Flags           = START_FRAME_LAST
14792      End
14793    End
14794   
14795    ; ***DESIGN parameters ***
14796    DisplayName         = OBJECT:Barracks
14797    Side                = AmericaAirForceGeneral
14798    EditorSorting       = STRUCTURE
14799    BuildCost           = 600
14800    BuildTime           = 10.0           ; in seconds
14801    EnergyProduction    = 0
14802    CommandSet          = AirF_AmericaBarracksCommandSet
14803    VisionRange         = 200.0           ; Shroud clearing distance
14804    ShroudClearingRange = 200
14805    ArmorSet
14806      Conditions        = None
14807      Armor             = StructureArmor
14808      DamageFX          = StructureDamageFXNoShake
14809    End
14810    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
14811  
14812    Prerequisites
14813  ;    Object = AirF_AmericaPowerPlant
14814    End
14815   
14816    ; *** AUDIO Parameters ***
14817    VoiceSelect = BarracksUSASelect
14818    SoundOnDamaged        = BuildingDamagedStateLight
14819    SoundOnReallyDamaged  = BuildingDestroy
14820  
14821    UnitSpecificSounds
14822      UnderConstruction     = UnderConstructionLoop
14823    End
14824  
14825    ; *** ENGINEERING Parameters ***
14826    RadarPriority        = STRUCTURE
14827    KindOf               = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS
14828    Body                 = StructureBody ModuleTag_05
14829      MaxHealth          = 1000.0
14830      InitialHealth      = 1000.0
14831  
14832      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14833      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14834      SubdualDamageCap = 1200
14835      SubdualDamageHealRate = 500
14836      SubdualDamageHealAmount = 100
14837    End
14838    Behavior = HealContain ModuleTag_06
14839      ContainMax          = 10 ;way bigger than the # of objects we can have  
14840      TimeForFullHeal     = 2000   ;(in milliseconds)
14841      AllowInsideKindOf   = INFANTRY
14842      AllowAlliesInside   = Yes
14843      AllowNeutralInside  = No
14844      AllowEnemiesInside  = No
14845    End
14846    Behavior = DestroyDie ModuleTag_07
14847      ;nothing
14848    End
14849    Behavior                  = CreateObjectDie ModuleTag_08
14850      CreationList       = OCL_LargeStructureDebris
14851    End
14852    Behavior                  = CreateObjectDie ModuleTag_09
14853      CreationList       = OCL_AmericanRangerDebris02
14854      ExemptStatus       = UNDER_CONSTRUCTION
14855    End
14856    Behavior                  = FXListDie ModuleTag_10
14857      DeathFX            = FX_StructureMediumDeath
14858    End
14859    Behavior = ProductionUpdate ModuleTag_11
14860      ; nothing
14861    End
14862    Behavior = DefaultProductionExitUpdate ModuleTag_12
14863      UnitCreatePoint    = X:  0.0  Y:  0.0   Z:0.0
14864      NaturalRallyPoint  = X: 55.0  Y:  0.0   Z:0.0
14865    End
14866    Behavior = BaseRegenerateUpdate ModuleTag_13
14867      ;No data
14868    End 
14869  
14870    Behavior = FlammableUpdate ModuleTag_15
14871      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14872      AflameDamageAmount = 5       ; taking this much damage...
14873      AflameDamageDelay = 500       ; this often.
14874    End
14875  
14876    Behavior = TransitionDamageFX ModuleTag_16
14877      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
14878      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
14879      ;---------------------------------------------------------------------------------------
14880      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
14881      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
14882      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
14883    End
14884  
14885    Geometry             = BOX
14886    GeometryMajorRadius  = 55.0
14887    GeometryMinorRadius  = 45.0
14888    GeometryHeight       = 20.0
14889    GeometryIsSmall      = No
14890    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
14891    Shadow               = SHADOW_VOLUME
14892    BuildCompletion      = PLACED_BY_PLAYER
14893   
14894  End
14895  
14896  
14897  ;------------------------------------------------------------------------------
14898  Object AirF_AmericaWarFactory
14899  
14900    ; *** ART Parameters ***
14901    SelectPortrait = SACWeaponsfact_L
14902    ButtonImage            = SACWeaponsfact
14903    
14904    ; ------------ the main factory itself -----------------
14905    Draw = W3DModelDraw ModuleTag_01
14906      OkToChangeModelColor = Yes  
14907      ; day **************************************************
14908      DefaultConditionState
14909        Model           = ABWarFact
14910        Animation       = ABWarFact.ABWarFact
14911        AnimationMode   = LOOP
14912        ParticleSysBone = Smoke01 SteamVent
14913        ParticleSysBone = Smoke02 SteamVent     
14914      End    
14915      ConditionState = DAMAGED
14916        Model           = ABWarFact_D
14917        Animation       = ABWarFact_D.ABWarFact_D
14918        AnimationMode   = LOOP
14919      End
14920      ConditionState = REALLYDAMAGED RUBBLE
14921        Model           = ABWarFact_E
14922        Animation       = ABWarFact_E.ABWarFact_E
14923        AnimationMode   = LOOP 
14924      End
14925  
14926  
14927      ; night *************************************************
14928      ConditionState = NIGHT
14929        Model           = ABWarFact_N
14930        Animation       = ABWarFact_N.ABWarFact_N
14931        AnimationMode   = LOOP
14932      End
14933      ConditionState = DAMAGED NIGHT
14934        Model           = ABWarFact_DN
14935        Animation       = ABWarFact_DN.ABWarFact_DN
14936        AnimationMode   = LOOP  
14937      End
14938      ConditionState = REALLYDAMAGED RUBBLE NIGHT
14939        Model           = ABWarFact_EN
14940        Animation       = ABWarFact_EN.ABWarFact_EN
14941        AnimationMode   = LOOP 
14942      End
14943      
14944      ; snow *************************************************
14945      ConditionState = SNOW
14946        Model           = ABWarFact_S
14947        Animation       = ABWarFact_S.ABWarFact_S
14948        AnimationMode   = LOOP
14949      End
14950      ConditionState = DAMAGED SNOW
14951        Model           = ABWarFact_DS
14952        Animation       = ABWarFact_DS.ABWarFact_DS
14953        AnimationMode   = LOOP
14954      End
14955      ConditionState = REALLYDAMAGED RUBBLE SNOW
14956        Model           = ABWarFact_ES
14957        Animation       = ABWarFact_ES.ABWarFact_ES
14958        AnimationMode   = LOOP 
14959      End
14960  
14961  
14962      ; night snow *************************************************
14963      ConditionState = NIGHT SNOW
14964        Model           = ABWarFact_NS
14965        Animation       = ABWarFact_NS.ABWarFact_NS
14966        AnimationMode   = LOOP
14967      End
14968      ConditionState = DAMAGED NIGHT SNOW
14969        Model           = ABWarFact_DNS
14970        Animation       = ABWarFact_DNS.ABWarFact_DNS
14971        AnimationMode   = LOOP  
14972      End
14973      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
14974        Model           = ABWarFact_ENS
14975        Animation       = ABWarFact_ENS.ABWarFact_ENS
14976        AnimationMode   = LOOP 
14977      End
14978  
14979      ;**************************************************************************************************************************
14980      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
14981      ;for this draw module
14982      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14983        Model              = ABWarFact
14984        Animation          = ABWarFact.ABWarFact
14985        AnimationMode      = LOOP
14986        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14987      End
14988      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
14989        Model              = ABWarFact_D
14990        Animation          = ABWarFact_D.ABWarFact_D
14991        AnimationMode      = LOOP
14992        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14993      End
14994      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
14995        Model              = ABWarFact_E
14996        Animation          = ABWarFact_E.ABWarFact_E
14997        AnimationMode      = LOOP
14998        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14999      End
15000      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
15001        Model              = ABWarFact_N
15002        Animation          = ABWarFact_N.ABWarFact_N
15003        AnimationMode      = LOOP
15004        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15005      End
15006      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
15007        Model              = ABWarFact_DN
15008        Animation          = ABWarFact_DN.ABWarFact_DN
15009        AnimationMode      = LOOP
15010        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15011      End
15012      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
15013        Model              = ABWarFact_EN
15014        Animation          = ABWarFact_EN.ABWarFact_EN
15015        AnimationMode      = LOOP
15016        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15017      End
15018      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
15019        Model              = ABWarFact_S
15020        Animation          = ABWarFact_S.ABWarFact_S
15021        AnimationMode      = LOOP
15022        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15023      End
15024      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
15025        Model              = ABWarFact_DS
15026        Animation          = ABWarFact_DS.ABWarFact_DS
15027        AnimationMode      = LOOP
15028        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15029      End
15030      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
15031        Model              = ABWarFact_ES
15032        Animation          = ABWarFact_ES.ABWarFact_ES
15033        AnimationMode      = LOOP
15034        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15035      End
15036      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
15037        Model              = ABWarFact_NS
15038        Animation          = ABWarFact_NS.ABWarFact_NS
15039        AnimationMode      = LOOP
15040        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15041      End
15042      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
15043        Model              = ABWarFact_DNS
15044        Animation          = ABWarFact_DNS.ABWarFact_DNS
15045        AnimationMode      = LOOP
15046        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15047      End
15048      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
15049        Model              = ABWarFact_ENS
15050        Animation          = ABWarFact_ENS.ABWarFact_ENS
15051        AnimationMode      = LOOP
15052        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15053      End
15054  
15055      ConditionState       = AWAITING_CONSTRUCTION 
15056        Model              = NONE
15057      End
15058      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15059      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15060      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
15061      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
15062      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
15063      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
15064      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
15065      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
15066      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
15067      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
15068      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
15069      AliasConditionState  = SOLD 
15070      AliasConditionState  = SOLD DAMAGED
15071      AliasConditionState  = SOLD REALLYDAMAGED
15072      AliasConditionState  = SOLD NIGHT
15073      AliasConditionState  = SOLD NIGHT DAMAGED
15074      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
15075      AliasConditionState  = SOLD SNOW
15076      AliasConditionState  = SOLD SNOW DAMAGED
15077      AliasConditionState  = SOLD SNOW REALLYDAMAGED
15078      AliasConditionState  = SOLD NIGHT SNOW
15079      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
15080      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
15081      ;**************************************************************************************************************************
15082  
15083  
15084    End
15085  
15086    ; ----------------- the factory door -------------------
15087    Draw = W3DModelDraw ModuleTag_02
15088      DefaultConditionState
15089        Model           = ABWarFact_A8
15090        Animation       = ABWarFact_A8.ABWarFact_A8
15091        AnimationMode   = MANUAL
15092        Flags           = START_FRAME_FIRST
15093      End
15094      AliasConditionState = NIGHT 
15095      AliasConditionState = SNOW
15096      AliasConditionState = SNOW NIGHT
15097      
15098      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15099        Model           = ABWarFact_A8
15100        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15101      End
15102      AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15103      AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15104      AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15105      
15106      ConditionState    = DAMAGED
15107        Model           = ABWarFact_A8D
15108        Animation       = ABWarFact_A8D.ABWarFact_A8D
15109        AnimationMode   = MANUAL
15110        Flags           = START_FRAME_FIRST
15111      End
15112      AliasConditionState = NIGHT DAMAGED
15113      AliasConditionState = SNOW DAMAGED
15114      AliasConditionState = SNOW NIGHT DAMAGED
15115      
15116      ConditionState    = REALLYDAMAGED RUBBLE
15117        Model           = ABWarFact_A8E
15118        Animation       = ABWarFact_A8E.ABWarFact_A8E
15119        AnimationMode   = MANUAL
15120        Flags           = START_FRAME_FIRST
15121      End
15122      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
15123      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
15124      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
15125      
15126      ConditionState    = DOOR_1_OPENING
15127        Model           = ABWarFact_A8
15128        Animation       = ABWarFact_A8.ABWarFact_A8
15129        AnimationMode   = ONCE
15130        Flags           = START_FRAME_FIRST
15131      End   
15132      AliasConditionState = NIGHT DOOR_1_OPENING
15133      AliasConditionState = SNOW DOOR_1_OPENING
15134      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
15135      
15136      ConditionState    = DOOR_1_OPENING DAMAGED
15137        Model           = ABWarFact_A8D
15138        Animation       = ABWarFact_A8D.ABWarFact_A8D
15139        AnimationMode   = ONCE
15140        Flags           = START_FRAME_FIRST
15141      End   
15142      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
15143      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
15144      AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED
15145      
15146      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
15147        Model           = ABWarFact_A8E
15148        Animation       = ABWarFact_A8E.ABWarFact_A8E
15149        AnimationMode   = ONCE
15150        Flags           = START_FRAME_FIRST
15151      End
15152      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
15153      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
15154      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
15155      
15156      ConditionState    = DOOR_1_CLOSING
15157        Model           = ABWarFact_A8
15158        Animation       = ABWarFact_A8.ABWarFact_A8
15159        AnimationMode   = ONCE_BACKWARDS
15160        Flags           = START_FRAME_LAST
15161      End   
15162      AliasConditionState = NIGHT DOOR_1_CLOSING
15163      AliasConditionState = SNOW DOOR_1_CLOSING
15164      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
15165  
15166      
15167      ConditionState    = DOOR_1_CLOSING DAMAGED
15168        Model           = ABWarFact_A8D
15169        Animation       = ABWarFact_A8D.ABWarFact_A8D
15170        AnimationMode   = ONCE_BACKWARDS
15171        Flags           = START_FRAME_LAST
15172      End   
15173      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
15174      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
15175      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
15176      
15177      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15178        Model           = ABWarFact_A8E
15179        Animation       = ABWarFact_A8E.ABWarFact_A8E
15180        AnimationMode   = ONCE_BACKWARDS
15181        Flags           = START_FRAME_LAST
15182      End   
15183      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15184      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15185      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15186      
15187      ConditionState    = DOOR_1_WAITING_OPEN
15188        Model           = ABWarFact_A8
15189        Animation       = ABWarFact_A8.ABWarFact_A8
15190        AnimationMode   = MANUAL
15191        Flags           = START_FRAME_LAST
15192      End   
15193      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
15194      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
15195      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
15196      
15197      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
15198        Model           = ABWarFact_A8D
15199        Animation       = ABWarFact_A8D.ABWarFact_A8D
15200        AnimationMode   = MANUAL
15201        Flags           = START_FRAME_LAST
15202      End   
15203      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
15204      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
15205      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
15206      
15207      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15208        Model           = ABWarFact_A8E
15209        Animation       = ABWarFact_A8E.ABWarFact_A8E
15210        AnimationMode   = MANUAL
15211        Flags           = START_FRAME_LAST
15212      End   
15213      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15214      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15215      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15216      
15217      ConditionState       = AWAITING_CONSTRUCTION 
15218        Model              = NONE
15219      End
15220      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15221      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15222      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
15223      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
15224      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
15225      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
15226      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
15227      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
15228      AliasConditionState  = SOLD 
15229      AliasConditionState  = SOLD DAMAGED
15230      AliasConditionState  = SOLD REALLYDAMAGED
15231      AliasConditionState  = SOLD NIGHT
15232      AliasConditionState  = SOLD NIGHT DAMAGED
15233      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
15234      AliasConditionState  = SOLD SNOW
15235      AliasConditionState  = SOLD SNOW DAMAGED
15236      AliasConditionState  = SOLD SNOW REALLYDAMAGED
15237      AliasConditionState  = SOLD NIGHT SNOW
15238      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
15239      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
15240    End
15241  
15242    ; ------------------ the construction crane ------------
15243    Draw = W3DModelDraw ModuleTag_03
15244      ; -----------------------------------------------------------
15245      OkToChangeModelColor = Yes
15246      ; -----------------------------------------------------------
15247      DefaultConditionState
15248        Model           = ABWarFact_A1
15249        Animation       = ABWarFact_A1.ABWarFact_A1
15250        AnimationMode   = LOOP
15251        TransitionKey   = TRANS_Idle
15252      End
15253      ConditionState    = DAMAGED
15254        Model           = ABWarFact_A1D
15255        Animation       = ABWarFact_A1D.ABWarFact_A1D
15256        AnimationMode   = LOOP
15257        TransitionKey   = TRANS_IdleDamaged
15258      End
15259      ConditionState    = REALLYDAMAGED RUBBLE
15260        Model           = ABWarFact_A1E
15261        Animation       = ABWarFact_A1E.ABWarFact_A1E
15262        AnimationMode   = LOOP
15263        TransitionKey   = TRANS_IdleReallyDamaged
15264      End
15265  
15266      ; -----------------------------------------------------------
15267      TransitionState   = TRANS_Constructing TRANS_Idle
15268        Model           = ABWarFact_A3
15269        Animation       = ABWarFact_A3.ABWarFact_A3
15270        AnimationMode   = ONCE
15271        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15272      End
15273      TransitionState   = TRANS_ConstructingDamaged TRANS_IdleDamaged
15274        Model           = ABWarFact_A3D
15275        Animation       = ABWarFact_A3D.ABWarFact_A3D
15276        AnimationMode   = ONCE
15277        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15278      End
15279      TransitionState   = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged
15280        Model           = ABWarFact_A3E
15281        Animation       = ABWarFact_A3E.ABWarFact_A3E
15282        AnimationMode   = ONCE
15283        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15284      End
15285  
15286      ; -----------------------------------------------------------
15287      ConditionState    = ACTIVELY_CONSTRUCTING
15288        Model           = ABWarFact_A3
15289        Animation       = ABWarFact_A3.ABWarFact_A3
15290        AnimationMode   = ONCE
15291        TransitionKey   = TRANS_Constructing
15292        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15293      End
15294      ConditionState    = ACTIVELY_CONSTRUCTING DAMAGED
15295        Model           = ABWarFact_A3D
15296        Animation       = ABWarFact_A3D.ABWarFact_A3D
15297        AnimationMode   = ONCE
15298        TransitionKey   = TRANS_ConstructingDamaged
15299        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15300      End
15301      ConditionState    = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15302        Model           = ABWarFact_A3E
15303        Animation       = ABWarFact_A3E.ABWarFact_A3E
15304        AnimationMode   = ONCE
15305        TransitionKey   = TRANS_ConstructingReallyDamaged
15306        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15307      End
15308      ; -----------------------------------------------------------
15309      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD
15310        Model           = ABWarFact_A1
15311        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15312      End
15313      ConditionState    = SOLD
15314        Model           = NONE
15315      End    
15316    End
15317  
15318    ; ------------------ the construction conveyor belt ------------
15319    Draw = W3DModelDraw ModuleTag_04
15320      OkToChangeModelColor = Yes
15321      DefaultConditionState
15322        Model           = ABWarFact_A7
15323        Animation       = ABWarFact_A7.ABWarFact_A7
15324        AnimationMode   = MANUAL
15325        Flags           = START_FRAME_FIRST
15326      End
15327      AliasConditionState = SNOW
15328      AliasConditionState = NIGHT
15329      AliasConditionState = SNOW NIGHT
15330      
15331      ConditionState    = SOLD
15332        Model           = NONE
15333      End 
15334      AliasConditionState = SNOW SOLD
15335      AliasConditionState = NIGHT SOLD
15336      AliasConditionState = SNOW NIGHT SOLD 
15337  
15338  
15339      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED 
15340        Model           = ABWarFact_A7
15341        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15342      End
15343      AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15344      AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15345      AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15346      
15347      ConditionState    = DAMAGED
15348        Model           = ABWarFact_A7D
15349        Animation       = ABWarFact_A7D.ABWarFact_A7D
15350        AnimationMode   = MANUAL
15351        Flags           = START_FRAME_FIRST
15352      End
15353      AliasConditionState = SNOW DAMAGED
15354      AliasConditionState = NIGHT DAMAGED
15355      AliasConditionState = SNOW NIGHT DAMAGED
15356      
15357      ConditionState    = REALLYDAMAGED RUBBLE
15358        Model           = ABWarFact_A7E
15359        Animation       = ABWarFact_A7E.ABWarFact_A7E
15360        AnimationMode   = MANUAL
15361        Flags           = START_FRAME_FIRST
15362      End
15363      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
15364      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
15365      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
15366      
15367      ConditionState    = ACTIVELY_CONSTRUCTING
15368        Model           = ABWarFact_A7
15369        Animation       = ABWarFact_A7.ABWarFact_A7
15370        AnimationMode   = LOOP
15371      End
15372      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING
15373      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING
15374      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING
15375      
15376      ConditionState    = ACTIVELY_CONSTRUCTING DAMAGED
15377        Model           = ABWarFact_A7D
15378        Animation       = ABWarFact_A7D.ABWarFact_A7D
15379        AnimationMode   = LOOP
15380      End
15381      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED
15382      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED
15383      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED
15384      
15385      ConditionState    = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15386        Model           = ABWarFact_A7E
15387        Animation       = ABWarFact_A7E.ABWarFact_A7E
15388        AnimationMode   = LOOP
15389      End
15390      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15391      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15392      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15393      
15394    End
15395  
15396    ; ------------ construction done flashing lights ----------
15397    Draw = W3DModelDraw ModuleTag_05
15398      DefaultConditionState
15399        Model           = None
15400      End
15401      ConditionState    = SOLD
15402        Model           = NONE
15403      End    
15404      ConditionState    = SOLD SNOW
15405         Model          = NONE
15406      End   
15407      ConditionState    = SOLD NIGHT
15408         Model          = NONE
15409      End    
15410      ConditionState    = SOLD NIGHT SNOW
15411         Model          = NONE
15412      End   
15413      ConditionState    = CONSTRUCTION_COMPLETE
15414        Model           = ABWarFact_A2
15415        Animation       = ABWarFact_A2.ABWarFact_A2
15416        AnimationMode   = LOOP
15417        Flags           = START_FRAME_FIRST
15418      End  
15419    End
15420      
15421    ; ------------ construction-zone fence -----------------
15422    Draw = W3DModelDraw ModuleTag_06
15423    AnimationsRequirePower = No
15424      DefaultConditionState
15425        Model           = None
15426        TransitionKey   = DOWN_DEFAULT
15427      End
15428      ConditionState    = NIGHT
15429        Model           = None
15430        TransitionKey   = DOWN_DEFAULT
15431      End
15432      ConditionState    = SNOW
15433        Model           = None
15434        TransitionKey   = DOWN_DEFAULT
15435      End
15436      ConditionState    = SNOW NIGHT
15437        Model           = None
15438        TransitionKey   = DOWN_DEFAULT
15439      End
15440      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15441        Model           = ABWarFact_A4
15442        Animation       = ABWarFact_A4.ABWarFact_A4
15443        AnimationMode   = MANUAL
15444        Flags           = START_FRAME_LAST
15445        TransitionKey   = UP_DAY
15446        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15447        ParticleSysBone = SparksS01 LiveWireSparks02
15448      End
15449      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15450        Model           = ABWarFact_A4N
15451        Animation       = ABWarFact_A4N.ABWarFact_A4N
15452        AnimationMode   = MANUAL
15453        Flags           = START_FRAME_LAST
15454        TransitionKey   = UP_NIGHT
15455        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15456        ParticleSysBone = SparksS01 LiveWireSparks02
15457      End
15458      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15459        Model           = ABWarFact_A4S
15460        Animation       = ABWarFact_A4S.ABWarFact_A4S
15461        AnimationMode   = MANUAL
15462        Flags           = START_FRAME_LAST
15463        TransitionKey   = UP_SNOW
15464        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15465        ParticleSysBone = SparksS01 LiveWireSparks02
15466      End
15467      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15468        Model           = ABWarFact_A4SN
15469        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15470        AnimationMode   = MANUAL
15471        Flags           = START_FRAME_LAST
15472        TransitionKey   = UP_SNOWNIGHT
15473        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15474        ParticleSysBone = SparksS01 LiveWireSparks02
15475      End
15476      TransitionState   = DOWN_DEFAULT UP_DAY
15477        Model           = ABWarFact_A4
15478        Animation       = ABWarFact_A4.ABWarFact_A4
15479        AnimationMode   = ONCE
15480        AnimationSpeedFactorRange = 1.0 1.0
15481        Flags           = START_FRAME_FIRST
15482      End
15483      TransitionState   = DOWN_DEFAULT UP_NIGHT
15484        Model           = ABWarFact_A4N
15485        Animation       = ABWarFact_A4N.ABWarFact_A4N
15486        AnimationMode   = ONCE
15487        AnimationSpeedFactorRange = 1.0 1.0
15488        Flags           = START_FRAME_FIRST
15489      End
15490      TransitionState   = DOWN_DEFAULT UP_SNOW
15491        Model           = ABWarFact_A4S
15492        Animation       = ABWarFact_A4S.ABWarFact_A4S
15493        AnimationMode   = ONCE
15494        AnimationSpeedFactorRange = 1.0 1.0
15495        Flags           = START_FRAME_FIRST
15496      End
15497      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15498        Model           = ABWarFact_A4SN
15499        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15500        AnimationMode   = ONCE
15501        AnimationSpeedFactorRange = 1.0 1.0
15502        Flags           = START_FRAME_FIRST
15503      End
15504      TransitionState   = UP_DAY DOWN_DEFAULT
15505        Model           = ABWarFact_A4
15506        Animation       = ABWarFact_A4.ABWarFact_A4
15507        AnimationMode   = ONCE_BACKWARDS
15508        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15509        Flags           = START_FRAME_LAST
15510      End
15511      TransitionState   = UP_NIGHT DOWN_DEFAULT
15512        Model           = ABWarFact_A4N
15513        Animation       = ABWarFact_A4N.ABWarFact_A4N
15514        AnimationMode   = ONCE_BACKWARDS
15515        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15516        Flags           = START_FRAME_LAST
15517      End
15518      TransitionState   = UP_SNOW DOWN_DEFAULT
15519        Model           = ABWarFact_A4S
15520        Animation       = ABWarFact_A4S.ABWarFact_A4S
15521        AnimationMode   = ONCE_BACKWARDS
15522        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15523        Flags           = START_FRAME_LAST
15524      End
15525      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15526        Model           = ABWarFact_A4SN
15527        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15528        AnimationMode   = ONCE_BACKWARDS
15529        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15530        Flags           = START_FRAME_LAST
15531      End
15532    End
15533  
15534    ; ------------ under-construction scaffolding -----------------
15535    Draw = W3DModelDraw ModuleTag_07
15536    AnimationsRequirePower = No
15537      MinLODRequired = MEDIUM
15538      DefaultConditionState
15539        Model           = None
15540        TransitionKey   = DOWN_DEFAULT
15541      End
15542      ConditionState    = NIGHT
15543        Model           = None
15544        TransitionKey   = DOWN_DEFAULT
15545      End
15546      ConditionState    = SNOW
15547        Model           = None
15548        TransitionKey   = DOWN_DEFAULT
15549      End
15550      ConditionState    = SNOW NIGHT
15551        Model           = None
15552        TransitionKey   = DOWN_DEFAULT
15553      End
15554      ConditionState    = PARTIALLY_CONSTRUCTED
15555        Model           = ABWarFact_A6
15556        Animation       = ABWarFact_A6.ABWarFact_A6
15557        AnimationMode   = MANUAL
15558        Flags           = START_FRAME_LAST
15559        TransitionKey   = UP_DAY
15560        ParticleSysBone = Sparks01 BuildUpBlueSpark
15561        ParticleSysBone = Sparks02 BuildUpBlueSpark
15562        ParticleSysBone = Sparks03 BuildUpBlueSpark
15563        ParticleSysBone = Sparks04 BuildUpBlueSpark
15564        ParticleSysBone = Sparks05 BuildUpBlueSpark
15565        ParticleSysBone = Sparks06 BuildUpBlueSpark
15566      End
15567      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
15568        Model           = ABWarFact_A6N
15569        Animation       = ABWarFact_A6N.ABWarFact_A6N
15570        AnimationMode   = MANUAL
15571        Flags           = START_FRAME_LAST
15572        TransitionKey   = UP_NIGHT
15573        ParticleSysBone = Sparks01 BuildUpBlueSpark
15574        ParticleSysBone = Sparks02 BuildUpBlueSpark
15575        ParticleSysBone = Sparks03 BuildUpBlueSpark
15576        ParticleSysBone = Sparks04 BuildUpBlueSpark
15577        ParticleSysBone = Sparks05 BuildUpBlueSpark
15578        ParticleSysBone = Sparks06 BuildUpBlueSpark
15579      End
15580      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
15581        Model           = ABWarFact_A6S
15582        Animation       = ABWarFact_A6S.ABWarFact_A6S
15583        AnimationMode   = MANUAL
15584        Flags           = START_FRAME_LAST
15585        TransitionKey   = UP_SNOW
15586        ParticleSysBone = Sparks01 BuildUpBlueSpark
15587        ParticleSysBone = Sparks02 BuildUpBlueSpark
15588        ParticleSysBone = Sparks03 BuildUpBlueSpark
15589        ParticleSysBone = Sparks04 BuildUpBlueSpark
15590        ParticleSysBone = Sparks05 BuildUpBlueSpark
15591        ParticleSysBone = Sparks06 BuildUpBlueSpark
15592      End
15593      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
15594        Model           = ABWarFact_A6SN
15595        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15596        AnimationMode   = MANUAL
15597        Flags           = START_FRAME_LAST
15598        TransitionKey   = UP_SNOWNIGHT
15599        ParticleSysBone = Sparks01 BuildUpBlueSpark
15600        ParticleSysBone = Sparks02 BuildUpBlueSpark
15601        ParticleSysBone = Sparks03 BuildUpBlueSpark
15602        ParticleSysBone = Sparks04 BuildUpBlueSpark
15603        ParticleSysBone = Sparks05 BuildUpBlueSpark
15604        ParticleSysBone = Sparks06 BuildUpBlueSpark
15605      End
15606      TransitionState   = DOWN_DEFAULT UP_DAY
15607       Model            = ABWarFact_A6
15608        Animation       = ABWarFact_A6.ABWarFact_A6
15609        AnimationMode   = ONCE
15610        AnimationSpeedFactorRange = 1.0 1.0
15611        Flags           = START_FRAME_FIRST
15612      End
15613      TransitionState   = DOWN_DEFAULT UP_NIGHT
15614       Model            = ABWarFact_A6N
15615        Animation       = ABWarFact_A6N.ABWarFact_A6N
15616        AnimationMode   = ONCE
15617        AnimationSpeedFactorRange = 1.0 1.0
15618        Flags           = START_FRAME_FIRST
15619      End
15620      TransitionState   = DOWN_DEFAULT UP_SNOW
15621       Model            = ABWarFact_A6S
15622        Animation       = ABWarFact_A6S.ABWarFact_A6S
15623        AnimationMode   = ONCE
15624        AnimationSpeedFactorRange = 1.0 1.0
15625        Flags           = START_FRAME_FIRST
15626      End
15627      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15628       Model            = ABWarFact_A6SN
15629        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15630        AnimationMode   = ONCE
15631        AnimationSpeedFactorRange = 1.0 1.0
15632        Flags           = START_FRAME_FIRST
15633      End
15634      TransitionState   = UP_DAY DOWN_DEFAULT
15635        Model           = ABWarFact_A6
15636        Animation       = ABWarFact_A6.ABWarFact_A6
15637        AnimationMode   = ONCE_BACKWARDS
15638        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15639        Flags           = START_FRAME_LAST
15640      End
15641      TransitionState   = UP_NIGHT DOWN_DEFAULT
15642        Model           = ABWarFact_A6N
15643        Animation       = ABWarFact_A6N.ABWarFact_A6N
15644        AnimationMode   = ONCE_BACKWARDS
15645        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15646        Flags           = START_FRAME_LAST
15647      End
15648      TransitionState   = UP_SNOW DOWN_DEFAULT
15649        Model           = ABWarFact_A6S
15650        Animation       = ABWarFact_A6S.ABWarFact_A6S
15651        AnimationMode   = ONCE_BACKWARDS
15652        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15653        Flags           = START_FRAME_LAST
15654      End
15655      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15656        Model           = ABWarFact_A6SN
15657        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15658        AnimationMode   = ONCE_BACKWARDS
15659        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15660        Flags           = START_FRAME_LAST
15661      End
15662    End
15663  
15664    ; ------------ being-constructed crane -----------------
15665    Draw = W3DModelDraw ModuleTag_08
15666    AnimationsRequirePower = No
15667      DefaultConditionState
15668        Model           = None
15669        TransitionKey   = DOWN_DEFAULT
15670      End
15671      ConditionState    = NIGHT
15672        Model           = None
15673        TransitionKey   = DOWN_DEFAULT
15674      End
15675      ConditionState    = SNOW
15676        Model           = None
15677        TransitionKey   = DOWN_DEFAULT
15678      End
15679      ConditionState    = SNOW NIGHT
15680        Model           = None
15681        TransitionKey   = DOWN_DEFAULT
15682      End
15683      ConditionState    = SOLD
15684        Model           = NONE
15685      End
15686  
15687      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
15688        Model           = ABWarFact_A5
15689        Animation       = ABWarFact_A5.ABWarFact_A5
15690        AnimationMode   = LOOP
15691        TransitionKey  = UP_DAY
15692      End
15693  
15694      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
15695        Model           = ABWarFact_A5N
15696        Animation       = ABWarFact_A5N.ABWarFact_A5N
15697        AnimationMode   = LOOP
15698        TransitionKey  = UP_NIGHT
15699      End
15700      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
15701        Model           = ABWarFact_A5S
15702        Animation       = ABWarFact_A5S.ABWarFact_A5S
15703        AnimationMode   = LOOP
15704        TransitionKey  = UP_SNOW
15705      End
15706      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
15707        Model           = ABWarFact_A5SN
15708        Animation       = ABWarFact_A5SN.ABWarFact_A5SN
15709        AnimationMode   = LOOP
15710        TransitionKey  = UP_SNOWNIGHT
15711      End
15712      TransitionState   = DOWN_DEFAULT UP_DAY
15713        Model            = ABWarFact_AB
15714        Animation       = ABWarFact_AB.ABWarFact_AB
15715        AnimationMode   = ONCE
15716        AnimationSpeedFactorRange = 1.0 1.0
15717        Flags           = START_FRAME_FIRST
15718      End
15719  
15720      TransitionState   = DOWN_DEFAULT UP_NIGHT
15721        Model            = ABWarFact_ABN
15722        Animation       = ABWarFact_ABN.ABWarFact_ABN
15723        AnimationMode   = ONCE
15724        AnimationSpeedFactorRange = 1.0 1.0
15725        Flags           = START_FRAME_FIRST
15726      End
15727      TransitionState   = DOWN_DEFAULT UP_SNOW
15728        Model            = ABWarFact_ABS
15729        Animation       = ABWarFact_ABS.ABWarFact_ABS
15730        AnimationMode   = ONCE
15731        AnimationSpeedFactorRange = 1.0 1.0
15732        Flags           = START_FRAME_FIRST
15733      End 
15734      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15735        Model            = ABWarFact_ABSN
15736        Animation       = ABWarFact_ABSN.ABWarFact_ABSN
15737        AnimationMode   = ONCE
15738        AnimationSpeedFactorRange = 1.0 1.0
15739        Flags           = START_FRAME_FIRST
15740      End 
15741     TransitionState   = UP_DAY DOWN_DEFAULT
15742        Model            = ABWarFact_AB
15743        Animation       = ABWarFact_AB.ABWarFact_AB
15744        AnimationMode   = ONCE_BACKWARDS
15745        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15746        Flags           = START_FRAME_LAST
15747      End
15748      TransitionState   = UP_NIGHT DOWN_DEFAULT
15749        Model            = ABWarFact_ABN
15750        Animation       = ABWarFact_ABN.ABWarFact_ABN
15751        AnimationMode   = ONCE_BACKWARDS
15752        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15753        Flags           = START_FRAME_LAST
15754      End
15755      TransitionState   = UP_SNOW DOWN_DEFAULT
15756        Model            = ABWarFact_ABS
15757        Animation       = ABWarFact_ABS.ABWarFact_ABS
15758        AnimationMode   = ONCE_BACKWARDS
15759        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15760        Flags           = START_FRAME_LAST
15761      End
15762      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15763        Model            = ABWarFact_ABSN
15764        Animation       = ABWarFact_ABSN.ABWarFact_ABSN
15765        AnimationMode   = ONCE_BACKWARDS
15766        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15767        Flags           = START_FRAME_LAST
15768      End
15769    End
15770    
15771    PlacementViewAngle = -135
15772  
15773    ; ***DESIGN parameters ***
15774    DisplayName      = OBJECT:WarFactory
15775    Side             = AmericaAirForceGeneral
15776    EditorSorting    = STRUCTURE
15777    Prerequisites
15778      Object = AirF_AmericaSupplyCenter
15779    End
15780    BuildCost        = 2000
15781    BuildTime        = 15.0           ; in seconds
15782  
15783    EnergyProduction = -1
15784    CommandSet       = AirF_AmericaWarFactoryCommandSet
15785    VisionRange     = 200.0           ; Shroud clearing distance
15786    ShroudClearingRange = 200
15787    ArmorSet
15788      Conditions      = None
15789      Armor           = StructureArmor
15790      DamageFX        = StructureDamageFXNoShake
15791    End
15792    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
15793  
15794    ; *** AUDIO Parameters ***
15795    VoiceSelect = WarFactoryUSASelect
15796    SoundOnDamaged        = BuildingDamagedStateLight
15797    SoundOnReallyDamaged  = BuildingDestroy
15798  
15799    UnitSpecificSounds
15800      UnderConstruction     = UnderConstructionLoop
15801    End
15802  
15803    ; *** ENGINEERING Parameters ***
15804    RadarPriority   = STRUCTURE
15805    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY
15806    Body            = StructureBody ModuleTag_09
15807      MaxHealth       = 2000.0
15808      InitialHealth   = 2000.0
15809  
15810      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
15811      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
15812      SubdualDamageCap = 2200
15813      SubdualDamageHealRate = 500
15814      SubdualDamageHealAmount = 100
15815    End
15816    Behavior = ProductionUpdate ModuleTag_10
15817      NumDoorAnimations            = 1
15818      DoorOpeningTime              = 3250  ;in mSeconds
15819      DoorWaitOpenTime             = 3000  ;in mSeconds
15820      DoorCloseTime                = 4000  ;in mSeconds
15821      ConstructionCompleteDuration = 1500  ;in mSeconds
15822    End
15823    Behavior = DefaultProductionExitUpdate ModuleTag_11
15824      UnitCreatePoint   = X: -10.0  Y:-30.0   Z:0.0
15825      NaturalRallyPoint = X: 53.0  Y:-30.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
15826    End
15827    Behavior = RepairDockUpdate ModuleTag_12
15828      TimeForFullHeal   = 5000   ;(in milliseconds)     
15829      NumberApproachPositions = 5
15830    End
15831    Behavior = BaseRegenerateUpdate ModuleTag_13
15832      ;No data
15833    End 
15834    
15835  ;---- Removed module
15836  ;  Behavior = SlowDeathBehavior ModuleTag_14
15837  ;    DestructionDelay = 500
15838  ;    FX             = FINAL   FX_StructureMediumDeath
15839  ;    OCL            = FINAL   OCL_AmericaWarFactoryDebris
15840  ;  End
15841  
15842    Behavior = TransitionDamageFX ModuleTag_15
15843      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
15844      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
15845      ;---------------------------------------------------------------------------------------
15846      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
15847      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
15848      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
15849    End
15850  
15851    Behavior             = CreateObjectDie ModuleTag_16
15852      CreationList  = OCL_AmericanRangerDebris05
15853      ExemptStatus  = UNDER_CONSTRUCTION
15854    End
15855  
15856    Behavior = FlammableUpdate ModuleTag_18
15857      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15858      AflameDamageAmount = 5       ; taking this much damage...
15859      AflameDamageDelay = 500       ; this often.
15860    End
15861    
15862    Behavior             = CreateObjectDie ModuleTag_20
15863      CreationList  = OCL_LargeStructureDebris
15864    End
15865    
15866    Behavior             = FXListDie ModuleTag_21
15867      DeathFX       = FX_StructureMediumDeath
15868    End
15869    
15870    Behavior             = DestroyDie ModuleTag_22
15871      ;nothing
15872    End
15873  
15874    Geometry            = BOX
15875    GeometryMajorRadius = 53.0
15876    GeometryMinorRadius = 60.0
15877    GeometryHeight      = 40.0
15878    GeometryIsSmall     = No
15879    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
15880    Shadow          = SHADOW_VOLUME
15881    BuildCompletion = PLACED_BY_PLAYER
15882  
15883  End
15884  
15885  
15886  
15887  ;------------------------------------------------------------------------------
15888  Object AirF_AmericaPatriotBattery
15889  
15890    ; *** ART Parameters ***
15891    SelectPortrait         = SAPatriot_L
15892    ButtonImage            = SAPatriot
15893    Draw = W3DModelDraw ModuleTag_01
15894  
15895      OkToChangeModelColor = Yes
15896  
15897      DefaultConditionState
15898        Model             = ABPatriot
15899        Turret            = TURRET01
15900        TurretPitch       = TURRETEL
15901        WeaponLaunchBone  = PRIMARY   WeaponA
15902        WeaponLaunchBone  = SECONDARY WeaponA
15903        WeaponLaunchBone  = TERTIARY  WeaponA
15904        WeaponFireFXBone  = PRIMARY   WeaponA
15905        WeaponFireFXBone  = SECONDARY WeaponA
15906        WeaponFireFXBone  = TERTIARY  WeaponA
15907      End
15908      AliasConditionState = NIGHT
15909      
15910      ConditionState      = DAMAGED
15911        Model             = ABPatriot_D
15912      End
15913      AliasConditionState = DAMAGED NIGHT
15914      
15915      ConditionState      = REALLYDAMAGED RUBBLE
15916        Model             = ABPatriot_E
15917      End
15918      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
15919      
15920      
15921      ConditionState      = SNOW
15922        Model             = ABPatriot_S
15923      End
15924      AliasConditionState = SNOW NIGHT
15925      
15926      ConditionState      = DAMAGED SNOW
15927        Model             = ABPatriot_DS
15928      End
15929      AliasConditionState = SNOW NIGHT DAMAGED
15930      
15931      ConditionState      = REALLYDAMAGED RUBBLE SNOW
15932        Model             = ABPatriot_ES
15933      End
15934      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
15935     
15936      ;**************************************************************************************************************************
15937      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
15938      ;for this draw module
15939      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15940        Model              = ABPatriot
15941        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15942      End
15943      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
15944      
15945  
15946      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
15947        Model              = ABPatriot_S
15948        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15949      End
15950      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
15951      
15952      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
15953        Model              = ABPatriot_D
15954        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15955      End
15956      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
15957      
15958      
15959      
15960      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
15961        Model              = ABPatriot_DS
15962        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15963      End
15964      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
15965      
15966      
15967      
15968      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
15969        Model              = ABPatriot_E
15970        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15971      End
15972      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
15973      
15974      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
15975        Model              = ABPatriot_ES
15976        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15977      End
15978      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
15979      
15980      
15981      
15982      ConditionState       = AWAITING_CONSTRUCTION 
15983        Model              = NONE
15984      End
15985      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15986      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15987      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
15988      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
15989      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
15990      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
15991      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
15992      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
15993      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
15994      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
15995      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
15996      AliasConditionState  = SOLD DAMAGED
15997      AliasConditionState  = SOLD REALLYDAMAGED
15998      AliasConditionState  = SOLD NIGHT
15999      AliasConditionState  = SOLD NIGHT DAMAGED
16000      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
16001      AliasConditionState  = SOLD SNOW
16002      AliasConditionState  = SOLD SNOW DAMAGED
16003      AliasConditionState  = SOLD SNOW REALLYDAMAGED
16004      AliasConditionState  = SOLD NIGHT SNOW
16005      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
16006      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
16007      ;**************************************************************************************************************************
16008         
16009  
16010      
16011    End
16012  
16013    ; ------------ construction-zone fence -----------------
16014    Draw = W3DModelDraw ModuleTag_02
16015      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
16016      DefaultConditionState
16017        Model           = None
16018        TransitionKey   = DOWN_DEFAULT
16019      End
16020      ConditionState    = NIGHT
16021        Model           = None
16022        TransitionKey   = DOWN_DEFAULT
16023      End
16024      ConditionState    = SNOW
16025        Model           = None
16026        TransitionKey   = DOWN_DEFAULT
16027      End
16028      ConditionState    = SNOW NIGHT
16029        Model           = None
16030        TransitionKey   = DOWN_DEFAULT
16031      End
16032      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16033        Model           = ABPatriot_A4
16034        Animation       = ABPatriot_A4.ABPatriot_A4
16035        AnimationMode   = MANUAL
16036        Flags           = START_FRAME_LAST
16037        TransitionKey   = UP_DAY
16038      End
16039      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16040        Model           = ABPatriot_A4N
16041        Animation       = ABPatriot_A4N.ABPatriot_A4N
16042        AnimationMode   = MANUAL
16043        Flags           = START_FRAME_LAST
16044        TransitionKey   = UP_NIGHT
16045      End
16046      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16047        Model           = ABPatriot_A4S
16048        Animation       = ABPatriot_A4S.ABPatriot_A4S
16049        AnimationMode   = MANUAL
16050        Flags           = START_FRAME_LAST
16051        TransitionKey   = UP_SNOW
16052      End
16053      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16054        Model           = ABPatriot_A4SN
16055        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16056        AnimationMode   = MANUAL
16057        Flags           = START_FRAME_LAST
16058        TransitionKey   = UP_SNOWNIGHT
16059      End
16060      TransitionState   = DOWN_DEFAULT UP_DAY
16061        Model           = ABPatriot_A4
16062        Animation       = ABPatriot_A4.ABPatriot_A4
16063        AnimationMode   = ONCE
16064        AnimationSpeedFactorRange = 1.0 1.0
16065        Flags           = START_FRAME_FIRST
16066      End
16067      TransitionState   = DOWN_DEFAULT UP_NIGHT
16068        Model           = ABPatriot_A4N
16069        Animation       = ABPatriot_A4N.ABPatriot_A4N
16070        AnimationMode   = ONCE
16071        AnimationSpeedFactorRange = 1.0 1.0
16072        Flags           = START_FRAME_FIRST
16073      End
16074      TransitionState   = DOWN_DEFAULT UP_SNOW
16075        Model           = ABPatriot_A4S
16076        Animation       = ABPatriot_A4S.ABPatriot_A4S
16077        AnimationMode   = ONCE
16078        AnimationSpeedFactorRange = 1.0 1.0
16079        Flags           = START_FRAME_FIRST
16080      End
16081      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16082        Model           = ABPatriot_A4SN
16083        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16084        AnimationMode   = ONCE
16085        AnimationSpeedFactorRange = 1.0 1.0
16086        Flags           = START_FRAME_FIRST
16087      End
16088      TransitionState   = UP_DAY DOWN_DEFAULT
16089        Model           = ABPatriot_A4
16090        Animation       = ABPatriot_A4.ABPatriot_A4
16091        AnimationMode   = ONCE_BACKWARDS
16092        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16093        Flags           = START_FRAME_LAST
16094      End
16095      TransitionState   = UP_NIGHT DOWN_DEFAULT
16096        Model           = ABPatriot_A4N
16097        Animation       = ABPatriot_A4N.ABPatriot_A4N
16098        AnimationMode   = ONCE_BACKWARDS
16099        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16100        Flags           = START_FRAME_LAST
16101      End
16102      TransitionState   = UP_SNOW DOWN_DEFAULT
16103        Model           = ABPatriot_A4S
16104        Animation       = ABPatriot_A4S.ABPatriot_A4S
16105        AnimationMode   = ONCE_BACKWARDS
16106        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16107        Flags           = START_FRAME_LAST
16108      End
16109      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16110        Model           = ABPatriot_A4SN
16111        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16112        AnimationMode   = ONCE_BACKWARDS
16113        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16114        Flags           = START_FRAME_LAST
16115      End
16116    End
16117  
16118    ; ------------ under-construction scaffolding -----------------
16119    Draw = W3DModelDraw ModuleTag_03
16120      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
16121      MinLODRequired = MEDIUM
16122      DefaultConditionState
16123        Model           = None
16124        TransitionKey   = DOWN_DEFAULT
16125      End
16126      ConditionState    = NIGHT
16127        Model           = None
16128        TransitionKey   = DOWN_DEFAULT
16129      End
16130      ConditionState    = SNOW
16131        Model           = None
16132        TransitionKey   = DOWN_DEFAULT
16133      End
16134      ConditionState    = SNOW NIGHT
16135        Model           = None
16136        TransitionKey   = DOWN_DEFAULT
16137      End
16138      ConditionState    = PARTIALLY_CONSTRUCTED
16139        Model           = ABPatriot_A6
16140        Animation       = ABPatriot_A6.ABPatriot_A6
16141        AnimationMode   = MANUAL
16142        Flags           = START_FRAME_LAST
16143        TransitionKey   = UP_DAY
16144        ParticleSysBone = Sparks01 BuildUpBlueSpark
16145        ParticleSysBone = Sparks02 BuildUpBlueSpark
16146      End
16147      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
16148        Model           = ABPatriot_A6N
16149        Animation       = ABPatriot_A6N.ABPatriot_A6N
16150        AnimationMode   = MANUAL
16151        Flags           = START_FRAME_LAST
16152        TransitionKey   = UP_NIGHT
16153        ParticleSysBone = Sparks01 BuildUpBlueSpark
16154        ParticleSysBone = Sparks02 BuildUpBlueSpark
16155      End
16156      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
16157        Model           = ABPatriot_A6S
16158        Animation       = ABPatriot_A6S.ABPatriot_A6S
16159        AnimationMode   = MANUAL
16160        Flags           = START_FRAME_LAST
16161        TransitionKey   = UP_SNOW
16162        ParticleSysBone = Sparks01 BuildUpBlueSpark
16163        ParticleSysBone = Sparks02 BuildUpBlueSpark
16164      End
16165      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
16166        Model           = ABPatriot_A6SN
16167        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16168        AnimationMode   = MANUAL
16169        Flags           = START_FRAME_LAST
16170        TransitionKey   = UP_SNOWNIGHT
16171        ParticleSysBone = Sparks01 BuildUpBlueSpark
16172        ParticleSysBone = Sparks02 BuildUpBlueSpark
16173      End
16174      TransitionState   = DOWN_DEFAULT UP_DAY
16175        Model           = ABPatriot_A6
16176        Animation       = ABPatriot_A6.ABPatriot_A6
16177        AnimationMode   = ONCE
16178        AnimationSpeedFactorRange = 1.0 1.0
16179        Flags           = START_FRAME_FIRST
16180      End
16181      TransitionState   = DOWN_DEFAULT UP_NIGHT
16182        Model           = ABPatriot_A6N
16183        Animation       = ABPatriot_A6N.ABPatriot_A6N
16184        AnimationMode   = ONCE
16185        AnimationSpeedFactorRange = 1.0 1.0
16186        Flags           = START_FRAME_FIRST
16187      End
16188      TransitionState   = DOWN_DEFAULT UP_SNOW
16189        Model           = ABPatriot_A6S
16190        Animation       = ABPatriot_A6S.ABPatriot_A6S
16191        AnimationMode   = ONCE
16192        AnimationSpeedFactorRange = 1.0 1.0
16193        Flags           = START_FRAME_FIRST
16194      End
16195      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16196        Model           = ABPatriot_A6SN
16197        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16198        AnimationMode   = ONCE
16199        AnimationSpeedFactorRange = 1.0 1.0
16200        Flags           = START_FRAME_FIRST
16201      End
16202      TransitionState   = UP_DAY DOWN_DEFAULT
16203        Model           = ABPatriot_A6
16204        Animation       = ABPatriot_A6.ABPatriot_A6
16205        AnimationMode   = ONCE_BACKWARDS
16206        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16207        Flags           = START_FRAME_LAST
16208      End
16209      TransitionState   = UP_NIGHT DOWN_DEFAULT
16210        Model           = ABPatriot_A6N
16211        Animation       = ABPatriot_A6N.ABPatriot_A6N
16212        AnimationMode   = ONCE_BACKWARDS
16213        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16214        Flags           = START_FRAME_LAST
16215      End
16216      TransitionState   = UP_SNOW DOWN_DEFAULT
16217        Model           = ABPatriot_A6S
16218        Animation       = ABPatriot_A6S.ABPatriot_A6S
16219        AnimationMode   = ONCE_BACKWARDS
16220        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16221        Flags           = START_FRAME_LAST
16222      End
16223      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16224        Model           = ABPatriot_A6SN
16225        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16226        AnimationMode   = ONCE_BACKWARDS
16227        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16228        Flags           = START_FRAME_LAST
16229      End
16230    End
16231  
16232    PlacementViewAngle = -45
16233  
16234    ; ***DESIGN parameters ***
16235    DisplayName       = OBJECT:PatriotBattery
16236    Side              = AmericaAirForceGeneral
16237    EditorSorting     = STRUCTURE
16238    Prerequisites
16239      Object = AirF_AmericaPowerPlant
16240    End
16241    BuildCost        = 1000
16242    BuildTime        = 25.0           ; in seconds
16243    EnergyProduction = -3
16244    WeaponSet
16245      Conditions          = None 
16246      Weapon              = PRIMARY     PatriotMissileWeapon
16247      Weapon              = SECONDARY   PatriotMissileAssistWeapon
16248      Weapon              = TERTIARY    PatriotMissileWeaponAir
16249      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_AI FROM_SCRIPT
16250      AutoChooseSources   = SECONDARY   NONE
16251      AutoChooseSources   = TERTIARY    FROM_PLAYER FROM_AI FROM_SCRIPT  
16252      PreferredAgainst    = PRIMARY     VEHICLE INFANTRY
16253      PreferredAgainst    = SECONDARY   BALLISTIC_MISSILE AIRCRAFT
16254      PreferredAgainst    = TERTIARY    BALLISTIC_MISSILE AIRCRAFT
16255      ShareWeaponReloadTime = Yes
16256    End
16257    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
16258    ShroudClearingRange = 360
16259    ArmorSet
16260      Conditions      = None
16261      Armor           = BaseDefenseArmor
16262      DamageFX        = StructureDamageFXNoShake
16263    End
16264    CommandSet        = AmericaPatriotBatteryCommandSet
16265    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
16266  
16267    ;Behavior = AIUpdateInterface ModuleTag_20
16268    ;  AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
16269    ;  MoodAttackCheckRate        = 250
16270    ;End
16271  
16272    ; *** AUDIO Parameters ***
16273    VoiceSelect = PatriotBatterySelect
16274    SoundOnDamaged        = BuildingDamagedStateLight
16275    SoundOnReallyDamaged  = BuildingDestroy
16276  
16277    UnitSpecificSounds
16278      UnderConstruction     = UnderConstructionLoop
16279    End
16280  
16281    UnitSpecificSounds
16282    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16283      TurretMoveStart = NoSound
16284      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
16285    End
16286  
16287    ; *** ENGINEERING Parameters ***
16288    RadarPriority   = STRUCTURE
16289    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE
16290    Body            = StructureBody ModuleTag_04
16291      MaxHealth     = 1000.0
16292      InitialHealth = 1000.0
16293  
16294      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16295      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16296      SubdualDamageCap = 1200
16297      SubdualDamageHealRate = 500
16298      SubdualDamageHealAmount = 100
16299    End
16300   
16301    Behavior = StealthDetectorUpdate ModuleTag_13
16302      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
16303      DetectionRange   =  200 ;Dustin, enable this for independant balancing!
16304      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
16305      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
16306    End
16307  
16308    Behavior = BaseRegenerateUpdate ModuleTag_05
16309      ;No data
16310    End 
16311    Behavior = AIUpdateInterface ModuleTag_06
16312      Turret
16313        TurretTurnRate        = 180   // turn rate, in degrees per sec
16314        TurretPitchRate       = 180
16315        AllowsPitch           = Yes
16316        NaturalTurretPitch    = 45   
16317        GroundUnitPitch       = 40
16318        MinPhysicalPitch      = -20
16319        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
16320        MinIdleScanInterval   = 250    ; in milliseconds
16321        MaxIdleScanInterval   = 250    ; in milliseconds
16322        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
16323        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
16324      End
16325  
16326      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
16327      MoodAttackCheckRate        = 250
16328    End
16329  
16330    Behavior = AssistedTargetingUpdate ModuleTag_07
16331      AssistingClipSize = 4                       ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon
16332      AssistingWeaponSlot = SECONDARY             ; And the weapon to use.  Should have huge range and no natural clip.
16333      LaserFromAssisted = AirF_PatriotBinaryDataStream ; Stream to draw from the requestor to me
16334      LaserToTarget = AirF_PatriotBinaryDataStream     ; Stream to draw from me to the target
16335    End
16336  
16337    Behavior = DestroyDie ModuleTag_08
16338      ;nothing
16339    End
16340    Behavior             = CreateObjectDie ModuleTag_09
16341      CreationList  = AirF_OCL_AmericanRangerDebris03
16342      ExemptStatus  = UNDER_CONSTRUCTION
16343    End
16344    Behavior             = FXListDie ModuleTag_10
16345      DeathFX       = FX_StructureTinyDeath
16346    End
16347  
16348    Behavior = FlammableUpdate ModuleTag_12
16349      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16350      AflameDamageAmount = 5       ; taking this much damage...
16351      AflameDamageDelay = 500       ; this often.
16352    End
16353  
16354    Behavior = TransitionDamageFX ModuleTag_14
16355      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
16356      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16357      ;---------------------------------------------------------------------------------------
16358      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16359      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
16360      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
16361    End
16362  
16363    Geometry            = CYLINDER
16364    GeometryMajorRadius = 12.0
16365    GeometryMinorRadius = 1.0
16366    GeometryHeight      = 14.0
16367    GeometryIsSmall     = No
16368    Shadow          = SHADOW_VOLUME
16369    BuildCompletion = PLACED_BY_PLAYER
16370  
16371  End
16372  
16373  ; Missiles used by the Patriot.  This is the projectile attached to PatriotMissileWeapon in Weapon.ini
16374  ;------------------------------------------------------------------------------
16375  Object AirF_PatriotMissile
16376  
16377    ; *** ART Parameters ***
16378    Draw = W3DModelDraw ModuleTag_01
16379      OkToChangeModelColor = Yes
16380      DefaultConditionState
16381        Model = AVRaptor_M
16382      End
16383      ConditionState = JAMMED
16384        ParticleSysBone = None SparksMedium
16385      End
16386    End
16387  
16388    ; ***DESIGN parameters ***
16389    DisplayName      = OBJECT:PatriotMissile
16390    EditorSorting   = VEHICLE
16391    VisionRange = 300.0
16392    ShroudClearingRange = 0
16393  
16394    ArmorSet
16395      Conditions      = None
16396      Armor           = ProjectileArmor
16397      DamageFX        = None
16398    End
16399    ; *** ENGINEERING Parameters ***
16400    KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE
16401    Body = ActiveBody ModuleTag_02
16402      MaxHealth       = 100.0
16403      InitialHealth   = 100.0
16404  
16405      SubdualDamageCap = 200
16406      SubdualDamageHealRate = 100000
16407      SubdualDamageHealAmount = 50
16408    End
16409  
16410  ; ---- begin Projectile death behaviors
16411    Behavior = InstantDeathBehavior DeathModuleTag_01
16412      DeathTypes = NONE +DETONATED
16413      ; we detonated normally.
16414      ; no FX, just quiet destroy ourselves
16415    End
16416    Behavior = InstantDeathBehavior DeathModuleTag_02
16417      DeathTypes = NONE +LASERED
16418      ; shot down by laser.
16419      FX         = FX_GenericMissileDisintegrate
16420      OCL        = OCL_GenericMissileDisintegrate
16421    End
16422    Behavior = InstantDeathBehavior DeathModuleTag_03
16423      DeathTypes = ALL -LASERED -DETONATED
16424      ; shot down by nonlaser.
16425      FX         = FX_GenericMissileDeath
16426    End
16427  ; ---- end Projectile death behaviors
16428      
16429    Behavior = PhysicsBehavior ModuleTag_04
16430      Mass = 1
16431    End
16432    Behavior = MissileAIUpdate ModuleTag_05
16433      TryToFollowTarget       = Yes 
16434      FuelLifetime            = 10000
16435      InitialVelocity         = 50                ; in dist/sec
16436      IgnitionDelay           = 0
16437      DistanceToTravelBeforeTurning = 5
16438      DistanceToTargetForLock = 100  ; If it gets within 100 of the target, it kills the target.
16439    End
16440    Locomotor = SET_NORMAL PatriotMissileLocomotor
16441    Geometry = Sphere
16442    GeometryIsSmall = Yes
16443    GeometryMajorRadius = 2.0
16444  
16445  End
16446  
16447  
16448  
16449  ;------------------------------------------------------------------------------
16450  Object AirF_AmericaFireBase
16451  
16452    ; *** ART Parameters ***
16453    SelectPortrait         = SAFirebase_L
16454    ButtonImage            = SAFirebase
16455    Draw = W3DModelDraw ModuleTag_01
16456  
16457      IgnoreConditionStates = NIGHT
16458  
16459      OkToChangeModelColor = Yes
16460  
16461      ExtraPublicBone = STATION01
16462      ExtraPublicBone = STATION02
16463      ExtraPublicBone = STATION03
16464      ExtraPublicBone = STATION04
16465  
16466  
16467      DefaultConditionState
16468        Model             = ABFIREBASE
16469        WeaponMuzzleFlash  = PRIMARY MuzzleFX
16470        WeaponRecoilBone   = PRIMARY Barrel
16471        Turret            = TURRET01
16472        TurretPitch       = TURRETEL
16473        WeaponLaunchBone  = PRIMARY   MUZZLE01
16474        WeaponFireFXBone  = PRIMARY   MUZZLEFX
16475      End
16476      
16477      ConditionState      = DAMAGED
16478        Model             = ABFIREBASE_D
16479      End
16480      
16481      ConditionState      = REALLYDAMAGED RUBBLE
16482        Model             = ABFIREBASE_E
16483      End
16484      
16485      ConditionState      = SNOW
16486        Model             = ABFIREBASE_S
16487      End
16488      
16489      ConditionState      = DAMAGED SNOW
16490        Model             = ABFIREBASE_DS
16491      End
16492      
16493      ConditionState      = REALLYDAMAGED RUBBLE SNOW
16494        Model             = ABFIREBASE_DS
16495      End
16496     
16497      ;**************************************************************************************************************************
16498      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
16499      ;for this draw module
16500  
16501      ConditionState       = AWAITING_CONSTRUCTION 
16502        Model              = NONE
16503      End
16504      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
16505      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
16506      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
16507      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
16508      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
16509      AliasConditionState  = SOLD 
16510      AliasConditionState  = SOLD DAMAGED
16511      AliasConditionState  = SOLD REALLYDAMAGED
16512      AliasConditionState  = SOLD SNOW
16513      AliasConditionState  = SOLD SNOW DAMAGED
16514      AliasConditionState  = SOLD SNOW REALLYDAMAGED
16515      ;**************************************************************************************************************************
16516  
16517      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16518        Model              = ABFIREBASE
16519        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16520      End
16521  
16522      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
16523        Model              = ABFIREBASE_S
16524        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16525      End
16526      
16527      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
16528        Model              = ABFIREBASE_D
16529        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16530      End
16531      
16532      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
16533        Model              = ABFIREBASE_DS
16534        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16535      End
16536      
16537      ;**************************************************************************************************************************
16538    End
16539  
16540  
16541  
16542  
16543    ; ------------ construction-zone fence -----------------
16544    Draw                = W3DModelDraw ModuleTag_02
16545    AnimationsRequirePower = No
16546      DefaultConditionState
16547        Model           = None
16548        TransitionKey   = DOWN_DEFAULT
16549      End
16550      ConditionState    = NIGHT
16551        Model           = None
16552        TransitionKey   = DOWN_DEFAULT
16553      End
16554      ConditionState    = SNOW
16555        Model           = None
16556        TransitionKey   = DOWN_DEFAULT
16557      End
16558      ConditionState    = SNOW NIGHT
16559        Model           = None
16560        TransitionKey   = DOWN_DEFAULT
16561      End
16562      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16563        Model           = ABSupDrop_A4
16564        Animation       = ABSupDrop_A4.ABSupDrop_A4
16565        AnimationMode   = MANUAL
16566        Flags           = START_FRAME_LAST
16567        TransitionKey   = UP_DAY
16568      End
16569      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16570        Model           = ABSupDrop_A4N
16571        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16572        AnimationMode   = MANUAL
16573        Flags           = START_FRAME_LAST
16574        TransitionKey   = UP_NIGHT
16575      End
16576      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16577        Model           = ABSupDrop_A4S
16578        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16579        AnimationMode   = MANUAL
16580        Flags           = START_FRAME_LAST
16581        TransitionKey   = UP_SNOW
16582      End
16583      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16584        Model           = ABSupDrop_A4SN
16585        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16586        AnimationMode   = MANUAL
16587        Flags           = START_FRAME_LAST
16588        TransitionKey   = UP_SNOWNIGHT
16589      End
16590      TransitionState   = DOWN_DEFAULT UP_DAY
16591        Model           = ABSupDrop_A4
16592        Animation       = ABSupDrop_A4.ABSupDrop_A4
16593        AnimationMode   = ONCE
16594        AnimationSpeedFactorRange = 1.0 1.0
16595        Flags           = START_FRAME_FIRST
16596      End
16597      TransitionState   = DOWN_DEFAULT UP_NIGHT
16598        Model           = ABSupDrop_A4N
16599        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16600        AnimationMode   = ONCE
16601        AnimationSpeedFactorRange = 1.0 1.0
16602        Flags           = START_FRAME_FIRST
16603      End
16604      TransitionState   = DOWN_DEFAULT UP_SNOW
16605        Model           = ABSupDrop_A4S
16606        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16607        AnimationMode   = ONCE
16608        AnimationSpeedFactorRange = 1.0 1.0
16609        Flags           = START_FRAME_FIRST
16610      End
16611      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16612        Model           = ABSupDrop_A4SN
16613        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16614        AnimationMode   = ONCE
16615        AnimationSpeedFactorRange = 1.0 1.0
16616        Flags           = START_FRAME_FIRST
16617      End
16618      TransitionState   = UP_DAY DOWN_DEFAULT
16619        Model           = ABSupDrop_A4
16620        Animation       = ABSupDrop_A4.ABSupDrop_A4
16621        AnimationMode   = ONCE_BACKWARDS
16622        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16623        Flags           = START_FRAME_LAST
16624      End
16625      TransitionState   = UP_NIGHT DOWN_DEFAULT
16626        Model           = ABSupDrop_A4N
16627        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16628        AnimationMode   = ONCE_BACKWARDS
16629        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16630        Flags           = START_FRAME_LAST
16631      End
16632      TransitionState   = UP_SNOW DOWN_DEFAULT
16633        Model           = ABSupDrop_A4S
16634        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16635        AnimationMode   = ONCE_BACKWARDS
16636        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16637        Flags           = START_FRAME_LAST
16638      End
16639      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16640        Model           = ABSupDrop_A4SN
16641        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16642        AnimationMode   = ONCE_BACKWARDS
16643        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16644        Flags           = START_FRAME_LAST
16645      End
16646    End
16647  
16648    ; ------------ under-construction scaffolding -----------------
16649    Draw                = W3DModelDraw ModuleTag_03
16650    AnimationsRequirePower = No
16651      MinLODRequired    = MEDIUM
16652      DefaultConditionState
16653        Model           = None
16654        TransitionKey   = DOWN_DEFAULT
16655      End
16656      ConditionState    = NIGHT
16657        Model           = None
16658        TransitionKey   = DOWN_DEFAULT
16659      End
16660      ConditionState    = SNOW
16661        Model           = None
16662        TransitionKey   = DOWN_DEFAULT
16663      End
16664      ConditionState    = SNOW NIGHT
16665        Model           = None
16666        TransitionKey   = DOWN_DEFAULT
16667      End
16668      ConditionState    = PARTIALLY_CONSTRUCTED
16669        Model           = ABSupDrop_A6
16670        Animation       = ABSupDrop_A6.ABSupDrop_A6
16671        AnimationMode   = MANUAL
16672        Flags           = START_FRAME_LAST
16673        TransitionKey   = UP_DAY
16674        ParticleSysBone = Sparks01 BuildUpBlueSpark
16675        ParticleSysBone = Sparks02 BuildUpBlueSpark
16676        ParticleSysBone = Sparks03 BuildUpBlueSpark
16677        ParticleSysBone = Sparks04 BuildUpBlueSpark
16678        ParticleSysBone = Sparks05 BuildUpBlueSpark
16679        ParticleSysBone = Sparks06 BuildUpBlueSpark
16680      End
16681      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
16682        Model           = ABSupDrop_A6N
16683        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16684        AnimationMode   = MANUAL
16685        Flags           = START_FRAME_LAST
16686        TransitionKey   = UP_NIGHT
16687        ParticleSysBone = Sparks01 BuildUpBlueSpark
16688        ParticleSysBone = Sparks02 BuildUpBlueSpark
16689        ParticleSysBone = Sparks03 BuildUpBlueSpark
16690        ParticleSysBone = Sparks04 BuildUpBlueSpark
16691        ParticleSysBone = Sparks05 BuildUpBlueSpark
16692        ParticleSysBone = Sparks06 BuildUpBlueSpark
16693      End
16694      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
16695        Model           = ABSupDrop_A6S
16696        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16697        AnimationMode   = MANUAL
16698        Flags           = START_FRAME_LAST
16699        TransitionKey   = UP_SNOW
16700        ParticleSysBone = Sparks01 BuildUpBlueSpark
16701        ParticleSysBone = Sparks02 BuildUpBlueSpark
16702        ParticleSysBone = Sparks03 BuildUpBlueSpark
16703        ParticleSysBone = Sparks04 BuildUpBlueSpark
16704        ParticleSysBone = Sparks05 BuildUpBlueSpark
16705        ParticleSysBone = Sparks06 BuildUpBlueSpark
16706      End
16707      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
16708        Model           = ABSupDrop_A6SN
16709        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16710        AnimationMode   = MANUAL
16711        Flags           = START_FRAME_LAST
16712        TransitionKey   = UP_SNOWNIGHT
16713        ParticleSysBone = Sparks01 BuildUpBlueSpark
16714        ParticleSysBone = Sparks02 BuildUpBlueSpark
16715        ParticleSysBone = Sparks03 BuildUpBlueSpark
16716        ParticleSysBone = Sparks04 BuildUpBlueSpark
16717        ParticleSysBone = Sparks05 BuildUpBlueSpark
16718        ParticleSysBone = Sparks06 BuildUpBlueSpark
16719      End
16720      TransitionState   = DOWN_DEFAULT UP_DAY
16721       Model            = ABSupDrop_A6
16722        Animation       = ABSupDrop_A6.ABSupDrop_A6
16723        AnimationMode   = ONCE
16724        AnimationSpeedFactorRange = 1.0 1.0
16725        Flags           = START_FRAME_FIRST
16726      End
16727      TransitionState   = DOWN_DEFAULT UP_NIGHT
16728       Model            = ABSupDrop_A6N
16729        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16730        AnimationMode   = ONCE
16731        AnimationSpeedFactorRange = 1.0 1.0
16732        Flags           = START_FRAME_FIRST
16733      End
16734      TransitionState   = DOWN_DEFAULT UP_SNOW
16735       Model            = ABSupDrop_A6S
16736        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16737        AnimationMode   = ONCE
16738        AnimationSpeedFactorRange = 1.0 1.0
16739        Flags           = START_FRAME_FIRST
16740      End
16741      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16742       Model            = ABSupDrop_A6SN
16743        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16744        AnimationMode   = ONCE
16745        AnimationSpeedFactorRange = 1.0 1.0
16746        Flags           = START_FRAME_FIRST
16747      End
16748      TransitionState   = UP_DAY DOWN_DEFAULT
16749        Model           = ABSupDrop_A6
16750        Animation       = ABSupDrop_A6.ABSupDrop_A6
16751        AnimationMode   = ONCE_BACKWARDS
16752        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16753        Flags           = START_FRAME_LAST
16754      End
16755      TransitionState   = UP_NIGHT DOWN_DEFAULT
16756        Model           = ABSupDrop_A6N
16757        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16758        AnimationMode   = ONCE_BACKWARDS
16759        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16760        Flags           = START_FRAME_LAST
16761      End
16762      TransitionState   = UP_SNOW DOWN_DEFAULT
16763        Model           = ABSupDrop_A6S
16764        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16765        AnimationMode   = ONCE_BACKWARDS
16766        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16767        Flags           = START_FRAME_LAST
16768      End
16769      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16770        Model           = ABSupDrop_A6SN
16771        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16772        AnimationMode   = ONCE_BACKWARDS
16773        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16774        Flags           = START_FRAME_LAST
16775      End
16776    End
16777    PlacementViewAngle = -45
16778  
16779  
16780  
16781    ; ***DESIGN parameters ***
16782    DisplayName       = OBJECT:FireBase
16783    Side              = AmericaAirForceGeneral
16784    EditorSorting     = STRUCTURE
16785    Prerequisites
16786      Object = AirF_AmericaPowerPlant
16787    End
16788    BuildCost        = 1000
16789    BuildTime        = 25.0           ; in seconds
16790    EnergyProduction = 0
16791    WeaponSet
16792      Conditions          = None 
16793      Weapon              = PRIMARY     FireBaseHowitzerGun
16794    End
16795    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
16796    ShroudClearingRange = 360
16797    ArmorSet
16798      Conditions      = None
16799      Armor           = FireBaseArmor
16800      DamageFX        = StructureDamageFXNoShake
16801    End
16802    CommandSet        = AirF_AmericaFireBaseCommandSet
16803    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
16804  
16805    ; *** AUDIO Parameters ***
16806    VoiceSelect = PatriotBatterySelect
16807    SoundOnDamaged        = BuildingDamagedStateLight
16808    SoundOnReallyDamaged  = BuildingDestroy
16809  
16810    UnitSpecificSounds
16811      UnderConstruction     = UnderConstructionLoop
16812    End
16813  
16814    UnitSpecificSounds
16815    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16816      TurretMoveStart = NoSound
16817      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
16818    End
16819  
16820    ; *** ENGINEERING Parameters ***
16821    RadarPriority   = STRUCTURE
16822    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED
16823  
16824  
16825    Body                 = HiveStructureBody ModuleTag_04;
16826      MaxHealth          = 1000.0
16827      InitialHealth      = 1000.0
16828  
16829      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16830      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16831      SubdualDamageCap = 1200
16832      SubdualDamageHealRate = 500
16833      SubdualDamageHealAmount = 100
16834      ;**Careful with these damage types -- because area damage types will already
16835      ;**damage slaves.
16836      ;PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER
16837      ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to
16838    End
16839  
16840   
16841    Behavior = BaseRegenerateUpdate ModuleTag_05
16842      ;No data
16843    End 
16844    Behavior = AIUpdateInterface ModuleTag_06
16845      Turret
16846        TurretTurnRate        = 60   // turn rate, in degrees per sec
16847        TurretPitchRate       = 60
16848        AllowsPitch           = Yes
16849        NaturalTurretPitch    = 1   
16850        GroundUnitPitch       = 40
16851        MinPhysicalPitch      = -20
16852        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
16853        MinIdleScanInterval   = 550    ; in milliseconds
16854        MaxIdleScanInterval   = 950    ; in milliseconds
16855        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
16856        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
16857      End
16858  
16859      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
16860      MoodAttackCheckRate        = 250
16861    End
16862  
16863    Behavior = GarrisonContain ModuleTag_07
16864      ContainMax                    = 4
16865      EnterSound                    = GarrisonEnter
16866      ExitSound                     = GarrisonExit
16867      ImmuneToClearBuildingAttacks  = Yes
16868      DamagePercentToUnits          = 100%
16869  
16870      IsEnclosingContainer          = No
16871  
16872    End
16873  
16874    Behavior = DestroyDie ModuleTag_08
16875      ;nothing
16876    End
16877  
16878    Behavior             = FXListDie ModuleTag_10
16879      DeathFX       = FX_StructureMediumDeath
16880    End
16881  
16882    Behavior = FlammableUpdate ModuleTag_12
16883      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16884      AflameDamageAmount = 5       ; taking this much damage...
16885      AflameDamageDelay = 500       ; this often.
16886    End
16887  
16888    Behavior                  = CreateObjectDie ModuleTag_13
16889      CreationList       = OCL_LargeStructureDebris
16890    End
16891  
16892    Behavior = TransitionDamageFX ModuleTag_14
16893      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
16894      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16895      ;---------------------------------------------------------------------------------------
16896      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16897      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
16898      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
16899    End
16900  
16901    Geometry            = BOX
16902    GeometryMajorRadius = 26.0
16903    GeometryMinorRadius = 26.0
16904    GeometryHeight      = 15.0
16905    GeometryIsSmall     = No
16906    Shadow          = SHADOW_VOLUME
16907    BuildCompletion = PLACED_BY_PLAYER
16908  
16909  End
16910  
16911  
16912  
16913  ;------------------------------------------------------------------------------
16914  Object AFG_AmericaVehicleChinook
16915  
16916    ; *** ART Parameters ***
16917    SelectPortrait         = SAChinook_L
16918    ButtonImage            = SAChinook
16919    
16920    ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
16921    ;UpgradeCameo2 = NONE
16922    ;UpgradeCameo3 = NONE
16923    ;UpgradeCameo4 = NONE
16924    ;UpgradeCameo5 = NONE
16925  
16926    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter 
16927  
16928      ExtraPublicBone = RopeStart
16929      ExtraPublicBone = RopeEnd
16930  
16931      DefaultConditionState
16932        Model = AVChinook
16933        Animation = AVChinook.AVChinook
16934        AnimationMode = LOOP
16935      End
16936  
16937      ConditionState = REALLYDAMAGED
16938        Model = AVChinook_d
16939        Animation = AVChinook_d.AVChinook_d
16940        AnimationMode = LOOP
16941      End
16942  
16943      ConditionState = RUBBLE
16944        Model = AVChinook_d
16945        Animation = AVChinook_d.AVChinook_d
16946        AnimationMode = LOOP
16947      End
16948  
16949      ConditionState = RUBBLE SPECIAL_DAMAGED
16950        Model = AVChinook_d
16951        HideSubObject = Props01
16952        HideSubObject = Props02
16953      End
16954  
16955      OkToChangeModelColor = Yes
16956    End
16957  
16958    Draw = W3DModelDraw                         ModuleTag_02 ; Cargo net 
16959      ConditionState = NONE
16960        Model = None  ; Nothing here
16961        TransitionKey = TRANS_Empty
16962        WaitForStateToFinishIfPossible = TRANS_Unloading
16963      End
16964  
16965      ConditionState = DYING 
16966        Model = None  ; Nothing here
16967      End
16968      AliasConditionState = RUBBLE
16969      AliasConditionState = CARRYING RUBBLE
16970      AliasConditionState = DOCKING RUBBLE
16971      AliasConditionState = DOCKING CARRYING RUBBLE
16972   
16973       ConditionState = CARRYING
16974        Model = AVChinook_A ;Carrying a full wobbly net of stuff
16975        Animation = AVChinook_A.AVChinook_A
16976        AnimationMode = LOOP
16977        TransitionKey = TRANS_Full
16978        WaitForStateToFinishIfPossible = TRANS_PickingUp
16979      End
16980  
16981      ConditionState = DOCKING
16982        Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
16983        Animation = AVChinook_A1SK.AVChinook_A1
16984        AnimationMode = ONCE_BACKWARDS
16985        Flags = START_FRAME_LAST
16986        AnimationSpeedFactorRange = .75 .75
16987        TransitionKey = TRANS_PickingUp
16988        WaitForStateToFinishIfPossible = TRANS_Unloading  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
16989      End
16990  
16991      ConditionState = DOCKING CARRYING
16992        Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
16993        Animation = AVChinook_A1SK.AVChinook_A1
16994        AnimationMode = ONCE
16995        AnimationSpeedFactorRange = 2.75 2.75
16996        TransitionKey = TRANS_Unloading
16997        WaitForStateToFinishIfPossible = TRANS_PickingUp  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
16998      End
16999    End
17000  
17001    ; ***DESIGN parameters ***
17002    DisplayName         = OBJECT:Chinook
17003    EditorSorting       = VEHICLE
17004    Side                = America
17005    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
17006    VisionRange         = 300.0 
17007    ShroudClearingRange = 600
17008    BuildCost           = 950
17009    BuildTime           = 10.0          ;in seconds  
17010    Prerequisites
17011      Object = AirF_AmericaSupplyCenter
17012    End
17013    ExperienceValue     = 50 50 50 50 ;Experience point value at each level
17014    IsTrainable         = No  
17015    CommandSet          = AmericaVehicleChinookCommandSet
17016    ArmorSet
17017      Conditions      = None
17018      Armor           = ChinookArmor
17019      DamageFX        = None
17020    End
17021  
17022    ; *** AUDIO Parameters ***
17023    VoiceSelect     = ChinookVoiceSelect
17024    VoiceMove       = ChinookVoiceMove
17025    VoiceAttack     = ChinookVoiceAttack
17026    SoundAmbient    = ChinookAmbientLoop
17027    SoundAmbientRubble    = NoSound
17028    SoundEnter      = HumveeEnter
17029    SoundExit       = HumveeExit
17030    UnitSpecificSounds
17031      VoiceCreate         = ChinookVoiceCreate
17032      VoiceSupply         = ChinookVoiceSupply
17033      VoiceUnload         = ChinookVoiceUnload
17034      VoiceCombatDrop     = ChinookVoiceCombatDrop
17035      VoiceClearBuilding  = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
17036      VoiceGarrison       = ChinookVoiceMove
17037    End
17038  
17039    ; *** ENGINEERING Parameters ***
17040    RadarPriority   = UNIT
17041    ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
17042    ; (well, "near" actually) an Airfield to get healed...
17043    ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
17044    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD
17045  
17046    Body = ActiveBody ModuleTag_03
17047      MaxHealth       = 300.0
17048      InitialHealth   = 300.0
17049    End
17050  
17051    Behavior = FXListDie ModuleTag_05
17052      DeathFX = FX_HelicopterStartDeath
17053    End
17054  
17055    Behavior                       = TransitionDamageFX ModuleTag_06
17056      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
17057      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
17058    End
17059  
17060    Behavior = ChinookAIUpdate ModuleTag_07
17061      MaxBoxes                = 8
17062      SupplyCenterActionDelay = 2900 ;3000     ; ms for whole thing (one transaction)
17063      SupplyWarehouseActionDelay = 1200 ;1250  ; 875 ; ms per box (many small transactions)
17064      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)
17065      SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
17066      NumRopes                = 4
17067      ; these define how long we can wait, once a guy is on-rope, before throwing another
17068      ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
17069      ; and we'll wait for each guy to clear before spawning another.
17070      PerRopeDelayMin         = 900
17071      PerRopeDelayMax         = 1500
17072      RopeWidth               = 0.5
17073      RopeColor               = R:0 G:0 B:0
17074      RopeWobbleLen           = 10
17075      RopeWobbleAmplitude     = 0.25
17076      RopeWobbleRate          = 180
17077      RopeFinalHeight         = 10    ; stop this far above ground
17078      RappelSpeed             = 30
17079      MinDropHeight           = 40    ; if dropping into a tall bldg, go at least this far above it
17080      UpgradedSupplyBoost     = 60    ; increase in value of the crates when supply lines has been upgraded
17081    End
17082    Locomotor = SET_NORMAL    ChinookLocomotor
17083    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
17084  
17085    Behavior = TransportContain ModuleTag_08
17086      Slots                 = 10
17087      DamagePercentToUnits  = 100%
17088      AllowInsideKindOf     = INFANTRY VEHICLE
17089      ForbidInsideKindOf    = AIRCRAFT HUGE_VEHICLE
17090      ExitDelay             = 100
17091      NumberOfExitPaths     = 1
17092    End
17093    Behavior = PhysicsBehavior ModuleTag_09
17094      Mass = 50.0
17095    End
17096    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
17097      DestructionDelay                = 99999999        ; the destruction delay
17098      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
17099      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
17100      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
17101      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
17102      SoundDeathLoop                  = ComancheDamagedLoop
17103      MinSelfSpin                     = 100                     ; in degrees per second
17104      MaxSelfSpin                     = 300                     ; in degrees per second
17105      SelfSpinUpdateDelay             = 100                     ; in milliseconds
17106      SelfSpinUpdateAmount            = 10                      ; in degrees   
17107      FallHowFast                     = 12.0%                   ; fraction of gravity, lower = take longer to fall
17108      MinBladeFlyOffDelay             = 1500                    ; in milliseconds
17109      MaxBladeFlyOffDelay             = 1500                    ; in milliseconds
17110      AttachParticle                  = SootySmokeTrail
17111      AttachParticleBone              = Propeller02
17112      BladeObjectName                 = ComancheBlades
17113      BladeBoneName                   = Propeller01    
17114      FXBlade                         = FX_HelicopterBladeExplosion
17115      OCLBlade                        = OCL_HelicopterBladeExplosion
17116      FXHitGround                     = FX_HelicopterHitGround
17117      OCLHitGround                    = OCL_HelicopterHitGround
17118      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
17119      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
17120      DelayFromGroundToFinalDeath     = 30
17121      FinalRubbleObject               = ChinookRubbleHull
17122    End
17123  
17124    Behavior = FlammableUpdate ModuleTag_21
17125      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17126      AflameDamageAmount = 3       ; taking this much damage...
17127      AflameDamageDelay = 500       ; this often.
17128    End
17129  
17130    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One 
17131      WeaponTemplate        = AirF_PointDefenseLaser
17132      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
17133      ScanRate              = 33
17134      ScanRange             = 500.0
17135      PredictTargetVelocityFactor = 1.0
17136    End
17137        Scale = 1.30                           ;Scaling
17138    GeometryMajorRadius = 1.0
17139    GeometryMinorRadius = 1.0
17140    GeometryHeight = 8.0
17141    Geometry              = BOX
17142    GeometryMajorRadius   = 20.0
17143    GeometryMinorRadius   = 6.0
17144    GeometryHeight        = 12.0     
17145    GeometryIsSmall       = No
17146    Shadow                = SHADOW_VOLUME    
17147    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
17148  
17149  End
17150  
17151  
17152  ;-----------------------¸ÄΪºÚÓ¥-------------------------------------------------------
17153  Object AirF_AmericaVehicleChinook
17154  
17155    ; *** ART Parameters ***
17156    SelectPortrait         = T15
17157    ButtonImage            = T15
17158    
17159    ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
17160    ;UpgradeCameo2 = NONE
17161    ;UpgradeCameo3 = NONE
17162    ;UpgradeCameo4 = NONE
17163    ;UpgradeCameo5 = NONE
17164  
17165    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter 
17166  
17167      ExtraPublicBone = RopeStart
17168      ExtraPublicBone = RopeEnd
17169  
17170      DefaultConditionState
17171        Model = uh-60
17172        Animation = uh-60.uh-60
17173        AnimationMode = LOOP
17174      End
17175  
17176      ConditionState = REALLYDAMAGED
17177        Model = uh-60
17178        Animation = uh-60.uh-60
17179        AnimationMode = LOOP
17180      End
17181  
17182      ConditionState = RUBBLE
17183        Model = uh-60
17184        Animation = uh-60.uh-60
17185        AnimationMode = LOOP
17186      End
17187  
17188      ConditionState = RUBBLE SPECIAL_DAMAGED
17189        Model = uh-60
17190        HideSubObject = Props01
17191        HideSubObject = Props02
17192      End
17193  
17194      OkToChangeModelColor = Yes
17195    End
17196  
17197    Draw = W3DModelDraw                         ModuleTag_02 ; Cargo net 
17198      ConditionState = NONE
17199        Model = None  ; Nothing here
17200        TransitionKey = TRANS_Empty
17201        WaitForStateToFinishIfPossible = TRANS_Unloading
17202      End
17203  
17204      ConditionState = DYING 
17205        Model = None  ; Nothing here
17206      End
17207      AliasConditionState = RUBBLE
17208      AliasConditionState = CARRYING RUBBLE
17209      AliasConditionState = DOCKING RUBBLE
17210      AliasConditionState = DOCKING CARRYING RUBBLE
17211   
17212       ConditionState = CARRYING
17213        Model = AVChinook_A ;Carrying a full wobbly net of stuff
17214        Animation = AVChinook_A.AVChinook_A
17215        AnimationMode = LOOP
17216        TransitionKey = TRANS_Full
17217        WaitForStateToFinishIfPossible = TRANS_PickingUp
17218      End
17219  
17220      ConditionState = DOCKING
17221        Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
17222        Animation = AVChinook_A1SK.AVChinook_A1
17223        AnimationMode = ONCE_BACKWARDS
17224        Flags = START_FRAME_LAST
17225        AnimationSpeedFactorRange = .75 .75
17226        TransitionKey = TRANS_PickingUp
17227        WaitForStateToFinishIfPossible = TRANS_Unloading  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
17228      End
17229  
17230      ConditionState = DOCKING CARRYING
17231        Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
17232        Animation = AVChinook_A1SK.AVChinook_A1
17233        AnimationMode = ONCE
17234        AnimationSpeedFactorRange = 2.75 2.75
17235        TransitionKey = TRANS_Unloading
17236        WaitForStateToFinishIfPossible = TRANS_PickingUp  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
17237      End
17238    End
17239  
17240    ; ***DESIGN parameters ***
17241    DisplayName         = OBJECT:AirF_Chinook
17242    EditorSorting       = VEHICLE
17243    Side                = AmericaAirForceGeneral
17244    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
17245    VisionRange         = 300.0 
17246    ShroudClearingRange = 600
17247    BuildCost           = 1200
17248    BuildTime           = 15.0          ;in seconds  
17249    Prerequisites
17250      Object = AirF_AmericaWarFactory
17251    End
17252    ExperienceValue     = 60 60 60 60 ;Experience point value at each level
17253    IsTrainable         = No  
17254    CommandSet          = UH60CommandSet
17255    WeaponSet
17256      Conditions          = None 
17257      Weapon              = PRIMARY    Chinook
17258    End
17259    WeaponSet
17260      Conditions          = PLAYER_UPGRADE 
17261      Weapon              = PRIMARY     ListeningOutpostUpgradedDummyWeapon
17262    End 
17263    ArmorSet
17264      Conditions      = None
17265      Armor           = ChinookArmor
17266      DamageFX        = None
17267    End
17268  
17269    ; *** AUDIO Parameters ***
17270    VoiceSelect     = CombatChinookVoiceSelect
17271    VoiceMove       = ChinookVoiceMove
17272    VoiceAttack     = CombatChinookVoiceAttack
17273    SoundAmbient    = ChinookAmbientLoop
17274    SoundAmbientRubble    = NoSound
17275    SoundEnter      = HumveeEnter
17276    SoundExit       = HumveeExit
17277    UnitSpecificSounds
17278      VoiceCreate         = CombatChinookVoiceCreate
17279      VoiceSupply         = ChinookVoiceSupply
17280      VoiceUnload         = ChinookVoiceUnload
17281      VoiceCombatDrop     = ChinookVoiceCombatDrop
17282      VoiceClearBuilding  = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
17283      VoiceGarrison       = ChinookVoiceMove
17284    End
17285  
17286    ; *** ENGINEERING Parameters ***
17287    RadarPriority   = UNIT
17288    ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
17289    ; (well, "near" actually) an Airfield to get healed...
17290    ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
17291    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD CAN_ATTACK
17292  
17293  
17294    Behavior = AIUpdateInterface ModuleTag_04
17295      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS Stealthed
17296    End
17297  
17298    Body = ActiveBody ModuleTag_03
17299      MaxHealth       = 350.0
17300      InitialHealth   = 350.0
17301    End
17302  
17303    Behavior = FXListDie ModuleTag_05
17304      DeathFX = FX_HelicopterStartDeath
17305    End
17306  
17307    Behavior                       = TransitionDamageFX ModuleTag_06
17308      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
17309      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
17310    End
17311  
17312    Behavior = ChinookAIUpdate ModuleTag_07
17313      MaxBoxes                = 8
17314      SupplyCenterActionDelay = 3000     ; ms for whole thing (one transaction)
17315      SupplyWarehouseActionDelay = 1250  ; 875 ; ms per box (many small transactions)
17316      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)
17317      SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
17318      NumRopes                = 4
17319      ; these define how long we can wait, once a guy is on-rope, before throwing another
17320      ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
17321      ; and we'll wait for each guy to clear before spawning another.
17322      PerRopeDelayMin         = 900
17323      PerRopeDelayMax         = 1500
17324      RopeWidth               = 0.5
17325      RopeColor               = R:0 G:0 B:0
17326      RopeWobbleLen           = 10
17327      RopeWobbleAmplitude     = 0.25
17328      RopeWobbleRate          = 180
17329      RopeFinalHeight         = 10    ; stop this far above ground
17330      RappelSpeed             = 30
17331      MinDropHeight           = 40      ; if dropping into a tall bldg, go at least this far above it
17332      UpgradedSupplyBoost     = 60    ; increase in value of the crates when supply lines has been upgraded
17333    End
17334    Locomotor = SET_NORMAL    ChinookLocomotor
17335    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
17336    
17337    Behavior = TransportContain ModuleTag_08
17338      PassengersAllowedToFire = Yes
17339      Slots                 = 8
17340      DamagePercentToUnits  = 100%
17341      AllowInsideKindOf     = INFANTRY 
17342      ForbidInsideKindOf    = AIRCRAFT HUGE_VEHICLE
17343      ExitDelay             = 100
17344      NumberOfExitPaths     = 1
17345      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
17346      ArmedRidersUpgradeMyWeaponSet = Yes
17347    End
17348  
17349    Behavior = PhysicsBehavior ModuleTag_09
17350      Mass = 50.0
17351    End
17352    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
17353      DestructionDelay                = 99999999        ; the destruction delay
17354      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
17355      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
17356      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
17357      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
17358      SoundDeathLoop                  = ComancheDamagedLoop
17359      MinSelfSpin                     = 100                     ; in degrees per second
17360      MaxSelfSpin                     = 300                     ; in degrees per second
17361      SelfSpinUpdateDelay             = 100                     ; in milliseconds
17362      SelfSpinUpdateAmount            = 10                      ; in degrees   
17363      FallHowFast                     = 12.0%                   ; fraction of gravity, lower = take longer to fall
17364      MinBladeFlyOffDelay             = 1500                    ; in milliseconds
17365      MaxBladeFlyOffDelay             = 1500                    ; in milliseconds
17366      AttachParticle                  = SootySmokeTrail
17367      AttachParticleBone              = Propeller02
17368      BladeObjectName                 = ComancheBlades
17369      BladeBoneName                   = Propeller01    
17370      FXBlade                         = FX_HelicopterBladeExplosion
17371      OCLBlade                        = OCL_HelicopterBladeExplosion
17372      FXHitGround                     = FX_HelicopterHitGround
17373      OCLHitGround                    = OCL_HelicopterHitGround
17374      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
17375      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
17376      DelayFromGroundToFinalDeath     = 30
17377      FinalRubbleObject               = ChinookRubbleHull
17378    End
17379  
17380    Behavior = FlammableUpdate ModuleTag_21
17381      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17382      AflameDamageAmount = 3       ; taking this much damage...
17383      AflameDamageDelay = 500       ; this often.
17384    End
17385  
17386    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One 
17387      WeaponTemplate        = AirF_PointDefenseLaser
17388      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
17389      ScanRate              = 33
17390      ScanRange             = 250.0
17391      PredictTargetVelocityFactor = 1.0
17392    End
17393  
17394    Geometry              = BOX
17395    GeometryMajorRadius   = 20.0
17396    GeometryMinorRadius   = 6.0
17397    GeometryHeight        = 12.0     
17398    GeometryIsSmall       = No
17399    Shadow                = SHADOW_VOLUME    
17400    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
17401  
17402  End
17403  
17404  
17405  ;------------------------------------------------------------------------------
17406  Object AirF_AmericaJetRaptor
17407  
17408    ; *** ART Parameters ***
17409    SelectPortrait         = SACRaptor_L
17410    ButtonImage            = SACRaptor
17411    
17412    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
17413    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
17414    ;UpgradeCameo3 = NONE
17415    ;UpgradeCameo4 = NONE
17416    ;UpgradeCameo5 = NONE
17417    
17418    Draw                   = W3DModelDraw ModuleTag_01
17419      ExtraPublicBone = WeaponA01
17420      DefaultConditionState
17421        Model               = AVRaptor
17422        HideSubObject       = BurnerFX01 BurnerFX02
17423        WeaponLaunchBone = PRIMARY WeaponA
17424      End
17425  
17426      ConditionState        = JETEXHAUST
17427        ; exhaust
17428        ParticleSysBone     = Wingtip01 JetContrail
17429        ParticleSysBone     = Wingtip02 JetContrail
17430      End
17431  
17432      ConditionState        = JETEXHAUST JETAFTERBURNER
17433        ; exhaust
17434        ParticleSysBone     = Wingtip01 JetContrail
17435        ParticleSysBone     = Wingtip02 JetContrail
17436        ; afterburner
17437        ShowSubObject       = BurnerFX01 BurnerFX02
17438        ParticleSysBone     = Engine01 JetLenzflare
17439        ParticleSysBone     = Engine02 JetLenzflare
17440      End
17441  
17442      ConditionState        = REALLYDAMAGED
17443        Model               = AVRaptor_D
17444        ; damage
17445        ParticleSysBone     = Smoke01 JetSmoke
17446        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
17447      End
17448      
17449      ConditionState        = REALLYDAMAGED JETEXHAUST
17450        Model               = AVRaptor_D
17451        ; damage
17452        ParticleSysBone     = Smoke01 JetSmoke
17453        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
17454        ; exhaust
17455        ParticleSysBone     = Wingtip01 JetContrail
17456        ParticleSysBone     = Wingtip02 JetContrail
17457      End
17458  
17459      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
17460        Model               = AVRaptor_D
17461        ; damage
17462        ParticleSysBone     = Smoke01 JetSmoke
17463        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
17464        ; afterburner
17465        ShowSubObject       = BurnerFX01 BurnerFX02
17466        ParticleSysBone     = Engine01 JetLenzflare
17467        ParticleSysBone     = Engine02 JetLenzflare
17468        ; exhaust
17469        ParticleSysBone     = Wingtip01 JetContrail
17470        ParticleSysBone     = Wingtip02 JetContrail
17471      End
17472  
17473      ConditionState        = RUBBLE
17474        Model               = AVRaptor_D1B
17475        HideSubObject       = None 
17476        ShowSubObject       = None
17477      End
17478  
17479      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
17480        Model               = AVRaptor_D1B
17481        ;HideSubObject is needed cause there're inherited from default condition state      
17482        HideSubObject       = None 
17483        ShowSubObject       = None
17484        ParticleSysBone     = Engine01 JetExhaust
17485        ParticleSysBone     = Engine02 JetExhaust
17486        ; exhaust
17487        ParticleSysBone     = Wingtip01 JetContrail
17488        ParticleSysBone     = Wingtip02 JetContrail
17489      End
17490  
17491      OkToChangeModelColor = Yes
17492  
17493    End
17494  
17495    ; ***DESIGN parameters ***
17496    DisplayName             = OBJECT:KingRaptor
17497    EditorSorting           = VEHICLE
17498    Side                    = AmericaAirForceGeneral
17499    TransportSlotCount      = 0 ;how many "slots" we take in a transport (0 == not transportable)
17500    VisionRange             = 200.0 
17501    ShroudClearingRange     = 400
17502    Prerequisites
17503      Object                = AirF_AmericaAirfield
17504    End
17505  
17506    WeaponSet
17507      Conditions            = None 
17508      Weapon                = PRIMARY AirF_RaptorJetMissileWeapon
17509    End
17510    WeaponSet
17511      Conditions            = PLAYER_UPGRADE 
17512      Weapon                = PRIMARY AirF_RaptorJetLaserGuidedMissileWeapon
17513    End
17514    ArmorSet
17515      Conditions            = None
17516      Armor                 = AirplaneArmor
17517      DamageFX              = None
17518    End
17519  
17520    BuildCost               = 1100
17521    BuildTime               = 20   
17522    ExperienceValue         = 75 75 125 175   ;Experience point value at each level
17523    ExperienceRequired      = 0 100 200 400   ;Experience points needed to gain each level
17524    IsTrainable             = Yes             ;Can gain experience
17525    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
17526    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17527    CommandSet              = AmericaJetRaptorCommandSet
17528  
17529    ; *** AUDIO Parameters ***
17530    VoiceSelect            = KingRaptorVoiceSelect
17531    VoiceMove              = RaptorVoiceMove
17532    VoiceAttack            = RaptorVoiceAttack
17533    VoiceAttackAir         = RaptorVoiceAttackAir
17534    VoiceGuard             = RaptorVoiceAirPatrol
17535    SoundAmbient           = RaptorAmbientLoop
17536    SoundAmbientRubble     = NoSound
17537    ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
17538    ; SoundAmbient           = NoSound
17539    UnitSpecificSounds
17540      VoiceCreate          = KingRaptorVoiceCreate
17541      SoundEject           = PilotSoundEject
17542      VoiceEject           = PilotVoiceEject
17543      Afterburner          = RaptorAfterburner
17544      VoiceLowFuel         = RaptorVoiceLowFuel
17545      VoiceGarrison        = RaptorVoiceMove
17546    End
17547  
17548    ; *** ENGINEERING Parameters ***
17549    RadarPriority          = UNIT
17550    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
17551    Body                   = ActiveBody ModuleTag_02
17552      MaxHealth            = 240.0
17553      InitialHealth        = 240.0
17554    End
17555  
17556    Behavior                = WeaponSetUpgrade ModuleTag_03
17557      TriggeredBy          = Upgrade_AmericaLaserMissiles
17558    End
17559    Behavior = ExperienceScalarUpgrade ModuleTag_04
17560      TriggeredBy = Upgrade_AmericaAdvancedTraining
17561      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
17562    End
17563  
17564    Behavior                          = JetSlowDeathBehavior ModuleTag_05
17565      FXOnGroundDeath                 = FX_JetOnGroundDeath
17566      OCLOnGroundDeath                = OCL_RaptorDeathFinalBlowUp
17567      DestructionDelay                = 99999999; destruction will happen when we
17568      RollRate                        = 0.2
17569      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
17570      PitchRate                       = 0.0
17571      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
17572      FXInitialDeath                  = FX_RaptorDeathInitial
17573      OCLInitialDeath                 = OCL_RaptorDeathInitial
17574      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
17575      FXSecondary                     = FX_JetDeathSecondary
17576      OCLSecondary                    = OCL_RaptorDeathSecondary
17577      FXHitGround                     = FX_JetDeathHitGround
17578      OCLHitGround                    = OCL_RaptorDeathHitGround
17579      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
17580      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
17581      OCLFinalBlowUp                  = OCL_RaptorDeathFinalBlowUp
17582  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
17583    End
17584    Behavior                    = EjectPilotDie ModuleTag_06
17585      ExemptStatus         = HIJACKED
17586      GroundCreationList = OCL_EjectPilotOnGround
17587      AirCreationList = OCL_EjectPilotViaParachute
17588      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
17589    End
17590    
17591    Behavior               = PhysicsBehavior ModuleTag_07
17592      Mass                 = 500.0
17593    End
17594  
17595    Behavior                 = TransitionDamageFX ModuleTag_08
17596      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
17597      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
17598    End
17599  
17600    Behavior = JetAIUpdate ModuleTag_09
17601      OutOfAmmoDamagePerSecond  = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
17602                                      ; note that it's expressed as a percent of max health, not an absolute
17603      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
17604      TakeoffPause              = 500
17605      MinHeight                 = 5
17606      ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
17607      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
17608    End
17609    Locomotor = SET_NORMAL RaptorJetLocomotor
17610    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
17611  
17612    Behavior = FlammableUpdate ModuleTag_21
17613      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17614      AflameDamageAmount = 3       ; taking this much damage...
17615      AflameDamageDelay = 500       ; this often.
17616    End
17617    Behavior = PointDefenseLaserUpdate ModuleTag_22
17618      WeaponTemplate        = AirF_RaptorPointDefenseLaser
17619      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
17620      ScanRate              = 10
17621      ScanRange             = 200.0
17622      PredictTargetVelocityFactor = 2.0
17623    End
17624    Behavior = StealthDetectorUpdate ModuleTag_24
17625      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
17626      ;DetectionRange = 250 ;Dustin, enable this for independant balancing!
17627      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
17628      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
17629    End
17630  
17631    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
17632      WeaponTemplate        = AirF_PointDefenseLaser
17633      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
17634      ScanRate              = 0
17635      ScanRange             = 200.0
17636      PredictTargetVelocityFactor = 1.0
17637    End
17638  
17639    Behavior                = ArmorUpgrade ModuleTag_Armor25
17640      TriggeredBy           = Upgrade_AmericaCountermeasures
17641    End
17642  
17643    Behavior                = CountermeasuresBehavior ModuleTag_26
17644      TriggeredBy           = Upgrade_AmericaCountermeasures
17645      FlareTemplateName     = CountermeasureFlare
17646      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
17647      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
17648      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
17649      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
17650      DelayBetweenVolleys   = 1000  ; Time between flare volleys
17651      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
17652      ReloadTime            = 0  ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
17653      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
17654      ReactionLaunchLatency = 100   ; Reaction between getting shot at and the firing of the first volley of countermeasures.
17655      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
17656    End
17657  
17658  
17659  
17660    Geometry                 = Box
17661    GeometryIsSmall          = Yes
17662    GeometryMajorRadius      = 14.0
17663    GeometryMinorRadius      = 7.0
17664    GeometryHeight           = 5.0
17665    Shadow                   = SHADOW_VOLUME
17666    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length.
17667  
17668  End
17669  
17670  
17671  
17672  
17673  
17674  
17675  
17676  
17677  
17678  
17679  
17680  
17681  
17682  
17683  
17684  
17685  
17686  
17687  
17688  
17689  
17690  
17691  
17692  
17693  
17694  
17695  
17696  
17697  ;------------------------------------------------------------------------------
17698  Object AirF_AmericaJetB3
17699  
17700    ; *** ART Parameters ***
17701    Draw = W3DModelDraw ModuleTag_01
17702      DefaultConditionState
17703        Model = AVB3bmbr
17704        ParticleSysBone = Engine01 JetBlackTrailThin
17705        ParticleSysBone = Engine02 JetBlackTrailThin
17706        ParticleSysBone = WingTip01 JetContrailThin
17707        ParticleSysBone = WingTip02 JetContrailThin
17708        ParticleSysBone = WingTip03 JetContrailThin
17709        ParticleSysBone = WingTip04 JetContrailThin
17710      End
17711      ConditionState = DAMAGED
17712        Model = AVB3bmbr_D
17713        ParticleSysBone = Smoke01 JetFireLarge
17714        ParticleSysBone = Smoke02 JetFireLarge
17715        ParticleSysBone = Engine01 JetBlackTrailThin
17716        ParticleSysBone = Engine02 JetBlackTrailThin
17717        ParticleSysBone = Engine03 JetBlackTrailThin
17718        ParticleSysBone = Engine04 JetBlackTrailThin
17719        ParticleSysBone = Smoke01 JetSmokeLarge
17720        ParticleSysBone = Smoke02 JetSmokeLarge
17721      End
17722      ConditionState = REALLYDAMAGED
17723        Model = AVB3bmbr_D
17724        ParticleSysBone = Smoke01 JetFireLarge
17725        ParticleSysBone = Smoke02 JetFireLarge
17726        ParticleSysBone = Engine01 JetBlackTrailThin
17727        ParticleSysBone = Engine02 JetBlackTrailThin
17728        ParticleSysBone = Engine03 JetBlackTrailThin
17729        ParticleSysBone = Engine04 JetBlackTrailThin
17730        ParticleSysBone = Smoke01 JetSmokeLarge
17731        ParticleSysBone = Smoke02 JetSmokeLarge
17732      End
17733      ConditionState = RUBBLE
17734        Model = AVB3bmbr_D1
17735        ParticleSysBone = Smoke01 JetFireLarge
17736        ParticleSysBone = Smoke02 JetFireLarge
17737        ParticleSysBone = Smoke01 JetSmokeLarge
17738        ParticleSysBone = Smoke02 JetSmokeLarge
17739      End
17740      OkToChangeModelColor = Yes
17741    End
17742    
17743  ;  Draw = W3DModelDraw ModuleTag_02
17744  ;    DefaultConditionState
17745  ;      Model           = AVB3bmbr_A2K
17746  ;    End
17747  ;    ConditionState = DOOR_1_OPENING
17748  ;      Animation       = AVB3bmbr_A2K.AVB3bmbr_A2
17749  ;      AnimationMode   = ONCE
17750  ;      Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
17751  ;    End
17752  ;    ConditionState = DOOR_1_CLOSING
17753  ;      Animation       = AVB3bmbr_A2K.AVB3bmbr_A2
17754  ;      AnimationMode   = ONCE_BACKWARDS
17755  ;      Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
17756  ;    End
17757  
17758  ;    ConditionState = REALLYDAMAGED
17759  ;      Model           = AVB3bmbr_A2DU
17760  ;      Animation       = AVB3bmbr_A2K.AVB3bmbr_A2
17761  ;      AnimationMode   = MANUAL
17762  ;      Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
17763  ;    End
17764  ;    ConditionState = DOOR_1_OPENING REALLYDAMAGED
17765  ;      Model           = AVB3bmbr_A2DU
17766  ;      Animation       = AVB3bmbr_A2K.AVB3bmbr_A2
17767  ;      AnimationMode   = ONCE
17768  ;      Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
17769  ;    End
17770  ;    ConditionState = DOOR_1_CLOSING REALLYDAMAGED
17771  ;      Model           = AVB3bmbr_A2DU
17772  ;      Animation       = AVB3bmbr_A2K.AVB3bmbr_A2
17773  ;      AnimationMode   = ONCE_BACKWARDS
17774  ;      Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
17775  ;    End
17776  ;  End
17777  
17778    ; ***DESIGN parameters ***
17779    DisplayName         = OBJECT:B52
17780    EditorSorting       = VEHICLE
17781    Side                = AmericaAirForceGeneral
17782    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
17783    VisionRange         = 0.0 
17784    ArmorSet
17785      Conditions      = None
17786      Armor           = AirplaneArmor
17787      DamageFX        = TankDamageFX
17788    End
17789    ArmorSet
17790      Conditions            = PLAYER_UPGRADE
17791      Armor                 = CountermeasuresAirplaneArmor
17792      DamageFX              = None
17793    End
17794    CommandSet        = Command_ScriptedTransportDrops
17795  
17796    ; *** AUDIO Parameters ***
17797    SoundAmbient = B3BomberAmbientLoop
17798    SoundAmbientRubble    = NoSound
17799  
17800    ; *** ENGINEERING Parameters ***
17801    RadarPriority = UNIT
17802    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK  VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED
17803    Body = ActiveBody ModuleTag_03
17804      MaxHealth       = 1000.0
17805      InitialHealth   = 1000.0
17806    End
17807  
17808    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
17809  
17810    ;SCRIPTED SUPPORT: These special powers are triggered directly 
17811    ;from the transport without creating a transport. This is done 
17812    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
17813    ;which also prevents creating the payload transport.
17814    Behavior    = OCLSpecialPower ModuleTag_04
17815      SpecialPowerTemplate = SuperweaponDaisyCutter  ;@@KRIS@@
17816      OCL                  = SUPERWEAPON_DaisyCutter
17817      CreateLocation       = USE_OWNER_OBJECT
17818      ScriptedSpecialPowerOnly = Yes
17819    End
17820    Behavior    = OCLSpecialPower ModuleTag_05
17821      SpecialPowerTemplate = SuperweaponMOAB  ;@@KRIS@@
17822      OCL                  = SUPERWEAPON_MOAB
17823      CreateLocation       = USE_OWNER_OBJECT
17824      ScriptedSpecialPowerOnly = Yes
17825    End
17826      
17827    Behavior = PhysicsBehavior ModuleTag_07
17828      Mass = 500.0
17829    End
17830  
17831    Behavior = DeliverPayloadAIUpdate ModuleTag_08
17832      DoorDelay         = 500
17833      MaxAttempts       = 4
17834      DropOffset        = X:0 Y:0 Z:-10
17835      DropDelay         = 300     ; time in between each item dropped (if more than one)
17836      PutInContainer    = AmericaParachute
17837      DeliveryDistance  = 150
17838    End
17839    Locomotor = SET_NORMAL B3Locomotor
17840  
17841    Behavior = TransportContain ModuleTag_09
17842      Slots                       = 100                     ; hey, it's a BIG transport
17843      ScatterNearbyOnExit         = No
17844      OrientLikeContainerOnExit   = Yes
17845      KeepContainerVelocityOnExit = Yes
17846      ExitPitchRate               = 30
17847      ExitBone                    = WeaponA01
17848      AllowInsideKindOf           = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
17849      DoorOpenTime                = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
17850      NumberOfExitPaths           = 0
17851      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
17852    End
17853      
17854    Behavior                          = JetSlowDeathBehavior ModuleTag_10
17855      DestructionDelay                = 2000 
17856      RollRate                        = 0.0
17857      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
17858      PitchRate                       = 0
17859      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
17860      FXInitialDeath                  = FX_JetBigDeathInitial
17861      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
17862      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
17863      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
17864      FXSecondary                     = FX_BigPlaneDeath
17865  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
17866  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
17867  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
17868    End
17869  
17870    Behavior = TransitionDamageFX ModuleTag_11
17871      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
17872      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
17873    End
17874  
17875    Behavior                = ArmorUpgrade ModuleTag_Armor01
17876      TriggeredBy           = Upgrade_AmericaCountermeasures
17877    End
17878  
17879    Behavior                = CountermeasuresBehavior ModuleTag_12
17880      TriggeredBy           = Upgrade_AmericaCountermeasures
17881      FlareTemplateName     = CountermeasureFlare
17882      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
17883      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
17884      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
17885      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
17886      DelayBetweenVolleys   = 1000  ; Time between flare volleys
17887      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
17888      ReloadTime            = 0  ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
17889      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
17890      ReactionLaunchLatency = 100   ; Reaction between getting shot at and the firing of the first volley of countermeasures.
17891      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
17892    End
17893  
17894    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
17895      WeaponTemplate        = AirF_PointDefenseLaser
17896      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
17897      ScanRate              = 0
17898      ScanRange             = 200.0
17899      PredictTargetVelocityFactor = 1.0
17900    End
17901  
17902    Geometry = Box
17903    GeometryIsSmall = No
17904    GeometryMajorRadius = 60.0
17905    GeometryMinorRadius = 10.0
17906    GeometryHeight = 10.0
17907    Shadow = SHADOW_VOLUME
17908    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
17909  
17910  End
17911  
17912  
17913  
17914  
17915  
17916  
17917  
17918  
17919  
17920  
17921  
17922  
17923  
17924  
17925  
17926  
17927  
17928  
17929  
17930  
17931  
17932  
17933  
17934  
17935  
17936  
17937  
17938  


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