[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

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

   1  ;------------------------------------------------------------------------------
   2  Object Boss_PatriotBinaryDataStream
   3    ; *** ART Parameters ***
   4    Draw = W3DLaserDraw ModuleTag_01
   5      Texture = EXBinaryStream32.tga
   6      NumBeams = 1                      ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10
   7      InnerBeamWidth = 4                ;The total width of beam
   8      InnerColor = R:0 G:255 B:0 A:180  ;The inside color of the laser (hot)
   9      Tile = Yes                        ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  10      ScrollRate = -0.25                 ;Scrolls the texture offset this fast -- towards(-) away(+)
  11      Segments = 20                     ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  12      ArcHeight = 30.0                  ;The height of the arc
  13      SegmentOverlapRatio = 0.0000      ;This value overlaps(+) or separates(-) the segments by ratio
  14      TilingScalar = 0.25                ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)
  15   End
  16  
  17    KindOf = IMMOBILE
  18    ClientUpdate = LaserUpdate ModuleTag_02
  19      ;nothing
  20    End
  21  
  22    ; A patriot uses this stream as an event triggered thing, not something turned on and off with a state.
  23    Behavior = DeletionUpdate ModuleTag_03
  24      MinLifetime = 600   ; min lifetime in msec
  25      MaxLifetime = 600   ; max lifetime in msec
  26    End
  27  End
  28  
  29  
  30  
  31  ;------------------------------------------------------------------------------
  32  ;USA Construction Dozer or USDozer
  33  Object Boss_VehicleDozer
  34  
  35    ; *** ART Parameters ***
  36    SelectPortrait         = SACDozer_L
  37    ButtonImage            = SACDozer
  38    
  39    ;UpgradeCameo1 = NONE
  40    ;UpgradeCameo2 = NONE
  41    ;UpgradeCameo3 = NONE
  42    ;UpgradeCameo4 = NONE
  43    ;UpgradeCameo5 = NONE
  44    
  45    Draw = W3DTruckDraw ModuleTag_01
  46  
  47      OkToChangeModelColor = Yes
  48  
  49      DefaultConditionState
  50        Model             = AVCONSTDOZ_A
  51        ParticleSysBone   = EXHAUSTFX01 DozerSmokeLight
  52        WaitForStateToFinishIfPossible = TRANS_DIGGING
  53      End
  54  
  55      ConditionState = PREATTACK_A 
  56        Animation         = AVCONSTDOZ_A.AVCONSTDOZ_A
  57        AnimationMode     = ONCE
  58        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
  59        ParticleSysBone   = DIRTFX01 DozerDirtFall ;gush of dirt
  60        TransitionKey     = TRANS_DIGGING
  61      End
  62  
  63      ConditionState = MOVING
  64        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
  65        WaitForStateToFinishIfPossible = TRANS_DIGGING
  66      End
  67  
  68      ConditionState      = REALLYDAMAGED RUBBLE
  69        Model             = AVCONSTDOZ_AD
  70        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
  71        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
  72      End
  73  
  74      ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
  75        Model             = AVCONSTDOZ_AD
  76        Animation         = AVCONSTDOZ_AD.AVCONSTDOZ_AD
  77        AnimationMode     = ONCE
  78        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
  79        TransitionKey     = TRANS_DIGGING_DAMAGED
  80      End
  81  
  82      ConditionState      = MOVING REALLYDAMAGED RUBBLE
  83        Model             = AVCONSTDOZ_AD
  84        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
  85        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
  86      End
  87  
  88  
  89      TrackMarks            = EXTireTrack2.tga
  90      Dust                  = RocketBuggyDust
  91      DirtSpray             = RocketBuggyDirtSpray
  92  
  93      ; These parameters are only used if the model has a separate suspension, 
  94      ; and the locomotor has HasSuspension = Yes.
  95  
  96      LeftFrontTireBone     = TIRE01
  97      RightFrontTireBone    = TIRE02
  98      LeftRearTireBone      = TIRE03
  99      RightRearTireBone     = TIRE04
 100  
 101      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
 102      PowerslideRotationAddition  = 0   ; This vehicle doesn't powerslide.
 103  
 104    ParticlesAttachedToAnimatedBones = Yes 
 105  
 106  
 107    End
 108  
 109  
 110  
 111    ; ***DESIGN parameters ***
 112    DisplayName         = OBJECT:Dozer
 113    Side                = Boss
 114    EditorSorting       = VEHICLE
 115    TransportSlotCount  = 5 ;how many "slots" we take in a transport (0 == not transportable)
 116    BuildCost           = 1000
 117    BuildTime           = 5.0 ; in seconds
 118    VisionRange         = 200
 119    ShroudClearingRange = 200
 120  
 121    WeaponSet
 122      Conditions = None 
 123      Weapon = PRIMARY None
 124    End
 125    WeaponSet
 126      Conditions = MINE_CLEARING_DETAIL 
 127      Weapon = PRIMARY DozerMineDisarmingWeapon
 128    End
 129  
 130    ArmorSet
 131      Conditions        = None
 132      Armor             = DozerArmor ;Special Explosion-Proof Armor
 133      DamageFX          = TankDamageFX
 134    End
 135    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 136    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 137    CommandSet          = Boss_AmericaDozerCommandSet
 138  
 139    ; *** AUDIO Parameters ***
 140    VoiceSelect         = DozerChinaVoiceSelect
 141    VoiceMove           = DozerChinaVoiceMove
 142    VoiceEnter          = DozerChinaVoiceMove
 143    VoiceTaskComplete   = DozerChinaVoiceBuildComplete
 144    SoundMoveStart      = DozerChinaMoveStart
 145    SoundMoveStartDamaged = DozerChinaMoveStart
 146  
 147    UnitSpecificSounds
 148      VoiceCreate       = DozerChinaVoiceCreate
 149      VoiceCrush        = DozerChinaVoiceCrush
 150      VoiceNoBuild      = DozerChinaVoiceBuildNot
 151      VoiceRepair       = DozerChinaVoiceRepair
 152      VoiceDisarm       = DozerChinaVoiceClearMine
 153      VoiceEnter        = DozerChinaVoiceMove
 154      VoiceBuildResponse = DozerChinaVoiceBuild
 155    End
 156  
 157    ; *** ENGINEERING Parameters ***
 158    RadarPriority       = UNIT
 159    KindOf              = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
 160   
 161    Body                = ActiveBody ModuleTag_02
 162      MaxHealth         = 250.0
 163      InitialHealth     = 250.0
 164  
 165      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 166      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 167      SubdualDamageCap = 500
 168      SubdualDamageHealRate = 500
 169      SubdualDamageHealAmount = 50
 170    End
 171    Behavior = DozerAIUpdate ModuleTag_03
 172      RepairHealthPercentPerSecond = 2%    ; % of max health to repair each second
 173      BoredTime                    = 5000  ; in milliseconds
 174      BoredRange                   = 150   ; when bored, we look this far away to do something
 175      ; the only "enemies" that workers can acquire are mines, to be disarmed...
 176      AutoAcquireEnemiesWhenIdle   = Yes
 177    End
 178  
 179    Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor
 180  
 181    Behavior            = PhysicsBehavior ModuleTag_04
 182      Mass              = 75.0
 183    End
 184  
 185    Behavior = StealthDetectorUpdate ModuleTag_05
 186      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
 187      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
 188      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
 189      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
 190      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
 191    End
 192  
 193    Behavior                 = TransitionDamageFX ModuleTag_06
 194      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
 195      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
 196    End
 197  
 198    ; Catch fire, and explode death
 199    Behavior = SlowDeathBehavior ModuleTag_07
 200      DeathTypes = ALL -CRUSHED -SPLATTED
 201      ProbabilityModifier = 100
 202      DestructionDelay = 1500
 203      DestructionDelayVariance = 600
 204      FX  = INITIAL  FX_CrusaderCatchFire
 205      OCL = FINAL    OCL_AmericaDozerExplode  
 206      FX  = FINAL    FX_BattleMasterExplosionOneFinal
 207    End   
 208  
 209    Behavior = CreateCrateDie ModuleTag_CratesChange
 210      CrateData = SalvageCrateData
 211    End
 212    
 213    Behavior = FlammableUpdate ModuleTag_21
 214      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 215      AflameDamageAmount = 3       ; taking this much damage...
 216      AflameDamageDelay = 500       ; this often.
 217    End
 218  
 219  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
 220  ;;;;;;;;  End
 221  
 222    Behavior               = FXListDie ModuleTag_23
 223      DeathTypes = NONE +CRUSHED +SPLATTED
 224      DeathFX         = FX_CarCrush
 225    End
 226  
 227    Behavior = DestroyDie ModuleTag_24
 228      DeathTypes = NONE +CRUSHED +SPLATTED
 229    End
 230  
 231    Geometry            = BOX
 232    GeometryMajorRadius = 15.0
 233    GeometryMinorRadius = 10.0
 234    GeometryHeight      = 15.0     
 235    GeometryIsSmall     = Yes
 236    Shadow              = SHADOW_VOLUME
 237    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
 238  
 239  End
 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  Object Boss_CommandCenter
 288  
 289    ; *** ART Parameters ***
 290    
 291    ; ------------ the main building itself -----------------
 292    SelectPortrait         = SNComCentr_L
 293    ButtonImage            = SNComCentr
 294    Draw                   = W3DModelDraw ModuleTag_01
 295      OkToChangeModelColor = Yes
 296      
 297      ; DAY ************************************
 298      DefaultConditionState
 299        Model              = NBConYard
 300        Animation          = NBConYard.NBConYard
 301        AnimationMode      = LOOP    
 302      End
 303      ConditionState       = DAMAGED
 304        Model              = NBConYard_D
 305        Animation          = NBConYard_D.NBConYard_D
 306        AnimationMode      = LOOP    
 307        ParticleSysBone    = Fire01 SmolderingFire
 308        ParticleSysBone    = Fire02 SmolderingFire
 309        ParticleSysBone    = Fire03 SmolderingFire
 310        ParticleSysBone    = Smoke01 SmolderingSmoke
 311        ParticleSysBone    = Smoke02 SmolderingSmoke
 312        ParticleSysBone    = Smoke03 SmolderingSmoke
 313      End
 314      ConditionState       = REALLYDAMAGED RUBBLE
 315        Model              = NBConYard_E
 316        Animation          = NBConYard_E.NBConYard_E
 317        AnimationMode      = LOOP
 318        ParticleSysBone    = Fire01 SmolderingFire
 319        ParticleSysBone    = Fire02 SmolderingFire
 320        ParticleSysBone    = Fire03 SmolderingFire
 321        ParticleSysBone    = Fire04 SmolderingFire
 322        ParticleSysBone    = Fire05 SmolderingFire
 323        ParticleSysBone    = Fire06 SmolderingFire
 324        ParticleSysBone    = Fire07 SmolderingFire
 325        ParticleSysBone    = Smoke01 SmolderingSmoke
 326        ParticleSysBone    = Smoke02 SmolderingSmoke
 327        ParticleSysBone    = Smoke03 SmolderingSmoke
 328      End
 329  
 330  
 331      ;NIGHT ***********************************
 332      ConditionState       = NIGHT
 333        Model              = NBConYard_N
 334        Animation          = NBConYard_N.NBConYard_N
 335        AnimationMode      = LOOP    
 336      End
 337      ConditionState       = DAMAGED NIGHT
 338        Model              = NBConYard_DN
 339        Animation          = NBConYard_DN.NBConYard_DN
 340        AnimationMode      = LOOP    
 341        ParticleSysBone    = Fire01 SmolderingFire
 342        ParticleSysBone    = Fire02 SmolderingFire
 343        ParticleSysBone    = Fire03 SmolderingFire
 344        ParticleSysBone    = Smoke01 SmolderingSmoke
 345        ParticleSysBone    = Smoke02 SmolderingSmoke
 346        ParticleSysBone    = Smoke03 SmolderingSmoke
 347      End
 348      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
 349        Model           = NBConYard_EN
 350        Animation       = NBConYard_EN.NBConYard_EN
 351        AnimationMode   = LOOP
 352        ParticleSysBone = Fire01 SmolderingFire
 353        ParticleSysBone = Fire02 SmolderingFire
 354        ParticleSysBone = Fire03 SmolderingFire
 355        ParticleSysBone = Fire04 SmolderingFire
 356        ParticleSysBone = Fire05 SmolderingFire
 357        ParticleSysBone = Fire06 SmolderingFire
 358        ParticleSysBone = Fire07 SmolderingFire
 359        ParticleSysBone = Smoke01 SmolderingSmoke
 360        ParticleSysBone = Smoke02 SmolderingSmoke
 361        ParticleSysBone = Smoke03 SmolderingSmoke
 362      End
 363  
 364      
 365      ;SNOW *************************************
 366      ConditionState       = SNOW
 367        Model              = NBConYard_S
 368        Animation          = NBConYard_S.NBConYard_S
 369        AnimationMode      = LOOP    
 370      End
 371      ConditionState       = DAMAGED SNOW
 372        Model              = NBConYard_DS
 373        Animation          = NBConYard_DS.NBConYard_DS
 374        AnimationMode      = LOOP    
 375        ParticleSysBone    = Fire01 SmolderingFire
 376        ParticleSysBone    = Fire02 SmolderingFire
 377        ParticleSysBone    = Fire03 SmolderingFire
 378        ParticleSysBone    = Smoke01 SmolderingSmoke
 379        ParticleSysBone    = Smoke02 SmolderingSmoke
 380        ParticleSysBone    = Smoke03 SmolderingSmoke
 381      End
 382      ConditionState       = REALLYDAMAGED RUBBLE SNOW
 383        Model              = NBConYard_ES
 384        Animation          = NBConYard_ES.NBConYard_ES
 385        AnimationMode      = LOOP
 386        ParticleSysBone    = Fire01 SmolderingFire
 387        ParticleSysBone    = Fire02 SmolderingFire
 388        ParticleSysBone    = Fire03 SmolderingFire
 389        ParticleSysBone    = Fire04 SmolderingFire
 390        ParticleSysBone    = Fire05 SmolderingFire
 391        ParticleSysBone    = Fire06 SmolderingFire
 392        ParticleSysBone    = Fire07 SmolderingFire
 393        ParticleSysBone    = Smoke01 SmolderingSmoke
 394        ParticleSysBone    = Smoke02 SmolderingSmoke
 395        ParticleSysBone    = Smoke03 SmolderingSmoke
 396      End
 397  
 398      ;NIGHT SNOW *****************************
 399      ConditionState       = NIGHT SNOW
 400        Model              = NBConYard_NS
 401        Animation          = NBConYard_NS.NBConYard_NS
 402        AnimationMode      = LOOP    
 403      End
 404      ConditionState       = DAMAGED NIGHT SNOW
 405        Model              = NBConYard_DNS
 406        Animation          = NBConYard_DNS.NBConYard_DNS
 407        AnimationMode      = LOOP    
 408        ParticleSysBone    = Fire01 SmolderingFire
 409        ParticleSysBone    = Fire02 SmolderingFire
 410        ParticleSysBone    = Fire03 SmolderingFire
 411        ParticleSysBone    = Smoke01 SmolderingSmoke
 412        ParticleSysBone    = Smoke02 SmolderingSmoke
 413        ParticleSysBone    = Smoke03 SmolderingSmoke
 414      End
 415      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
 416        Model           = NBConYard_ENS
 417        Animation       = NBConYard_ENS.NBConYard_ENS
 418        AnimationMode   = LOOP
 419        ParticleSysBone = Fire01 SmolderingFire
 420        ParticleSysBone = Fire02 SmolderingFire
 421        ParticleSysBone = Fire03 SmolderingFire
 422        ParticleSysBone = Fire04 SmolderingFire
 423        ParticleSysBone = Fire05 SmolderingFire
 424        ParticleSysBone = Fire06 SmolderingFire
 425        ParticleSysBone = Fire07 SmolderingFire
 426        ParticleSysBone = Smoke01 SmolderingSmoke
 427        ParticleSysBone = Smoke02 SmolderingSmoke
 428        ParticleSysBone = Smoke03 SmolderingSmoke
 429      End   
 430      
 431      ;**************************************************************************************************************************
 432      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
 433      ;for this draw module
 434      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 435        Model              = NBConYard
 436        Animation          = NBConYard.NBConYard
 437        AnimationMode      = LOOP
 438        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 439      End
 440      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
 441        Model              = NBConYard_D
 442        Animation          = NBConYard_D.NBConYard_D
 443        AnimationMode      = LOOP
 444        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 445      End
 446      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
 447        Model              = NBConYard_E
 448        Animation          = NBConYard_E.NBConYard_E
 449        AnimationMode      = LOOP
 450        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 451      End
 452      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
 453        Model              = NBConYard_N
 454        Animation          = NBConYard_N.NBConYard_N
 455        AnimationMode      = LOOP
 456        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 457      End
 458      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
 459        Model              = NBConYard_DN
 460        Animation          = NBConYard_DN.NBConYard_DN
 461        AnimationMode      = LOOP
 462        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 463      End
 464      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
 465        Model              = NBConYard_EN
 466        Animation          = NBConYard_EN.NBConYard_EN
 467        AnimationMode      = LOOP
 468        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 469      End
 470      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
 471        Model              = NBConYard_S
 472        Animation          = NBConYard_S.NBConYard_S
 473        AnimationMode      = LOOP
 474        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 475      End
 476      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
 477        Model              = NBConYard_DS
 478        Animation          = NBConYard_DS.NBConYard_DS
 479        AnimationMode      = LOOP
 480        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 481      End
 482      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
 483        Model              = NBConYard_ES
 484        Animation          = NBConYard_ES.NBConYard_ES
 485        AnimationMode      = LOOP
 486        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 487      End
 488      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
 489        Model              = NBConYard_NS
 490        Animation          = NBConYard_NS.NBConYard_NS
 491        AnimationMode      = LOOP
 492        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 493      End
 494      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
 495        Model              = NBConYard_DNS
 496        Animation          = NBConYard_DNS.NBConYard_DNS
 497        AnimationMode      = LOOP
 498        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 499      End
 500      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
 501        Model              = NBConYard_ENS
 502        Animation          = NBConYard_ENS.NBConYard_ENS
 503        AnimationMode      = LOOP
 504        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 505      End
 506  
 507      ConditionState       = AWAITING_CONSTRUCTION 
 508        Model              = NONE
 509      End
 510      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
 511      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
 512      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
 513      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
 514      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
 515      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
 516      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
 517      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
 518      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
 519      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
 520      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
 521      AliasConditionState  = SOLD 
 522      AliasConditionState  = SOLD DAMAGED
 523      AliasConditionState  = SOLD REALLYDAMAGED
 524      AliasConditionState  = SOLD NIGHT
 525      AliasConditionState  = SOLD NIGHT DAMAGED
 526      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
 527      AliasConditionState  = SOLD SNOW
 528      AliasConditionState  = SOLD SNOW DAMAGED
 529      AliasConditionState  = SOLD SNOW REALLYDAMAGED
 530      AliasConditionState  = SOLD NIGHT SNOW
 531      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
 532      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
 533      ;**************************************************************************************************************************
 534    End
 535    
 536    ; ------------ Radar Extending -----------------
 537    Draw                = W3DModelDraw ModuleTag_02
 538  
 539      DefaultConditionState
 540        Model             = None
 541      End
 542      AliasConditionState = DAMAGED
 543      AliasConditionState = REALLYDAMAGED RUBBLE
 544         
 545      ConditionState      = RADAR_EXTENDING RADAR_UPGRADED 
 546        Model             = NBConYard_A2
 547        Animation         = NBConYard_A2.NBConYard_A2
 548        AnimationMode     = ONCE
 549        Flags             = START_FRAME_FIRST
 550      End
 551      
 552      ConditionState      = RADAR_EXTENDING DAMAGED RADAR_UPGRADED 
 553        Model             = NBConYard_A2D
 554        Animation         = NBConYard_A2D.NBConYard_A2D
 555        AnimationMode     = ONCE
 556        Flags             = START_FRAME_FIRST
 557      End
 558      
 559      ConditionState      = RADAR_EXTENDING REALLYDAMAGED RUBBLE RADAR_UPGRADED 
 560        Model             = NBConYard_A2E
 561        Animation         = NBConYard_A2E.NBConYard_A2E
 562        AnimationMode     = ONCE
 563        Flags             = START_FRAME_FIRST
 564      End
 565      
 566      ConditionState      = RADAR_UPGRADED
 567        Model             = NBConYard_A2
 568        Animation         = NBConYard_A2.NBConYard_A2
 569        AnimationMode     = MANUAL
 570        Flags             = START_FRAME_LAST
 571      End
 572      
 573      ConditionState      = RADAR_UPGRADED DAMAGED
 574        Model             = NBConYard_A2D
 575        Animation         = NBConYard_A2D.NBConYard_A2D
 576        AnimationMode     = MANUAL
 577        Flags             = START_FRAME_LAST
 578      End
 579      
 580      ConditionState      = RADAR_UPGRADED REALLYDAMAGED RUBBLE
 581        Model             = NBConYard_A2E
 582        Animation         = NBConYard_A2E.NBConYard_A2E
 583        AnimationMode     = MANUAL
 584        Flags             = START_FRAME_LAST
 585      End
 586      
 587      ConditionState      = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 588        Model             = NBConYard_A2
 589        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 590      End
 591         
 592      ConditionState      = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED 
 593        Model             = NBConYard_A2D
 594        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 595      End   
 596      
 597      ConditionState      = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE 
 598        Model             = NBConYard_A2E
 599        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 600      End   
 601      
 602    End
 603    PlacementViewAngle = -135
 604  
 605    ; ------------ construction-zone fence -----------------
 606    Draw                = W3DModelDraw ModuleTag_03
 607    AnimationsRequirePower = No
 608      DefaultConditionState
 609        Model           = None
 610        TransitionKey   = DOWN_DEFAULT
 611      End
 612      ConditionState    = NIGHT
 613        Model           = None
 614        TransitionKey   = DOWN_DEFAULT
 615      End
 616      ConditionState    = SNOW
 617        Model           = None
 618        TransitionKey   = DOWN_DEFAULT
 619      End
 620      ConditionState    = SNOW NIGHT
 621        Model           = None
 622        TransitionKey   = DOWN_DEFAULT
 623      End
 624      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 625        Model           = NBConYard_A4
 626        Animation       = NBConYard_A4.NBConYard_A4
 627        AnimationMode   = MANUAL
 628        Flags           = START_FRAME_LAST
 629        TransitionKey   = UP_DAY
 630        ParticleSysBone = Pit SmolderingFire
 631        ParticleSysBone = Pit01 SmolderingFire
 632        ParticleSysBone = Pit SmolderingSmoke
 633        ParticleSysBone = Pit01 SmolderingSmoke
 634      End
 635      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 636        Model           = NBConYard_A4N
 637        Animation       = NBConYard_A4N.NBConYard_A4N
 638        AnimationMode   = MANUAL
 639        Flags           = START_FRAME_LAST
 640        TransitionKey   = UP_NIGHT
 641        ParticleSysBone = Pit SmolderingFire
 642        ParticleSysBone = Pit01 SmolderingFire
 643        ParticleSysBone = Pit SmolderingSmoke
 644        ParticleSysBone = Pit01 SmolderingSmoke
 645      End
 646      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 647        Model           = NBConYard_A4S
 648        Animation       = NBConYard_A4S.NBConYard_A4S
 649        AnimationMode   = MANUAL
 650        Flags           = START_FRAME_LAST
 651        TransitionKey   = UP_SNOW
 652        ParticleSysBone = Pit SmolderingFire
 653        ParticleSysBone = Pit01 SmolderingFire
 654        ParticleSysBone = Pit SmolderingSmoke
 655        ParticleSysBone = Pit01 SmolderingSmoke
 656      End
 657      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 658        Model           = NBConYard_A4SN
 659        Animation       = NBConYard_A4SN.NBConYard_A4SN
 660        AnimationMode   = MANUAL
 661        Flags           = START_FRAME_LAST
 662        TransitionKey   = UP_SNOWNIGHT
 663        ParticleSysBone = Pit SmolderingFire
 664        ParticleSysBone = Pit01 SmolderingFire
 665        ParticleSysBone = Pit SmolderingSmoke
 666        ParticleSysBone = Pit01 SmolderingSmoke
 667      End
 668      TransitionState   = DOWN_DEFAULT UP_DAY
 669        Model           = NBConYard_A4
 670        Animation       = NBConYard_A4.NBConYard_A4
 671        AnimationMode   = ONCE
 672        AnimationSpeedFactorRange = 1.0 1.0
 673        Flags           = START_FRAME_FIRST
 674        ParticleSysBone = Pit SmolderingFire
 675        ParticleSysBone = Pit01 SmolderingFire
 676        ParticleSysBone = Pit SmolderingSmoke
 677        ParticleSysBone = Pit01 SmolderingSmoke
 678      End
 679      TransitionState   = DOWN_DEFAULT UP_NIGHT
 680        Model           = NBConYard_A4N
 681        Animation       = NBConYard_A4N.NBConYard_A4N
 682        AnimationMode   = ONCE
 683        AnimationSpeedFactorRange = 1.0 1.0
 684        Flags           = START_FRAME_FIRST
 685        ParticleSysBone = Pit SmolderingFire
 686        ParticleSysBone = Pit01 SmolderingFire
 687        ParticleSysBone = Pit SmolderingSmoke
 688        ParticleSysBone = Pit01 SmolderingSmoke
 689      End
 690      TransitionState   = DOWN_DEFAULT UP_SNOW
 691        Model           = NBConYard_A4S
 692        Animation       = NBConYard_A4S.NBConYard_A4S
 693        AnimationMode   = ONCE
 694        AnimationSpeedFactorRange = 1.0 1.0
 695        Flags           = START_FRAME_FIRST
 696        ParticleSysBone = Pit SmolderingFire
 697        ParticleSysBone = Pit01 SmolderingFire
 698        ParticleSysBone = Pit SmolderingSmoke
 699        ParticleSysBone = Pit01 SmolderingSmoke
 700      End
 701      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 702        Model           = NBConYard_A4SN
 703        Animation       = NBConYard_A4SN.NBConYard_A4SN
 704        AnimationMode   = ONCE
 705        AnimationSpeedFactorRange = 1.0 1.0
 706        Flags           = START_FRAME_FIRST
 707        ParticleSysBone = Pit SmolderingFire
 708        ParticleSysBone = Pit01 SmolderingFire
 709        ParticleSysBone = Pit SmolderingSmoke
 710        ParticleSysBone = Pit01 SmolderingSmoke
 711      End
 712      TransitionState   = UP_DAY DOWN_DEFAULT
 713        Model           = NBConYard_A4
 714        Animation       = NBConYard_A4.NBConYard_A4
 715        AnimationMode   = ONCE_BACKWARDS
 716        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 717        Flags           = START_FRAME_LAST
 718        ParticleSysBone = Pit SmolderingFire
 719        ParticleSysBone = Pit01 SmolderingFire
 720        ParticleSysBone = Pit SmolderingSmoke
 721        ParticleSysBone = Pit01 SmolderingSmoke
 722      End
 723      TransitionState   = UP_NIGHT DOWN_DEFAULT
 724        Model           = NBConYard_A4N
 725        Animation       = NBConYard_A4N.NBConYard_A4N
 726        AnimationMode   = ONCE_BACKWARDS
 727        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 728        Flags           = START_FRAME_LAST
 729        ParticleSysBone = Pit SmolderingFire
 730        ParticleSysBone = Pit01 SmolderingFire
 731        ParticleSysBone = Pit SmolderingSmoke
 732        ParticleSysBone = Pit01 SmolderingSmoke
 733      End
 734      TransitionState   = UP_SNOW DOWN_DEFAULT
 735        Model           = NBConYard_A4S
 736        Animation       = NBConYard_A4S.NBConYard_A4S
 737        AnimationMode   = ONCE_BACKWARDS
 738        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 739        Flags           = START_FRAME_LAST
 740        ParticleSysBone = Pit SmolderingFire
 741        ParticleSysBone = Pit01 SmolderingFire
 742        ParticleSysBone = Pit SmolderingSmoke
 743        ParticleSysBone = Pit01 SmolderingSmoke
 744      End
 745      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 746        Model           = NBConYard_A4SN
 747        Animation       = NBConYard_A4SN.NBConYard_A4SN
 748        AnimationMode   = ONCE_BACKWARDS
 749        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 750        Flags           = START_FRAME_LAST
 751        ParticleSysBone = Pit SmolderingFire
 752        ParticleSysBone = Pit01 SmolderingFire
 753        ParticleSysBone = Pit SmolderingSmoke
 754        ParticleSysBone = Pit01 SmolderingSmoke
 755      End
 756    End
 757  
 758    ; ------------ under-construction scaffolding -----------------
 759    Draw                = W3DModelDraw ModuleTag_04
 760      AnimationsRequirePower = No
 761      MinLODRequired = MEDIUM
 762      DefaultConditionState
 763        Model           = None
 764        TransitionKey   = DOWN_DEFAULT
 765      End
 766      ConditionState    = NIGHT
 767        Model           = None
 768        TransitionKey   = DOWN_DEFAULT
 769      End
 770      ConditionState    = SNOW
 771        Model           = None
 772        TransitionKey   = DOWN_DEFAULT
 773      End
 774      ConditionState    = SNOW NIGHT
 775        Model           = None
 776        TransitionKey   = DOWN_DEFAULT
 777      End
 778      ConditionState    = PARTIALLY_CONSTRUCTED
 779        Model           = NBConYard_A6
 780        Animation       = NBConYard_A6.NBConYard_A6
 781        AnimationMode   = MANUAL
 782        Flags           = START_FRAME_LAST
 783        TransitionKey   = UP_DAY
 784        ParticleSysBone = Dust01 BuildingDustChina
 785        ParticleSysBone = SmokeM01 BuildUpSmokeChina
 786        ParticleSysBone = SmokeS02 BuildUpSmokeChina
 787        ParticleSysBone = SparksM01 BuildUpSmokeChina
 788        ParticleSysBone = SparksM02 BuildUpSmokeChina
 789        ParticleSysBone = SparksS01 BuildUpSmokeChina
 790        ParticleSysBone = SparksS02 BuildUpSmokeChina
 791      End
 792      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
 793        Model           = NBConYard_A6N
 794        Animation       = NBConYard_A6N.NBConYard_A6N
 795        AnimationMode   = MANUAL
 796        Flags           = START_FRAME_LAST
 797        TransitionKey   = UP_NIGHT
 798  
 799        ParticleSysBone = Dust01 BuildingDustChina
 800        ParticleSysBone = SmokeM01 BuildUpSmokeChina
 801        ParticleSysBone = SmokeS02 BuildUpSmokeChina
 802        ParticleSysBone = SparksM01 BuildUpSmokeChina
 803        ParticleSysBone = SparksM02 BuildUpSmokeChina
 804        ParticleSysBone = SparksS01 BuildUpSmokeChina
 805        ParticleSysBone = SparksS02 BuildUpSmokeChina
 806      End
 807      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
 808        Model           = NBConYard_A6S
 809        Animation       = NBConYard_A6S.NBConYard_A6S
 810        AnimationMode   = MANUAL
 811        Flags           = START_FRAME_LAST
 812        TransitionKey   = UP_SNOW
 813        ParticleSysBone = Dust01 BuildingSnowDust
 814        ParticleSysBone = SmokeM01 BuildUpSnowSmoke
 815        ParticleSysBone = SmokeS02 BuildUpSnowSmoke
 816        ParticleSysBone = SparksM01 BuildUpSnowSmoke
 817        ParticleSysBone = SparksM02 BuildUpSnowSmoke
 818        ParticleSysBone = SparksS01 BuildUpSnowSmoke
 819        ParticleSysBone = SparksS02 BuildUpSnowSmoke
 820      End
 821      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
 822        Model           = NBConYard_A6SN
 823        Animation       = NBConYard_A6SN.NBConYard_A6SN
 824        AnimationMode   = MANUAL
 825        Flags           = START_FRAME_LAST
 826        TransitionKey   = UP_SNOWNIGHT
 827        ParticleSysBone = Dust01 BuildingNightSnowDust
 828        ParticleSysBone = SmokeM01 BuildUpNightSnowSmoke
 829        ParticleSysBone = SmokeS02 BuildUpNightSnowSmoke
 830        ParticleSysBone = SparksM01 BuildUpNightSnowSmoke
 831        ParticleSysBone = SparksM02 BuildUpNightSnowSmoke
 832        ParticleSysBone = SparksS01 BuildUpNightSnowSmoke
 833        ParticleSysBone = SparksS02 BuildUpNightSnowSmoke
 834      End
 835      TransitionState   = DOWN_DEFAULT UP_DAY
 836       Model            = NBConYard_A6
 837        Animation       = NBConYard_A6.NBConYard_A6
 838        AnimationMode   = ONCE
 839        AnimationSpeedFactorRange = 1.0 1.0
 840        Flags           = START_FRAME_FIRST
 841      End
 842      TransitionState   = DOWN_DEFAULT UP_NIGHT
 843       Model            = NBConYard_A6N
 844        Animation       = NBConYard_A6N.NBConYard_A6N
 845        AnimationMode   = ONCE
 846        AnimationSpeedFactorRange = 1.0 1.0
 847        Flags           = START_FRAME_FIRST
 848      End
 849      TransitionState   = DOWN_DEFAULT UP_SNOW
 850       Model            = NBConYard_A6S
 851        Animation       = NBConYard_A6S.NBConYard_A6S
 852        AnimationMode   = ONCE
 853        AnimationSpeedFactorRange = 1.0 1.0
 854        Flags           = START_FRAME_FIRST
 855      End
 856      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 857       Model            = NBConYard_A6SN
 858        Animation       = NBConYard_A6SN.NBConYard_A6SN
 859        AnimationMode   = ONCE
 860        AnimationSpeedFactorRange = 1.0 1.0
 861        Flags           = START_FRAME_FIRST
 862      End
 863      TransitionState   = UP_DAY DOWN_DEFAULT
 864        Model           = NBConYard_A6
 865        Animation       = NBConYard_A6.NBConYard_A6
 866        AnimationMode   = ONCE_BACKWARDS
 867        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 868        Flags           = START_FRAME_LAST
 869      End
 870      TransitionState   = UP_NIGHT DOWN_DEFAULT
 871        Model           = NBConYard_A6N
 872        Animation       = NBConYard_A6N.NBConYard_A6N
 873        AnimationMode   = ONCE_BACKWARDS
 874        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 875        Flags           = START_FRAME_LAST
 876      End
 877      TransitionState   = UP_SNOW DOWN_DEFAULT
 878        Model           = NBConYard_A6S
 879        Animation       = NBConYard_A6S.NBConYard_A6S
 880        AnimationMode   = ONCE_BACKWARDS
 881        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 882        Flags           = START_FRAME_LAST
 883      End
 884      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 885        Model           = NBConYard_A6SN
 886        Animation       = NBConYard_A6SN.NBConYard_A6SN
 887        AnimationMode   = ONCE_BACKWARDS
 888        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 889        Flags           = START_FRAME_LAST
 890      End
 891    End
 892  
 893    ; ------------ being-constructed crane -----------------
 894    Draw = W3DModelDraw ModuleTag_05
 895      AnimationsRequirePower = No
 896      DefaultConditionState
 897        Model           = None
 898        TransitionKey   = DOWN_DEFAULT
 899      End
 900      ConditionState    = NIGHT
 901        Model           = None
 902        TransitionKey   = DOWN_DEFAULT
 903      End
 904      ConditionState    = SNOW
 905        Model           = None
 906        TransitionKey   = DOWN_DEFAULT
 907      End
 908      ConditionState    = SNOW NIGHT
 909        Model           = None
 910        TransitionKey   = DOWN_DEFAULT
 911      End
 912      
 913      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
 914        Model           = NBConYard_A5
 915        Animation       = NBConYard_A5.NBConYard_A5
 916        AnimationMode   = LOOP
 917        TransitionKey  = UP_DAY
 918      End
 919  
 920      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
 921        Model           = NBConYard_A5N
 922        Animation       = NBConYard_A5N.NBConYard_A5N
 923        AnimationMode   = LOOP
 924        TransitionKey  = UP_NIGHT
 925      End
 926      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
 927        Model           = NBConYard_A5S
 928        Animation       = NBConYard_A5S.NBConYard_A5S
 929        AnimationMode   = LOOP
 930        TransitionKey  = UP_SNOW
 931      End
 932      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
 933        Model           = NBConYard_A5SN
 934        Animation       = NBConYard_A5SN.NBConYard_A5SN
 935        AnimationMode   = LOOP
 936        TransitionKey  = UP_SNOWNIGHT
 937      End
 938      TransitionState   = DOWN_DEFAULT UP_DAY
 939        Model            = NBConYard_AB
 940        Animation       = NBConYard_AB.NBConYard_AB
 941        AnimationMode   = ONCE
 942        AnimationSpeedFactorRange = 1.0 1.0
 943        Flags           = START_FRAME_FIRST
 944      End
 945  
 946      TransitionState   = DOWN_DEFAULT UP_NIGHT
 947        Model            = NBConYard_ABN
 948        Animation       = NBConYard_ABN.NBConYard_ABN
 949        AnimationMode   = ONCE
 950        AnimationSpeedFactorRange = 1.0 1.0
 951        Flags           = START_FRAME_FIRST
 952      End
 953      TransitionState   = DOWN_DEFAULT UP_SNOW
 954        Model            = NBConYard_ABS
 955        Animation       = NBConYard_ABS.NBConYard_ABS
 956        AnimationMode   = ONCE
 957        AnimationSpeedFactorRange = 1.0 1.0
 958        Flags           = START_FRAME_FIRST
 959      End
 960      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 961        Model            = NBConYard_ABSN
 962        Animation       = NBConYard_ABSN.NBConYard_ABSN
 963        AnimationMode   = ONCE
 964        AnimationSpeedFactorRange = 1.0 1.0
 965        Flags           = START_FRAME_FIRST
 966      End
 967      TransitionState   = UP_DAY DOWN_DEFAULT
 968        Model            = NBConYard_AB
 969        Animation       = NBConYard_AB.NBConYard_AB
 970        AnimationMode   = ONCE_BACKWARDS
 971        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 972        Flags           = START_FRAME_LAST
 973      End
 974      TransitionState   = UP_NIGHT DOWN_DEFAULT
 975        Model            = NBConYard_ABN
 976        Animation       = NBConYard_ABN.NBConYard_ABN
 977        AnimationMode   = ONCE_BACKWARDS
 978        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 979        Flags           = START_FRAME_LAST
 980      End
 981      TransitionState   = UP_SNOW DOWN_DEFAULT
 982        Model            = NBConYard_ABS
 983        Animation       = NBConYard_ABS.NBConYard_ABS
 984        AnimationMode   = ONCE_BACKWARDS
 985        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 986        Flags           = START_FRAME_LAST
 987      End
 988      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 989        Model            = NBConYard_ABSN
 990        Animation       = NBConYard_ABSN.NBConYard_ABSN
 991        AnimationMode   = ONCE_BACKWARDS
 992        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 993        Flags           = START_FRAME_LAST
 994      End
 995    End
 996      
 997  ; ----------------- the factory door -------------------
 998    Draw                = W3DModelDraw ModuleTag_06
 999      DefaultConditionState
1000        Model           = NBConYard_A7
1001        Animation       = NBConYard_A7.NBConYard_A7
1002        AnimationMode   = MANUAL
1003        Flags           = START_FRAME_FIRST
1004      End
1005      AliasConditionState = NIGHT
1006      AliasConditionState = SNOW
1007      AliasConditionState = NIGHT SNOW
1008      
1009      ConditionState    = DAMAGED
1010        Model           = NBConYard_A7D
1011        Animation       = NBConYard_A7D.NBConYard_A7D
1012        AnimationMode   = MANUAL
1013        Flags           = START_FRAME_FIRST
1014      End
1015      AliasConditionState = NIGHT DAMAGED
1016      AliasConditionState = SNOW DAMAGED
1017      AliasConditionState = NIGHT SNOW DAMAGED
1018      
1019      ConditionState    = REALLYDAMAGED RUBBLE
1020        Model           = NBConYard_A7D
1021        Animation       = NBConYard_A7D.NBConYard_A7D
1022        AnimationMode   = MANUAL
1023        Flags           = START_FRAME_FIRST
1024      End
1025      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
1026      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
1027      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
1028      
1029      ConditionState    = DOOR_1_OPENING
1030        Model           = NBConYard_A7
1031        Animation       = NBConYard_A7.NBConYard_A7
1032        AnimationMode   = ONCE
1033        Flags           = START_FRAME_FIRST
1034      End   
1035      AliasConditionState = NIGHT DOOR_1_OPENING
1036      AliasConditionState = SNOW DOOR_1_OPENING
1037      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
1038      
1039      ConditionState    = DOOR_1_OPENING DAMAGED
1040        Model           = NBConYard_A7D
1041        Animation       = NBConYard_A7D.NBConYard_A7D
1042        AnimationMode   = ONCE
1043        Flags           = START_FRAME_FIRST
1044      End   
1045      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
1046      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
1047      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
1048      
1049      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
1050        Model           = NBConYard_A7D
1051        Animation       = NBConYard_A7D.NBConYard_A7D
1052        AnimationMode   = ONCE
1053        Flags           = START_FRAME_FIRST
1054      End
1055      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
1056      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
1057      AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
1058      
1059      ConditionState    = DOOR_1_CLOSING
1060        Model           = NBConYard_A7
1061        Animation       = NBConYard_A7.NBConYard_A7
1062        AnimationMode   = ONCE_BACKWARDS
1063        Flags           = START_FRAME_LAST
1064      End 
1065      AliasConditionState = NIGHT DOOR_1_CLOSING
1066      AliasConditionState = SNOW DOOR_1_CLOSING
1067      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
1068        
1069      ConditionState    = DOOR_1_CLOSING DAMAGED
1070        Model           = NBConYard_A7D
1071        Animation       = NBConYard_A7D.NBConYard_A7D
1072        AnimationMode   = ONCE_BACKWARDS
1073        Flags           = START_FRAME_LAST
1074      End   
1075      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
1076      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
1077      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED
1078      
1079      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
1080        Model           = NBConYard_A7D
1081        Animation       = NBConYard_A7D.NBConYard_A7D
1082        AnimationMode   = ONCE_BACKWARDS
1083        Flags           = START_FRAME_LAST
1084      End   
1085      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
1086      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
1087      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
1088      
1089      ConditionState    = DOOR_1_WAITING_OPEN
1090        Model           = NBConYard_A7
1091        Animation       = NBConYard_A7.NBConYard_A7
1092        AnimationMode   = MANUAL
1093        Flags           = START_FRAME_LAST
1094      End  
1095      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
1096      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
1097      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
1098       
1099      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
1100        Model           = NBConYard_A7D
1101        Animation       = NBConYard_A7D.NBConYard_A7D
1102        AnimationMode   = MANUAL
1103        Flags           = START_FRAME_LAST
1104      End  
1105      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
1106      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
1107      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED
1108       
1109      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
1110        Model           = NBConYard_A7D
1111        Animation       = NBConYard_A7D.NBConYard_A7D
1112        AnimationMode   = MANUAL
1113        Flags           = START_FRAME_LAST
1114      End   
1115      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
1116      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
1117      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
1118      
1119      ;**************************************************************************************************************************
1120      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1121      ;for this draw module
1122      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1123        Model              = NBConYard_A7
1124        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1125      End
1126      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1127      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1128      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1129      
1130      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1131        Model              = NBConYard_A7D
1132        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1133      End
1134      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
1135      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
1136      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
1137      
1138      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1139        Model              = NBConYard_A7D
1140        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1141      End
1142      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
1143      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
1144      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
1145      
1146      ConditionState       = AWAITING_CONSTRUCTION 
1147        Model              = NONE
1148      End
1149      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1150      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1151      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1152      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1153      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1154      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1155      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1156      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1157      AliasConditionState  = SOLD DAMAGED
1158      AliasConditionState  = SOLD REALLYDAMAGED
1159      AliasConditionState  = SOLD NIGHT
1160      AliasConditionState  = SOLD NIGHT DAMAGED
1161      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1162      AliasConditionState  = SOLD NIGHT SNOW
1163      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1164      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1165      ;**************************************************************************************************************************
1166      
1167    End
1168    
1169    ; Officers club flag
1170    Draw = W3DModelDraw ModuleTag_OfficersClub
1171      OkToChangeModelColor = No
1172  
1173      ConditionState       = NONE
1174        Model              = None
1175      End
1176      AliasConditionState  = DAMAGED
1177      AliasConditionState  = REALLYDAMAGED
1178      AliasConditionState  = RUBBLE
1179      AliasConditionState  = REALLYDAMAGED RUBBLE
1180      ConditionState       = PREORDER
1181        Model              = OCFlagCHA
1182        Animation          = OCFlagCHA.OCFlagCHA
1183        AnimationMode      = LOOP
1184        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1185      End
1186  ;    ConditionState       = PREORDER DAMAGED
1187  ;      Model              = OCFlagCHA_D
1188  ;      Animation          = OCFlagCHA_D.OCFlagCHA_D
1189  ;      AnimationMode      = LOOP
1190  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1191  ;    End
1192  ;    ConditionState       = PREORDER REALLYDAMAGED
1193  ;      Model              = OCFlagCHA_E
1194  ;      Animation          = OCFlagCHA_E.OCFlagCHA_E
1195  ;      AnimationMode      = LOOP
1196  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1197  ;    End
1198    End
1199  
1200    PlacementViewAngle = -135
1201  
1202    ; ***DESIGN parameters ***
1203    DisplayName       = OBJECT:CommandCenter
1204    Side              = Boss
1205    EditorSorting     = STRUCTURE
1206    BuildCost         = 2000
1207    BuildTime         = 45.0           ; in seconds
1208    EnergyProduction  = 0  ;Command center should be free
1209    CommandSet        = Boss_ChinaCommandCenterCommandSet
1210    VisionRange       = 300.0           ; Shroud clearing distance
1211    ShroudClearingRange = 300
1212    ArmorSet
1213      Conditions      = None
1214      Armor           = StructureArmorTough
1215      DamageFX        = StructureDamageFXNoShake
1216    End
1217    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
1218  
1219    ; *** AUDIO Parameters ***
1220    VoiceSelect       = CommandCenterChinaSelect
1221    SoundOnDamaged        = BuildingDamagedStateLight
1222    SoundOnReallyDamaged  = BuildingDestroy
1223  
1224    UnitSpecificSounds
1225      UnderConstruction     = UnderConstructionLoop
1226    End
1227  
1228    ; *** ENGINEERING Parameters ***
1229    RadarPriority     = STRUCTURE
1230    KindOf            = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY
1231  
1232    Body              = StructureBody ModuleTag_07
1233      MaxHealth       = 5000.0
1234      InitialHealth   = 5000.0
1235  
1236      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1237      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1238      SubdualDamageCap = 5200
1239      SubdualDamageHealRate = 500
1240      SubdualDamageHealAmount = 100
1241    End
1242  
1243    Behavior = PreorderCreate ModuleTag_PreorderCreate
1244    End
1245  
1246    Behavior = ProductionUpdate ModuleTag_08
1247      NumDoorAnimations            = 1
1248      DoorOpeningTime              = 3000  ;in mSeconds
1249      DoorWaitOpenTime             = 3000  ;in mSeconds
1250      DoorCloseTime                = 3000  ;in mSeconds
1251      ConstructionCompleteDuration = 1500  ;in mSeconds
1252    End
1253    Behavior = DefaultProductionExitUpdate ModuleTag_09
1254      UnitCreatePoint   = X:-18.0  Y: 40.0   Z:0.0
1255      NaturalRallyPoint = X: 60.0  Y: 40.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
1256    End
1257    Behavior = RadarUpdate ModuleTag_10
1258      RadarExtendTime   = 4000     ;in mSeconds
1259    End
1260  
1261    Behavior             = DestroyDie ModuleTag_11
1262      ;nothing
1263    End
1264    Behavior             = CreateObjectDie ModuleTag_12
1265      CreationList  = OCL_LargeStructureDebris
1266    End
1267    Behavior             = FXListDie ModuleTag_13
1268      DeathFX       = FX_StructureMediumDeath
1269    End
1270  
1271    Behavior         = RadarUpgrade ModuleTag_14
1272      TriggeredBy   = Upgrade_ChinaRadar
1273    End
1274  
1275    Behavior = GenerateMinefieldBehavior     ModuleTag_15
1276      TriggeredBy           = Upgrade_ChinaMines
1277      MineName              = ChinaStandardMine
1278      SmartBorder           = Yes
1279      AlwaysCircular        = Yes
1280  
1281      Upgradable            = Yes
1282      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
1283      UpgradedMineName      = ChinaEMPMine
1284    End
1285  
1286    Behavior           = OCLSpecialPower ModuleTag_17
1287      SpecialPowerTemplate = SuperweaponArtilleryBarrage
1288      UpgradeOCL           = SCIENCE_ArtilleryBarrage3 SUPERWEAPON_ArtilleryBarrage3
1289      UpgradeOCL           = SCIENCE_ArtilleryBarrage2 SUPERWEAPON_ArtilleryBarrage2
1290      OCL                  = SUPERWEAPON_ArtilleryBarrage1
1291      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
1292    End
1293  
1294    Behavior           = OCLSpecialPower ModuleTag_18
1295      SpecialPowerTemplate = SuperweaponClusterMines
1296      OCL                  = SUPERWEAPON_ClusterMines
1297      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
1298    End
1299  
1300    Behavior           = OCLSpecialPower ModuleTag_19
1301      SpecialPowerTemplate = SuperweaponEMPPulse
1302      OCL                  = SUPERWEAPON_EMPPulse
1303      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
1304    End
1305  
1306    Behavior           = CashHackSpecialPower ModuleTag_20
1307      SpecialPowerTemplate = SuperweaponCashHack
1308      UpgradeMoneyAmount   = SCIENCE_CashHack3 4000
1309      UpgradeMoneyAmount   = SCIENCE_CashHack2 2000
1310      MoneyAmount          = 1000  ; amount of money to steal
1311    End
1312  
1313    Behavior           = OCLSpecialPower ModuleTag_22;this has been removed from everywhere but the ChinaAirfield in CHI05
1314     SpecialPowerTemplate = SuperweaponChinaCarpetBomb
1315     OCL                  = SUPERWEAPON_ChinaCarpetBomb
1316     CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
1317    End 
1318    
1319    Behavior = SpecialAbility ModuleTag_91
1320      SpecialPowerTemplate = SuperweaponSpectreGunship
1321      UpdateModuleStartsAttack = Yes
1322    End
1323    Behavior           = SpectreGunshipDeploymentUpdate ModuleTag_92
1324      SpecialPowerTemplate = SuperweaponSpectreGunship
1325      GunshipTemplateName  = AmericaJetSpectreGunship
1326      AttackAreaRadius     = 200
1327      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
1328                             ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET
1329    End
1330  
1331    Behavior           = OCLSpecialPower ModuleTag_93
1332      SpecialPowerTemplate = SuperweaponSneakAttack
1333      OCL                  = OCL_CreateSneakAttackTunnelStart
1334      CreateLocation       = CREATE_AT_LOCATION
1335      ReferenceObject      = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations
1336    End
1337  
1338    Behavior = CashBountyPower ModuleTag_96
1339      SpecialPowerTemplate    = SpecialAbilityCashBounty1
1340      Bounty                  = 5%
1341    End
1342    Behavior = CashBountyPower ModuleTag_97
1343      SpecialPowerTemplate    = SpecialAbilityCashBounty2
1344      Bounty                  = 10%
1345    End
1346    Behavior = CashBountyPower ModuleTag_98
1347      SpecialPowerTemplate    = SpecialAbilityCashBounty3
1348      Bounty                  = 20%
1349    End
1350  
1351    Behavior = FlammableUpdate ModuleTag_23
1352      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1353      AflameDamageAmount = 5       ; taking this much damage...
1354      AflameDamageDelay = 500       ; this often.
1355    End
1356  
1357    Behavior = TransitionDamageFX ModuleTag_24
1358      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
1359      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1360      ;---------------------------------------------------------------------------------------
1361      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1362      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
1363      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
1364    End
1365  
1366    Behavior = CommandSetUpgrade ModuleTag_25
1367      CommandSet = Boss_ChinaCommandCenterCommandSetUpgrade
1368      TriggeredBy = Upgrade_ChinaMines
1369    End
1370  
1371    Behavior = ArmorUpgrade ModuleTag_26
1372      TriggeredBy = Upgrade_ChinaEMPMines
1373    End
1374  
1375    Geometry            = BOX
1376    FactoryExitWidth    = 25
1377    GeometryMajorRadius = 60.0
1378    GeometryMinorRadius = 63.0
1379    GeometryHeight      = 36.0
1380    GeometryIsSmall     = No
1381    Shadow              = SHADOW_VOLUME
1382    BuildCompletion     = PLACED_BY_PLAYER
1383  
1384  End
1385  
1386  
1387  
1388  
1389  
1390  
1391  
1392  
1393  
1394  
1395  
1396  
1397  
1398  
1399  
1400  
1401  
1402  
1403  
1404  
1405  
1406  
1407  
1408  
1409  ;------------------------------------------------------------------------------
1410  Object Boss_PowerPlant
1411  
1412    ; *** ART Parameters ***
1413    SelectPortrait         = SAPowerPlant_L
1414    ButtonImage            = SAPowerPlant
1415  
1416  ; ---- the building itself ------
1417    Draw = W3DModelDraw ModuleTag_01
1418      OkToChangeModelColor = Yes
1419  
1420      ; day ********************************************
1421      ConditionState       = NONE;
1422        Model              = ABPWRPLANT
1423        Animation          = ABPWRPLANT.ABPWRPLANT
1424        AnimationMode      = LOOP
1425        ParticleSysBone    = Smoke02 SteamVent
1426      End
1427      ConditionState       = DAMAGED
1428        Model              = ABPWRPLANT_D
1429        ParticleSysBone    = Smoke01 SmolderingSmoke 
1430        ParticleSysBone    = Smoke02 SteamVent
1431        ParticleSysBone    = Smoke03 SmolderingSmoke
1432        ParticleSysBone    = Fire01 SmolderingFireLarge
1433        ParticleSysBone    = Sparks01 LiveWireSparks
1434        ParticleSysBone    = Sparks02 LiveWireSparks
1435      End
1436      ConditionState       = REALLYDAMAGED RUBBLE
1437        Model              = ABPWRPLANT_E
1438        ParticleSysBone    = Smoke01 SmolderingSmoke 
1439        ParticleSysBone    = Smoke02 SteamVent
1440        ParticleSysBone    = Smoke03 SmolderingSmoke
1441        ParticleSysBone    = Smoke04 SmolderingSmoke 
1442        ParticleSysBone    = Smoke05 SmolderingSmoke 
1443        ParticleSysBone    = Smoke06 SmolderingSmoke
1444        ParticleSysBone    = Fire01 SmolderingFireLarge 
1445        ParticleSysBone    = Fire02 SmolderingFireLarge
1446        ParticleSysBone    = Fire03 SmolderingFireLarge
1447        ParticleSysBone    = Spark01 LiveWireSparks
1448      End
1449  
1450      ; day upgrade
1451      ConditionState = POWER_PLANT_UPGRADED ;
1452        Model = ABPWRPLANT
1453        Animation     = ABPWRPLANT.ABPWRPLANT
1454        AnimationMode = LOOP
1455        ParticleSysBone = Smoke02 SteamVent
1456        ParticleSysBone = Spark01 LiveWireSparks
1457        ParticleSysBone = Spark02 LiveWireSparks02
1458        ParticleSysBone = Spark03 LiveWireSparks02 
1459        ParticleSysBone = Spark04 LiveWireSparks
1460        ParticleSysBone = Spark05 LiveWireSparks02
1461        ParticleSysBone = Spark06 LiveWireSparks 
1462      End
1463      ConditionState = DAMAGED POWER_PLANT_UPGRADED
1464        Model = ABPWRPLANT_D
1465        ParticleSysBone = Smoke01 SmolderingSmoke 
1466        ParticleSysBone = Smoke02 SteamVent
1467        ParticleSysBone = Smoke03 SmolderingSmoke
1468        ParticleSysBone = Fire01 SmolderingFireLarge
1469        ParticleSysBone = Spark01 LiveWireSparks
1470        ParticleSysBone = Spark02 LiveWireSparks02
1471        ParticleSysBone = Spark03 LiveWireSparks02 
1472        ParticleSysBone = Spark04 LiveWireSparks
1473        ParticleSysBone = Spark05 LiveWireSparks02
1474        ParticleSysBone = Spark06 LiveWireSparks 
1475      End
1476      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
1477        Model = ABPWRPLANT_E
1478        ParticleSysBone = Smoke01 SmolderingSmoke 
1479        ParticleSysBone = Smoke02 SteamVent
1480        ParticleSysBone = Smoke03 SmolderingSmoke
1481        ParticleSysBone = Smoke04 SmolderingSmoke 
1482        ParticleSysBone = Smoke05 SmolderingSmoke 
1483        ParticleSysBone = Smoke06 SmolderingSmoke
1484        ParticleSysBone = Fire01 SmolderingFireLarge 
1485        ParticleSysBone = Fire02 SmolderingFireLarge
1486        ParticleSysBone = Fire03 SmolderingFireLarge
1487        ParticleSysBone = Spark01 LiveWireSparks
1488        ParticleSysBone = Spark02 LiveWireSparks02
1489        ParticleSysBone = Spark03 LiveWireSparks02 
1490        ParticleSysBone = Spark04 LiveWireSparks
1491        ParticleSysBone = Spark05 LiveWireSparks02
1492        ParticleSysBone = Spark06 LiveWireSparks 
1493      End
1494  
1495      ; night 
1496      ConditionState = NIGHT;
1497        Model = ABPWRPLANT_N
1498        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
1499        AnimationMode = LOOP
1500        ParticleSysBone = Smoke02 SteamVent
1501      End
1502      ConditionState       = DAMAGED NIGHT
1503        Model              = ABPWRPLANT_DN
1504        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
1505        AnimationMode      = LOOP
1506        ParticleSysBone    = Smoke01 SmolderingSmoke 
1507        ParticleSysBone    = Smoke02 SteamVent
1508        ParticleSysBone    = Smoke03 SmolderingSmoke
1509        ParticleSysBone    = Fire01 SmolderingFireLarge
1510        ParticleSysBone    = Sparks01 LiveWireSparks
1511        ParticleSysBone    = Sparks02 LiveWireSparks
1512        ParticleSysBone    = Sparks03 LiveWireSparks02
1513      End
1514      ConditionState = REALLYDAMAGED RUBBLE NIGHT;
1515        Model = ABPWRPLANT_EN
1516        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
1517        AnimationMode = LOOP
1518        ParticleSysBone = Smoke01 SmolderingSmoke 
1519        ParticleSysBone = Smoke02 SteamVent
1520        ParticleSysBone = Smoke03 SmolderingSmoke
1521        ParticleSysBone = Smoke04 SmolderingSmoke 
1522        ParticleSysBone = Smoke05 SmolderingSmoke 
1523        ParticleSysBone = Smoke06 SmolderingSmoke
1524        ParticleSysBone = Fire01 SmolderingFireLarge 
1525        ParticleSysBone = Fire02 SmolderingFireLarge
1526        ParticleSysBone = Fire03 SmolderingFireLarge
1527        ParticleSysBone = Sparks01 LiveWireSparks
1528        ParticleSysBone = Sparks02 LiveWireSparks02
1529        ParticleSysBone = Sparks03 LiveWireSparks02 
1530        ParticleSysBone = Sparks04 LiveWireSparks
1531        ParticleSysBone = Sparks05 LiveWireSparks02
1532        ParticleSysBone = Sparks07 LiveWireSparks 
1533      End
1534  
1535      ; night upgraded
1536      ConditionState = NIGHT POWER_PLANT_UPGRADED
1537        Model = ABPWRPLANT_N
1538        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
1539        AnimationMode = LOOP
1540        ParticleSysBone = Smoke02 SteamVent
1541        ParticleSysBone = Sparks02 LiveWireSparks02
1542        ParticleSysBone = Sparks03 LiveWireSparks02 
1543        ParticleSysBone = Sparks04 LiveWireSparks
1544        ParticleSysBone = Sparks05 LiveWireSparks02
1545        ParticleSysBone = Sparks07 LiveWireSparks 
1546        ParticleSysBone = Sparks08 LiveWireSparks02
1547        ParticleSysBone = Sparks09 LiveWireSparks 
1548        ParticleSysBone = Sparks10 LiveWireSparks02
1549        ParticleSysBone = Sparks11 LiveWireSparks 
1550      End
1551      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED
1552        Model              = ABPWRPLANT_DN
1553        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
1554        AnimationMode      = LOOP
1555        ParticleSysBone    = Smoke01 SmolderingSmoke 
1556        ParticleSysBone    = Smoke02 SteamVent
1557        ParticleSysBone    = Smoke03 SmolderingSmoke
1558        ParticleSysBone    = Fire01 SmolderingFireLarge
1559        ParticleSysBone = Sparks02 LiveWireSparks02
1560        ParticleSysBone = Sparks03 LiveWireSparks02 
1561        ParticleSysBone = Sparks04 LiveWireSparks
1562        ParticleSysBone = Sparks05 LiveWireSparks02
1563        ParticleSysBone = Sparks07 LiveWireSparks 
1564        ParticleSysBone = Sparks08 LiveWireSparks02
1565        ParticleSysBone = Sparks09 LiveWireSparks 
1566        ParticleSysBone = Sparks10 LiveWireSparks02
1567        ParticleSysBone = Sparks11 LiveWireSparks 
1568      End
1569      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED
1570        Model = ABPWRPLANT_EN
1571        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
1572        AnimationMode = LOOP
1573        ParticleSysBone = Smoke01 SmolderingSmoke 
1574        ParticleSysBone = Smoke02 SteamVent
1575        ParticleSysBone = Smoke03 SmolderingSmoke
1576        ParticleSysBone = Smoke04 SmolderingSmoke 
1577        ParticleSysBone = Smoke05 SmolderingSmoke 
1578        ParticleSysBone = Smoke06 SmolderingSmoke
1579        ParticleSysBone = Fire01 SmolderingFireLarge 
1580        ParticleSysBone = Fire02 SmolderingFireLarge
1581        ParticleSysBone = Fire03 SmolderingFireLarge
1582        ParticleSysBone = Sparks02 LiveWireSparks02
1583        ParticleSysBone = Sparks03 LiveWireSparks02 
1584        ParticleSysBone = Sparks04 LiveWireSparks
1585        ParticleSysBone = Sparks05 LiveWireSparks02
1586        ParticleSysBone = Sparks07 LiveWireSparks 
1587        ParticleSysBone = Sparks08 LiveWireSparks02
1588        ParticleSysBone = Sparks09 LiveWireSparks 
1589        ParticleSysBone = Sparks10 LiveWireSparks02
1590        ParticleSysBone = Sparks11 LiveWireSparks 
1591      End
1592      
1593      
1594          ; day ********************************************
1595      ConditionState       = SNOW
1596        Model              = ABPWRPLANT_S
1597        Animation          = ABPWRPLANT_S.ABPWRPLANT_S
1598        AnimationMode      = LOOP
1599        ParticleSysBone    = Smoke02 SteamVent
1600      End
1601      ConditionState       = DAMAGED SNOW
1602        Model              = ABPWRPLANT_DS
1603        ParticleSysBone    = Smoke01 SmolderingSmoke 
1604        ParticleSysBone    = Smoke02 SteamVent
1605        ParticleSysBone    = Smoke03 SmolderingSmoke
1606        ParticleSysBone    = Fire01 SmolderingFireLarge
1607        ParticleSysBone    = Sparks01 LiveWireSparks
1608        ParticleSysBone    = Sparks02 LiveWireSparks
1609      End
1610      ConditionState       = REALLYDAMAGED RUBBLE SNOW
1611        Model              = ABPWRPLANT_ES
1612        ParticleSysBone    = Smoke01 SmolderingSmoke 
1613        ParticleSysBone    = Smoke02 SteamVent
1614        ParticleSysBone    = Smoke03 SmolderingSmoke
1615        ParticleSysBone    = Smoke04 SmolderingSmoke 
1616        ParticleSysBone    = Smoke05 SmolderingSmoke 
1617        ParticleSysBone    = Smoke06 SmolderingSmoke
1618        ParticleSysBone    = Fire01 SmolderingFireLarge 
1619        ParticleSysBone    = Fire02 SmolderingFireLarge
1620        ParticleSysBone    = Fire03 SmolderingFireLarge
1621        ParticleSysBone    = Spark01 LiveWireSparks
1622      End
1623  
1624  
1625      ; day upgrade
1626      ConditionState = POWER_PLANT_UPGRADED SNOW;
1627        Model = ABPWRPLANT_S
1628        Animation     = ABPWRPLANT_S.ABPWRPLANT_S
1629        AnimationMode = LOOP
1630        ParticleSysBone = Smoke02 SteamVent
1631        ParticleSysBone = Spark01 LiveWireSparks
1632        ParticleSysBone = Spark02 LiveWireSparks02
1633        ParticleSysBone = Spark03 LiveWireSparks02 
1634        ParticleSysBone = Spark04 LiveWireSparks
1635        ParticleSysBone = Spark05 LiveWireSparks02
1636        ParticleSysBone = Spark06 LiveWireSparks 
1637      End
1638      ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
1639        Model = ABPWRPLANT_DS
1640        ParticleSysBone = Smoke01 SmolderingSmoke 
1641        ParticleSysBone = Smoke02 SteamVent
1642        ParticleSysBone = Smoke03 SmolderingSmoke
1643        ParticleSysBone = Fire01 SmolderingFireLarge
1644        ParticleSysBone = Spark01 LiveWireSparks
1645        ParticleSysBone = Spark02 LiveWireSparks02
1646        ParticleSysBone = Spark03 LiveWireSparks02 
1647        ParticleSysBone = Spark04 LiveWireSparks
1648        ParticleSysBone = Spark05 LiveWireSparks02
1649        ParticleSysBone = Spark06 LiveWireSparks 
1650      End
1651      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
1652        Model = ABPWRPLANT_ES
1653        ParticleSysBone = Smoke01 SmolderingSmoke 
1654        ParticleSysBone = Smoke02 SteamVent
1655        ParticleSysBone = Smoke03 SmolderingSmoke
1656        ParticleSysBone = Smoke04 SmolderingSmoke 
1657        ParticleSysBone = Smoke05 SmolderingSmoke 
1658        ParticleSysBone = Smoke06 SmolderingSmoke
1659        ParticleSysBone = Fire01 SmolderingFireLarge 
1660        ParticleSysBone = Fire02 SmolderingFireLarge
1661        ParticleSysBone = Fire03 SmolderingFireLarge
1662        ParticleSysBone = Spark01 LiveWireSparks
1663        ParticleSysBone = Spark02 LiveWireSparks02
1664        ParticleSysBone = Spark03 LiveWireSparks02 
1665        ParticleSysBone = Spark04 LiveWireSparks
1666        ParticleSysBone = Spark05 LiveWireSparks02
1667        ParticleSysBone = Spark06 LiveWireSparks 
1668      End
1669  
1670  
1671      ; night 
1672      ConditionState = NIGHT SNOW;
1673        Model = ABPWRPLANT_NS
1674        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
1675        AnimationMode = LOOP
1676        ParticleSysBone = Smoke02 SteamVent
1677      End
1678      ConditionState       = DAMAGED NIGHT SNOW
1679        Model              = ABPWRPLANT_DNS
1680        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
1681        AnimationMode      = LOOP
1682        ParticleSysBone    = Smoke01 SmolderingSmoke 
1683        ParticleSysBone    = Smoke02 SteamVent
1684        ParticleSysBone    = Smoke03 SmolderingSmoke
1685        ParticleSysBone    = Fire01 SmolderingFireLarge
1686        ParticleSysBone    = Sparks01 LiveWireSparks
1687        ParticleSysBone    = Sparks02 LiveWireSparks
1688        ParticleSysBone    = Sparks03 LiveWireSparks02
1689      End
1690      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW;
1691        Model = ABPWRPLANT_ENS
1692        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
1693        AnimationMode = LOOP
1694        ParticleSysBone = Smoke01 SmolderingSmoke 
1695        ParticleSysBone = Smoke02 SteamVent
1696        ParticleSysBone = Smoke03 SmolderingSmoke
1697        ParticleSysBone = Smoke04 SmolderingSmoke 
1698        ParticleSysBone = Smoke05 SmolderingSmoke 
1699        ParticleSysBone = Smoke06 SmolderingSmoke
1700        ParticleSysBone = Fire01 SmolderingFireLarge 
1701        ParticleSysBone = Fire02 SmolderingFireLarge
1702        ParticleSysBone = Fire03 SmolderingFireLarge
1703        ParticleSysBone = Sparks01 LiveWireSparks
1704        ParticleSysBone = Sparks02 LiveWireSparks02
1705        ParticleSysBone = Sparks03 LiveWireSparks02 
1706        ParticleSysBone = Sparks04 LiveWireSparks
1707        ParticleSysBone = Sparks05 LiveWireSparks02
1708        ParticleSysBone = Sparks07 LiveWireSparks 
1709      End
1710  
1711      ; night upgraded
1712      ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW
1713        Model = ABPWRPLANT_NS
1714        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
1715        AnimationMode = LOOP
1716        ParticleSysBone = Smoke02 SteamVent
1717        ParticleSysBone = Sparks02 LiveWireSparks02
1718        ParticleSysBone = Sparks03 LiveWireSparks02 
1719        ParticleSysBone = Sparks04 LiveWireSparks
1720        ParticleSysBone = Sparks05 LiveWireSparks02
1721        ParticleSysBone = Sparks07 LiveWireSparks 
1722        ParticleSysBone = Sparks08 LiveWireSparks02
1723        ParticleSysBone = Sparks09 LiveWireSparks 
1724        ParticleSysBone = Sparks10 LiveWireSparks02
1725        ParticleSysBone = Sparks11 LiveWireSparks 
1726      End
1727      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW
1728        Model              = ABPWRPLANT_DNS
1729        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
1730        AnimationMode      = LOOP
1731        ParticleSysBone    = Smoke01 SmolderingSmoke 
1732        ParticleSysBone    = Smoke02 SteamVent
1733        ParticleSysBone    = Smoke03 SmolderingSmoke
1734        ParticleSysBone    = Fire01 SmolderingFireLarge
1735        ParticleSysBone = Sparks02 LiveWireSparks02
1736        ParticleSysBone = Sparks03 LiveWireSparks02 
1737        ParticleSysBone = Sparks04 LiveWireSparks
1738        ParticleSysBone = Sparks05 LiveWireSparks02
1739        ParticleSysBone = Sparks07 LiveWireSparks 
1740        ParticleSysBone = Sparks08 LiveWireSparks02
1741        ParticleSysBone = Sparks09 LiveWireSparks 
1742        ParticleSysBone = Sparks10 LiveWireSparks02
1743        ParticleSysBone = Sparks11 LiveWireSparks 
1744      End
1745      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW
1746        Model = ABPWRPLANT_ENS
1747        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
1748        AnimationMode = LOOP
1749        ParticleSysBone = Smoke01 SmolderingSmoke 
1750        ParticleSysBone = Smoke02 SteamVent
1751        ParticleSysBone = Smoke03 SmolderingSmoke
1752        ParticleSysBone = Smoke04 SmolderingSmoke 
1753        ParticleSysBone = Smoke05 SmolderingSmoke 
1754        ParticleSysBone = Smoke06 SmolderingSmoke
1755        ParticleSysBone = Fire01 SmolderingFireLarge 
1756        ParticleSysBone = Fire02 SmolderingFireLarge
1757        ParticleSysBone = Fire03 SmolderingFireLarge
1758        ParticleSysBone = Sparks02 LiveWireSparks02
1759        ParticleSysBone = Sparks03 LiveWireSparks02 
1760        ParticleSysBone = Sparks04 LiveWireSparks
1761        ParticleSysBone = Sparks05 LiveWireSparks02
1762        ParticleSysBone = Sparks07 LiveWireSparks 
1763        ParticleSysBone = Sparks08 LiveWireSparks02
1764        ParticleSysBone = Sparks09 LiveWireSparks 
1765        ParticleSysBone = Sparks10 LiveWireSparks02
1766        ParticleSysBone = Sparks11 LiveWireSparks 
1767      End
1768      
1769      ;**************************************************************************************************************************
1770      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1771      ;for this draw module
1772      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1773        Model              = ABPWRPLANT
1774        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1775      End
1776      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1777        Model              = ABPWRPLANT_D
1778        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1779      End
1780      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1781        Model              = ABPWRPLANT_E
1782        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1783      End
1784      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1785        Model              = ABPWRPLANT_N
1786        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1787      End
1788      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
1789        Model              = ABPWRPLANT_DN
1790        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1791      End
1792      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
1793        Model              = ABPWRPLANT_EN
1794        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1795      End
1796      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1797        Model              = ABPWRPLANT_S
1798        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1799      End
1800      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
1801        Model              = ABPWRPLANT_DS
1802        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1803      End
1804      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
1805        Model              = ABPWRPLANT_ES
1806        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1807      End
1808      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1809        Model              = ABPWRPLANT_NS
1810        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1811      End
1812      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
1813        Model              = ABPWRPLANT_DNS
1814        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1815      End
1816      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
1817        Model              = ABPWRPLANT_ENS
1818        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1819      End
1820  
1821      ConditionState       = AWAITING_CONSTRUCTION 
1822        Model              = NONE
1823      End
1824      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1825      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1826      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1827      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1828      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1829      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1830      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1831      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1832      AliasConditionState  = SOLD DAMAGED
1833      AliasConditionState  = SOLD REALLYDAMAGED
1834      AliasConditionState  = SOLD NIGHT
1835      AliasConditionState  = SOLD NIGHT DAMAGED
1836      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1837      AliasConditionState  = SOLD SNOW
1838      AliasConditionState  = SOLD SNOW DAMAGED
1839      AliasConditionState  = SOLD SNOW REALLYDAMAGED
1840      AliasConditionState  = SOLD NIGHT SNOW
1841      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1842      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1843      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
1844      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
1845      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
1846      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
1847      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
1848      AliasConditionState  = SOLD SNOW POWER_PLANT_UPGRADED
1849      AliasConditionState  = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED
1850      AliasConditionState  = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
1851      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
1852      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
1853      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
1854      ;**************************************************************************************************************************
1855      
1856      
1857   
1858      
1859  
1860      
1861    End
1862  
1863    ; ------------ construction-zone fence -----------------
1864  
1865    Draw = W3DModelDraw ModuleTag_02
1866    AnimationsRequirePower = No
1867      DefaultConditionState
1868        Model           = None
1869        TransitionKey   = DOWN_DEFAULT
1870      End
1871      ConditionState    = NIGHT
1872        Model           = None
1873        TransitionKey   = DOWN_DEFAULT
1874      End
1875      ConditionState    = SNOW
1876        Model           = None
1877        TransitionKey   = DOWN_DEFAULT
1878      End
1879      ConditionState    = SNOW NIGHT
1880        Model           = None
1881        TransitionKey   = DOWN_DEFAULT
1882      End
1883      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1884        Model           = ABPwrPlant_A4
1885        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
1886        AnimationMode   = MANUAL
1887        Flags           = START_FRAME_LAST
1888        TransitionKey   = UP_DAY
1889        ParticleSysBone = SmokeS01 SmokeBuildingSmall
1890        ParticleSysBone = SparksS01 LiveWireSparks02
1891      End
1892      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1893        Model           = ABPwrPlant_A4N
1894        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
1895        AnimationMode   = MANUAL
1896        Flags           = START_FRAME_LAST
1897        TransitionKey   = UP_NIGHT
1898        ParticleSysBone = SmokeS01 SmokeBuildingSmall
1899        ParticleSysBone = SparksS01 LiveWireSparks02
1900      End
1901      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1902        Model           = ABPwrPlant_A4S
1903        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
1904        AnimationMode   = MANUAL
1905        Flags           = START_FRAME_LAST
1906        TransitionKey   = UP_SNOW
1907        ParticleSysBone = SmokeS01 SmokeBuildingSmall
1908        ParticleSysBone = SparksS01 LiveWireSparks02
1909      End
1910      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1911        Model           = ABPwrPlant_A4S
1912        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
1913        AnimationMode   = MANUAL
1914        Flags           = START_FRAME_LAST
1915        TransitionKey   = UP_SNOWNIGHT
1916        ParticleSysBone = SmokeS01 SmokeBuildingSmall
1917        ParticleSysBone = SparksS01 LiveWireSparks02
1918      End
1919      TransitionState   = DOWN_DEFAULT UP_DAY
1920        Model           = ABPwrPlant_A4
1921        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
1922        AnimationMode   = ONCE
1923        AnimationSpeedFactorRange = 1.0 1.0
1924        Flags           = START_FRAME_FIRST
1925      End
1926      TransitionState   = DOWN_DEFAULT UP_NIGHT
1927        Model           = ABPwrPlant_A4N
1928        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
1929        AnimationMode   = ONCE
1930        AnimationSpeedFactorRange = 1.0 1.0
1931        Flags           = START_FRAME_FIRST
1932      End
1933      TransitionState   = DOWN_DEFAULT UP_SNOW
1934        Model           = ABPwrPlant_A4S
1935        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
1936        AnimationMode   = ONCE
1937        AnimationSpeedFactorRange = 1.0 1.0
1938        Flags           = START_FRAME_FIRST
1939      End
1940      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
1941        Model           = ABPwrPlant_A4SN
1942        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
1943        AnimationMode   = ONCE
1944        AnimationSpeedFactorRange = 1.0 1.0
1945        Flags           = START_FRAME_FIRST
1946      End
1947      TransitionState   = UP_DAY DOWN_DEFAULT
1948        Model           = ABPwrPlant_A4
1949        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
1950        AnimationMode   = ONCE_BACKWARDS
1951        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1952        Flags           = START_FRAME_LAST
1953      End
1954      TransitionState   = UP_NIGHT DOWN_DEFAULT
1955        Model           = ABPwrPlant_A4N
1956        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
1957        AnimationMode   = ONCE_BACKWARDS
1958        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1959        Flags           = START_FRAME_LAST
1960      End
1961      TransitionState   = UP_SNOW DOWN_DEFAULT
1962        Model           = ABPwrPlant_A4S
1963        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
1964        AnimationMode   = ONCE_BACKWARDS
1965        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1966        Flags           = START_FRAME_LAST
1967      End
1968      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
1969        Model           = ABPwrPlant_A4SN
1970        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
1971        AnimationMode   = ONCE_BACKWARDS
1972        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1973        Flags           = START_FRAME_LAST
1974      End
1975    End
1976  
1977    ; ------------ under-construction scaffolding -----------------
1978    Draw = W3DModelDraw ModuleTag_03
1979    AnimationsRequirePower = No
1980      MinLODRequired = MEDIUM
1981      DefaultConditionState
1982        Model           = None
1983        TransitionKey   = DOWN_DEFAULT
1984      End
1985      ConditionState    = NIGHT
1986        Model           = None
1987        TransitionKey   = DOWN_DEFAULT
1988      End
1989      ConditionState    = SNOW
1990        Model           = None
1991        TransitionKey   = DOWN_DEFAULT
1992      End
1993      ConditionState    = SNOW NIGHT
1994        Model           = None
1995        TransitionKey   = DOWN_DEFAULT
1996      End
1997      ConditionState    = PARTIALLY_CONSTRUCTED
1998        Model           = ABPwrPlant_A6
1999        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
2000        AnimationMode   = MANUAL
2001        Flags           = START_FRAME_LAST
2002        TransitionKey   = UP_DAY
2003        ParticleSysBone = SparksS01 BuildUpBlueSpark
2004        ParticleSysBone = SparksS02 BuildUpBlueSpark
2005        ParticleSysBone = SparksS03 SparksSmall
2006        ParticleSysBone = SparksS06 BuildUpBlueSpark
2007      End
2008      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
2009        Model           = ABPwrPlant_A6N
2010        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
2011        AnimationMode   = MANUAL
2012        Flags           = START_FRAME_LAST
2013        TransitionKey   = UP_NIGHT
2014        ParticleSysBone = SparksS01 BuildUpBlueSpark
2015        ParticleSysBone = SparksS02 BuildUpBlueSpark
2016        ParticleSysBone = SparksS03 SparksSmall
2017        ParticleSysBone = SparksS06 BuildUpBlueSpark
2018      End
2019      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
2020        Model           = ABPwrPlant_A6S
2021        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
2022        AnimationMode   = MANUAL
2023        Flags           = START_FRAME_LAST
2024        TransitionKey   = UP_SNOW
2025        ParticleSysBone = SparksS01 BuildUpBlueSpark
2026        ParticleSysBone = SparksS02 BuildUpBlueSpark
2027        ParticleSysBone = SparksS03 SparksSmall
2028        ParticleSysBone = SparksS06 BuildUpBlueSpark
2029      End
2030      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
2031        Model           = ABPwrPlant_A6SN
2032        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
2033        AnimationMode   = MANUAL
2034        Flags           = START_FRAME_LAST
2035        TransitionKey   = UP_SNOWNIGHT
2036        ParticleSysBone = SparksS01 BuildUpBlueSpark
2037        ParticleSysBone = SparksS02 BuildUpBlueSpark
2038        ParticleSysBone = SparksS03 SparksSmall
2039        ParticleSysBone = SparksS06 BuildUpBlueSpark
2040      End
2041      TransitionState   = DOWN_DEFAULT UP_DAY
2042       Model            = ABPwrPlant_A6
2043        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
2044        AnimationMode   = ONCE
2045        AnimationSpeedFactorRange = 1.0 1.0
2046        Flags           = START_FRAME_FIRST
2047      End
2048      TransitionState   = DOWN_DEFAULT UP_NIGHT
2049       Model            = ABPwrPlant_A6N
2050        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
2051        AnimationMode   = ONCE
2052        AnimationSpeedFactorRange = 1.0 1.0
2053        Flags           = START_FRAME_FIRST
2054      End
2055      TransitionState   = DOWN_DEFAULT UP_SNOW
2056       Model            = ABPwrPlant_A6S
2057        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
2058        AnimationMode   = ONCE
2059  
2060        AnimationSpeedFactorRange = 1.0 1.0
2061        Flags           = START_FRAME_FIRST
2062      End
2063      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2064       Model            = ABPwrPlant_A6SN
2065        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
2066        AnimationMode   = ONCE
2067        AnimationSpeedFactorRange = 1.0 1.0
2068        Flags           = START_FRAME_FIRST
2069      End
2070      TransitionState   = UP_DAY DOWN_DEFAULT
2071        Model           = ABPwrPlant_A6
2072        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
2073        AnimationMode   = ONCE_BACKWARDS
2074        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2075        Flags           = START_FRAME_LAST
2076      End
2077      TransitionState   = UP_NIGHT DOWN_DEFAULT
2078        Model           = ABPwrPlant_A6N
2079        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
2080        AnimationMode   = ONCE_BACKWARDS
2081        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2082        Flags           = START_FRAME_LAST
2083      End
2084      TransitionState   = UP_SNOW DOWN_DEFAULT
2085        Model           = ABPwrPlant_A6S
2086        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
2087        AnimationMode   = ONCE_BACKWARDS
2088        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2089        Flags           = START_FRAME_LAST
2090      End
2091      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2092        Model           = ABPwrPlant_A6SN
2093        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
2094        AnimationMode   = ONCE_BACKWARDS
2095        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2096        Flags           = START_FRAME_LAST
2097      End
2098    End
2099  
2100    ; ------------ being-constructed crane -----------------
2101    Draw = W3DModelDraw ModuleTag_04
2102    AnimationsRequirePower = No
2103      DefaultConditionState
2104        Model           = None
2105        TransitionKey   = DOWN_DEFAULT
2106      End
2107      ConditionState    = NIGHT
2108        Model           = None
2109        TransitionKey   = DOWN_DEFAULT
2110      End
2111      ConditionState    = SNOW
2112        Model           = None
2113        TransitionKey   = DOWN_DEFAULT
2114      End
2115      ConditionState    = SNOW NIGHT
2116        Model           = None
2117        TransitionKey   = DOWN_DEFAULT
2118      End
2119      ConditionState    = SOLD
2120        Model           = NONE
2121      End
2122  
2123      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
2124        Model           = ABPwrPlant_A5
2125        Animation       = ABPwrPlant_A5.ABPwrPlant_A5
2126        AnimationMode   = LOOP
2127        TransitionKey  = UP_DAY
2128      End
2129  
2130      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
2131        Model           = ABPwrPlant_A5N
2132        Animation       = ABPwrPlant_A5N.ABPwrPlant_A5N
2133        AnimationMode   = LOOP
2134        TransitionKey  = UP_NIGHT
2135      End
2136      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
2137        Model           = ABPwrPlant_A5S
2138        Animation       = ABPwrPlant_A5S.ABPwrPlant_A5S
2139        AnimationMode   = LOOP
2140        TransitionKey  = UP_SNOW
2141      End
2142      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
2143        Model           = ABPwrPlant_A5SN
2144        Animation       = ABPwrPlant_A5SN.ABPwrPlant_A5SN
2145        AnimationMode   = LOOP
2146        TransitionKey  = UP_SNOWNIGHT
2147      End
2148      TransitionState   = DOWN_DEFAULT UP_DAY
2149        Model            = ABPwrPlant_AB
2150        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
2151        AnimationMode   = ONCE
2152        AnimationSpeedFactorRange = 1.0 1.0
2153        Flags           = START_FRAME_FIRST
2154      End
2155  
2156      TransitionState   = DOWN_DEFAULT UP_NIGHT
2157        Model            = ABPwrPlant_ABN
2158        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
2159        AnimationMode   = ONCE
2160        AnimationSpeedFactorRange = 1.0 1.0
2161        Flags           = START_FRAME_FIRST
2162      End
2163  
2164      TransitionState   = DOWN_DEFAULT UP_SNOW
2165        Model            = ABPwrPlant_ABS
2166        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
2167        AnimationMode   = ONCE
2168        AnimationSpeedFactorRange = 1.0 1.0
2169        Flags           = START_FRAME_FIRST
2170      End
2171      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2172        Model            = ABPwrPlant_ABSN
2173        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
2174        AnimationMode   = ONCE
2175        AnimationSpeedFactorRange = 1.0 1.0
2176        Flags           = START_FRAME_FIRST
2177      End
2178      TransitionState   = UP_DAY DOWN_DEFAULT
2179        Model            = ABPwrPlant_AB
2180        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
2181        AnimationMode   = ONCE_BACKWARDS
2182        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2183        Flags           = START_FRAME_LAST
2184      End
2185      TransitionState   = UP_NIGHT DOWN_DEFAULT
2186        Model            = ABPwrPlant_ABN
2187        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
2188        AnimationMode   = ONCE_BACKWARDS
2189        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2190        Flags           = START_FRAME_LAST
2191      End
2192      TransitionState   = UP_SNOW DOWN_DEFAULT
2193        Model            = ABPwrPlant_ABS
2194        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
2195        AnimationMode   = ONCE_BACKWARDS
2196        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2197        Flags           = START_FRAME_LAST
2198      End
2199      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2200        Model            = ABPwrPlant_ABSN
2201        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
2202        AnimationMode   = ONCE_BACKWARDS
2203        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2204        Flags           = START_FRAME_LAST
2205      End
2206    End
2207   
2208  ; ---- the control rods -----
2209    Draw = W3DModelDraw ModuleTag_05
2210      OkToChangeModelColor = Yes
2211  
2212      ; no upgrade
2213      ConditionState = NONE
2214        Model ABPWRPLANT_A1
2215      End
2216      AliasConditionState = SNOW
2217      AliasConditionState = NIGHT
2218      AliasConditionState = SNOW NIGHT
2219  
2220      ConditionState = DAMAGED
2221        Model ABPWRPLANT_A1D
2222      End
2223      AliasConditionState = DAMAGED SNOW
2224      AliasConditionState = DAMAGED NIGHT
2225      AliasConditionState = DAMAGED SNOW NIGHT
2226  
2227      ConditionState = REALLYDAMAGED RUBBLE
2228        Model ABPWRPLANT_A1E
2229      End
2230      AliasConditionState = REALLYDAMAGED RUBBLE SNOW
2231      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
2232      AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT
2233  
2234  
2235      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2236        Model              = ABPWRPLANT_A1
2237        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2238      End
2239      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2240      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2241      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
2242  
2243      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2244        Model              = ABPWRPLANT_A1D
2245        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2246      End
2247      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2248      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2249      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
2250  
2251      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
2252        Model              = ABPWRPLANT_A1E
2253        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2254      End
2255      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2256      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2257      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
2258  
2259      ; first to upgrade
2260      ConditionState = POWER_PLANT_UPGRADING
2261        Model ABPWRPLANT_A1
2262        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
2263        AnimationMode = ONCE
2264        Flags         = START_FRAME_FIRST
2265      End
2266      AliasConditionState = POWER_PLANT_UPGRADING SNOW
2267      AliasConditionState = POWER_PLANT_UPGRADING NIGHT
2268      AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT
2269  
2270      ConditionState = DAMAGED POWER_PLANT_UPGRADING
2271        Model ABPWRPLANT_A1D
2272        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
2273        AnimationMode = ONCE
2274        Flags         = START_FRAME_FIRST
2275      End
2276      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW
2277      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT
2278      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT
2279  
2280      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING
2281        Model ABPWRPLANT_A1E
2282        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
2283        AnimationMode = ONCE
2284        Flags         = START_FRAME_FIRST
2285      End
2286      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW
2287      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT
2288      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT
2289  
2290      ; already upgraded
2291      ConditionState = POWER_PLANT_UPGRADED
2292        Model ABPWRPLANT_A1
2293        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
2294        AnimationMode = MANUAL
2295        Flags         = START_FRAME_LAST
2296      End
2297      AliasConditionState = POWER_PLANT_UPGRADED SNOW
2298      AliasConditionState = POWER_PLANT_UPGRADED NIGHT
2299      AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT
2300  
2301      ConditionState = DAMAGED POWER_PLANT_UPGRADED
2302        Model ABPWRPLANT_A1D
2303        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
2304        AnimationMode = MANUAL
2305        Flags         = START_FRAME_LAST
2306      End
2307      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
2308      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT
2309      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT
2310  
2311      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
2312        Model ABPWRPLANT_A1E
2313        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
2314        AnimationMode = MANUAL
2315        Flags         = START_FRAME_LAST
2316      End
2317      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
2318      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT
2319      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT
2320   
2321    
2322      ConditionState       = AWAITING_CONSTRUCTION 
2323        Model              = NONE
2324      End
2325      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
2326      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
2327      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
2328      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
2329      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
2330      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
2331      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
2332      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
2333      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
2334      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
2335      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
2336      AliasConditionState  = SOLD DAMAGED
2337      AliasConditionState  = SOLD REALLYDAMAGED
2338      AliasConditionState  = SOLD NIGHT
2339      AliasConditionState  = SOLD NIGHT DAMAGED
2340      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
2341      AliasConditionState  = SOLD NIGHT SNOW
2342      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
2343      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
2344      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
2345      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
2346      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
2347      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
2348      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
2349      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
2350      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
2351      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
2352      ;**************************************************************************************************************************
2353    
2354    End
2355    
2356    
2357   
2358    PlacementViewAngle = -45
2359  
2360    ; ***DESIGN parameters ***
2361    DisplayName      = OBJECT:ColdFusionReactor
2362    Side             = Boss
2363    EditorSorting    = STRUCTURE
2364    Prerequisites
2365  ;    Object = Boss_CommandCenter
2366    End
2367    BuildCost        = 800
2368    BuildTime        = 10.0           ; in seconds
2369    EnergyProduction = 5
2370    EnergyBonus      = 5
2371    VisionRange      = 200.0           ; Shroud clearing distance
2372    ShroudClearingRange = 200
2373    ArmorSet
2374      Conditions     = None
2375      Armor          = StructureArmor
2376      DamageFX       = StructureDamageFXNoShake
2377    End
2378    CommandSet       = Boss_AmericaPowerPlantCommandSet
2379    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
2380  
2381    ; *** AUDIO Parameters ***
2382    VoiceSelect = ColdFusionReactorSelect
2383    SoundOnDamaged        = BuildingDamagedStateLight
2384    SoundOnReallyDamaged  = BuildingDestroy
2385  
2386    UnitSpecificSounds
2387      UnderConstruction     = UnderConstructionLoop
2388    End
2389  
2390    ; *** ENGINEERING Parameters ***
2391    RadarPriority   = STRUCTURE
2392    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY
2393    Body            = StructureBody ModuleTag_06
2394      MaxHealth       = 800.0
2395      InitialHealth   = 800.0
2396  
2397      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2398      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2399      SubdualDamageCap = 1000
2400      SubdualDamageHealRate = 500
2401      SubdualDamageHealAmount = 100
2402    End
2403  
2404    Behavior = PowerPlantUpgrade ModuleTag_07
2405      TriggeredBy = Upgrade_AmericaAdvancedControlRods
2406    End
2407  
2408    Behavior = BaseRegenerateUpdate ModuleTag_08
2409      ;No data
2410    End
2411    Behavior = PowerPlantUpdate ModuleTag_09
2412      RodsExtendTime = 600
2413    End
2414  
2415  
2416    Behavior = DestroyDie ModuleTag_10
2417      ;nothing
2418    End
2419    Behavior             = CreateObjectDie ModuleTag_11
2420      CreationList  = OCL_ABPowerPlantExplode
2421    End
2422    Behavior             = CreateObjectDie ModuleTag_12
2423    ;**FIX**
2424      CreationList  = OCL_AmericanRangerDebris02
2425      ExemptStatus  = UNDER_CONSTRUCTION
2426    End
2427    Behavior        = FXListDie ModuleTag_13
2428      DeathFX       = FX_StructureSmallDeath
2429    End
2430  
2431    Behavior = ProductionUpdate ModuleTag_14
2432      ; nothing
2433    End
2434  
2435    Behavior = FlammableUpdate ModuleTag_16
2436      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2437      AflameDamageAmount = 5       ; taking this much damage...
2438      AflameDamageDelay = 500       ; this often.
2439    End
2440  
2441    Behavior = TransitionDamageFX ModuleTag_17
2442      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
2443      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2444      ;---------------------------------------------------------------------------------------
2445      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2446      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
2447      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
2448    End
2449  
2450    Behavior = CommandSetUpgrade ModuleTag_20
2451      CommandSet = Boss_AmericaPowerPlantCommandSetUpgrade
2452      TriggeredBy = Upgrade_ChinaMines
2453    End
2454  
2455    Behavior = GenerateMinefieldBehavior     ModuleTag_21
2456      TriggeredBy           = Upgrade_ChinaMines
2457      MineName              = ChinaStandardMine
2458      SmartBorder           = Yes
2459      AlwaysCircular        = Yes
2460  
2461      Upgradable            = Yes
2462      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
2463      UpgradedMineName      = ChinaEMPMine
2464    End
2465  
2466    Behavior = ArmorUpgrade ModuleTag_26
2467      TriggeredBy = Upgrade_ChinaEMPMines
2468    End
2469  
2470  
2471    Geometry            = BOX
2472    GeometryMajorRadius = 22.0
2473    GeometryMinorRadius = 30.0
2474    GeometryHeight      = 46.0
2475    GeometryIsSmall     = No
2476    Shadow          = SHADOW_VOLUME
2477    BuildCompletion = PLACED_BY_PLAYER
2478  
2479  End
2480  
2481  
2482  
2483  
2484  
2485  
2486  
2487  
2488  
2489  
2490  
2491  
2492  
2493  
2494  
2495  
2496  
2497  
2498  
2499  
2500  
2501  
2502  
2503  
2504  
2505  
2506  
2507  
2508  
2509  
2510  
2511  
2512  ;------------------------------------------------------------------------------
2513  Object Boss_ParticleCannonUplink
2514  
2515    ; *** ART Parameters ***
2516    SelectPortrait         = SAUplink_L
2517    ButtonImage            = SAUplink
2518  
2519    Draw = W3DModelDraw ModuleTag_01
2520      ExtraPublicBone        = FX01
2521      ExtraPublicBone        = FX02
2522      ExtraPublicBone        = FX03
2523      ExtraPublicBone        = FX04
2524      ExtraPublicBone        = FX05
2525      OkToChangeModelColor = Yes
2526      
2527      
2528      ; day **************************************
2529      ConditionState       = NONE
2530        Model              = ABSDILink
2531        Animation          = ABSDILink.ABSDILink
2532        AnimationMode      = LOOP
2533        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2534      End
2535      ConditionState       = DAMAGED
2536        Model              = ABSDILink_D
2537        Animation          = ABSDILink_D.ABSDILink_D
2538        AnimationMode      = LOOP
2539        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2540      End
2541      ConditionState       = REALLYDAMAGED RUBBLE
2542        Model              = ABSDILink_E
2543        Animation          = ABSDILink_E.ABSDILink_E
2544        AnimationMode      = LOOP
2545        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2546      End
2547  
2548  
2549      ; night *************************************
2550      ConditionState       = NIGHT
2551        Model              = ABSDILink_N
2552        Animation          = ABSDILink_N.ABSDILink_N
2553        AnimationMode      = LOOP
2554        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2555      End
2556      ConditionState       = DAMAGED NIGHT
2557        Model              = ABSDILink_DN
2558        Animation          = ABSDILink_DN.ABSDILink_DN
2559        AnimationMode      = LOOP
2560        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2561      End
2562      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
2563        Model              = ABSDILink_EN
2564        Animation          = ABSDILink_EN.ABSDILink_EN
2565        AnimationMode      = LOOP
2566        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2567      End
2568      
2569      ; day snow **************************************
2570      ConditionState       = SNOW
2571        Model              = ABSDILink_S
2572        Animation          = ABSDILink_S.ABSDILink_S
2573        AnimationMode      = LOOP
2574        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2575      End
2576      ConditionState       = DAMAGED SNOW
2577        Model              = ABSDILink_DS
2578        Animation          = ABSDILink_DS.ABSDILink_DS
2579        AnimationMode      = LOOP
2580        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2581      End
2582      ConditionState       = REALLYDAMAGED RUBBLE SNOW
2583        Model              = ABSDILink_ES
2584        Animation          = ABSDILink_ES.ABSDILink_ES
2585        AnimationMode      = LOOP
2586        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2587      End
2588  
2589      ; night snow *************************************
2590      ConditionState       = NIGHT SNOW
2591        Model              = ABSDILink_NS
2592        Animation          = ABSDILink_NS.ABSDILink_NS
2593        AnimationMode      = LOOP
2594        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2595      End
2596      ConditionState       = DAMAGED NIGHT SNOW
2597        Model              = ABSDILink_DNS
2598        Animation          = ABSDILink_DNS.ABSDILink_DNS
2599        AnimationMode      = LOOP
2600        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2601      End
2602      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
2603        Model              = ABSDILink_ENS
2604        Animation          = ABSDILink_ENS.ABSDILink_ENS
2605        AnimationMode      = LOOP
2606        Flags              = MAINTAIN_FRAME_ACROSS_STATES
2607      End
2608  
2609      ;**************************************************************************************************************************
2610      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
2611      ;for this draw module
2612      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2613        Model              = ABSDILink
2614        Animation          = ABSDILink.ABSDILink
2615        AnimationMode      = LOOP
2616        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2617      End
2618      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2619        Model              = ABSDILink_D
2620        Animation          = ABSDILink_D.ABSDILink_D
2621        AnimationMode      = LOOP
2622        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2623      End
2624      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
2625        Model              = ABSDILink_E
2626        Animation          = ABSDILink_E.ABSDILink_E
2627        AnimationMode      = LOOP
2628        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2629      End
2630      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2631        Model              = ABSDILink_N
2632        Animation          = ABSDILink_N.ABSDILink_N
2633        AnimationMode      = LOOP
2634        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2635      End
2636      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
2637        Model              = ABSDILink_DN
2638        Animation          = ABSDILink_DN.ABSDILink_DN
2639        AnimationMode      = LOOP
2640        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2641      End
2642      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
2643        Model              = ABSDILink_EN
2644        Animation          = ABSDILink_EN.ABSDILink_EN
2645        AnimationMode      = LOOP
2646        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2647      End
2648      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2649        Model              = ABSDILink_S
2650        Animation          = ABSDILink_S.ABSDILink_S
2651        AnimationMode      = LOOP
2652        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2653      End
2654      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
2655        Model              = ABSDILink_DS
2656        Animation          = ABSDILink_DS.ABSDILink_DS
2657        AnimationMode      = LOOP
2658        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2659      End
2660      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
2661        Model              = ABSDILink_ES
2662        Animation          = ABSDILink_ES.ABSDILink_ES
2663        AnimationMode      = LOOP
2664        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2665      End
2666      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
2667        Model              = ABSDILink_NS
2668        Animation          = ABSDILink_NS.ABSDILink_NS
2669        AnimationMode      = LOOP
2670        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2671      End
2672      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
2673        Model              = ABSDILink_DNS
2674        Animation          = ABSDILink_DNS.ABSDILink_DNS
2675        AnimationMode      = LOOP
2676        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2677      End
2678      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
2679        Model              = ABSDILink_ENS
2680        Animation          = ABSDILink_ENS.ABSDILink_ENS
2681        AnimationMode      = LOOP
2682        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2683      End
2684  
2685      ConditionState       = AWAITING_CONSTRUCTION 
2686        Model              = NONE
2687      End
2688      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
2689      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
2690      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
2691      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
2692      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
2693      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
2694      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
2695      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
2696      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
2697      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
2698      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
2699      AliasConditionState  = SOLD 
2700      AliasConditionState  = SOLD DAMAGED
2701      AliasConditionState  = SOLD REALLYDAMAGED
2702      AliasConditionState  = SOLD NIGHT
2703      AliasConditionState  = SOLD NIGHT DAMAGED
2704      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
2705      AliasConditionState  = SOLD SNOW
2706      AliasConditionState  = SOLD SNOW DAMAGED
2707      AliasConditionState  = SOLD SNOW REALLYDAMAGED
2708      AliasConditionState  = SOLD NIGHT SNOW
2709      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
2710      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
2711      ;**************************************************************************************************************************
2712  
2713  
2714  
2715    End
2716  
2717    ;------------ the cannon section (hatch, dish animations) -----------
2718    Draw = W3DModelDraw ModuleTag_02
2719      ExtraPublicBone        = FXConnector
2720      ExtraPublicBone        = FXMain
2721      OkToChangeModelColor = Yes
2722      ; day **************************************
2723      ConditionState       = NONE
2724        Model              = ABSDILink_A1
2725        Animation          = ABSDILink_A1.ABSDILink_A1
2726        AnimationMode      = MANUAL
2727        Flags              = START_FRAME_FIRST
2728      End
2729      AliasConditionState  = NIGHT 
2730      AliasConditionState  = NIGHT SNOW
2731      AliasConditionState  = SNOW
2732      
2733      ConditionState       = DAMAGED
2734        Model              = ABSDILink_A1D
2735        Animation          = ABSDILink_A1D.ABSDILink_A1D
2736        AnimationMode      = MANUAL
2737        Flags              = START_FRAME_FIRST
2738      End
2739      AliasConditionState  = NIGHT DAMAGED
2740      AliasConditionState  = NIGHT SNOW DAMAGED
2741      AliasConditionState  = SNOW DAMAGED
2742      
2743      ConditionState       = REALLYDAMAGED RUBBLE
2744        Model              = ABSDILink_A1E
2745        Animation          = ABSDILink_A1E.ABSDILink_A1E
2746        AnimationMode      = MANUAL
2747        Flags              = START_FRAME_FIRST
2748      End
2749      AliasConditionState  = NIGHT REALLYDAMAGED RUBBLE
2750      AliasConditionState  = NIGHT SNOW REALLYDAMAGED RUBBLE
2751      AliasConditionState  = SNOW REALLYDAMAGED RUBBLE
2752      
2753      ConditionState       = AWAITING_CONSTRUCTION
2754        Model              = None
2755      End
2756      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION
2757      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION
2758      AliasConditionState  = SNOW AWAITING_CONSTRUCTION
2759      
2760      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2761        Model              = ABSDILink_A1
2762        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2763      End
2764      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2765      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2766      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2767      
2768      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2769        Model              = ABSDILink_A1D
2770        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2771      End
2772      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2773      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2774      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2775  
2776      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
2777        Model              = ABSDILink_A1E
2778        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2779      End
2780      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
2781      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
2782      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
2783  
2784      ;Preparing to fire!
2785      ConditionState       = UNPACKING
2786        Model              = ABSDILink_A1
2787        Animation          = ABSDILink_A1.ABSDILink_A1
2788        AnimationMode      = ONCE
2789        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
2790      End
2791      AliasConditionState  = NIGHT UNPACKING
2792      AliasConditionState  = NIGHT SNOW UNPACKING
2793      AliasConditionState  = SNOW UNPACKING
2794      
2795      ConditionState       = UNPACKING DAMAGED
2796        Model              = ABSDILink_A1D
2797        Animation          = ABSDILink_A1D.ABSDILink_A1D
2798        AnimationMode      = ONCE
2799        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
2800      End
2801      AliasConditionState  = NIGHT UNPACKING DAMAGED
2802      AliasConditionState  = NIGHT SNOW UNPACKING DAMAGED
2803      AliasConditionState  = SNOW UNPACKING DAMAGED
2804      
2805      ConditionState       = UNPACKING REALLYDAMAGED RUBBLE
2806        Model              = ABSDILink_A1E
2807        Animation          = ABSDILink_A1E.ABSDILink_A1E
2808        AnimationMode      = ONCE
2809        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
2810      End
2811      AliasConditionState  = NIGHT UNPACKING REALLYDAMAGED RUBBLE
2812      AliasConditionState  = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE
2813      AliasConditionState  = SNOW UNPACKING REALLYDAMAGED RUBBLE
2814  
2815      ;Ready to fire -- or firing!
2816      ConditionState       = DEPLOYED
2817        Model              = ABSDILink_A1
2818        Animation          = ABSDILink_A1.ABSDILink_A1
2819        AnimationMode      = MANUAL
2820        Flags              = START_FRAME_LAST
2821      End
2822      AliasConditionState  = NIGHT DEPLOYED
2823      AliasConditionState  = NIGHT SNOW DEPLOYED
2824      AliasConditionState  = SNOW DEPLOYED
2825      
2826      ConditionState       = DEPLOYED DAMAGED
2827        Model              = ABSDILink_A1D
2828        Animation          = ABSDILink_A1D.ABSDILink_A1D
2829        AnimationMode      = MANUAL
2830        Flags              = START_FRAME_LAST
2831      End
2832      AliasConditionState  = NIGHT DEPLOYED DAMAGED
2833      AliasConditionState  = NIGHT SNOW DEPLOYED DAMAGED
2834      AliasConditionState  = SNOW DEPLOYED DAMAGED
2835      
2836      ConditionState       = DEPLOYED REALLYDAMAGED RUBBLE
2837        Model              = ABSDILink_A1E
2838        Animation          = ABSDILink_A1E.ABSDILink_A1E
2839        AnimationMode      = MANUAL
2840        Flags              = START_FRAME_LAST
2841      End
2842      AliasConditionState  = NIGHT DEPLOYED REALLYDAMAGED RUBBLE
2843      AliasConditionState  = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE
2844      AliasConditionState  = SNOW DEPLOYED REALLYDAMAGED RUBBLE
2845     
2846      ;Packing up (recharging for new attack)
2847      ConditionState       = PACKING
2848        Model              = ABSDILink_A1
2849        Animation          = ABSDILink_A1.ABSDILink_A1
2850        AnimationMode      = ONCE_BACKWARDS
2851        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
2852      End
2853      AliasConditionState  = NIGHT PACKING
2854      AliasConditionState  = NIGHT SNOW PACKING
2855      AliasConditionState  = SNOW PACKING
2856      
2857      ConditionState       = PACKING DAMAGED
2858        Model              = ABSDILink_A1D
2859        Animation          = ABSDILink_A1D.ABSDILink_A1D
2860        AnimationMode      = ONCE_BACKWARDS
2861        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
2862      End
2863      AliasConditionState  = NIGHT PACKING DAMAGED
2864      AliasConditionState  = NIGHT SNOW PACKING DAMAGED
2865      AliasConditionState  = SNOW PACKING DAMAGED
2866      
2867      ConditionState       = PACKING REALLYDAMAGED RUBBLE
2868        Model              = ABSDILink_A1E
2869        Animation          = ABSDILink_A1E.ABSDILink_A1E
2870        AnimationMode      = ONCE_BACKWARDS
2871        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
2872      End
2873      AliasConditionState  = NIGHT PACKING REALLYDAMAGED RUBBLE
2874      AliasConditionState  = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE
2875      AliasConditionState  = SNOW PACKING REALLYDAMAGED RUBBLE
2876  
2877     
2878      ConditionState       = SOLD DEPLOYED
2879        Model              = NONE
2880      End     
2881      ConditionState       = SOLD SNOW DEPLOYED
2882         Model             = NONE
2883      End   
2884      ConditionState       = SOLD NIGHT DEPLOYED
2885         Model             = NONE
2886      End    
2887      ConditionState       = SOLD NIGHT SNOW DEPLOYED
2888         Model             = NONE
2889      End   
2890    End
2891  
2892  
2893    ; ------------ construction-zone fence -----------------
2894    Draw = W3DModelDraw ModuleTag_03
2895    AnimationsRequirePower = No
2896      DefaultConditionState
2897        Model           = None
2898        TransitionKey   = DOWN_DEFAULT
2899      End
2900      ConditionState    = NIGHT
2901        Model           = None
2902        TransitionKey   = DOWN_DEFAULT
2903      End
2904      ConditionState    = SNOW
2905        Model           = None
2906        TransitionKey   = DOWN_DEFAULT
2907      End
2908      ConditionState    = SNOW NIGHT
2909        Model           = None
2910        TransitionKey   = DOWN_DEFAULT
2911      End
2912      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2913        Model           = ABSDILink_A4
2914        Animation       = ABSDILink_A4.ABSDILink_A4
2915        AnimationMode   = MANUAL
2916        Flags           = START_FRAME_LAST
2917        TransitionKey   = UP_DAY
2918        ParticleSysBone = SmokeS01 SmokeBuildingSmall
2919        ParticleSysBone = SparksS01 LiveWireSparks02
2920      End
2921      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2922        Model           = ABSDILink_A4N
2923        Animation       = ABSDILink_A4N.ABSDILink_A4N
2924        AnimationMode   = MANUAL
2925        Flags           = START_FRAME_LAST
2926        TransitionKey   = UP_NIGHT
2927        ParticleSysBone = SmokeS01 SmokeBuildingSmall
2928        ParticleSysBone = SparksS01 LiveWireSparks02
2929      End
2930      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2931        Model           = ABSDILink_A4S
2932        Animation       = ABSDILink_A4S.ABSDILink_A4S
2933        AnimationMode   = MANUAL
2934        Flags           = START_FRAME_LAST
2935        TransitionKey   = UP_SNOW
2936        ParticleSysBone = SmokeS01 SmokeBuildingSmall
2937        ParticleSysBone = SparksS01 LiveWireSparks02
2938      End
2939      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2940        Model           = ABSDILink_A4SN
2941        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
2942        AnimationMode   = MANUAL
2943        Flags           = START_FRAME_LAST
2944        TransitionKey   = UP_SNOWNIGHT
2945        ParticleSysBone = SmokeS01 SmokeBuildingSmall
2946        ParticleSysBone = SparksS01 LiveWireSparks02
2947      End
2948      TransitionState   = DOWN_DEFAULT UP_DAY
2949        Model           = ABSDILink_A4
2950        Animation       = ABSDILink_A4.ABSDILink_A4
2951        AnimationMode   = ONCE
2952        AnimationSpeedFactorRange = 1.0 1.0
2953        Flags           = START_FRAME_FIRST
2954      End
2955      TransitionState   = DOWN_DEFAULT UP_NIGHT
2956        Model           = ABSDILink_A4N
2957        Animation       = ABSDILink_A4N.ABSDILink_A4N
2958        AnimationMode   = ONCE
2959        AnimationSpeedFactorRange = 1.0 1.0
2960        Flags           = START_FRAME_FIRST
2961      End
2962      TransitionState   = DOWN_DEFAULT UP_SNOW
2963        Model           = ABSDILink_A4S
2964        Animation       = ABSDILink_A4S.ABSDILink_A4S
2965        AnimationMode   = ONCE
2966        AnimationSpeedFactorRange = 1.0 1.0
2967        Flags           = START_FRAME_FIRST
2968      End
2969      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2970        Model           = ABSDILink_A4SN
2971        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
2972        AnimationMode   = ONCE
2973        AnimationSpeedFactorRange = 1.0 1.0
2974        Flags           = START_FRAME_FIRST
2975      End
2976      TransitionState   = UP_DAY DOWN_DEFAULT
2977        Model           = ABSDILink_A4
2978        Animation       = ABSDILink_A4.ABSDILink_A4
2979        AnimationMode   = ONCE_BACKWARDS
2980        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2981        Flags           = START_FRAME_LAST
2982      End
2983      TransitionState   = UP_NIGHT DOWN_DEFAULT
2984        Model           = ABSDILink_A4N
2985        Animation       = ABSDILink_A4N.ABSDILink_A4N
2986        AnimationMode   = ONCE_BACKWARDS
2987        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2988        Flags           = START_FRAME_LAST
2989      End
2990      TransitionState   = UP_SNOW DOWN_DEFAULT
2991        Model           = ABSDILink_A4S
2992        Animation       = ABSDILink_A4S.ABSDILink_A4S
2993        AnimationMode   = ONCE_BACKWARDS
2994        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2995        Flags           = START_FRAME_LAST
2996      End
2997      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2998        Model           = ABSDILink_A4SN
2999        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
3000        AnimationMode   = ONCE_BACKWARDS
3001        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3002        Flags           = START_FRAME_LAST
3003      End
3004    End
3005  
3006    ; ------------ under-construction scaffolding -----------------
3007    Draw = W3DModelDraw ModuleTag_04
3008    AnimationsRequirePower = No
3009      MinLODRequired = MEDIUM
3010      DefaultConditionState
3011        Model           = None
3012        TransitionKey   = DOWN_DEFAULT
3013      End
3014      ConditionState    = NIGHT
3015        Model           = None
3016        TransitionKey   = DOWN_DEFAULT
3017      End
3018      ConditionState    = SNOW
3019        Model           = None
3020        TransitionKey   = DOWN_DEFAULT
3021      End
3022      ConditionState    = SNOW NIGHT
3023        Model           = None
3024        TransitionKey   = DOWN_DEFAULT
3025      End
3026      ConditionState    = PARTIALLY_CONSTRUCTED
3027        Model           = ABSDILink_A6
3028        Animation       = ABSDILink_A6.ABSDILink_A6
3029        AnimationMode   = MANUAL
3030        Flags           = START_FRAME_LAST
3031        TransitionKey   = UP_DAY
3032        ParticleSysBone = Sparks01 BuildUpBlueSpark
3033        ParticleSysBone = Sparks02 BuildUpBlueSpark
3034        ParticleSysBone = Sparks03 BuildUpBlueSpark
3035        ParticleSysBone = Sparks04 BuildUpBlueSpark
3036        ParticleSysBone = Sparks05 BuildUpBlueSpark
3037      End
3038      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
3039        Model           = ABSDILink_A6N
3040        Animation       = ABSDILink_A6N.ABSDILink_A6N
3041        AnimationMode   = MANUAL
3042        Flags           = START_FRAME_LAST
3043        TransitionKey   = UP_NIGHT
3044        ParticleSysBone = Sparks01 BuildUpBlueSpark
3045        ParticleSysBone = Sparks02 BuildUpBlueSpark
3046        ParticleSysBone = Sparks03 BuildUpBlueSpark
3047        ParticleSysBone = Sparks04 BuildUpBlueSpark
3048        ParticleSysBone = Sparks05 BuildUpBlueSpark
3049      End
3050      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
3051        Model           = ABSDILink_A6S
3052        Animation       = ABSDILink_A6S.ABSDILink_A6S
3053        AnimationMode   = MANUAL
3054        Flags           = START_FRAME_LAST
3055        TransitionKey   = UP_SNOW
3056        ParticleSysBone = Sparks01 BuildUpBlueSpark
3057        ParticleSysBone = Sparks02 BuildUpBlueSpark
3058        ParticleSysBone = Sparks03 BuildUpBlueSpark
3059        ParticleSysBone = Sparks04 BuildUpBlueSpark
3060        ParticleSysBone = Sparks05 BuildUpBlueSpark
3061      End
3062      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
3063        Model           = ABSDILink_A6SN
3064        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
3065        AnimationMode   = MANUAL
3066        Flags           = START_FRAME_LAST
3067        TransitionKey   = UP_SNOWNIGHT
3068        ParticleSysBone = Sparks01 BuildUpBlueSpark
3069        ParticleSysBone = Sparks02 BuildUpBlueSpark
3070        ParticleSysBone = Sparks03 BuildUpBlueSpark
3071        ParticleSysBone = Sparks04 BuildUpBlueSpark
3072        ParticleSysBone = Sparks05 BuildUpBlueSpark
3073      End
3074      TransitionState   = DOWN_DEFAULT UP_DAY
3075       Model            = ABSDILink_A6
3076        Animation       = ABSDILink_A6.ABSDILink_A6
3077        AnimationMode   = ONCE
3078        AnimationSpeedFactorRange = 1.0 1.0
3079        Flags           = START_FRAME_FIRST
3080      End
3081      TransitionState   = DOWN_DEFAULT UP_NIGHT
3082       Model            = ABSDILink_A6N
3083        Animation       = ABSDILink_A6N.ABSDILink_A6N
3084        AnimationMode   = ONCE
3085        AnimationSpeedFactorRange = 1.0 1.0
3086        Flags           = START_FRAME_FIRST
3087      End
3088      TransitionState   = DOWN_DEFAULT UP_SNOW
3089       Model            = ABSDILink_A6S
3090        Animation       = ABSDILink_A6S.ABSDILink_A6S
3091        AnimationMode   = ONCE
3092        AnimationSpeedFactorRange = 1.0 1.0
3093        Flags           = START_FRAME_FIRST
3094      End
3095      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
3096       Model            = ABSDILink_A6SN
3097        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
3098        AnimationMode   = ONCE
3099        AnimationSpeedFactorRange = 1.0 1.0
3100        Flags           = START_FRAME_FIRST
3101      End
3102      TransitionState   = UP_DAY DOWN_DEFAULT
3103        Model           = ABSDILink_A6
3104        Animation       = ABSDILink_A6.ABSDILink_A6
3105        AnimationMode   = ONCE_BACKWARDS
3106        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3107        Flags           = START_FRAME_LAST
3108      End
3109      TransitionState   = UP_NIGHT DOWN_DEFAULT
3110        Model           = ABSDILink_A6N
3111        Animation       = ABSDILink_A6N.ABSDILink_A6N
3112        AnimationMode   = ONCE_BACKWARDS
3113        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3114        Flags           = START_FRAME_LAST
3115      End
3116      TransitionState   = UP_SNOW DOWN_DEFAULT
3117        Model           = ABSDILink_A6S
3118        Animation       = ABSDILink_A6S.ABSDILink_A6S
3119        AnimationMode   = ONCE_BACKWARDS
3120        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3121        Flags           = START_FRAME_LAST
3122      End
3123      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
3124        Model           = ABSDILink_A6SN
3125        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
3126        AnimationMode   = ONCE_BACKWARDS
3127        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3128        Flags           = START_FRAME_LAST
3129      End
3130    End
3131  
3132    ; ------------ being-constructed crane -----------------
3133    Draw = W3DModelDraw ModuleTag_05
3134    AnimationsRequirePower = No
3135      DefaultConditionState
3136        Model           = None
3137        TransitionKey   = DOWN_DEFAULT
3138      End
3139      ConditionState    = NIGHT
3140        Model           = None
3141        TransitionKey   = DOWN_DEFAULT
3142      End
3143      ConditionState    = SNOW
3144        Model           = None
3145        TransitionKey   = DOWN_DEFAULT
3146      End
3147      ConditionState    = SNOW NIGHT
3148        Model           = None
3149        TransitionKey   = DOWN_DEFAULT
3150      End
3151      ConditionState    = SOLD
3152        Model           = NONE
3153      End
3154  
3155      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
3156        Model           = ABSDILink_A5
3157        Animation       = ABSDILink_A5.ABSDILink_A5
3158        AnimationMode   = LOOP
3159        TransitionKey  = UP_DAY
3160      End
3161  
3162      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
3163        Model           = ABSDILink_A5N
3164        Animation       = ABSDILink_A5N.ABSDILink_A5N
3165        AnimationMode   = LOOP
3166        TransitionKey  = UP_NIGHT
3167      End
3168      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
3169        Model           = ABSDILink_A5S
3170        Animation       = ABSDILink_A5S.ABSDILink_A5S
3171        AnimationMode   = LOOP
3172        TransitionKey  = UP_SNOW
3173      End
3174      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
3175        Model           = ABSDILink_A5SN
3176        Animation       = ABSDILink_A5SN.ABSDILink_A5SN
3177        AnimationMode   = LOOP
3178        TransitionKey  = UP_SNOWNIGHT
3179      End
3180      TransitionState   = DOWN_DEFAULT UP_DAY
3181        Model            = ABSDILink_AB
3182        Animation       = ABSDILink_AB.ABSDILink_AB
3183        AnimationMode   = ONCE
3184        AnimationSpeedFactorRange = 1.0 1.0
3185        Flags           = START_FRAME_FIRST
3186      End
3187  
3188      TransitionState   = DOWN_DEFAULT UP_NIGHT
3189        Model            = ABSDILink_ABN
3190        Animation       = ABSDILink_ABN.ABSDILink_ABN
3191        AnimationMode   = ONCE
3192        AnimationSpeedFactorRange = 1.0 1.0
3193        Flags           = START_FRAME_FIRST
3194      End
3195      TransitionState   = DOWN_DEFAULT UP_SNOW
3196        Model            = ABSDILink_ABS
3197        Animation       = ABSDILink_ABS.ABSDILink_ABS
3198        AnimationMode   = ONCE
3199        AnimationSpeedFactorRange = 1.0 1.0
3200        Flags           = START_FRAME_FIRST
3201      End
3202      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
3203        Model            = ABSDILink_ABSN
3204        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
3205        AnimationMode   = ONCE
3206        AnimationSpeedFactorRange = 1.0 1.0
3207        Flags           = START_FRAME_FIRST
3208      End
3209      TransitionState   = UP_DAY DOWN_DEFAULT
3210        Model            = ABSDILink_AB
3211        Animation       = ABSDILink_AB.ABSDILink_AB
3212        AnimationMode   = ONCE_BACKWARDS
3213        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3214        Flags           = START_FRAME_LAST
3215      End
3216      TransitionState   = UP_NIGHT DOWN_DEFAULT
3217        Model            = ABSDILink_ABN
3218        Animation       = ABSDILink_ABN.ABSDILink_ABN
3219        AnimationMode   = ONCE_BACKWARDS
3220        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3221        Flags           = START_FRAME_LAST
3222      End
3223      TransitionState   = UP_SNOW DOWN_DEFAULT
3224        Model            = ABSDILink_ABS
3225        Animation       = ABSDILink_ABS.ABSDILink_ABS
3226        AnimationMode   = ONCE_BACKWARDS
3227        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3228        Flags           = START_FRAME_LAST
3229      End
3230      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
3231        Model            = ABSDILink_ABSN
3232        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
3233        AnimationMode   = ONCE_BACKWARDS
3234        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
3235        Flags           = START_FRAME_LAST
3236      End
3237    End
3238   
3239    PlacementViewAngle = -45
3240  
3241    ; ***DESIGN parameters ***
3242    DisplayName      = OBJECT:ParticleCannon 
3243    Side = Boss
3244    EditorSorting    = STRUCTURE
3245    Prerequisites
3246      Object = Boss_WarFactory 
3247      Object = Boss_Airfield
3248    End
3249    BuildCost        = 5000
3250    BuildTime        = 60.0           ; in seconds
3251    EnergyProduction = -10
3252    VisionRange     = 200.0           ; Shroud clearing distance
3253    ShroudClearingRange = 200
3254    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
3255                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
3256    ArmorSet
3257      Conditions      = None
3258      Armor           = StructureArmorTough
3259      DamageFX        = StructureDamageFXNoShake
3260    End
3261    CommandSet        = Boss_AmericaParticleUplinkCannonCommandSet
3262    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
3263  
3264    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
3265    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
3266  
3267    ; *** AUDIO Parameters ***
3268    VoiceSelect = ParticleCannonSelect
3269    SoundOnDamaged        = BuildingDamagedStateLight
3270    SoundOnReallyDamaged  = BuildingDestroy
3271  
3272    UnitSpecificSounds
3273      UnderConstruction     = UnderConstructionLoop
3274    End
3275  
3276    ; *** ENGINEERING Parameters ***
3277    RadarPriority   = STRUCTURE
3278    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
3279    Body            = StructureBody ModuleTag_06
3280      MaxHealth       = 4000.0
3281      InitialHealth   = 4000.0
3282  
3283      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
3284      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
3285      SubdualDamageCap = 4200
3286      SubdualDamageHealRate = 500
3287      SubdualDamageHealAmount = 100
3288    End
3289    Behavior = BaseRegenerateUpdate ModuleTag_07
3290      ;No data
3291    End
3292  
3293    Behavior = SpecialPowerCreate ModuleTag_16
3294      ;nothing
3295    End
3296    Behavior = SpecialAbility ModuleTag_11
3297      SpecialPowerTemplate = SuperweaponParticleUplinkCannon
3298      UpdateModuleStartsAttack = Yes
3299    End
3300    Behavior = ParticleUplinkCannonUpdate ModuleTag_12
3301      SpecialPowerTemplate            = SuperweaponParticleUplinkCannon
3302  
3303      ;The values trigger the various pre-stages before being ready to actually fire.
3304      ;The total combined value of these determines the first sign of activity in the 
3305      ;cannon.
3306      BeginChargeTime                 = 5000 ;The outer nodes begin to charge.
3307      RaiseAntennaTime                = 4667 ;The hatch opens and raises antenna (matches animation speed)
3308      ReadyDelayTime                  = 2000 ;The time after antenna is raised prior to being ready to fire.
3309  
3310      ;***NOTE -- these values effect gameplay*****
3311      TotalFiringTime                 = 10000     ;The total ground contact time of the beam
3312  
3313      DamagePerSecond                 = 400       ;Amount of damage inflicted per second
3314      TotalDamagePulses               = 40        ;The total number of damage pulses -- less means more damage per pulse, but less accurate
3315      WidthGrowTime                   = 2000      ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking)
3316      BeamTravelTime                  = 2500      ;How long it takes for the beam to hit the ground after leaving the firing dish.
3317      DamageType                      = PARTICLE_BEAM ;Type of damage inflicted.
3318      DamageRadiusScalar              = 3.4       ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too!
3319      RevealRange                     = 50.0      ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death.
3320      ;********************************************
3321  
3322      ;Bone names for required elements
3323      OuterEffectBoneName             = FX          ;The base name for the outer node bones.
3324      OuterEffectNumBones             = 5           ;The number of outer nodes.
3325      ConnectorBoneName               = FXConnector ;The name of the bone where the connector lasers meet.
3326      FireBoneName                    = FXMain      ;The name of the bone where the main beam is fired from.
3327  
3328      ;These are particle systems tied to the outer nodes in varying intensities.
3329      OuterNodesLightFlareParticleSystem    = ParticleUplinkCannon_OuterNodeLightFlare
3330      OuterNodesMediumFlareParticleSystem   = ParticleUplinkCannon_OuterNodeMediumFlare
3331      OuterNodesIntenseFlareParticleSystem  = ParticleUplinkCannon_OuterNodeIntenseFlare
3332  
3333      ;The connectors system connects each of the outer nodes to the central node that receives
3334      ;the lasers from outside.
3335      ConnectorMediumLaserName        = ParticleUplinkCannon_MediumConnectorLaser
3336      ConnectorIntenseLaserName       = ParticleUplinkCannon_IntenseConnectorLaser
3337  
3338      ;Currently commented out -- These
3339      ;ConnectorMediumFlare            = ParticleUplinkCannon_InnerConnectorMediumFlare
3340      ;ConnectorIntenseFlare           = ParticleUplinkCannon_InnerConnectorIntenseFlare
3341  
3342      ;This is the name of the bone on the building where the beam is fired from
3343      LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire
3344      ParticleBeamLaserName           = ParticleUplinkCannon_OrbitalLaser
3345      GroundHitFX                     = FX_ParticleUplinkCannon_BeamHitsGround     ;TotalScorchMarks determines how many times this gets called.
3346  
3347      ;The flare fxlist that is played over and over during the beam firing process. Be
3348      ;mindful of the delay because that effects both art and sound.
3349      BeamLaunchFX                   = FX_ParticleUplinkCannon_BeamLaunchIteration
3350      DelayBetweenLaunchFX           = 1000
3351  
3352      ;Each scorch mark creates an object in the world, so while making more looks better
3353      ;it becomes a performance issue. The scalar will calculate the size of the scorch
3354      ;mark to make based on the current size of the beam (which changes dynamically). The
3355      ;number also matches the number of times the "GroundHitFX" is called.
3356      TotalScorchMarks               = 20
3357      ScorchMarkScalar               = 2.4
3358  
3359      ;***NOTE -- these values effect gameplay***
3360      ;The swath of death is the path the laser tracers centered on the targeted position.
3361      ;If the amplitude is zero, the line will go straight, with a higher value, it'll do
3362      ;a sine wave iteration, but always goes through the target point.
3363      SwathOfDeathDistance           = 200.0
3364      SwathOfDeathAmplitude          = 50.0
3365  
3366  
3367      ManualDrivingSpeed             = 20
3368      ManualFastDrivingSpeed         = 40
3369      DoubleClickToFastDriveDelay    = 500
3370  
3371      ;***SOUNDS!****
3372      PoweringUpSoundLoop            = ParticleUplinkCannon_PowerupSoundLoop
3373      UnpackToIdleSoundLoop          = ParticleUplinkCannon_UnpackToIdleSoundLoop
3374      FiringToPackSoundLoop          = ParticleUplinkCannon_FiringToPackSoundLoop
3375      GroundAnnihilationSoundLoop    = ParticleUplinkCannon_GroundAnnihilationSoundLoop
3376  
3377      ;The trail left behind creates an object that inflicts extra damage for a short period of time.
3378      DamagePulseRemnantObjectName   = ParticleUplinkCannonTrailRemnant
3379    End
3380    
3381    Behavior = FlammableUpdate ModuleTag_14
3382      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
3383      AflameDamageAmount = 5       ; taking this much damage...
3384      AflameDamageDelay = 500       ; this often.
3385    End
3386  
3387    Behavior = ProductionUpdate ModuleTag_15
3388      ; This is needed in order to get a public timer to work!
3389    End
3390  
3391    Behavior = TransitionDamageFX ModuleTag_17
3392      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
3393      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
3394      ;---------------------------------------------------------------------------------------
3395      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
3396      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
3397      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
3398    End
3399  
3400    Behavior = SlowDeathBehavior ModuleTag_18
3401      ; don't run this death if we are under construction...
3402      ExemptStatus   = UNDER_CONSTRUCTION
3403      DestructionDelay = 2000
3404      FX             = INITIAL FX_ParticleUplinkDeathInitial
3405      OCL            = INITIAL OCL_SDILinkLasers
3406      FX             = FINAL   FX_StructureMediumDeath
3407      OCL            = FINAL   OCL_ParticleUplinkDeathFinal
3408    End
3409  
3410    Behavior = InstantDeathBehavior ModuleTag_19
3411      ; if we are under construction, use this death instead
3412      RequiredStatus = UNDER_CONSTRUCTION
3413      OCL            = OCL_ABPowerPlantExplode
3414      FX             = FX_StructureMediumDeath
3415    End
3416  
3417    Behavior = CommandSetUpgrade ModuleTag_20
3418      CommandSet = Boss_AmericaParticleUplinkCannonCommandSetUpgrade
3419      TriggeredBy = Upgrade_ChinaMines
3420    End
3421  
3422    Behavior = GenerateMinefieldBehavior     ModuleTag_21
3423      TriggeredBy           = Upgrade_ChinaMines
3424      MineName              = ChinaStandardMine
3425      SmartBorder           = Yes
3426      AlwaysCircular        = Yes
3427  
3428      Upgradable            = Yes
3429      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
3430      UpgradedMineName      = ChinaEMPMine
3431    End
3432  
3433    Behavior = ProductionUpdate ModuleTag_22
3434      ; nothing
3435    End
3436  
3437    Behavior = ArmorUpgrade ModuleTag_26
3438      TriggeredBy = Upgrade_ChinaEMPMines
3439    End
3440  
3441  
3442    Geometry            = BOX
3443    GeometryMajorRadius = 64.0
3444    GeometryMinorRadius = 38.0
3445    GeometryHeight      = 38.0
3446    GeometryIsSmall     = No
3447    Shadow          = SHADOW_VOLUME
3448    BuildCompletion = PLACED_BY_PLAYER
3449  
3450  End
3451  
3452  
3453  
3454  
3455  
3456  
3457  
3458  
3459  
3460  
3461  
3462  
3463  
3464  
3465  
3466  
3467  
3468  
3469  
3470  
3471  
3472  
3473  
3474  
3475  
3476  
3477  
3478  
3479  
3480  
3481  
3482  
3483  
3484  
3485  
3486  
3487  
3488  
3489  
3490  
3491  
3492  ;------------------------------------------------------------------------------
3493  
3494  Object Boss_Airfield
3495  
3496    ; *** ART Parameters ***
3497    SelectPortrait         = SNAirfield_L
3498    ButtonImage            = SNAirfield
3499    Draw = W3DModelDraw ModuleTag_01
3500  
3501      OkToChangeModelColor = Yes
3502  
3503      ExtraPublicBone = Runway1Parking1 
3504      ExtraPublicBone = Runway1Parking2 
3505      ExtraPublicBone = Runway2Parking1 
3506      ExtraPublicBone = Runway2Parking2 
3507      ExtraPublicBone = Runway1Park1Han
3508      ExtraPublicBone = Runway1Park2Han
3509      ExtraPublicBone = Runway2Park1Han
3510      ExtraPublicBone = Runway2Park2Han 
3511      ExtraPublicBone = Runway1Prep1 
3512      ExtraPublicBone = Runway1Prep2 
3513      ExtraPublicBone = Runway2Prep1 
3514      ExtraPublicBone = Runway2Prep2 
3515      ExtraPublicBone = RunwayStart1 
3516      ExtraPublicBone = RunwayStart2 
3517      ExtraPublicBone = RunwayEnd1 
3518      ExtraPublicBone = RunwayEnd2
3519  
3520      ExtraPublicBone = HeliPark01
3521  
3522  ; ------------- DAY ------------------    
3523  
3524      DefaultConditionState
3525        Model         = NBAirfield
3526        Animation     = NBAirfield.NBAirfield
3527        AnimationMode = LOOP
3528      End
3529      ConditionState = DAMAGED
3530        Model         = NBAirfield_D
3531        Animation     = NBAirfield_D.NBAirfield_D
3532        AnimationMode = LOOP
3533      End
3534      ConditionState = REALLYDAMAGED RUBBLE
3535        Model         = NBAirfield_E
3536        Animation     = NBAirfield_E.NBAirfield_E
3537        AnimationMode = LOOP
3538      End
3539      
3540  ; ------------- SNOW ------------------        
3541      ConditionState  = SNOW
3542        Model         = NBAirfield_S
3543        Animation     = NBAirfield_S.NBAirfield_S
3544        AnimationMode = LOOP
3545      End
3546      ConditionState = DAMAGED SNOW
3547        Model         = NBAirfield_DS
3548        Animation     = NBAirfield_DS.NBAirfield_DS
3549        AnimationMode = LOOP
3550      End
3551      ConditionState = REALLYDAMAGED RUBBLE SNOW
3552        Model         = NBAirfield_ES
3553        Animation     = NBAirfield_ES.NBAirfield_ES
3554        AnimationMode = LOOP
3555      End
3556      
3557  ; ------------- NIGHT ------------------       
3558  
3559      ConditionState = NIGHT
3560        Model         = NBAirfield_N
3561        Animation     = NBAirfield_N.NBAirfield_N
3562        AnimationMode = LOOP
3563      End
3564      ConditionState = DAMAGED NIGHT
3565        Model         = NBAirfield_DN
3566        Animation     = NBAirfield_DN.NBAirfield_DN
3567        AnimationMode = LOOP
3568      End
3569      ConditionState = REALLYDAMAGED RUBBLE NIGHT
3570        Model         = NBAirfield_EN
3571        Animation     = NBAirfield_EN.NBAirfield_EN
3572        AnimationMode = LOOP
3573      End
3574      
3575  ; ------------- NIGHT SNOW------------------       
3576      
3577      ConditionState = NIGHT SNOW
3578        Model         = NBAirfield_NS
3579        Animation     = NBAirfield_NS.NBAirfield_NS
3580        AnimationMode = LOOP
3581      End
3582      ConditionState = DAMAGED NIGHT SNOW
3583        Model         = NBAirfield_DNS
3584        Animation     = NBAirfield_DNS.NBAirfield_DNS
3585        AnimationMode = LOOP
3586      End
3587      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
3588        Model         = NBAirfield_ENS
3589        Animation     = NBAirfield_ENS.NBAirfield_ENS
3590        AnimationMode = LOOP
3591      End
3592      
3593      ;**************************************************************************************************************************
3594      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
3595      ;for this draw module
3596      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3597        Model              = NBAirfield
3598        Animation          = NBAirfield.NBAirfield
3599        AnimationMode      = LOOP
3600        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3601      End
3602      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3603        Model              = NBAirfield_D
3604        Animation          = NBAirfield_D.NBAirfield_D
3605        AnimationMode      = LOOP
3606        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3607      End
3608      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
3609        Model              = NBAirfield_E
3610        Animation          = NBAirfield_E.NBAirfield_E
3611        AnimationMode      = LOOP
3612        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3613      End
3614      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
3615        Model              = NBAirfield_N
3616        Animation          = NBAirfield_N.NBAirfield_N
3617        AnimationMode      = LOOP
3618        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3619      End
3620      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
3621        Model              = NBAirfield_DN
3622        Animation          = NBAirfield_DN.NBAirfield_DN
3623        AnimationMode      = LOOP
3624        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3625      End
3626      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
3627        Model              = NBAirfield_EN
3628        Animation          = NBAirfield_EN.NBAirfield_EN
3629        AnimationMode      = LOOP
3630        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3631      End
3632      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
3633        Model              = NBAirfield_S
3634        Animation          = NBAirfield_S.NBAirfield_S
3635        AnimationMode      = LOOP
3636        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3637      End
3638      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
3639        Model              = NBAirfield_DS
3640        Animation          = NBAirfield_DS.NBAirfield_DS
3641        AnimationMode      = LOOP
3642        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3643      End
3644      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
3645        Model              = NBAirfield_ES
3646        Animation          = NBAirfield_ES.NBAirfield_ES
3647        AnimationMode      = LOOP
3648        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3649      End
3650      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
3651        Model              = NBAirfield_NS
3652        Animation          = NBAirfield_NS.NBAirfield_NS
3653        AnimationMode      = LOOP
3654        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3655      End
3656      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
3657        Model              = NBAirfield_DNS
3658        Animation          = NBAirfield_DNS.NBAirfield_DNS
3659        AnimationMode      = LOOP
3660        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3661      End
3662      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
3663        Model              = NBAirfield_ENS
3664        Animation          = NBAirfield_ENS.NBAirfield_ENS
3665        AnimationMode      = LOOP
3666        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3667      End
3668  
3669      ConditionState       = AWAITING_CONSTRUCTION 
3670        Model              = NONE
3671      End
3672      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
3673      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
3674      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
3675      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
3676      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
3677      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
3678      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
3679      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
3680      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
3681      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
3682      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
3683      AliasConditionState  = SOLD 
3684      AliasConditionState  = SOLD DAMAGED
3685      AliasConditionState  = SOLD REALLYDAMAGED
3686      AliasConditionState  = SOLD NIGHT
3687      AliasConditionState  = SOLD NIGHT DAMAGED
3688      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
3689      AliasConditionState  = SOLD SNOW
3690      AliasConditionState  = SOLD SNOW DAMAGED
3691      AliasConditionState  = SOLD SNOW REALLYDAMAGED
3692      AliasConditionState  = SOLD NIGHT SNOW
3693      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
3694      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
3695      ;**************************************************************************************************************************
3696      
3697      
3698    End
3699    
3700    
3701    Draw = W3DModelDraw ModuleTag_02
3702      DefaultConditionState
3703        Model           = None
3704      End
3705    End
3706  
3707    ; ----------------- door #1 -------------------
3708    Draw                = W3DModelDraw ModuleTag_03
3709      DefaultConditionState
3710        Model           = NBAirfield_A9
3711        Animation       = NBAirfield_A9.NBAirfield_A9
3712        AnimationMode   = MANUAL
3713        Flags           = START_FRAME_FIRST
3714      End
3715      AliasConditionState = NIGHT 
3716      AliasConditionState = SNOW
3717      AliasConditionState = SNOW NIGHT
3718      AliasConditionState = NIGHT DAMAGED
3719      AliasConditionState = SNOW DAMAGED
3720      AliasConditionState = SNOW NIGHT DAMAGED
3721      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
3722      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
3723      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
3724      
3725      ConditionState    = DOOR_1_OPENING
3726        Model           = NBAirfield_A9
3727        Animation       = NBAirfield_A9.NBAirfield_A9
3728        AnimationMode   = ONCE
3729        Flags           = START_FRAME_FIRST
3730      End   
3731      AliasConditionState = NIGHT DOOR_1_OPENING
3732      AliasConditionState = SNOW DOOR_1_OPENING
3733      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
3734      AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING
3735      AliasConditionState = SNOW DAMAGED DOOR_1_OPENING
3736      AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_OPENING
3737      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
3738      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
3739      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
3740      
3741      ConditionState    = DOOR_1_CLOSING
3742        Model           = NBAirfield_A9
3743        Animation       = NBAirfield_A9.NBAirfield_A9
3744        AnimationMode   = ONCE_BACKWARDS
3745        Flags           = START_FRAME_LAST
3746      End   
3747      AliasConditionState = NIGHT DOOR_1_CLOSING
3748      AliasConditionState = SNOW DOOR_1_CLOSING
3749      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
3750      AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING
3751      AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING
3752      AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_CLOSING
3753      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
3754      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
3755      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
3756      
3757      ConditionState    = DOOR_1_WAITING_OPEN
3758        Model           = NBAirfield_A9
3759        Animation       = NBAirfield_A9.NBAirfield_A9
3760        AnimationMode   = MANUAL
3761        Flags           = START_FRAME_LAST
3762      End
3763      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
3764      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
3765      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
3766      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN
3767      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN
3768      AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_WAITING_OPEN
3769      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
3770      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
3771      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
3772      
3773      ;**************************************************************************************************************************
3774      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
3775      ;for this draw module
3776      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3777        Model              = NBAirfield_A9
3778        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3779      End
3780      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
3781      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
3782      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
3783      
3784      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3785        Model              = NBAirfield_A9
3786        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3787      End
3788      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
3789      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
3790      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
3791      
3792      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
3793        Model              = NBAirfield_A9
3794        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3795      End
3796      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
3797      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
3798      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
3799      
3800      ConditionState       = AWAITING_CONSTRUCTION 
3801        Model              = NONE
3802      End
3803      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
3804      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
3805      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
3806      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
3807      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
3808      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
3809      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
3810      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
3811      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
3812      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
3813      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
3814      AliasConditionState  = SOLD 
3815      AliasConditionState  = SOLD DAMAGED
3816      AliasConditionState  = SOLD REALLYDAMAGED
3817      AliasConditionState  = SOLD NIGHT
3818      AliasConditionState  = SOLD NIGHT DAMAGED
3819      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
3820      AliasConditionState  = SOLD SNOW
3821      AliasConditionState  = SOLD SNOW DAMAGED
3822      AliasConditionState  = SOLD SNOW REALLYDAMAGED
3823      AliasConditionState  = SOLD NIGHT SNOW
3824      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
3825      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
3826      ;**************************************************************************************************************************
3827  
3828      
3829    End
3830  
3831    ; ----------------- door #2 -------------------
3832  ; this one has no door #2... (srj)
3833  ;  Draw                = W3DModelDraw
3834  ;    DefaultConditionState
3835  ;      Model           = NBAirfield_A10
3836  ;      Animation       = NBAirfield_A10.NBAirfield_A10
3837  ;      AnimationMode   = MANUAL
3838  ;      Flags           = START_FRAME_FIRST
3839  ;    End
3840  ;    ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3841  ;      Model           = NBAirfield_A10
3842  ;      Flags           = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3843  ;    End
3844  ;    ConditionState    = DOOR_2_OPENING
3845  ;      Model           = NBAirfield_A10
3846  ;      Animation       = NBAirfield_A10.NBAirfield_A10
3847  ;      AnimationMode   = ONCE
3848  ;      Flags           = START_FRAME_FIRST
3849  ;    End   
3850  ;    ConditionState    = DOOR_2_CLOSING
3851  ;      Model           = NBAirfield_A10
3852  ;      Animation       = NBAirfield_A10.NBAirfield_A10
3853  ;      AnimationMode   = ONCE_BACKWARDS
3854  ;      Flags           = START_FRAME_LAST
3855  ;    End   
3856  ;    ConditionState    = DOOR_2_WAITING_OPEN
3857  ;      Model           = NBAirfield_A10
3858  ;      Animation       = NBAirfield_A10.NBAirfield_A10
3859  ;      AnimationMode   = MANUAL
3860  ;      Flags           = START_FRAME_LAST
3861  ;    End   
3862  ;  End
3863    
3864    ; ----------------- door #3 -------------------
3865    Draw                = W3DModelDraw ModuleTag_04
3866      DefaultConditionState
3867        Model           = NBAirfield_A10
3868        Animation       = NBAirfield_A10.NBAirfield_A10
3869        AnimationMode   = MANUAL
3870        Flags           = START_FRAME_FIRST
3871      End
3872      AliasConditionState = NIGHT 
3873      AliasConditionState = SNOW
3874      AliasConditionState = SNOW NIGHT
3875      AliasConditionState = NIGHT DAMAGED
3876      AliasConditionState = SNOW DAMAGED
3877      AliasConditionState = SNOW NIGHT DAMAGED
3878      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
3879      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
3880      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE 
3881      
3882      
3883      
3884      ConditionState    = DOOR_3_OPENING
3885        Model           = NBAirfield_A10
3886        Animation       = NBAirfield_A10.NBAirfield_A10
3887        AnimationMode   = ONCE
3888        Flags           = START_FRAME_FIRST
3889      End   
3890      AliasConditionState = NIGHT DOOR_3_OPENING
3891      AliasConditionState = SNOW DOOR_3_OPENING
3892      AliasConditionState = SNOW NIGHT DOOR_3_OPENING
3893      AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING
3894      AliasConditionState = SNOW DAMAGED DOOR_3_OPENING
3895      AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_OPENING
3896      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
3897      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
3898      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
3899      
3900      ConditionState    = DOOR_3_CLOSING
3901        Model           = NBAirfield_A10
3902        Animation       = NBAirfield_A10.NBAirfield_A10
3903        AnimationMode   = ONCE_BACKWARDS
3904        Flags           = START_FRAME_LAST
3905      End 
3906      AliasConditionState = NIGHT DOOR_3_CLOSING
3907      AliasConditionState = SNOW DOOR_3_CLOSING
3908      AliasConditionState = SNOW NIGHT DOOR_3_CLOSING
3909      AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING
3910      AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING
3911      AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_CLOSING
3912      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
3913      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
3914      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
3915        
3916      ConditionState    = DOOR_3_WAITING_OPEN
3917        Model           = NBAirfield_A10
3918        Animation       = NBAirfield_A10.NBAirfield_A10
3919        AnimationMode   = MANUAL
3920        Flags           = START_FRAME_LAST
3921      End   
3922      AliasConditionState = NIGHT DOOR_3_WAITING_OPEN
3923      AliasConditionState = SNOW DOOR_3_WAITING_OPEN
3924      AliasConditionState = SNOW NIGHT DOOR_3_WAITING_OPEN
3925      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN
3926      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN
3927      AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_WAITING_OPEN
3928      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
3929      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
3930      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
3931  
3932      ;**************************************************************************************************************************
3933      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
3934      ;for this draw module
3935      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3936        Model              = NBAirfield_A10
3937        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3938      End
3939      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
3940      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
3941      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
3942      
3943      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3944        Model              = NBAirfield_A10
3945        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3946      End
3947      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
3948      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
3949      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
3950      
3951      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
3952        Model              = NBAirfield_A10
3953        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3954      End
3955      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
3956      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
3957      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
3958      
3959      ConditionState       = AWAITING_CONSTRUCTION 
3960        Model              = NONE
3961      End
3962      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
3963      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
3964      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
3965      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
3966      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
3967      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
3968      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
3969      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
3970      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
3971      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
3972      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
3973      AliasConditionState  = SOLD 
3974      AliasConditionState  = SOLD DAMAGED
3975      AliasConditionState  = SOLD REALLYDAMAGED
3976      AliasConditionState  = SOLD NIGHT
3977      AliasConditionState  = SOLD NIGHT DAMAGED
3978      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
3979      AliasConditionState  = SOLD SNOW
3980      AliasConditionState  = SOLD SNOW DAMAGED
3981      AliasConditionState  = SOLD SNOW REALLYDAMAGED
3982      AliasConditionState  = SOLD NIGHT SNOW
3983      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
3984      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
3985      ;**************************************************************************************************************************    
3986  
3987      
3988    End
3989  
3990    ; ----------------- door #4 -------------------
3991    Draw                = W3DModelDraw ModuleTag_05
3992      DefaultConditionState
3993        Model           = NBAirfield_A8
3994        Animation       = NBAirfield_A8.NBAirfield_A8
3995        AnimationMode   = MANUAL
3996        Flags           = START_FRAME_FIRST
3997      End
3998      AliasConditionState = NIGHT 
3999      AliasConditionState = SNOW
4000      AliasConditionState = SNOW NIGHT
4001      AliasConditionState = NIGHT DAMAGED
4002      AliasConditionState = SNOW DAMAGED
4003      AliasConditionState = SNOW NIGHT DAMAGED
4004      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
4005      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
4006      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE 
4007      
4008      ConditionState    = DOOR_4_OPENING
4009        Model           = NBAirfield_A8
4010        Animation       = NBAirfield_A8.NBAirfield_A8
4011        AnimationMode   = ONCE
4012        Flags           = START_FRAME_FIRST
4013      End   
4014      AliasConditionState = NIGHT DOOR_4_OPENING
4015      AliasConditionState = SNOW DOOR_4_OPENING
4016      AliasConditionState = SNOW NIGHT DOOR_4_OPENING
4017      AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING
4018      AliasConditionState = SNOW DAMAGED DOOR_4_OPENING
4019      AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_OPENING
4020      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING
4021      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING
4022      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING
4023      
4024      ConditionState    = DOOR_4_CLOSING
4025        Model           = NBAirfield_A8
4026        Animation       = NBAirfield_A8.NBAirfield_A8
4027        AnimationMode   = ONCE_BACKWARDS
4028        Flags           = START_FRAME_LAST
4029      End   
4030      AliasConditionState = NIGHT DOOR_4_CLOSING
4031      AliasConditionState = SNOW DOOR_4_CLOSING
4032      AliasConditionState = SNOW NIGHT DOOR_4_CLOSING
4033      AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING
4034      AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING
4035      AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_CLOSING
4036      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING
4037      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING
4038      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING
4039      
4040      ConditionState    = DOOR_4_WAITING_OPEN
4041        Model           = NBAirfield_A8
4042        Animation       = NBAirfield_A8.NBAirfield_A8
4043        AnimationMode   = MANUAL
4044        Flags           = START_FRAME_LAST
4045      End 
4046      AliasConditionState = NIGHT DOOR_4_WAITING_OPEN
4047      AliasConditionState = SNOW DOOR_4_WAITING_OPEN
4048      AliasConditionState = SNOW NIGHT DOOR_4_WAITING_OPEN
4049      AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN
4050      AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN
4051      AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_WAITING_OPEN
4052      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
4053      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
4054      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
4055      
4056  
4057      ;**************************************************************************************************************************
4058      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
4059      ;for this draw module
4060      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4061        Model              = NBAirfield_A8
4062        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4063      End
4064      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
4065      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
4066      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
4067      
4068      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4069        Model              = NBAirfield_A8
4070        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4071      End
4072      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
4073      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
4074      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
4075      
4076      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4077        Model              = NBAirfield_A8
4078        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4079      End
4080      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
4081      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
4082      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
4083      
4084      ConditionState       = AWAITING_CONSTRUCTION 
4085        Model              = NONE
4086      End
4087      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
4088      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
4089      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
4090      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
4091      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
4092      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
4093      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
4094      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
4095      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
4096      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
4097      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
4098      AliasConditionState  = SOLD 
4099      AliasConditionState  = SOLD DAMAGED
4100      AliasConditionState  = SOLD REALLYDAMAGED
4101      AliasConditionState  = SOLD NIGHT
4102      AliasConditionState  = SOLD NIGHT DAMAGED
4103      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
4104      AliasConditionState  = SOLD SNOW
4105      AliasConditionState  = SOLD SNOW DAMAGED
4106      AliasConditionState  = SOLD SNOW REALLYDAMAGED
4107      AliasConditionState  = SOLD NIGHT SNOW
4108      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
4109      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
4110      ;**************************************************************************************************************************      
4111    End
4112  
4113   ; ------------ construction-zone fence -----------------
4114    Draw = W3DModelDraw ModuleTag_06
4115    AnimationsRequirePower = No
4116      DefaultConditionState
4117        Model           = None
4118        TransitionKey   = DOWN_DEFAULT
4119      End
4120      ConditionState    = NIGHT
4121        Model           = None
4122        TransitionKey   = DOWN_DEFAULT
4123      End
4124      ConditionState    = SNOW
4125        Model           = None
4126        TransitionKey   = DOWN_DEFAULT
4127      End
4128      ConditionState    = SNOW NIGHT
4129        Model           = None
4130        TransitionKey   = DOWN_DEFAULT
4131      End
4132      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4133        Model           = NBAirfield_A4
4134        Animation       = NBAirfield_A4.NBAirfield_A4
4135        AnimationMode   = MANUAL
4136        Flags           = START_FRAME_LAST
4137        TransitionKey   = UP_DAY
4138      End
4139      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED 
4140        Model           = NBAirfield_A4N
4141        Animation       = NBAirfield_A4N.NBAirfield_A4N
4142        AnimationMode   = MANUAL
4143        Flags           = START_FRAME_LAST
4144        TransitionKey   = UP_NIGHT
4145      End
4146      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED 
4147        Model           = NBAirfield_A4S
4148        Animation       = NBAirfield_A4S.NBAirfield_A4S
4149        AnimationMode   = MANUAL
4150        Flags           = START_FRAME_LAST
4151        TransitionKey   = UP_SNOW
4152      End
4153      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED 
4154        Model           = NBAirfield_A4SN
4155        Animation       = NBAirfield_A4SN.NBAirfield_A4SN
4156        AnimationMode   = MANUAL
4157        Flags           = START_FRAME_LAST
4158        TransitionKey   = UP_SNOWNIGHT
4159      End
4160      TransitionState   = DOWN_DEFAULT UP_DAY
4161        Model           = NBAirfield_A4
4162        Animation       = NBAirfield_A4.NBAirfield_A4
4163        AnimationMode   = ONCE
4164        AnimationSpeedFactorRange = 1.0 1.0
4165        Flags           = START_FRAME_FIRST
4166      End
4167      TransitionState   = DOWN_DEFAULT UP_NIGHT
4168        Model           = NBAirfield_A4N
4169        Animation       = NBAirfield_A4N.NBAirfield_A4N
4170        AnimationMode   = ONCE
4171        AnimationSpeedFactorRange = 1.0 1.0
4172        Flags           = START_FRAME_FIRST
4173      End
4174      TransitionState   = DOWN_DEFAULT UP_SNOW
4175        Model           = NBAirfield_A4S
4176        Animation       = NBAirfield_A4S.NBAirfield_A4S
4177        AnimationMode   = ONCE
4178        AnimationSpeedFactorRange = 1.0 1.0
4179        Flags           = START_FRAME_FIRST
4180      End
4181      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4182        Model           = NBAirfield_A4SN
4183        Animation       = NBAirfield_A4SN.NBAirfield_A4SN
4184        AnimationMode   = ONCE
4185        AnimationSpeedFactorRange = 1.0 1.0
4186        Flags           = START_FRAME_FIRST
4187      End
4188      TransitionState   = UP_DAY DOWN_DEFAULT
4189        Model           = NBAirfield_A4
4190        Animation       = NBAirfield_A4.NBAirfield_A4
4191        AnimationMode   = ONCE_BACKWARDS
4192        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4193        Flags           = START_FRAME_LAST
4194      End
4195      TransitionState   = UP_NIGHT DOWN_DEFAULT
4196        Model           = NBAirfield_A4N
4197        Animation       = NBAirfield_A4N.NBAirfield_A4N
4198        AnimationMode   = ONCE_BACKWARDS
4199        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4200        Flags           = START_FRAME_LAST
4201      End
4202      TransitionState   = UP_SNOW DOWN_DEFAULT
4203        Model           = NBAirfield_A4S
4204        Animation       = NBAirfield_A4S.NBAirfield_A4S
4205        AnimationMode   = ONCE_BACKWARDS
4206        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4207        Flags           = START_FRAME_LAST
4208      End
4209      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4210        Model           = NBAirfield_A4SN
4211        Animation       = NBAirfield_A4SN.NBAirfield_A4SN
4212        AnimationMode   = ONCE_BACKWARDS
4213        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4214        Flags           = START_FRAME_LAST
4215      End
4216    End
4217  
4218    ; ------------ under-construction scaffolding -----------------
4219    Draw = W3DModelDraw ModuleTag_07
4220    AnimationsRequirePower = No
4221      MinLODRequired = MEDIUM
4222      DefaultConditionState
4223        Model           = None
4224        TransitionKey   = DOWN_DEFAULT
4225      End
4226      ConditionState    = NIGHT
4227        Model           = None
4228        TransitionKey   = DOWN_DEFAULT
4229      End
4230      ConditionState    = SNOW
4231        Model           = None
4232        TransitionKey   = DOWN_DEFAULT
4233      End
4234      ConditionState    = SNOW NIGHT
4235        Model           = None
4236        TransitionKey   = DOWN_DEFAULT
4237      End
4238      ConditionState    = PARTIALLY_CONSTRUCTED
4239        Model           = NBAirfield_A6
4240        Animation       = NBAirfield_A6.NBAirfield_A6
4241        AnimationMode   = MANUAL
4242        Flags           = START_FRAME_LAST
4243        TransitionKey   = UP_DAY
4244        ParticleSysBone = Dust01 BuildingDustChina
4245        ParticleSysBone = Smoke01 BuildUpSmokeChina
4246        ParticleSysBone = Smoke02 BuildUpSmokeChina
4247        ParticleSysBone = Smoke03 BuildUpSmokeChina
4248        ParticleSysBone = Smoke04 BuildUpSmokeChina
4249        ParticleSysBone = Smoke05 BuildUpSmokeChina
4250      End
4251      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
4252        Model           = NBAirfield_A6N
4253        Animation       = NBAirfield_A6N.NBAirfield_A6N
4254        AnimationMode   = MANUAL
4255        Flags           = START_FRAME_LAST
4256        TransitionKey   = UP_NIGHT
4257        ParticleSysBone = Dust01 BuildingDustChina
4258        ParticleSysBone = Smoke01 BuildUpSmokeChina
4259        ParticleSysBone = Smoke02 BuildUpSmokeChina
4260        ParticleSysBone = Smoke03 BuildUpSmokeChina
4261        ParticleSysBone = Smoke04 BuildUpSmokeChina
4262        ParticleSysBone = Smoke05 BuildUpSmokeChina
4263      End
4264      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
4265        Model           = NBAirfield_A6S
4266        Animation       = NBAirfield_A6S.NBAirfield_A6S
4267        AnimationMode   = MANUAL
4268        Flags           = START_FRAME_LAST
4269        TransitionKey   = UP_SNOW
4270        ParticleSysBone = Dust01 BuildingSnowDust
4271        ParticleSysBone = Smoke01 BuildUpSnowSmoke
4272        ParticleSysBone = Smoke02 BuildUpSnowSmoke
4273        ParticleSysBone = Smoke03 BuildUpSnowSmoke
4274        ParticleSysBone = Smoke04 BuildUpSnowSmoke
4275        ParticleSysBone = Smoke05 BuildUpSnowSmoke
4276      End
4277      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
4278        Model           = NBAirfield_A6SN
4279        Animation       = NBAirfield_A6SN.NBAirfield_A6SN
4280        AnimationMode   = MANUAL
4281        Flags           = START_FRAME_LAST
4282        TransitionKey   = UP_SNOWNIGHT
4283        ParticleSysBone = Dust01 BuildingNightSnowDust
4284        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
4285        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
4286        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
4287        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
4288        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
4289      End
4290      TransitionState   = DOWN_DEFAULT UP_DAY
4291       Model            = NBAirfield_A6
4292        Animation       = NBAirfield_A6.NBAirfield_A6
4293  
4294        AnimationMode   = ONCE
4295        AnimationSpeedFactorRange = 1.0 1.0
4296        Flags           = START_FRAME_FIRST
4297      End
4298      TransitionState   = DOWN_DEFAULT UP_NIGHT
4299       Model            = NBAirfield_A6N
4300        Animation       = NBAirfield_A6N.NBAirfield_A6N
4301        AnimationMode   = ONCE
4302        AnimationSpeedFactorRange = 1.0 1.0
4303        Flags           = START_FRAME_FIRST
4304      End
4305      TransitionState   = DOWN_DEFAULT UP_SNOW
4306       Model            = NBAirfield_A6S
4307        Animation       = NBAirfield_A6S.NBAirfield_A6S
4308        AnimationMode   = ONCE
4309        AnimationSpeedFactorRange = 1.0 1.0
4310        Flags           = START_FRAME_FIRST
4311      End
4312      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4313       Model            = NBAirfield_A6SN
4314        Animation       = NBAirfield_A6SN.NBAirfield_A6SN
4315        AnimationMode   = ONCE
4316        AnimationSpeedFactorRange = 1.0 1.0
4317        Flags           = START_FRAME_FIRST
4318      End
4319      TransitionState   = UP_DAY DOWN_DEFAULT
4320        Model           = NBAirfield_A6
4321        Animation       = NBAirfield_A6.NBAirfield_A6
4322        AnimationMode   = ONCE_BACKWARDS
4323        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4324        Flags           = START_FRAME_LAST
4325      End
4326      TransitionState   = UP_NIGHT DOWN_DEFAULT
4327        Model           = NBAirfield_A6N
4328        Animation       = NBAirfield_A6N.NBAirfield_A6N
4329        AnimationMode   = ONCE_BACKWARDS
4330        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4331        Flags           = START_FRAME_LAST
4332      End
4333      TransitionState   = UP_SNOW DOWN_DEFAULT
4334        Model           = NBAirfield_A6S
4335        Animation       = NBAirfield_A6S.NBAirfield_A6S
4336        AnimationMode   = ONCE_BACKWARDS
4337        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4338        Flags           = START_FRAME_LAST
4339      End
4340      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4341        Model           = NBAirfield_A6SN
4342        Animation       = NBAirfield_A6SN.NBAirfield_A6SN
4343        AnimationMode   = ONCE_BACKWARDS
4344        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4345        Flags           = START_FRAME_LAST
4346      End
4347    End
4348  
4349  
4350    ; ------------ being-constructed crane -----------------
4351    Draw = W3DModelDraw ModuleTag_08
4352    AnimationsRequirePower = No
4353      DefaultConditionState
4354        Model           = None
4355        TransitionKey   = DOWN_DEFAULT
4356      End
4357      ConditionState    = NIGHT
4358        Model           = None
4359        TransitionKey   = DOWN_DEFAULT
4360      End
4361      ConditionState    = SNOW
4362        Model           = None
4363        TransitionKey   = DOWN_DEFAULT
4364      End
4365      ConditionState    = SNOW NIGHT
4366        Model           = None
4367        TransitionKey   = DOWN_DEFAULT
4368      End
4369      ConditionState    = SOLD
4370        Model           = NONE
4371      End
4372  
4373      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
4374        Model           = NBAirfield_A5
4375        Animation       = NBAirfield_A5.NBAirfield_A5
4376        AnimationMode   = LOOP
4377        TransitionKey  = UP_DAY
4378      End
4379  
4380      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
4381        Model           = NBAirfield_A5N
4382        Animation       = NBAirfield_A5N.NBAirfield_A5N
4383        AnimationMode   = LOOP
4384        TransitionKey  = UP_NIGHT
4385      End
4386  
4387      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
4388        Model           = NBAirfield_A5S
4389        Animation       = NBAirfield_A5S.NBAirfield_A5S
4390        AnimationMode   = LOOP
4391        TransitionKey  = UP_SNOW
4392      End
4393  
4394      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
4395        Model           = NBAirfield_A5SN
4396        Animation       = NBAirfield_A5SN.NBAirfield_A5SN
4397        AnimationMode   = LOOP
4398        TransitionKey  = UP_SNOWNIGHT
4399      End
4400      TransitionState   = DOWN_DEFAULT UP_DAY
4401        Model            = NBAirfield_AB
4402        Animation       = NBAirfield_AB.NBAirfield_AB
4403        AnimationMode   = ONCE
4404        AnimationSpeedFactorRange = 1.0 1.0
4405        Flags           = START_FRAME_FIRST
4406      End
4407  
4408      TransitionState   = DOWN_DEFAULT UP_NIGHT
4409        Model            = NBAirfield_ABN
4410        Animation       = NBAirfield_ABN.NBAirfield_ABN
4411        AnimationMode   = ONCE
4412        AnimationSpeedFactorRange = 1.0 1.0
4413        Flags           = START_FRAME_FIRST
4414      End
4415      TransitionState   = DOWN_DEFAULT UP_SNOW
4416        Model            = NBAirfield_ABS
4417        Animation       = NBAirfield_ABS.NBAirfield_ABS
4418        AnimationMode   = ONCE
4419        AnimationSpeedFactorRange = 1.0 1.0
4420        Flags           = START_FRAME_FIRST
4421      End
4422      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4423        Model            = NBAirfield_ABSN
4424        Animation       = NBAirfield_ABSN.NBAirfield_ABSN
4425        AnimationMode   = ONCE
4426        AnimationSpeedFactorRange = 1.0 1.0
4427        Flags           = START_FRAME_FIRST
4428      End
4429      TransitionState   = UP_DAY DOWN_DEFAULT
4430        Model            = NBAirfield_AB
4431        Animation       = NBAirfield_AB.NBAirfield_AB
4432        AnimationMode   = ONCE_BACKWARDS
4433        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4434        Flags           = START_FRAME_LAST
4435      End
4436  
4437      TransitionState   = UP_NIGHT DOWN_DEFAULT
4438        Model            = NBAirfield_ABN
4439        Animation       = NBAirfield_ABN.NBAirfield_ABN
4440        AnimationMode   = ONCE_BACKWARDS
4441        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4442        Flags           = START_FRAME_LAST
4443      End
4444      TransitionState   = UP_SNOW DOWN_DEFAULT
4445        Model            = NBAirfield_ABS
4446        Animation       = NBAirfield_ABS.NBAirfield_ABS
4447        AnimationMode   = ONCE_BACKWARDS
4448        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4449        Flags           = START_FRAME_LAST
4450      End
4451      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4452        Model            = NBAirfield_ABSN
4453        Animation       = NBAirfield_ABSN.NBAirfield_ABSN
4454        AnimationMode   = ONCE_BACKWARDS
4455        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4456        Flags           = START_FRAME_LAST
4457      End
4458    End
4459  
4460    PlacementViewAngle = -45
4461  
4462    ; ***DESIGN parameters ***
4463    DisplayName      = OBJECT:Airfield
4464    Side             = Boss
4465    EditorSorting    = STRUCTURE
4466    Prerequisites
4467      Object = Boss_SupplyCenter
4468    End
4469    BuildCost        = 1000
4470    BuildTime        = 30.0           ; in seconds
4471    EnergyProduction = -1
4472    CommandSet       = Boss_ChinaAirfieldCommandSet
4473    VisionRange     = 200.0           ; Shroud clearing distance
4474    ShroudClearingRange = 200
4475    ArmorSet
4476      Conditions      = None
4477      Armor           = StructureArmor
4478      DamageFX        = StructureDamageFXNoShake
4479    End
4480    ExperienceValue     = 150 150 150 150  ; Experience point value at each level
4481  
4482    ; *** AUDIO Parameters ***
4483    VoiceSelect = AirfieldChinaSelect
4484    SoundOnDamaged        = BuildingDamagedStateLight
4485    SoundOnReallyDamaged  = BuildingDestroy
4486  
4487    UnitSpecificSounds
4488      UnderConstruction     = UnderConstructionLoop
4489    End
4490  
4491    ; *** ENGINEERING Parameters ***
4492    RadarPriority   = STRUCTURE
4493    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_FACTORY FS_AIRFIELD AUTO_RALLYPOINT
4494    Body            = StructureBody ModuleTag_09
4495      MaxHealth       = 1500.0
4496      InitialHealth   = 1500.0
4497  
4498      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4499      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4500      SubdualDamageCap = 1700
4501      SubdualDamageHealRate = 500
4502      SubdualDamageHealAmount = 100
4503    End
4504  
4505    Behavior = ParkingPlaceBehavior ModuleTag_10
4506      HealAmountPerSecond     = 10
4507      NumRows                 = 2
4508      NumCols                 = 2
4509      HasRunways              = Yes
4510      ApproachHeight          = 50
4511      ParkInHangars           = Yes
4512    End
4513  
4514    Behavior = ProductionUpdate ModuleTag_11
4515      NumDoorAnimations            = 4
4516      DoorOpeningTime              = 2000  ;in mSeconds
4517      DoorWaitOpenTime             = 3000  ;in mSeconds
4518      DoorCloseTime                = 2000  ;in mSeconds
4519      ConstructionCompleteDuration = 1000  ;in mSeconds
4520    End
4521  
4522    Behavior = DestroyDie ModuleTag_12
4523      ;nothing
4524    End
4525    Behavior             = CreateObjectDie ModuleTag_13
4526      CreationList  = OCL_ABPowerPlantExplode
4527    End
4528    Behavior             = FXListDie ModuleTag_14
4529      DeathFX       = FX_StructureMediumDeath
4530    End
4531  
4532    Behavior = GenerateMinefieldBehavior     ModuleTag_15
4533      TriggeredBy           = Upgrade_ChinaMines
4534      MineName              = ChinaStandardMine
4535      SmartBorder           = Yes
4536      AlwaysCircular        = Yes
4537  
4538      Upgradable            = Yes
4539      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
4540      UpgradedMineName      = ChinaEMPMine
4541    End
4542  
4543    Behavior = FlammableUpdate ModuleTag_17
4544      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4545      AflameDamageAmount = 5       ; taking this much damage...
4546      AflameDamageDelay = 500       ; this often.
4547    End
4548  
4549    Behavior = TransitionDamageFX ModuleTag_18
4550      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
4551      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4552      ;---------------------------------------------------------------------------------------
4553      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4554      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
4555      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
4556    End
4557  
4558    Behavior = CommandSetUpgrade ModuleTag_25
4559      CommandSet = Boss_ChinaAirfieldCommandSetUpgrade
4560      TriggeredBy = Upgrade_ChinaMines
4561    End
4562  
4563    Behavior = ArmorUpgrade ModuleTag_26
4564      TriggeredBy = Upgrade_ChinaEMPMines
4565    End
4566    
4567  
4568    Geometry            = BOX
4569    GeometryMajorRadius = 83.0
4570    GeometryMinorRadius = 76.0
4571    GeometryHeight      = 25.0
4572    GeometryIsSmall     = No
4573    Shadow          = SHADOW_VOLUME
4574    BuildCompletion = PLACED_BY_PLAYER
4575  
4576  End
4577  
4578  
4579  
4580  
4581  
4582  
4583  
4584  
4585  
4586  
4587  
4588  
4589  
4590  
4591  
4592  
4593  
4594  
4595  
4596  
4597  
4598  
4599  
4600  
4601  
4602  
4603  
4604  
4605  
4606  
4607  
4608  
4609  
4610  
4611  
4612  
4613  
4614  
4615  
4616  ;------------------------------------------------------------------------------
4617  Object Boss_ScudStorm
4618  
4619    ; *** ART Parameters ***
4620    SelectPortrait         = SUScudStorm_L
4621    ButtonImage            = SUScudStorm
4622    Draw = W3DModelDraw ModuleTag_01
4623      OkToChangeModelColor = Yes
4624      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
4625  
4626      ; day
4627      ConditionState = NONE ; lying around
4628        Model         = UBScudStrm_A1
4629        Animation     = UBScudStrm_A1.UBScudStrm_A1
4630        AnimationMode = MANUAL
4631        Flags         = START_FRAME_FIRST
4632        WeaponLaunchBone = PRIMARY WeaponA
4633        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4634        TransitionKey = Trans_READY
4635  
4636        ParticleSysBone      = SteamM01 SteamLarge
4637        ParticleSysBone      = SteamS01 SteamMedium
4638      End
4639  
4640      TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up
4641        Model         = UBScudStrm_A1
4642        Animation     = UBScudStrm_A1.UBScudStrm_A1
4643        AnimationMode = ONCE
4644        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4645        WeaponLaunchBone = PRIMARY WeaponA
4646  
4647        ParticleSysBone      = SteamM01 SteamLarge
4648        ParticleSysBone      = SteamS01 SteamMedium
4649  
4650        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4651        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4652        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4653      End
4654  
4655      ConditionState = ATTACKING  ; Projectile feedback code selectively hiding missiles as they shoot
4656        Model         = UBScudStrm_A2
4657        Animation     = UBScudStrm_A2.UBScudStrm_A2
4658        AnimationMode = MANUAL
4659        Flags         = START_FRAME_FIRST
4660        WeaponLaunchBone = PRIMARY WeaponA
4661        TransitionKey = Trans_ATTACKING
4662  
4663        ParticleSysBone      = SteamM01 SteamLarge
4664        ParticleSysBone      = SteamS01 SteamMedium
4665  
4666        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4667        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4668        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4669      End
4670      AliasConditionState = ATTACKING FIRING_A
4671      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A
4672  
4673      TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people
4674        Model         = UBScudStrm_A3
4675        Animation     = UBScudStrm_A3.UBScudStrm_A3
4676        AnimationMode = ONCE
4677        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4678  
4679        ParticleSysBone      = SteamM01 SteamVent
4680        ParticleSysBone      = SteamS01 SteamVent
4681      End
4682      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4683        Model              = UBScudStrm
4684        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4685      End
4686      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4687        Model              = UBScudStrm_D
4688        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4689      End
4690      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4691        Model              = UBScudStrm_E
4692        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4693      End
4694  
4695      ;-------------------------------------------------------------------------------------------------------------------------
4696      ; day
4697      ConditionState = DAMAGED
4698        Model         = UBScudStrm_DA1
4699        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
4700        AnimationMode = MANUAL
4701        Flags         = START_FRAME_FIRST
4702        WeaponLaunchBone = PRIMARY WeaponA
4703        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4704        TransitionKey = Trans_READY_DAMAGED
4705  
4706        ParticleSysBone      = SteamM01 SteamLarge
4707        ParticleSysBone      = SteamS01 SteamMedium
4708      End
4709  
4710      TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED
4711        Model         = UBScudStrm_DA1
4712        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
4713        AnimationMode = ONCE
4714        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4715        WeaponLaunchBone = PRIMARY WeaponA
4716  
4717        ParticleSysBone      = SteamM01 SteamLarge
4718        ParticleSysBone      = SteamS01 SteamMedium
4719  
4720        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4721        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4722        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4723      End
4724  
4725      ConditionState = ATTACKING DAMAGED
4726        Model         = UBScudStrm_DA2
4727        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
4728        AnimationMode = MANUAL
4729        Flags         = START_FRAME_FIRST
4730        WeaponLaunchBone = PRIMARY WeaponA
4731        TransitionKey = Trans_ATTACKING_DAMAGED
4732  
4733        ParticleSysBone      = SteamM01 SteamLarge
4734        ParticleSysBone      = SteamS01 SteamMedium
4735  
4736        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4737        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4738        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4739      End
4740      AliasConditionState = ATTACKING FIRING_A DAMAGED
4741      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED
4742  
4743      TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED
4744        Model         = UBScudStrm_DA3
4745        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
4746        AnimationMode = ONCE
4747        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4748  
4749        ParticleSysBone      = SteamM01 SteamVent
4750        ParticleSysBone      = SteamS01 SteamVent
4751      End
4752  
4753      ;-------------------------------------------------------------------------------------------------------------------------
4754      ConditionState = REALLYDAMAGED RUBBLE
4755        Model         = UBScudStrm_EA1
4756        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
4757        AnimationMode = MANUAL
4758        Flags         = START_FRAME_FIRST
4759        WeaponLaunchBone = PRIMARY WeaponA
4760        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4761        TransitionKey = Trans_READY_REALLYDAMAGED
4762  
4763        ParticleSysBone      = SteamM01 SteamLarge
4764        ParticleSysBone      = SteamS01 SteamMedium
4765      End
4766  
4767      TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED
4768        Model         = UBScudStrm_EA1
4769        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
4770        AnimationMode = ONCE
4771        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4772        WeaponLaunchBone = PRIMARY WeaponA
4773  
4774        ParticleSysBone      = SteamM01 SteamLarge
4775        ParticleSysBone      = SteamS01 SteamMedium
4776  
4777        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4778        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4779        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4780      End
4781  
4782      ConditionState = ATTACKING REALLYDAMAGED RUBBLE
4783        Model         = UBScudStrm_EA2
4784        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
4785        AnimationMode = MANUAL
4786        Flags         = START_FRAME_FIRST
4787        WeaponLaunchBone = PRIMARY WeaponA
4788        TransitionKey = Trans_ATTACKING_REALLYDAMAGED
4789  
4790        ParticleSysBone      = SteamM01 SteamLarge
4791        ParticleSysBone      = SteamS01 SteamMedium
4792  
4793        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4794        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4795        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4796      End
4797      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE
4798      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE
4799  
4800      TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED
4801        Model         = UBScudStrm_EA3
4802        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
4803        AnimationMode = ONCE
4804        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4805  
4806        ParticleSysBone      = SteamM01 SteamVent
4807        ParticleSysBone      = SteamS01 SteamVent
4808      End
4809      
4810          ;-------------------------------------------------------------------------------------------------------------------------
4811          ;  SNOW
4812      ConditionState =  SNOW ; from underground to lying around
4813        Model         = UBScudStrm_A1S
4814        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
4815        AnimationMode = MANUAL
4816        Flags         = START_FRAME_FIRST
4817        WeaponLaunchBone = PRIMARY WeaponA
4818        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4819        TransitionKey = Trans_READY_SNOW
4820  
4821        ParticleSysBone      = SteamM01 SteamLarge
4822        ParticleSysBone      = SteamS01 SteamMedium
4823      End
4824  
4825      TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW
4826        Model         = UBScudStrm_A1S
4827        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
4828        AnimationMode = ONCE
4829        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4830        WeaponLaunchBone = PRIMARY WeaponA
4831  
4832        ParticleSysBone      = SteamM01 SteamLarge
4833        ParticleSysBone      = SteamS01 SteamMedium
4834  
4835        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4836        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4837        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4838      End
4839  
4840      ConditionState = ATTACKING  SNOW ; Projectile feedback code selectively hiding missiles as they shoot
4841        Model         = UBScudStrm_A2S
4842        Animation     = UBScudStrm_A2S.UBScudStrm_A2S
4843        AnimationMode = MANUAL
4844        Flags         = START_FRAME_FIRST
4845        WeaponLaunchBone = PRIMARY WeaponA
4846        TransitionKey = Trans_ATTACKING_SNOW
4847  
4848        ParticleSysBone      = SteamM01 SteamLarge
4849        ParticleSysBone      = SteamS01 SteamMedium
4850  
4851        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4852        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4853        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4854      End
4855      AliasConditionState = ATTACKING FIRING_A  SNOW
4856      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A  SNOW
4857  
4858      TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground
4859        Model         = UBScudStrm_A3S
4860        Animation     = UBScudStrm_A3S.UBScudStrm_A3S
4861        AnimationMode = ONCE
4862        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4863  
4864        ParticleSysBone      = SteamM01 SteamVent
4865        ParticleSysBone      = SteamS01 SteamVent
4866      End
4867  
4868      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED  SNOW
4869        Model              = UBScudStrm
4870        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4871      End
4872      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED  SNOW
4873        Model              = UBScudStrm_D
4874        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4875      End
4876      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED  SNOW
4877        Model              = UBScudStrm_E
4878        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4879      End
4880  
4881      ;-------------------------------------------------------------------------------------------------------------------------
4882      ConditionState = DAMAGED SNOW
4883        Model         = UBScudStrm_DA1
4884        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
4885        AnimationMode = MANUAL
4886        Flags         = START_FRAME_FIRST
4887        WeaponLaunchBone = PRIMARY WeaponA
4888        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4889        TransitionKey = Trans_READY_DAMAGED_SNOW
4890  
4891        ParticleSysBone      = SteamM01 SteamLarge
4892        ParticleSysBone      = SteamS01 SteamMedium
4893      End
4894  
4895      TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW
4896        Model         = UBScudStrm_DA1
4897        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
4898        AnimationMode = ONCE
4899        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4900        WeaponLaunchBone = PRIMARY WeaponA
4901  
4902        ParticleSysBone      = SteamM01 SteamLarge
4903        ParticleSysBone      = SteamS01 SteamMedium
4904  
4905        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4906        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4907        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4908      End
4909  
4910      ConditionState = ATTACKING DAMAGED SNOW
4911        Model         = UBScudStrm_DA2
4912        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
4913        AnimationMode = MANUAL
4914        Flags         = START_FRAME_FIRST
4915        WeaponLaunchBone = PRIMARY WeaponA
4916        TransitionKey = Trans_ATTACKING_DAMAGED_SNOW
4917  
4918        ParticleSysBone      = SteamM01 SteamLarge
4919        ParticleSysBone      = SteamS01 SteamMedium
4920  
4921        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4922        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4923        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4924      End
4925      AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW
4926      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW
4927  
4928      TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW
4929        Model         = UBScudStrm_DA3
4930        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
4931        AnimationMode = ONCE
4932        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4933  
4934        ParticleSysBone      = SteamM01 SteamVent
4935        ParticleSysBone      = SteamS01 SteamVent
4936      End
4937         
4938      ;-------------------------------------------------------------------------------------------------------------------------
4939      
4940      ConditionState = REALLYDAMAGED RUBBLE SNOW
4941        Model         = UBScudStrm_EA1
4942        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
4943        AnimationMode = MANUAL
4944        Flags         = START_FRAME_FIRST
4945        WeaponLaunchBone = PRIMARY WeaponA
4946        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
4947        TransitionKey = Trans_READY_REALLYDAMAGED_SNOW
4948  
4949        ParticleSysBone      = SteamM01 SteamLarge
4950        ParticleSysBone      = SteamS01 SteamMedium
4951      End
4952  
4953      TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW
4954        Model         = UBScudStrm_EA1
4955        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
4956        AnimationMode = ONCE
4957        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4958        WeaponLaunchBone = PRIMARY WeaponA
4959  
4960        ParticleSysBone      = SteamM01 SteamLarge
4961        ParticleSysBone      = SteamS01 SteamMedium
4962  
4963        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4964        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4965        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4966      End
4967  
4968  
4969      ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW
4970        Model         = UBScudStrm_EA2
4971        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
4972        AnimationMode = MANUAL
4973        Flags         = START_FRAME_FIRST
4974        WeaponLaunchBone = PRIMARY WeaponA
4975        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW
4976  
4977        ParticleSysBone      = SteamM01 SteamLarge
4978        ParticleSysBone      = SteamS01 SteamMedium
4979  
4980        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
4981        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
4982        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
4983      End
4984      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW
4985      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW
4986  
4987      TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW
4988        Model         = UBScudStrm_EA3
4989        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
4990        AnimationMode = ONCE
4991        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
4992  
4993        ParticleSysBone      = SteamM01 SteamVent
4994        ParticleSysBone      = SteamS01 SteamVent
4995      End
4996      
4997      ;-------------------------------------------------------------------------------------------------------------------------
4998          ; NIGHT
4999      ConditionState = NIGHT ; from underground to lying around
5000        Model         = UBScudStrm_A1
5001        Animation     = UBScudStrm_A1.UBScudStrm_A1
5002        AnimationMode = MANUAL
5003        Flags         = START_FRAME_FIRST
5004        WeaponLaunchBone = PRIMARY WeaponA
5005        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5006        TransitionKey = Trans_READY_NIGHT
5007  
5008        ParticleSysBone      = SteamM01 SteamLarge
5009        ParticleSysBone      = SteamS01 SteamMedium
5010      End
5011  
5012      TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT
5013        Model         = UBScudStrm_A1
5014        Animation     = UBScudStrm_A1.UBScudStrm_A1
5015        AnimationMode = ONCE
5016        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5017        WeaponLaunchBone = PRIMARY WeaponA
5018  
5019        ParticleSysBone      = SteamM01 SteamLarge
5020        ParticleSysBone      = SteamS01 SteamMedium
5021  
5022        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5023        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5024        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5025      End
5026  
5027      ConditionState = ATTACKING NIGHT  ; Projectile feedback code selectively hiding missiles as they shoot
5028        Model         = UBScudStrm_A2
5029        Animation     = UBScudStrm_A2.UBScudStrm_A2
5030        AnimationMode = MANUAL
5031        Flags         = START_FRAME_FIRST
5032        WeaponLaunchBone = PRIMARY WeaponA
5033        TransitionKey = Trans_ATTACKING_NIGHT
5034  
5035        ParticleSysBone      = SteamM01 SteamLarge
5036        ParticleSysBone      = SteamS01 SteamMedium
5037  
5038        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5039        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5040        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5041      End
5042      AliasConditionState = ATTACKING FIRING_A NIGHT
5043      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT
5044  
5045      TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground
5046        Model         = UBScudStrm_A3
5047        Animation     = UBScudStrm_A3.UBScudStrm_A3
5048        AnimationMode = ONCE
5049        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5050  
5051        ParticleSysBone      = SteamM01 SteamVent
5052        ParticleSysBone      = SteamS01 SteamVent
5053      End
5054  
5055      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
5056        Model              = UBScudStrm
5057        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5058      End
5059      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
5060        Model              = UBScudStrm_D
5061        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5062      End
5063      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
5064        Model              = UBScudStrm_E
5065        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5066      End
5067  
5068      ;-------------------------------------------------------------------------------------------------------------------------
5069      ConditionState = DAMAGED NIGHT
5070        Model         = UBScudStrm_DA1N
5071        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
5072        AnimationMode = MANUAL
5073        Flags         = START_FRAME_FIRST
5074        WeaponLaunchBone = PRIMARY WeaponA
5075        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5076        TransitionKey = Trans_READY_DAMAGED_NIGHT
5077  
5078        ParticleSysBone      = SteamM01 SteamLarge
5079        ParticleSysBone      = SteamS01 SteamMedium
5080      End
5081  
5082      TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT
5083        Model         = UBScudStrm_DA1N
5084        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
5085        AnimationMode = ONCE
5086        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5087        WeaponLaunchBone = PRIMARY WeaponA
5088  
5089        ParticleSysBone      = SteamM01 SteamLarge
5090        ParticleSysBone      = SteamS01 SteamMedium
5091  
5092        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5093        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5094        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5095      End
5096  
5097      ConditionState = ATTACKING DAMAGED NIGHT
5098        Model         = UBScudStrm_DA2N
5099        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
5100        AnimationMode = MANUAL
5101        Flags         = START_FRAME_FIRST
5102        WeaponLaunchBone = PRIMARY WeaponA
5103        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT
5104  
5105        ParticleSysBone      = SteamM01 SteamLarge
5106        ParticleSysBone      = SteamS01 SteamMedium
5107  
5108        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5109        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5110        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5111      End
5112      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED
5113      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED
5114  
5115      TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT
5116        Model         = UBScudStrm_DA3N
5117        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
5118        AnimationMode = ONCE
5119        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5120  
5121        ParticleSysBone      = SteamM01 SteamVent
5122        ParticleSysBone      = SteamS01 SteamVent
5123      End
5124         
5125      ;-------------------------------------------------------------------------------------------------------------------------
5126      
5127      ConditionState = REALLYDAMAGED RUBBLE NIGHT
5128        Model         = UBScudStrm_EA1N
5129        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
5130        AnimationMode = MANUAL
5131        Flags         = START_FRAME_FIRST
5132        WeaponLaunchBone = PRIMARY WeaponA
5133        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5134        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT
5135  
5136        ParticleSysBone      = SteamM01 SteamLarge
5137        ParticleSysBone      = SteamS01 SteamMedium
5138      End
5139  
5140      TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT
5141        Model         = UBScudStrm_EA1N
5142        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
5143        AnimationMode = ONCE
5144        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5145        WeaponLaunchBone = PRIMARY WeaponA
5146  
5147        ParticleSysBone      = SteamM01 SteamLarge
5148        ParticleSysBone      = SteamS01 SteamMedium
5149  
5150        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5151        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5152        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5153      End
5154  
5155  
5156      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT
5157        Model         = UBScudStrm_EA2N
5158        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
5159        AnimationMode = MANUAL
5160        Flags         = START_FRAME_FIRST
5161        WeaponLaunchBone = PRIMARY WeaponA
5162        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT
5163  
5164        ParticleSysBone      = SteamM01 SteamLarge
5165        ParticleSysBone      = SteamS01 SteamMedium
5166  
5167        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5168        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5169        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5170      End
5171      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE
5172      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE
5173  
5174      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT
5175        Model         = UBScudStrm_EA3N
5176        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
5177        AnimationMode = ONCE
5178        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5179  
5180        ParticleSysBone      = SteamM01 SteamVent
5181        ParticleSysBone      = SteamS01 SteamVent
5182      End
5183      
5184          ;-------------------------------------------------------------------------------------------------------------------------
5185          ; NIGHT SNOW
5186      ConditionState = NIGHT SNOW ; from underground to lying around
5187        Model         = UBScudStrm_A1NS
5188        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
5189        AnimationMode = MANUAL
5190        Flags         = START_FRAME_FIRST
5191        WeaponLaunchBone = PRIMARY WeaponA
5192        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5193        TransitionKey = Trans_READY_NIGHTSNOW
5194  
5195        ParticleSysBone      = SteamM01 SteamLarge
5196        ParticleSysBone      = SteamS01 SteamMedium
5197      End
5198  
5199      TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW
5200        Model         = UBScudStrm_A1NS
5201        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
5202        AnimationMode = ONCE
5203        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5204        WeaponLaunchBone = PRIMARY WeaponA
5205  
5206        ParticleSysBone      = SteamM01 SteamLarge
5207        ParticleSysBone      = SteamS01 SteamMedium
5208  
5209        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5210        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5211        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5212      End
5213  
5214      ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot
5215        Model         = UBScudStrm_A2NS
5216        Animation     = UBScudStrm_A2NS.UBScudStrm_A2NS
5217        AnimationMode = MANUAL
5218        Flags         = START_FRAME_FIRST
5219        WeaponLaunchBone = PRIMARY WeaponA
5220        TransitionKey = Trans_ATTACKING_NIGHTSNOW
5221  
5222        ParticleSysBone      = SteamM01 SteamLarge
5223        ParticleSysBone      = SteamS01 SteamMedium
5224  
5225        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5226        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5227        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5228      End
5229      AliasConditionState = ATTACKING FIRING_A NIGHT SNOW
5230      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW
5231  
5232      TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground
5233        Model         = UBScudStrm_A3NS
5234        Animation     = UBScudStrm_A3NS.UBScudStrm_A3NS
5235        AnimationMode = ONCE
5236        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5237  
5238        ParticleSysBone      = SteamM01 SteamVent
5239        ParticleSysBone      = SteamS01 SteamVent
5240      End
5241  
5242      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
5243        Model              = UBScudStrm
5244        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5245      End
5246      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
5247        Model              = UBScudStrm_D
5248        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5249      End
5250      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
5251        Model              = UBScudStrm_E
5252        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5253      End
5254  
5255      ;-------------------------------------------------------------------------------------------------------------------------
5256      ConditionState = DAMAGED NIGHT SNOW
5257        Model         = UBScudStrm_DA1N
5258        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
5259        AnimationMode = MANUAL
5260        Flags         = START_FRAME_FIRST
5261        WeaponLaunchBone = PRIMARY WeaponA
5262        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5263        TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW
5264  
5265        ParticleSysBone      = SteamM01 SteamLarge
5266        ParticleSysBone      = SteamS01 SteamMedium
5267      End
5268  
5269      TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW
5270        Model         = UBScudStrm_DA1N
5271        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
5272        AnimationMode = ONCE
5273        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5274        WeaponLaunchBone = PRIMARY WeaponA
5275  
5276        ParticleSysBone      = SteamM01 SteamLarge
5277        ParticleSysBone      = SteamS01 SteamMedium
5278  
5279        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5280        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5281        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5282      End
5283  
5284      ConditionState = ATTACKING DAMAGED NIGHT SNOW
5285        Model         = UBScudStrm_DA2N
5286        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
5287        AnimationMode = MANUAL
5288        Flags         = START_FRAME_FIRST
5289        WeaponLaunchBone = PRIMARY WeaponA
5290        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW
5291  
5292        ParticleSysBone      = SteamM01 SteamLarge
5293        ParticleSysBone      = SteamS01 SteamMedium
5294  
5295        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5296        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5297        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5298      End
5299      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW
5300      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW
5301  
5302      TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW
5303        Model         = UBScudStrm_DA3N
5304        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
5305        AnimationMode = ONCE
5306        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5307  
5308        ParticleSysBone      = SteamM01 SteamVent
5309        ParticleSysBone      = SteamS01 SteamVent
5310      End
5311         
5312      ;-------------------------------------------------------------------------------------------------------------------------
5313      
5314      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
5315        Model         = UBScudStrm_EA1N
5316        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
5317        AnimationMode = MANUAL
5318        Flags         = START_FRAME_FIRST
5319        WeaponLaunchBone = PRIMARY WeaponA
5320        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
5321        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW
5322  
5323        ParticleSysBone      = SteamM01 SteamLarge
5324        ParticleSysBone      = SteamS01 SteamMedium
5325      End
5326  
5327      TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
5328        Model         = UBScudStrm_EA1N
5329        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
5330        AnimationMode = ONCE
5331        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5332        WeaponLaunchBone = PRIMARY WeaponA
5333  
5334        ParticleSysBone      = SteamM01 SteamLarge
5335        ParticleSysBone      = SteamS01 SteamMedium
5336  
5337        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5338        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5339        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5340      End
5341  
5342  
5343      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW
5344        Model         = UBScudStrm_EA2N
5345        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
5346        AnimationMode = MANUAL
5347        Flags         = START_FRAME_FIRST
5348        WeaponLaunchBone = PRIMARY WeaponA
5349        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
5350  
5351        ParticleSysBone      = SteamM01 SteamLarge
5352        ParticleSysBone      = SteamS01 SteamMedium
5353  
5354        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
5355        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
5356        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
5357      End
5358      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW
5359      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW
5360  
5361      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW
5362        Model         = UBScudStrm_EA3N
5363        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
5364        AnimationMode = ONCE
5365        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
5366  
5367        ParticleSysBone      = SteamM01 SteamVent
5368        ParticleSysBone      = SteamS01 SteamVent
5369      End
5370      
5371      
5372      ConditionState       = SOLD
5373        Model              = NONE
5374      End    
5375      AliasConditionState       = SOLD DAMAGED
5376      AliasConditionState       = SOLD REALLYDAMAGED
5377      AliasConditionState       = SOLD SNOW
5378      AliasConditionState       = SOLD DAMAGED SNOW
5379      AliasConditionState       = SOLD REALLYDAMAGED SNOW
5380      AliasConditionState       = SOLD NIGHT
5381      AliasConditionState       = SOLD DAMAGED NIGHT
5382      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
5383      AliasConditionState       = SOLD NIGHT SNOW
5384      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
5385      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
5386    End
5387  
5388      ;-------------------------------------------------------------------------------------------------------------------------
5389      ;-------------------------------------------------------------------------------------------------------------------------
5390      ;-------------------------------------------------------------------------------------------------------------------------
5391    Draw = W3DModelDraw ModuleTag_02
5392      OkToChangeModelColor = Yes
5393    
5394      ConditionState = None
5395        Model         = UBScudStrm_A5
5396        Animation     = UBScudStrm_A5.UBScudStrm_A5
5397        AnimationMode = MANUAL
5398        Flags         = START_FRAME_FIRST
5399      End
5400  
5401      ConditionState       = SOLD
5402        Model              = NONE
5403      End    
5404      ConditionState       = SOLD SNOW
5405         Model             = NONE
5406      End   
5407      ConditionState       = SOLD NIGHT
5408         Model             = NONE
5409      End    
5410      ConditionState       = SOLD NIGHT SNOW
5411         Model             = NONE
5412      End  
5413    
5414      ConditionState = PREATTACK_A ATTACKING
5415        Model         = UBScudStrm_A5
5416        Animation     = UBScudStrm_A5.UBScudStrm_A5
5417        AnimationMode = LOOP
5418        Flags         = START_FRAME_FIRST
5419      End
5420  
5421      ConditionState = ATTACKING
5422        Model         = UBScudStrm_A5
5423        Animation     = UBScudStrm_A5.UBScudStrm_A5
5424        AnimationMode = LOOP
5425        Flags         = START_FRAME_FIRST
5426      End
5427      
5428      ;These assets are missing (KM: removed to get rid of assert)
5429      ;ConditionState =  DAMAGED
5430      ;  Model         = UBScudStrm_DA5
5431      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
5432      ;  AnimationMode = MANUAL
5433      ;  Flags         = START_FRAME_FIRST
5434      ;End
5435  
5436      ;These assets are missing (KM: removed to get rid of assert)
5437      ;ConditionState = PREATTACK_A ATTACKING DAMAGED
5438      ;  Model         = UBScudStrm_DA5
5439      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
5440      ;  AnimationMode = LOOP
5441      ;  Flags         = START_FRAME_FIRST
5442      ;End
5443  
5444      ;These assets are missing (KM: removed to get rid of assert)
5445      ;ConditionState = ATTACKING DAMAGED
5446      ;  Model         = UBScudStrm_DA5
5447      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
5448      ;  AnimationMode = LOOP
5449      ;  Flags         = START_FRAME_FIRST
5450      ;End
5451      
5452      ;These assets are missing (KM: removed to get rid of assert)
5453      ;ConditionState =  REALLYDAMAGED
5454      ;  Model         = UBScudStrm_EA5
5455      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
5456      ;  AnimationMode = MANUAL
5457      ;  Flags         = START_FRAME_FIRST
5458      ;End
5459  
5460      ;These assets are missing (KM: removed to get rid of assert)
5461      ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED
5462      ;  Model         = UBScudStrm_EA5
5463      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
5464      ;  AnimationMode = LOOP
5465      ;  Flags         = START_FRAME_FIRST
5466      ;End
5467  
5468      ;These assets are missing (KM: removed to get rid of assert)
5469      ;ConditionState = ATTACKING REALLYDAMAGED
5470      ;  Model         = UBScudStrm_EA5
5471      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
5472      ;  AnimationMode = LOOP
5473      ;  Flags         = START_FRAME_FIRST
5474      ;End
5475      
5476    End
5477  
5478    Draw = W3DModelDraw ModuleTag_03
5479      OkToChangeModelColor = Yes
5480    
5481      ConditionState = None
5482        Model         = UBScudStrm_A6
5483        Animation     = UBScudStrm_A6.UBScudStrm_A6
5484        AnimationMode = LOOP
5485        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5486      End
5487      
5488      ConditionState =  DAMAGED
5489        Model         = UBScudStrm_DA6
5490        Animation     = UBScudStrm_DA6.UBScudStrm_DA6
5491        AnimationMode = LOOP
5492        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5493      End
5494      
5495      ConditionState =  REALLYDAMAGED RUBBLE
5496        Model         = UBScudStrm_EA6
5497        Animation     = UBScudStrm_EA6.UBScudStrm_EA6
5498        AnimationMode = LOOP
5499        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5500      End
5501      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5502        Model              = UBScudStrm_A6
5503        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5504      End
5505      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
5506  
5507        Model              = UBScudStrm_DA6
5508        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5509      End
5510      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
5511        Model              = UBScudStrm_EA6
5512        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5513      End
5514  
5515      ConditionState       = SOLD
5516        Model              = NONE
5517      End    
5518      ConditionState       = SOLD SNOW
5519         Model             = NONE
5520      End   
5521      ConditionState       = SOLD NIGHT
5522         Model             = NONE
5523      End    
5524      ConditionState       = SOLD NIGHT SNOW
5525         Model             = NONE
5526      End  
5527      
5528    End
5529  
5530    Draw = W3DModelDraw ModuleTag_04
5531      OkToChangeModelColor = Yes
5532    
5533      ConditionState = None
5534        Model         = UBScudStrm_F
5535        Animation     = UBScudStrm_F.UBScudStrm_F
5536        AnimationMode = LOOP
5537        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5538      End
5539      
5540      ConditionState =  DAMAGED
5541        Model         = UBScudStrm_DF
5542        Animation     = UBScudStrm_DF.UBScudStrm_DF
5543        AnimationMode = LOOP
5544        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5545      End
5546      
5547      ConditionState =  REALLYDAMAGED RUBBLE
5548        Model         = UBScudStrm_EF
5549        Animation     = UBScudStrm_EF.UBScudStrm_EF
5550        AnimationMode = LOOP
5551        Flags         = MAINTAIN_FRAME_ACROSS_STATES
5552      End
5553      
5554      ConditionState       = SOLD
5555        Model              = NONE
5556      End    
5557      AliasConditionState       = SOLD DAMAGED
5558      AliasConditionState       = SOLD REALLYDAMAGED
5559      AliasConditionState       = SOLD SNOW
5560      AliasConditionState       = SOLD DAMAGED SNOW
5561      AliasConditionState       = SOLD REALLYDAMAGED SNOW
5562      AliasConditionState       = SOLD NIGHT
5563      AliasConditionState       = SOLD DAMAGED NIGHT
5564      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
5565      AliasConditionState       = SOLD NIGHT SNOW
5566      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
5567      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
5568    End
5569     
5570    ; ------------ construction-zone fence -----------------
5571    Draw = W3DModelDraw ModuleTag_05
5572    AnimationsRequirePower = No
5573      DefaultConditionState
5574        Model           = None
5575        TransitionKey   = DOWN_DEFAULT
5576      End
5577      ConditionState    = NIGHT
5578        Model           = None
5579        TransitionKey   = DOWN_DEFAULT
5580      End
5581      ConditionState    = SNOW
5582        Model           = None
5583        TransitionKey   = DOWN_DEFAULT
5584      End
5585      ConditionState    = SNOW NIGHT
5586        Model           = None
5587        TransitionKey   = DOWN_DEFAULT
5588      End
5589      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5590        Model           = UBScudStrm_AB
5591        Animation       = UBScudStrm_AB.UBScudStrm_AB
5592        AnimationMode   = MANUAL
5593        Flags           = START_FRAME_LAST
5594        TransitionKey   = UP_DAY
5595      End
5596      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5597        Model           = UBScudStrm_ABN
5598        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
5599        AnimationMode   = MANUAL
5600        Flags           = START_FRAME_LAST
5601        TransitionKey   = UP_NIGHT
5602      End
5603      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5604        Model           = UBScudStrm_ABS
5605        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
5606        AnimationMode   = MANUAL
5607        Flags           = START_FRAME_LAST
5608        TransitionKey   = UP_SNOW
5609      End
5610      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5611        Model           = UBScudStrm_ABSN
5612        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
5613        AnimationMode   = MANUAL
5614        Flags           = START_FRAME_LAST
5615        TransitionKey   = UP_SNOWNIGHT
5616      End
5617      TransitionState   = DOWN_DEFAULT UP_DAY
5618        Model           = UBScudStrm_AB
5619        Animation       = UBScudStrm_AB.UBScudStrm_AB
5620        AnimationMode   = ONCE
5621        AnimationSpeedFactorRange = 1.0 1.0
5622        Flags           = START_FRAME_FIRST
5623      End
5624      TransitionState   = DOWN_DEFAULT UP_NIGHT
5625        Model           = UBScudStrm_ABN
5626        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
5627        AnimationMode   = ONCE
5628        AnimationSpeedFactorRange = 1.0 1.0
5629        Flags           = START_FRAME_FIRST
5630      End
5631      TransitionState   = DOWN_DEFAULT UP_SNOW
5632        Model           = UBScudStrm_ABS
5633        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
5634        AnimationMode   = ONCE
5635        AnimationSpeedFactorRange = 1.0 1.0
5636        Flags           = START_FRAME_FIRST
5637      End
5638      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5639        Model           = UBScudStrm_ABSN
5640        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
5641        AnimationMode   = ONCE
5642        AnimationSpeedFactorRange = 1.0 1.0
5643        Flags           = START_FRAME_FIRST
5644      End
5645      TransitionState   = UP_DAY DOWN_DEFAULT
5646        Model           = UBScudStrm_AB
5647        Animation       = UBScudStrm_AB.UBScudStrm_AB
5648        AnimationMode   = ONCE_BACKWARDS
5649        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5650        Flags           = START_FRAME_LAST
5651      End
5652      TransitionState   = UP_NIGHT DOWN_DEFAULT
5653        Model           = UBScudStrm_ABN
5654        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
5655        AnimationMode   = ONCE_BACKWARDS
5656        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5657        Flags           = START_FRAME_LAST
5658      End
5659      TransitionState   = UP_SNOW DOWN_DEFAULT
5660        Model           = UBScudStrm_ABS
5661        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
5662        AnimationMode   = ONCE_BACKWARDS
5663        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5664        Flags           = START_FRAME_LAST
5665      End
5666      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5667        Model           = UBScudStrm_ABSN
5668        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
5669        AnimationMode   = ONCE_BACKWARDS
5670        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5671        Flags           = START_FRAME_LAST
5672      End
5673    End
5674  
5675    ; ------------ under-construction scaffolding -----------------
5676    Draw = W3DModelDraw ModuleTag_06
5677    AnimationsRequirePower = No
5678      MinLODRequired = MEDIUM
5679      DefaultConditionState
5680        Model           = None
5681        TransitionKey   = DOWN_DEFAULT
5682      End
5683      ConditionState    = NIGHT
5684        Model           = None
5685        TransitionKey   = DOWN_DEFAULT
5686      End
5687      ConditionState    = SNOW
5688        Model           = None
5689        TransitionKey   = DOWN_DEFAULT
5690      End
5691      ConditionState    = SNOW NIGHT
5692        Model           = None
5693        TransitionKey   = DOWN_DEFAULT
5694      End
5695      ConditionState    = PARTIALLY_CONSTRUCTED
5696        Model           = UBScudStrm_AC
5697        Animation       = UBScudStrm_AC.UBScudStrm_AC
5698        AnimationMode   = MANUAL
5699        Flags           = START_FRAME_LAST
5700        TransitionKey   = UP_DAY
5701        ParticleSysBone = Dust01 BuildingDust
5702        ParticleSysBone = Smoke01 BuildUpSmoke
5703        ParticleSysBone = Smoke02 BuildUpSmoke
5704        ParticleSysBone = Smoke03 BuildUpSmoke
5705        ParticleSysBone = Smoke04 BuildUpSmoke
5706      End
5707      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
5708        Model           = UBScudStrm_ACN
5709        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
5710        AnimationMode   = MANUAL
5711        Flags           = START_FRAME_LAST
5712        TransitionKey   = UP_NIGHT
5713        ParticleSysBone = Dust01 BuildingDust
5714        ParticleSysBone = Smoke01 BuildUpSmoke
5715        ParticleSysBone = Smoke02 BuildUpSmoke
5716        ParticleSysBone = Smoke03 BuildUpSmoke
5717        ParticleSysBone = Smoke04 BuildUpSmoke
5718      End    
5719      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
5720        Model           = UBScudStrm_ACS
5721        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
5722        AnimationMode   = MANUAL
5723        Flags           = START_FRAME_LAST
5724        TransitionKey   = UP_SNOW
5725        ParticleSysBone = Dust01 BuildingSnowDust
5726        ParticleSysBone = Smoke01 BuildUpSnowSmoke
5727        ParticleSysBone = Smoke02 BuildUpSnowSmoke
5728        ParticleSysBone = Smoke03 BuildUpSnowSmoke
5729        ParticleSysBone = Smoke04 BuildUpSnowSmoke
5730      End   
5731      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
5732        Model           = UBScudStrm_ACSN
5733        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
5734        AnimationMode   = MANUAL
5735        Flags           = START_FRAME_LAST
5736        TransitionKey   = UP_SNOWNIGHT
5737        ParticleSysBone = Dust01 BuildingNightSnowDust
5738        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
5739        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
5740        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
5741        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
5742      End 
5743      TransitionState   = DOWN_DEFAULT UP_DAY
5744       Model            = UBScudStrm_AC
5745        Animation       = UBScudStrm_AC.UBScudStrm_AC
5746        AnimationMode   = ONCE
5747        AnimationSpeedFactorRange = 1.0 1.0
5748        Flags           = START_FRAME_FIRST
5749      End
5750      TransitionState   = DOWN_DEFAULT UP_NIGHT
5751       Model            = UBScudStrm_ACN
5752        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
5753        AnimationMode   = ONCE
5754        AnimationSpeedFactorRange = 1.0 1.0
5755        Flags           = START_FRAME_FIRST
5756      End
5757      TransitionState   = DOWN_DEFAULT UP_SNOW
5758       Model            = UBScudStrm_ACS
5759        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
5760        AnimationMode   = ONCE
5761        AnimationSpeedFactorRange = 1.0 1.0
5762        Flags           = START_FRAME_FIRST
5763      End
5764      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5765       Model            = UBScudStrm_ACSN
5766        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
5767        AnimationMode   = ONCE
5768        AnimationSpeedFactorRange = 1.0 1.0
5769        Flags           = START_FRAME_FIRST
5770      End
5771      TransitionState   = UP_DAY DOWN_DEFAULT
5772        Model           = UBScudStrm_AC
5773        Animation       = UBScudStrm_AC.UBScudStrm_AC
5774        AnimationMode   = ONCE_BACKWARDS
5775        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5776        Flags           = START_FRAME_LAST
5777      End
5778      TransitionState   = UP_NIGHT DOWN_DEFAULT
5779        Model           = UBScudStrm_ACN
5780        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
5781        AnimationMode   = ONCE_BACKWARDS
5782        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5783        Flags           = START_FRAME_LAST
5784      End
5785      TransitionState   = UP_SNOW DOWN_DEFAULT
5786        Model           = UBScudStrm_ACS
5787        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
5788        AnimationMode   = ONCE_BACKWARDS
5789        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5790        Flags           = START_FRAME_LAST
5791      End
5792      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5793        Model           = UBScudStrm_ACSN
5794        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
5795        AnimationMode   = ONCE_BACKWARDS
5796        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5797        Flags           = START_FRAME_LAST
5798      End
5799    End
5800  
5801    PlacementViewAngle = -45
5802  
5803    ; ***DESIGN parameters ***
5804    DisplayName      = OBJECT:ScudStorm
5805    Side = Boss
5806    EditorSorting    = STRUCTURE
5807    Prerequisites
5808      Object = Boss_WarFactory
5809      Object = Boss_Airfield
5810    End
5811    BuildCost        = 5000
5812    BuildTime        = 60.0           ; in seconds
5813    EnergyProduction = 0
5814    CommandSet       = Boss_GLAScudStormCommandSet
5815    VisionRange     = 200.0           ; Shroud clearing distance
5816    ShroudClearingRange = 200
5817    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
5818                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
5819    WeaponSet
5820      Conditions = None 
5821      Weapon = PRIMARY ScudStormWeapon
5822      AutoChooseSources = PRIMARY NONE
5823    End
5824    ArmorSet
5825      Conditions      = None
5826      Armor           = StructureArmorTough
5827      DamageFX        = StructureDamageFXNoShake
5828    End
5829    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
5830    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
5831    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
5832  
5833    ; *** AUDIO Parameters ***
5834    VoiceSelect = ScudStormSelect
5835    SoundOnDamaged        = BuildingDamagedStateLight
5836    SoundOnReallyDamaged  = BuildingDestroy
5837  
5838    UnitSpecificSounds
5839      UnderConstruction     = UnderConstructionLoop
5840    End
5841  
5842    UnitSpecificSounds
5843    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5844      TurretMoveStart = NoSound
5845      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
5846    End
5847  
5848    ; *** ENGINEERING Parameters ***
5849    RadarPriority   = STRUCTURE
5850    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON
5851    Body            = StructureBody ModuleTag_07
5852      MaxHealth       = 4000.0
5853      InitialHealth   = 4000.0
5854  
5855      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5856      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5857      SubdualDamageCap = 4200
5858      SubdualDamageHealRate = 500
5859      SubdualDamageHealAmount = 100
5860    End
5861    Behavior        = RebuildHoleExposeDie ModuleTag_08
5862      HoleName      = GLAHoleScudStorm
5863      HoleMaxHealth = 500.0
5864    End 
5865  
5866    Behavior = AIUpdateInterface ModuleTag_09
5867    End
5868  
5869    Behavior    = OCLSpecialPower ModuleTag_10
5870      SpecialPowerTemplate = SuperweaponScudStorm
5871      OCL                  = SUPERWEAPON_ScudStorm
5872    End
5873    Behavior = SpecialPowerCreate ModuleTag_11
5874      ;nothing
5875    End
5876  
5877    Behavior = DestroyDie ModuleTag_12
5878      ;nothing
5879    End
5880    Behavior        = CreateObjectDie ModuleTag_13
5881      CreationList  = OCL_PoisonFieldMedium
5882      ExemptStatus  = UNDER_CONSTRUCTION
5883    End
5884    Behavior        = FXListDie ModuleTag_14
5885      DeathFX       = WeaponFX_BombTruckHighExplosiveBioBombDetonation
5886      ExemptStatus  = UNDER_CONSTRUCTION
5887    End
5888  
5889    Behavior = FlammableUpdate ModuleTag_16
5890      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5891      AflameDamageAmount = 5       ; taking this much damage...
5892      AflameDamageDelay = 500       ; this often.
5893    End
5894  
5895    Behavior = RadiusDecalUpdate ModuleTag_17
5896      ; nothing
5897    End
5898  
5899    Behavior = TransitionDamageFX ModuleTag_18
5900      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
5901      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
5902      ;---------------------------------------------------------------------------------------
5903      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
5904      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
5905      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
5906    End
5907  
5908    Behavior        = FXListDie ModuleTag_19
5909      DeathFX       = FX_BuildingDie
5910    End
5911  
5912    Behavior = GenerateMinefieldBehavior     ModuleTag_20
5913      TriggeredBy           = Upgrade_ChinaMines
5914      MineName              = ChinaStandardMine
5915      SmartBorder           = Yes
5916      AlwaysCircular        = Yes
5917  
5918      Upgradable            = Yes
5919      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
5920      UpgradedMineName      = ChinaEMPMine
5921    End
5922  
5923  
5924  
5925    Behavior = ProductionUpdate ModuleTag_21
5926      ; nothing
5927    End
5928  
5929    Behavior = ArmorUpgrade ModuleTag_26
5930      TriggeredBy = Upgrade_ChinaEMPMines
5931    End
5932  
5933    Geometry            = BOX
5934    GeometryMajorRadius = 71.0
5935    GeometryMinorRadius = 67.0
5936    GeometryHeight      = 25.0
5937    GeometryIsSmall     = No
5938    Shadow          = SHADOW_VOLUME
5939    BuildCompletion = PLACED_BY_PLAYER
5940  
5941  End
5942  
5943  
5944  
5945  
5946  
5947  
5948  
5949  
5950  
5951  
5952  
5953  
5954  
5955  
5956  
5957  
5958  
5959  
5960  
5961  
5962  
5963  
5964  
5965  
5966  
5967  
5968  
5969  
5970  
5971  
5972  
5973  
5974  
5975  
5976  
5977  
5978  
5979  
5980  
5981  
5982  
5983  
5984  
5985  
5986  
5987  
5988  
5989  
5990  ;------------------------------------------------------------------------------
5991  ;China Neutron Missile, NukeSilo, Nuke Silo
5992  Object Boss_NuclearMissileLauncher
5993  
5994    ; *** ART Parameters ***
5995    SelectPortrait         = SNNukeMisl_L
5996    ButtonImage            = SNNukeMisl
5997    SelectPortrait = SNNukeMisl_L
5998    ButtonImage            = SNNukeMisl
5999    Draw = W3DModelDraw ModuleTag_01
6000      OkToChangeModelColor = Yes
6001      ; day
6002      ConditionState      = NONE
6003        Model             = NBNMissle
6004      End
6005      ConditionState      = SOLD
6006        Model             = NONE
6007      End  
6008      ConditionState      = SOLD SNOW
6009        Model             = NONE
6010  
6011      End   
6012      ConditionState      = SOLD NIGHT
6013        Model             = NONE
6014      End    
6015      ConditionState      = SOLD NIGHT SNOW
6016        Model             = NONE
6017      End     
6018      
6019      
6020      ConditionState      = DAMAGED
6021        Model             = NBNMissle_D
6022        ParticleSysBone   = Smoke01 SmolderingSmoke
6023        ParticleSysBone   = Smoke02 SmolderingSmoke
6024        ParticleSysBone   = Smoke03 SmolderingSmoke
6025        ParticleSysBone   = Smoke04 SmolderingSmoke
6026        ParticleSysBone   = Smoke01 SmolderingFire
6027        ParticleSysBone   = Smoke02 SmolderingFire
6028        ParticleSysBone   = Smoke03 SmolderingFire
6029        ParticleSysBone   = Smoke04 SmolderingFire
6030      End
6031       ConditionState     = REALLYDAMAGED RUBBLE
6032        Model             = NBNMissle_E
6033        ParticleSysBone   = Smoke01 SmolderingSmoke
6034        ParticleSysBone   = Smoke02 SmolderingSmoke
6035        ParticleSysBone   = Smoke03 SmolderingSmoke
6036        ParticleSysBone   = Smoke04 SmolderingSmoke
6037        ParticleSysBone   = Smoke05 SmolderingSmoke
6038        ParticleSysBone   = Smoke06 SmolderingSmoke
6039        ParticleSysBone   = Smoke01 SmolderingFire
6040        ParticleSysBone   = Smoke02 SmolderingFire
6041        ParticleSysBone   = Smoke03 SmolderingFire
6042        ParticleSysBone   = Smoke04 SmolderingFire
6043        ParticleSysBone   = Smoke05 SmolderingFire
6044        ParticleSysBone   = Smoke06 SmolderingFire
6045      End 
6046      ConditionState      = AWAITING_CONSTRUCTION
6047        Model             = None
6048      End
6049      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6050        Model             = NBNMissle
6051        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6052      END   
6053      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
6054        Model             = NBNMissle_D
6055        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6056      END   
6057      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
6058        Model             = NBNMissle_E
6059        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6060      END   
6061      ConditionState      = DOOR_1_OPENING
6062        Model             = NBNMissle_A2
6063        Animation         = NBNMissle_A2.NBNMissle_A2
6064        AnimationMode     = ONCE
6065        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6066      End   
6067      ConditionState      = DOOR_1_WAITING_OPEN
6068        Model             = NBNMissle_A2
6069        Animation         = NBNMissle_A2.NBNMissle_A2
6070        AnimationMode     = MANUAL
6071        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6072        WeaponLaunchBone  = PRIMARY RockPos
6073        ParticleSysBone   = Steam01 BigMissileSteam
6074        ParticleSysBone   = Steam02 BigMissileSteam
6075      End   
6076      ConditionState      = DOOR_1_WAITING_TO_CLOSE
6077        Model             = NBNMissle_A3
6078        Animation         = NBNMissle_A3.NBNMissle_A3
6079        AnimationMode     = MANUAL
6080        Flags             = START_FRAME_FIRST
6081        WeaponLaunchBone  = PRIMARY RockPos
6082      End   
6083      ConditionState      = DOOR_1_CLOSING
6084        Model             = NBNMissle_A3
6085        Animation         = NBNMissle_A3.NBNMissle_A3
6086        AnimationMode     = ONCE
6087        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6088      End   
6089      ConditionState      = DOOR_1_OPENING DAMAGED 
6090        Model             = NBNMissle_A2D
6091        Animation         = NBNMissle_A2D.NBNMissle_A2D
6092        AnimationMode     = ONCE
6093        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6094        ParticleSysBone   = Smoke01 SmolderingSmoke
6095        ParticleSysBone   = Smoke02 SmolderingSmoke
6096        ParticleSysBone   = Smoke03 SmolderingSmoke
6097        ParticleSysBone   = Smoke04 SmolderingSmoke
6098        ParticleSysBone   = Smoke05 SmolderingSmoke
6099        ParticleSysBone   = Smoke06 SmolderingSmoke
6100        ParticleSysBone   = Smoke01 SmolderingFire
6101        ParticleSysBone   = Smoke02 SmolderingFire
6102        ParticleSysBone   = Smoke03 SmolderingFire
6103        ParticleSysBone   = Smoke04 SmolderingFire
6104        ParticleSysBone   = Smoke05 SmolderingFire
6105        ParticleSysBone   = Smoke06 SmolderingFire
6106  
6107        ParticleSysBone   = Steam01 BigMissileSteam
6108        ParticleSysBone   = Steam02 BigMissileSteam
6109      End   
6110      ConditionState      = DOOR_1_WAITING_OPEN DAMAGED 
6111        Model             = NBNMissle_A2D
6112        Animation         = NBNMissle_A2D.NBNMissle_A2D
6113        AnimationMode     = MANUAL
6114        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6115        WeaponLaunchBone  = PRIMARY RockPos
6116        ParticleSysBone   = Smoke01 SmolderingSmoke
6117        ParticleSysBone   = Smoke02 SmolderingSmoke
6118        ParticleSysBone   = Smoke03 SmolderingSmoke
6119        ParticleSysBone   = Smoke04 SmolderingSmoke
6120        ParticleSysBone   = Smoke05 SmolderingSmoke
6121        ParticleSysBone   = Smoke06 SmolderingSmoke
6122        ParticleSysBone   = Smoke01 SmolderingFire
6123        ParticleSysBone   = Smoke02 SmolderingFire
6124        ParticleSysBone   = Smoke03 SmolderingFire
6125        ParticleSysBone   = Smoke04 SmolderingFire
6126        ParticleSysBone   = Smoke05 SmolderingFire
6127        ParticleSysBone   = Smoke06 SmolderingFire
6128        ParticleSysBone   = Steam01 BigMissileSteam
6129        ParticleSysBone   = Steam02 BigMissileSteam
6130      End   
6131      ConditionState      = DOOR_1_WAITING_TO_CLOSE DAMAGED 
6132        Model             = NBNMissle_A3D
6133        Animation         = NBNMissle_A3D.NBNMissle_A3D
6134        AnimationMode     = MANUAL
6135        Flags             = START_FRAME_FIRST
6136        WeaponLaunchBone  = PRIMARY RockPos
6137        ParticleSysBone   = Smoke01 SmolderingSmoke
6138        ParticleSysBone   = Smoke02 SmolderingSmoke
6139        ParticleSysBone   = Smoke03 SmolderingSmoke
6140        ParticleSysBone   = Smoke04 SmolderingSmoke
6141        ParticleSysBone   = Smoke05 SmolderingSmoke
6142        ParticleSysBone   = Smoke06 SmolderingSmoke
6143        ParticleSysBone   = Smoke01 SmolderingFire
6144        ParticleSysBone   = Smoke02 SmolderingFire
6145        ParticleSysBone   = Smoke03 SmolderingFire
6146        ParticleSysBone   = Smoke04 SmolderingFire
6147        ParticleSysBone   = Smoke05 SmolderingFire
6148        ParticleSysBone   = Smoke06 SmolderingFire
6149      End   
6150      ConditionState      = DOOR_1_CLOSING DAMAGED 
6151        Model             = NBNMissle_A3D
6152        Animation         = NBNMissle_A3D.NBNMissle_A3D
6153        AnimationMode     = ONCE
6154        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6155        ParticleSysBone   = Smoke01 SmolderingSmoke
6156        ParticleSysBone   = Smoke02 SmolderingSmoke
6157        ParticleSysBone   = Smoke03 SmolderingSmoke
6158        ParticleSysBone   = Smoke04 SmolderingSmoke
6159        ParticleSysBone   = Smoke05 SmolderingSmoke
6160        ParticleSysBone   = Smoke06 SmolderingSmoke
6161        ParticleSysBone   = Smoke01 SmolderingFire
6162        ParticleSysBone   = Smoke02 SmolderingFire
6163        ParticleSysBone   = Smoke03 SmolderingFire
6164        ParticleSysBone   = Smoke04 SmolderingFire
6165        ParticleSysBone   = Smoke05 SmolderingFire
6166        ParticleSysBone   = Smoke06 SmolderingFire
6167      End   
6168      ConditionState      = DOOR_1_OPENING REALLYDAMAGED RUBBLE 
6169        Model             = NBNMissle_A2E
6170        Animation         = NBNMissle_A2E.NBNMissle_A2E
6171        AnimationMode     = ONCE
6172        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6173        ParticleSysBone   = Smoke01 SmolderingSmoke
6174        ParticleSysBone   = Smoke02 SmolderingSmoke
6175        ParticleSysBone   = Smoke03 SmolderingSmoke
6176        ParticleSysBone   = Smoke04 SmolderingSmoke
6177        ParticleSysBone   = Smoke05 SmolderingSmoke
6178        ParticleSysBone   = Smoke06 SmolderingSmoke
6179        ParticleSysBone   = Smoke01 SmolderingFire
6180        ParticleSysBone   = Smoke02 SmolderingFire
6181        ParticleSysBone   = Smoke03 SmolderingFire
6182        ParticleSysBone   = Smoke04 SmolderingFire
6183        ParticleSysBone   = Smoke05 SmolderingFire
6184        ParticleSysBone   = Smoke06 SmolderingFire
6185        ParticleSysBone   = Steam01 BigMissileSteam
6186        ParticleSysBone   = Steam02 BigMissileSteam
6187      End   
6188      ConditionState      = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE 
6189        Model             = NBNMissle_A2E
6190        Animation         = NBNMissle_A2E.NBNMissle_A2E
6191        AnimationMode     = MANUAL
6192        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6193        WeaponLaunchBone  = PRIMARY RockPos
6194        ParticleSysBone   = Smoke01 SmolderingSmoke
6195        ParticleSysBone   = Smoke02 SmolderingSmoke
6196        ParticleSysBone   = Smoke03 SmolderingSmoke
6197        ParticleSysBone   = Smoke04 SmolderingSmoke
6198        ParticleSysBone   = Smoke05 SmolderingSmoke
6199        ParticleSysBone   = Smoke06 SmolderingSmoke
6200        ParticleSysBone   = Smoke01 SmolderingFire
6201        ParticleSysBone   = Smoke02 SmolderingFire
6202        ParticleSysBone   = Smoke03 SmolderingFire
6203        ParticleSysBone   = Smoke04 SmolderingFire
6204        ParticleSysBone   = Smoke05 SmolderingFire
6205        ParticleSysBone   = Smoke06 SmolderingFire
6206        ParticleSysBone   = Steam01 BigMissileSteam
6207        ParticleSysBone   = Steam02 BigMissileSteam
6208      End   
6209      ConditionState      = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE 
6210        Model             = NBNMissle_A3E
6211        Animation         = NBNMissle_A3E.NBNMissle_A3E
6212        AnimationMode     = MANUAL
6213        Flags             = START_FRAME_FIRST
6214        WeaponLaunchBone  = PRIMARY RockPos
6215        ParticleSysBone   = Smoke01 SmolderingSmoke
6216        ParticleSysBone   = Smoke02 SmolderingSmoke
6217        ParticleSysBone   = Smoke03 SmolderingSmoke
6218        ParticleSysBone   = Smoke04 SmolderingSmoke
6219        ParticleSysBone   = Smoke05 SmolderingSmoke
6220        ParticleSysBone   = Smoke06 SmolderingSmoke
6221        ParticleSysBone   = Smoke01 SmolderingFire
6222        ParticleSysBone   = Smoke02 SmolderingFire
6223        ParticleSysBone   = Smoke03 SmolderingFire
6224        ParticleSysBone   = Smoke04 SmolderingFire
6225        ParticleSysBone   = Smoke05 SmolderingFire
6226        ParticleSysBone   = Smoke06 SmolderingFire
6227      End   
6228      ConditionState      = DOOR_1_CLOSING REALLYDAMAGED RUBBLE 
6229        Model             = NBNMissle_A3E
6230        Animation         = NBNMissle_A3E.NBNMissle_A3E
6231        AnimationMode     = ONCE
6232        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6233        ParticleSysBone   = Smoke01 SmolderingSmoke
6234        ParticleSysBone   = Smoke02 SmolderingSmoke
6235        ParticleSysBone   = Smoke03 SmolderingSmoke
6236        ParticleSysBone   = Smoke04 SmolderingSmoke
6237        ParticleSysBone   = Smoke05 SmolderingSmoke
6238        ParticleSysBone   = Smoke06 SmolderingSmoke
6239        ParticleSysBone   = Smoke01 SmolderingFire
6240        ParticleSysBone   = Smoke02 SmolderingFire
6241        ParticleSysBone   = Smoke03 SmolderingFire
6242        ParticleSysBone   = Smoke04 SmolderingFire
6243        ParticleSysBone   = Smoke05 SmolderingFire
6244        ParticleSysBone   = Smoke06 SmolderingFire
6245      End   
6246  
6247      ; night
6248      ConditionState      = NIGHT
6249        Model             = NBNMissle_N
6250      End
6251      ConditionState      = DAMAGED NIGHT
6252        Model             = NBNMissle_DN
6253        ParticleSysBone   = Smoke01 SmolderingSmoke
6254        ParticleSysBone   = Smoke02 SmolderingSmoke
6255        ParticleSysBone   = Smoke03 SmolderingSmoke
6256        ParticleSysBone   = Smoke04 SmolderingSmoke
6257        ParticleSysBone   = Smoke01 SmolderingFire
6258        ParticleSysBone   = Smoke02 SmolderingFire
6259        ParticleSysBone   = Smoke03 SmolderingFire
6260        ParticleSysBone   = Smoke04 SmolderingFire
6261      End
6262       ConditionState     = REALLYDAMAGED RUBBLE NIGHT
6263        Model             = NBNMissle_EN
6264        ParticleSysBone   = Smoke01 SmolderingSmoke
6265        ParticleSysBone   = Smoke02 SmolderingSmoke
6266        ParticleSysBone   = Smoke03 SmolderingSmoke
6267        ParticleSysBone   = Smoke04 SmolderingSmoke
6268        ParticleSysBone   = Smoke05 SmolderingSmoke
6269        ParticleSysBone   = Smoke06 SmolderingSmoke
6270        ParticleSysBone   = Smoke01 SmolderingFire
6271        ParticleSysBone   = Smoke02 SmolderingFire
6272        ParticleSysBone   = Smoke03 SmolderingFire
6273        ParticleSysBone   = Smoke04 SmolderingFire
6274        ParticleSysBone   = Smoke05 SmolderingFire
6275        ParticleSysBone   = Smoke06 SmolderingFire
6276      End
6277      ConditionState      = AWAITING_CONSTRUCTION NIGHT
6278        Model             = None
6279      End
6280      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
6281        Model             = NBNMissle_N
6282        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6283      END       
6284      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
6285        Model             = NBNMissle_DN
6286        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6287      END       
6288      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
6289        Model             = NBNMissle_EN
6290        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6291      END       
6292      ConditionState      = DOOR_1_OPENING NIGHT
6293        Model             = NBNMissle_A2N
6294        Animation         = NBNMissle_A2N.NBNMissle_A2N
6295        AnimationMode     = ONCE
6296        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6297      End   
6298      ConditionState      = DOOR_1_WAITING_OPEN NIGHT
6299        Model             = NBNMissle_A2N
6300        Animation         = NBNMissle_A2N.NBNMissle_A2N
6301        AnimationMode     = MANUAL
6302        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6303        WeaponLaunchBone  = PRIMARY RockPos
6304        ParticleSysBone   = Steam01 BigMissileSteam
6305        ParticleSysBone   = Steam02 BigMissileSteam
6306      End   
6307      ConditionState      = DOOR_1_WAITING_TO_CLOSE NIGHT
6308        Model             = NBNMissle_A3N
6309        Animation         = NBNMissle_A3N.NBNMissle_A3N
6310        AnimationMode     = MANUAL
6311        Flags             = START_FRAME_FIRST
6312        WeaponLaunchBone  = PRIMARY RockPos
6313      End   
6314      ConditionState      = DOOR_1_CLOSING NIGHT
6315        Model             = NBNMissle_A3N
6316        Animation         = NBNMissle_A3N.NBNMissle_A3N
6317        AnimationMode     = ONCE
6318        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6319      End   
6320      ConditionState      = DOOR_1_OPENING DAMAGED NIGHT
6321        Model             = NBNMissle_A2DN
6322        Animation         = NBNMissle_A2DN.NBNMissle_A2DN
6323        AnimationMode     = ONCE
6324        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6325        ParticleSysBone   = Smoke01 SmolderingSmoke
6326        ParticleSysBone   = Smoke02 SmolderingSmoke
6327        ParticleSysBone   = Smoke03 SmolderingSmoke
6328        ParticleSysBone   = Smoke04 SmolderingSmoke
6329        ParticleSysBone   = Smoke05 SmolderingSmoke
6330        ParticleSysBone   = Smoke06 SmolderingSmoke
6331        ParticleSysBone   = Smoke01 SmolderingFire
6332        ParticleSysBone   = Smoke02 SmolderingFire
6333        ParticleSysBone   = Smoke03 SmolderingFire
6334        ParticleSysBone   = Smoke04 SmolderingFire
6335        ParticleSysBone   = Smoke05 SmolderingFire
6336        ParticleSysBone   = Smoke06 SmolderingFire
6337        ParticleSysBone   = Steam01 BigMissileSteam
6338        ParticleSysBone   = Steam02 BigMissileSteam
6339      End   
6340      ConditionState      = DOOR_1_WAITING_OPEN DAMAGED NIGHT
6341        Model             = NBNMissle_A2DN
6342        Animation         = NBNMissle_A2DN.NBNMissle_A2DN
6343        AnimationMode     = MANUAL
6344        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6345        WeaponLaunchBone  = PRIMARY RockPos
6346        ParticleSysBone   = Smoke01 SmolderingSmoke
6347        ParticleSysBone   = Smoke02 SmolderingSmoke
6348        ParticleSysBone   = Smoke03 SmolderingSmoke
6349        ParticleSysBone   = Smoke04 SmolderingSmoke
6350        ParticleSysBone   = Smoke05 SmolderingSmoke
6351        ParticleSysBone   = Smoke06 SmolderingSmoke
6352        ParticleSysBone   = Smoke01 SmolderingFire
6353        ParticleSysBone   = Smoke02 SmolderingFire
6354        ParticleSysBone   = Smoke03 SmolderingFire
6355        ParticleSysBone   = Smoke04 SmolderingFire
6356        ParticleSysBone   = Smoke05 SmolderingFire
6357        ParticleSysBone   = Smoke06 SmolderingFire
6358        ParticleSysBone   = Steam01 BigMissileSteam
6359        ParticleSysBone   = Steam02 BigMissileSteam
6360      End   
6361      ConditionState      = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT
6362        Model             = NBNMissle_A3DN
6363        Animation         = NBNMissle_A3DN.NBNMissle_A3DN
6364        AnimationMode     = MANUAL
6365        Flags             = START_FRAME_FIRST
6366        WeaponLaunchBone  = PRIMARY RockPos
6367        ParticleSysBone   = Smoke01 SmolderingSmoke
6368        ParticleSysBone   = Smoke02 SmolderingSmoke
6369        ParticleSysBone   = Smoke03 SmolderingSmoke
6370        ParticleSysBone   = Smoke04 SmolderingSmoke
6371        ParticleSysBone   = Smoke05 SmolderingSmoke
6372        ParticleSysBone   = Smoke06 SmolderingSmoke
6373        ParticleSysBone   = Smoke01 SmolderingFire
6374        ParticleSysBone   = Smoke02 SmolderingFire
6375        ParticleSysBone   = Smoke03 SmolderingFire
6376        ParticleSysBone   = Smoke04 SmolderingFire
6377        ParticleSysBone   = Smoke05 SmolderingFire
6378        ParticleSysBone   = Smoke06 SmolderingFire
6379      End   
6380      ConditionState      = DOOR_1_CLOSING DAMAGED NIGHT
6381        Model             = NBNMissle_A3DN
6382        Animation         = NBNMissle_A3DN.NBNMissle_A3DN
6383        AnimationMode     = ONCE
6384        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6385        ParticleSysBone   = Smoke01 SmolderingSmoke
6386        ParticleSysBone   = Smoke02 SmolderingSmoke
6387        ParticleSysBone   = Smoke03 SmolderingSmoke
6388        ParticleSysBone   = Smoke04 SmolderingSmoke
6389        ParticleSysBone   = Smoke05 SmolderingSmoke
6390        ParticleSysBone   = Smoke06 SmolderingSmoke
6391        ParticleSysBone   = Smoke01 SmolderingFire
6392        ParticleSysBone   = Smoke02 SmolderingFire
6393        ParticleSysBone   = Smoke03 SmolderingFire
6394        ParticleSysBone   = Smoke04 SmolderingFire
6395        ParticleSysBone   = Smoke05 SmolderingFire
6396        ParticleSysBone   = Smoke06 SmolderingFire
6397      End   
6398      ConditionState      = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT
6399        Model             = NBNMissle_A2EN
6400        Animation         = NBNMissle_A2EN.NBNMissle_A2EN
6401        AnimationMode     = ONCE
6402        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6403        ParticleSysBone   = Smoke01 SmolderingSmoke
6404        ParticleSysBone   = Smoke02 SmolderingSmoke
6405        ParticleSysBone   = Smoke03 SmolderingSmoke
6406        ParticleSysBone   = Smoke04 SmolderingSmoke
6407        ParticleSysBone   = Smoke05 SmolderingSmoke
6408        ParticleSysBone   = Smoke06 SmolderingSmoke
6409        ParticleSysBone   = Smoke01 SmolderingFire
6410        ParticleSysBone   = Smoke02 SmolderingFire
6411        ParticleSysBone   = Smoke03 SmolderingFire
6412        ParticleSysBone   = Smoke04 SmolderingFire
6413        ParticleSysBone   = Smoke05 SmolderingFire
6414        ParticleSysBone   = Smoke06 SmolderingFire
6415        ParticleSysBone   = Steam01 BigMissileSteam
6416        ParticleSysBone   = Steam02 BigMissileSteam
6417      End   
6418      ConditionState      = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT
6419        Model             = NBNMissle_A2EN
6420        Animation         = NBNMissle_A2EN.NBNMissle_A2EN
6421        AnimationMode     = MANUAL
6422        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6423        WeaponLaunchBone  = PRIMARY RockPos
6424        ParticleSysBone   = Smoke01 SmolderingSmoke
6425        ParticleSysBone   = Smoke02 SmolderingSmoke
6426        ParticleSysBone   = Smoke03 SmolderingSmoke
6427        ParticleSysBone   = Smoke04 SmolderingSmoke
6428        ParticleSysBone   = Smoke05 SmolderingSmoke
6429        ParticleSysBone   = Smoke06 SmolderingSmoke
6430        ParticleSysBone   = Smoke01 SmolderingFire
6431        ParticleSysBone   = Smoke02 SmolderingFire
6432        ParticleSysBone   = Smoke03 SmolderingFire
6433        ParticleSysBone   = Smoke04 SmolderingFire
6434        ParticleSysBone   = Smoke05 SmolderingFire
6435        ParticleSysBone   = Smoke06 SmolderingFire
6436        ParticleSysBone   = Steam01 BigMissileSteam
6437        ParticleSysBone   = Steam02 BigMissileSteam
6438      End   
6439      ConditionState      = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT
6440        Model             = NBNMissle_A3EN
6441        Animation         = NBNMissle_A3EN.NBNMissle_A3EN
6442        AnimationMode     = MANUAL
6443        Flags             = START_FRAME_FIRST
6444        WeaponLaunchBone  = PRIMARY RockPos
6445        ParticleSysBone   = Smoke01 SmolderingSmoke
6446        ParticleSysBone   = Smoke02 SmolderingSmoke
6447        ParticleSysBone   = Smoke03 SmolderingSmoke
6448        ParticleSysBone   = Smoke04 SmolderingSmoke
6449        ParticleSysBone   = Smoke05 SmolderingSmoke
6450        ParticleSysBone   = Smoke06 SmolderingSmoke
6451        ParticleSysBone   = Smoke01 SmolderingFire
6452        ParticleSysBone   = Smoke02 SmolderingFire
6453        ParticleSysBone   = Smoke03 SmolderingFire
6454        ParticleSysBone   = Smoke04 SmolderingFire
6455        ParticleSysBone   = Smoke05 SmolderingFire
6456        ParticleSysBone   = Smoke06 SmolderingFire
6457      End   
6458      ConditionState      = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT
6459        Model             = NBNMissle_A3EN
6460        Animation         = NBNMissle_A3EN.NBNMissle_A3EN
6461        AnimationMode     = ONCE
6462        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6463        ParticleSysBone   = Smoke01 SmolderingSmoke
6464        ParticleSysBone   = Smoke02 SmolderingSmoke
6465        ParticleSysBone   = Smoke03 SmolderingSmoke
6466        ParticleSysBone   = Smoke04 SmolderingSmoke
6467        ParticleSysBone   = Smoke05 SmolderingSmoke
6468        ParticleSysBone   = Smoke06 SmolderingSmoke
6469        ParticleSysBone   = Smoke01 SmolderingFire
6470        ParticleSysBone   = Smoke02 SmolderingFire
6471        ParticleSysBone   = Smoke03 SmolderingFire
6472        ParticleSysBone   = Smoke04 SmolderingFire
6473        ParticleSysBone   = Smoke05 SmolderingFire
6474        ParticleSysBone   = Smoke06 SmolderingFire
6475      End   
6476      
6477      ;-------------- SNOW! --------------------
6478      
6479          ConditionState      = SNOW
6480        Model             = NBNMissle_S
6481      End
6482      
6483      ConditionState      = DAMAGED SNOW
6484        Model             = NBNMissle_DS
6485        ParticleSysBone   = Smoke01 SmolderingSmoke
6486        ParticleSysBone   = Smoke02 SmolderingSmoke
6487        ParticleSysBone   = Smoke03 SmolderingSmoke
6488        ParticleSysBone   = Smoke04 SmolderingSmoke
6489        ParticleSysBone   = Smoke01 SmolderingFire
6490        ParticleSysBone   = Smoke02 SmolderingFire
6491        ParticleSysBone   = Smoke03 SmolderingFire
6492        ParticleSysBone   = Smoke04 SmolderingFire
6493      End
6494       ConditionState     = REALLYDAMAGED RUBBLE SNOW
6495        Model             = NBNMissle_ES
6496        ParticleSysBone   = Smoke01 SmolderingSmoke
6497        ParticleSysBone   = Smoke02 SmolderingSmoke
6498        ParticleSysBone   = Smoke03 SmolderingSmoke
6499        ParticleSysBone   = Smoke04 SmolderingSmoke
6500        ParticleSysBone   = Smoke05 SmolderingSmoke
6501        ParticleSysBone   = Smoke06 SmolderingSmoke
6502        ParticleSysBone   = Smoke01 SmolderingFire
6503        ParticleSysBone   = Smoke02 SmolderingFire
6504        ParticleSysBone   = Smoke03 SmolderingFire
6505        ParticleSysBone   = Smoke04 SmolderingFire
6506        ParticleSysBone   = Smoke05 SmolderingFire
6507        ParticleSysBone   = Smoke06 SmolderingFire
6508      End 
6509      ConditionState      = AWAITING_CONSTRUCTION SNOW
6510        Model             = None
6511      End
6512      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
6513        Model             = NBNMissle_S
6514        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6515      END   
6516      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
6517        Model             = NBNMissle_DS
6518        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6519      END   
6520      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
6521        Model             = NBNMissle_ES
6522        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6523      END   
6524      ConditionState      = DOOR_1_OPENING SNOW
6525        Model             = NBNMissle_A2S
6526        Animation         = NBNMissle_A2S.NBNMissle_A2S
6527        AnimationMode     = ONCE
6528        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6529      End   
6530      ConditionState      = DOOR_1_WAITING_OPEN SNOW
6531        Model             = NBNMissle_A2S
6532        Animation         = NBNMissle_A2S.NBNMissle_A2S
6533        AnimationMode     = MANUAL
6534        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6535        WeaponLaunchBone  = PRIMARY RockPos
6536        ParticleSysBone   = Steam01 BigMissileSteam
6537        ParticleSysBone   = Steam02 BigMissileSteam
6538      End   
6539      ConditionState      = DOOR_1_WAITING_TO_CLOSE SNOW
6540        Model             = NBNMissle_A3S
6541        Animation         = NBNMissle_A3S.NBNMissle_A3S
6542        AnimationMode     = MANUAL
6543        Flags             = START_FRAME_FIRST
6544        WeaponLaunchBone  = PRIMARY RockPos
6545      End   
6546      ConditionState      = DOOR_1_CLOSING SNOW
6547        Model             = NBNMissle_A3S
6548        Animation         = NBNMissle_A3S.NBNMissle_A3S
6549        AnimationMode     = ONCE
6550        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6551      End   
6552      ConditionState      = DOOR_1_OPENING DAMAGED SNOW
6553        Model             = NBNMissle_A2DS
6554        Animation         = NBNMissle_A2DS.NBNMissle_A2DS
6555        AnimationMode     = ONCE
6556        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6557        ParticleSysBone   = Smoke01 SmolderingSmoke
6558        ParticleSysBone   = Smoke02 SmolderingSmoke
6559        ParticleSysBone   = Smoke03 SmolderingSmoke
6560        ParticleSysBone   = Smoke04 SmolderingSmoke
6561        ParticleSysBone   = Smoke05 SmolderingSmoke
6562        ParticleSysBone   = Smoke06 SmolderingSmoke
6563        ParticleSysBone   = Smoke01 SmolderingFire
6564        ParticleSysBone   = Smoke02 SmolderingFire
6565        ParticleSysBone   = Smoke03 SmolderingFire
6566        ParticleSysBone   = Smoke04 SmolderingFire
6567        ParticleSysBone   = Smoke05 SmolderingFire
6568        ParticleSysBone   = Smoke06 SmolderingFire
6569        ParticleSysBone   = Steam01 BigMissileSteam
6570        ParticleSysBone   = Steam02 BigMissileSteam
6571      End   
6572      ConditionState      = DOOR_1_WAITING_OPEN DAMAGED SNOW
6573        Model             = NBNMissle_A2DS
6574        Animation         = NBNMissle_A2DS.NBNMissle_A2DS
6575        AnimationMode     = MANUAL
6576        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6577        WeaponLaunchBone  = PRIMARY RockPos
6578        ParticleSysBone   = Smoke01 SmolderingSmoke
6579        ParticleSysBone   = Smoke02 SmolderingSmoke
6580        ParticleSysBone   = Smoke03 SmolderingSmoke
6581        ParticleSysBone   = Smoke04 SmolderingSmoke
6582        ParticleSysBone   = Smoke05 SmolderingSmoke
6583        ParticleSysBone   = Smoke06 SmolderingSmoke
6584        ParticleSysBone   = Smoke01 SmolderingFire
6585        ParticleSysBone   = Smoke02 SmolderingFire
6586        ParticleSysBone   = Smoke03 SmolderingFire
6587        ParticleSysBone   = Smoke04 SmolderingFire
6588        ParticleSysBone   = Smoke05 SmolderingFire
6589        ParticleSysBone   = Smoke06 SmolderingFire
6590        ParticleSysBone   = Steam01 BigMissileSteam
6591        ParticleSysBone   = Steam02 BigMissileSteam
6592      End   
6593      ConditionState      = DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW
6594        Model             = NBNMissle_A3DS
6595        Animation         = NBNMissle_A3DS.NBNMissle_A3DS
6596        AnimationMode     = MANUAL
6597        Flags             = START_FRAME_FIRST
6598        WeaponLaunchBone  = PRIMARY RockPos
6599        ParticleSysBone   = Smoke01 SmolderingSmoke
6600        ParticleSysBone   = Smoke02 SmolderingSmoke
6601        ParticleSysBone   = Smoke03 SmolderingSmoke
6602        ParticleSysBone   = Smoke04 SmolderingSmoke
6603        ParticleSysBone   = Smoke05 SmolderingSmoke
6604        ParticleSysBone   = Smoke06 SmolderingSmoke
6605        ParticleSysBone   = Smoke01 SmolderingFire
6606        ParticleSysBone   = Smoke02 SmolderingFire
6607        ParticleSysBone   = Smoke03 SmolderingFire
6608        ParticleSysBone   = Smoke04 SmolderingFire
6609        ParticleSysBone   = Smoke05 SmolderingFire
6610        ParticleSysBone   = Smoke06 SmolderingFire
6611      End   
6612      ConditionState      = DOOR_1_CLOSING DAMAGED SNOW
6613        Model             = NBNMissle_A3DS
6614        Animation         = NBNMissle_A3DS.NBNMissle_A3DS
6615        AnimationMode     = ONCE
6616        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6617        ParticleSysBone   = Smoke01 SmolderingSmoke
6618        ParticleSysBone   = Smoke02 SmolderingSmoke
6619        ParticleSysBone   = Smoke03 SmolderingSmoke
6620        ParticleSysBone   = Smoke04 SmolderingSmoke
6621        ParticleSysBone   = Smoke05 SmolderingSmoke
6622        ParticleSysBone   = Smoke06 SmolderingSmoke
6623        ParticleSysBone   = Smoke01 SmolderingFire
6624        ParticleSysBone   = Smoke02 SmolderingFire
6625        ParticleSysBone   = Smoke03 SmolderingFire
6626        ParticleSysBone   = Smoke04 SmolderingFire
6627        ParticleSysBone   = Smoke05 SmolderingFire
6628        ParticleSysBone   = Smoke06 SmolderingFire
6629      End   
6630      ConditionState      = DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW
6631        Model             = NBNMissle_A2ES
6632        Animation         = NBNMissle_A2ES.NBNMissle_A2ES
6633        AnimationMode     = ONCE
6634        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6635        ParticleSysBone   = Smoke01 SmolderingSmoke
6636        ParticleSysBone   = Smoke02 SmolderingSmoke
6637        ParticleSysBone   = Smoke03 SmolderingSmoke
6638        ParticleSysBone   = Smoke04 SmolderingSmoke
6639        ParticleSysBone   = Smoke05 SmolderingSmoke
6640        ParticleSysBone   = Smoke06 SmolderingSmoke
6641        ParticleSysBone   = Smoke01 SmolderingFire
6642        ParticleSysBone   = Smoke02 SmolderingFire
6643        ParticleSysBone   = Smoke03 SmolderingFire
6644        ParticleSysBone   = Smoke04 SmolderingFire
6645        ParticleSysBone   = Smoke05 SmolderingFire
6646        ParticleSysBone   = Smoke06 SmolderingFire
6647        ParticleSysBone   = Steam01 BigMissileSteam
6648        ParticleSysBone   = Steam02 BigMissileSteam
6649      End   
6650      ConditionState      = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW
6651        Model             = NBNMissle_A2ES
6652        Animation         = NBNMissle_A2ES.NBNMissle_A2ES
6653        AnimationMode     = MANUAL
6654        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6655        WeaponLaunchBone  = PRIMARY RockPos
6656        ParticleSysBone   = Smoke01 SmolderingSmoke
6657        ParticleSysBone   = Smoke02 SmolderingSmoke
6658        ParticleSysBone   = Smoke03 SmolderingSmoke
6659        ParticleSysBone   = Smoke04 SmolderingSmoke
6660        ParticleSysBone   = Smoke05 SmolderingSmoke
6661        ParticleSysBone   = Smoke06 SmolderingSmoke
6662        ParticleSysBone   = Smoke01 SmolderingFire
6663        ParticleSysBone   = Smoke02 SmolderingFire
6664        ParticleSysBone   = Smoke03 SmolderingFire
6665        ParticleSysBone   = Smoke04 SmolderingFire
6666        ParticleSysBone   = Smoke05 SmolderingFire
6667        ParticleSysBone   = Smoke06 SmolderingFire
6668        ParticleSysBone   = Steam01 BigMissileSteam
6669        ParticleSysBone   = Steam02 BigMissileSteam
6670      End   
6671      ConditionState      = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW
6672        Model             = NBNMissle_A3ES
6673        Animation         = NBNMissle_A3ES.NBNMissle_A3ES
6674        AnimationMode     = MANUAL
6675        Flags             = START_FRAME_FIRST
6676        WeaponLaunchBone  = PRIMARY RockPos
6677        ParticleSysBone   = Smoke01 SmolderingSmoke
6678        ParticleSysBone   = Smoke02 SmolderingSmoke
6679        ParticleSysBone   = Smoke03 SmolderingSmoke
6680        ParticleSysBone   = Smoke04 SmolderingSmoke
6681        ParticleSysBone   = Smoke05 SmolderingSmoke
6682        ParticleSysBone   = Smoke06 SmolderingSmoke
6683        ParticleSysBone   = Smoke01 SmolderingFire
6684        ParticleSysBone   = Smoke02 SmolderingFire
6685        ParticleSysBone   = Smoke03 SmolderingFire
6686        ParticleSysBone   = Smoke04 SmolderingFire
6687        ParticleSysBone   = Smoke05 SmolderingFire
6688        ParticleSysBone   = Smoke06 SmolderingFire
6689      End   
6690      ConditionState      = DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW
6691        Model             = NBNMissle_A3ES
6692        Animation         = NBNMissle_A3ES.NBNMissle_A3ES
6693        AnimationMode     = ONCE
6694        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6695        ParticleSysBone   = Smoke01 SmolderingSmoke
6696        ParticleSysBone   = Smoke02 SmolderingSmoke
6697        ParticleSysBone   = Smoke03 SmolderingSmoke
6698        ParticleSysBone   = Smoke04 SmolderingSmoke
6699        ParticleSysBone   = Smoke05 SmolderingSmoke
6700        ParticleSysBone   = Smoke06 SmolderingSmoke
6701        ParticleSysBone   = Smoke01 SmolderingFire
6702        ParticleSysBone   = Smoke02 SmolderingFire
6703        ParticleSysBone   = Smoke03 SmolderingFire
6704        ParticleSysBone   = Smoke04 SmolderingFire
6705        ParticleSysBone   = Smoke05 SmolderingFire
6706        ParticleSysBone   = Smoke06 SmolderingFire
6707      End   
6708  
6709      ; night
6710      ConditionState      = NIGHT SNOW
6711        Model             = NBNMissle_NS
6712      End
6713      ConditionState      = DAMAGED NIGHT SNOW
6714        Model             = NBNMissle_DNS
6715        ParticleSysBone   = Smoke01 SmolderingSmoke
6716        ParticleSysBone   = Smoke02 SmolderingSmoke
6717        ParticleSysBone   = Smoke03 SmolderingSmoke
6718        ParticleSysBone   = Smoke04 SmolderingSmoke
6719        ParticleSysBone   = Smoke01 SmolderingFire
6720        ParticleSysBone   = Smoke02 SmolderingFire
6721        ParticleSysBone   = Smoke03 SmolderingFire
6722        ParticleSysBone   = Smoke04 SmolderingFire
6723      End
6724       ConditionState     = REALLYDAMAGED RUBBLE NIGHT SNOW
6725        Model             = NBNMissle_ENS
6726        ParticleSysBone   = Smoke01 SmolderingSmoke
6727        ParticleSysBone   = Smoke02 SmolderingSmoke
6728        ParticleSysBone   = Smoke03 SmolderingSmoke
6729        ParticleSysBone   = Smoke04 SmolderingSmoke
6730        ParticleSysBone   = Smoke05 SmolderingSmoke
6731        ParticleSysBone   = Smoke06 SmolderingSmoke
6732        ParticleSysBone   = Smoke01 SmolderingFire
6733        ParticleSysBone   = Smoke02 SmolderingFire
6734        ParticleSysBone   = Smoke03 SmolderingFire
6735        ParticleSysBone   = Smoke04 SmolderingFire
6736        ParticleSysBone   = Smoke05 SmolderingFire
6737        ParticleSysBone   = Smoke06 SmolderingFire
6738      End
6739      ConditionState      = AWAITING_CONSTRUCTION NIGHT SNOW
6740        Model             = None
6741      End
6742      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
6743        Model             = NBNMissle_NS
6744        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6745      END       
6746      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
6747        Model             = NBNMissle_DNS
6748        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6749      END       
6750      ConditionState      = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
6751        Model             = NBNMissle_ENS
6752        Flags             = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6753      END       
6754      ConditionState      = DOOR_1_OPENING NIGHT SNOW
6755        Model             = NBNMissle_A2NS
6756        Animation         = NBNMissle_A2NS.NBNMissle_A2NS
6757        AnimationMode     = ONCE
6758        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6759      End   
6760      ConditionState      = DOOR_1_WAITING_OPEN NIGHT SNOW
6761        Model             = NBNMissle_A2NS
6762        Animation         = NBNMissle_A2NS.NBNMissle_A2NS
6763        AnimationMode     = MANUAL
6764        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6765        WeaponLaunchBone  = PRIMARY RockPos
6766        ParticleSysBone   = Steam01 BigMissileSteam
6767        ParticleSysBone   = Steam02 BigMissileSteam
6768      End   
6769      ConditionState      = DOOR_1_WAITING_TO_CLOSE NIGHT SNOW
6770        Model             = NBNMissle_A3NS
6771        Animation         = NBNMissle_A3NS.NBNMissle_A3NS
6772        AnimationMode     = MANUAL
6773        Flags             = START_FRAME_FIRST
6774        WeaponLaunchBone  = PRIMARY RockPos
6775      End   
6776      ConditionState      = DOOR_1_CLOSING NIGHT SNOW
6777        Model             = NBNMissle_A3NS
6778        Animation         = NBNMissle_A3NS.NBNMissle_A3NS
6779        AnimationMode     = ONCE
6780        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6781      End   
6782      ConditionState      = DOOR_1_OPENING DAMAGED NIGHT SNOW
6783        Model             = NBNMissle_A2DNS
6784        Animation         = NBNMissle_A2DNS.NBNMissle_A2DNS
6785        AnimationMode     = ONCE
6786        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6787        ParticleSysBone   = Smoke01 SmolderingSmoke
6788        ParticleSysBone   = Smoke02 SmolderingSmoke
6789        ParticleSysBone   = Smoke03 SmolderingSmoke
6790        ParticleSysBone   = Smoke04 SmolderingSmoke
6791        ParticleSysBone   = Smoke05 SmolderingSmoke
6792        ParticleSysBone   = Smoke06 SmolderingSmoke
6793        ParticleSysBone   = Smoke01 SmolderingFire
6794        ParticleSysBone   = Smoke02 SmolderingFire
6795        ParticleSysBone   = Smoke03 SmolderingFire
6796        ParticleSysBone   = Smoke04 SmolderingFire
6797        ParticleSysBone   = Smoke05 SmolderingFire
6798        ParticleSysBone   = Smoke06 SmolderingFire
6799        ParticleSysBone   = Steam01 BigMissileSteam
6800        ParticleSysBone   = Steam02 BigMissileSteam
6801      End   
6802      ConditionState      = DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW
6803        Model             = NBNMissle_A2DNS
6804        Animation         = NBNMissle_A2DNS.NBNMissle_A2DNS
6805        AnimationMode     = MANUAL
6806        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6807        WeaponLaunchBone  = PRIMARY RockPos
6808        ParticleSysBone   = Smoke01 SmolderingSmoke
6809        ParticleSysBone   = Smoke02 SmolderingSmoke
6810        ParticleSysBone   = Smoke03 SmolderingSmoke
6811        ParticleSysBone   = Smoke04 SmolderingSmoke
6812        ParticleSysBone   = Smoke05 SmolderingSmoke
6813        ParticleSysBone   = Smoke06 SmolderingSmoke
6814        ParticleSysBone   = Smoke01 SmolderingFire
6815        ParticleSysBone   = Smoke02 SmolderingFire
6816        ParticleSysBone   = Smoke03 SmolderingFire
6817        ParticleSysBone   = Smoke04 SmolderingFire
6818        ParticleSysBone   = Smoke05 SmolderingFire
6819        ParticleSysBone   = Smoke06 SmolderingFire
6820        ParticleSysBone   = Steam01 BigMissileSteam
6821        ParticleSysBone   = Steam02 BigMissileSteam
6822      End   
6823      ConditionState      = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW
6824        Model             = NBNMissle_A3DNS
6825        Animation         = NBNMissle_A3DNS.NBNMissle_A3DNS
6826        AnimationMode     = MANUAL
6827        Flags             = START_FRAME_FIRST
6828        WeaponLaunchBone  = PRIMARY RockPos
6829        ParticleSysBone   = Smoke01 SmolderingSmoke
6830        ParticleSysBone   = Smoke02 SmolderingSmoke
6831        ParticleSysBone   = Smoke03 SmolderingSmoke
6832        ParticleSysBone   = Smoke04 SmolderingSmoke
6833        ParticleSysBone   = Smoke05 SmolderingSmoke
6834        ParticleSysBone   = Smoke06 SmolderingSmoke
6835        ParticleSysBone   = Smoke01 SmolderingFire
6836        ParticleSysBone   = Smoke02 SmolderingFire
6837        ParticleSysBone   = Smoke03 SmolderingFire
6838        ParticleSysBone   = Smoke04 SmolderingFire
6839        ParticleSysBone   = Smoke05 SmolderingFire
6840        ParticleSysBone   = Smoke06 SmolderingFire
6841      End   
6842      ConditionState      = DOOR_1_CLOSING DAMAGED NIGHT SNOW
6843        Model             = NBNMissle_A3DNS
6844        Animation         = NBNMissle_A3DNS.NBNMissle_A3DNS
6845        AnimationMode     = ONCE
6846        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6847        ParticleSysBone   = Smoke01 SmolderingSmoke
6848        ParticleSysBone   = Smoke02 SmolderingSmoke
6849        ParticleSysBone   = Smoke03 SmolderingSmoke
6850        ParticleSysBone   = Smoke04 SmolderingSmoke
6851        ParticleSysBone   = Smoke05 SmolderingSmoke
6852        ParticleSysBone   = Smoke06 SmolderingSmoke
6853        ParticleSysBone   = Smoke01 SmolderingFire
6854        ParticleSysBone   = Smoke02 SmolderingFire
6855        ParticleSysBone   = Smoke03 SmolderingFire
6856        ParticleSysBone   = Smoke04 SmolderingFire
6857        ParticleSysBone   = Smoke05 SmolderingFire
6858        ParticleSysBone   = Smoke06 SmolderingFire
6859      End   
6860      ConditionState      = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW
6861        Model             = NBNMissle_A2ENS
6862        Animation         = NBNMissle_A2ENS.NBNMissle_A2ENS
6863        AnimationMode     = ONCE
6864        Flags             = MAINTAIN_FRAME_ACROSS_STATES
6865        ParticleSysBone   = Smoke01 SmolderingSmoke
6866        ParticleSysBone   = Smoke02 SmolderingSmoke
6867        ParticleSysBone   = Smoke03 SmolderingSmoke
6868        ParticleSysBone   = Smoke04 SmolderingSmoke
6869        ParticleSysBone   = Smoke05 SmolderingSmoke
6870        ParticleSysBone   = Smoke06 SmolderingSmoke
6871        ParticleSysBone   = Smoke01 SmolderingFire
6872        ParticleSysBone   = Smoke02 SmolderingFire
6873        ParticleSysBone   = Smoke03 SmolderingFire
6874        ParticleSysBone   = Smoke04 SmolderingFire
6875        ParticleSysBone   = Smoke05 SmolderingFire
6876        ParticleSysBone   = Smoke06 SmolderingFire
6877        ParticleSysBone   = Steam01 BigMissileSteam
6878        ParticleSysBone   = Steam02 BigMissileSteam
6879      End   
6880      ConditionState      = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW
6881        Model             = NBNMissle_A2ENS
6882        Animation         = NBNMissle_A2ENS.NBNMissle_A2ENS
6883        AnimationMode     = MANUAL
6884        Flags             = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME
6885        WeaponLaunchBone  = PRIMARY RockPos
6886        ParticleSysBone   = Smoke01 SmolderingSmoke
6887        ParticleSysBone   = Smoke02 SmolderingSmoke
6888        ParticleSysBone   = Smoke03 SmolderingSmoke
6889        ParticleSysBone   = Smoke04 SmolderingSmoke
6890        ParticleSysBone   = Smoke05 SmolderingSmoke
6891        ParticleSysBone   = Smoke06 SmolderingSmoke
6892        ParticleSysBone   = Smoke01 SmolderingFire
6893        ParticleSysBone   = Smoke02 SmolderingFire
6894        ParticleSysBone   = Smoke03 SmolderingFire
6895        ParticleSysBone   = Smoke04 SmolderingFire
6896        ParticleSysBone   = Smoke05 SmolderingFire
6897        ParticleSysBone   = Smoke06 SmolderingFire
6898        ParticleSysBone   = Steam01 BigMissileSteam
6899        ParticleSysBone   = Steam02 BigMissileSteam
6900      End   
6901      ConditionState      = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNOW
6902        Model             = NBNMissle_A3ENS
6903        Animation         = NBNMissle_A3ENS.NBNMissle_A3ENS
6904        AnimationMode     = MANUAL
6905        Flags             = START_FRAME_FIRST
6906        WeaponLaunchBone  = PRIMARY RockPos
6907        ParticleSysBone   = Smoke01 SmolderingSmoke
6908        ParticleSysBone   = Smoke02 SmolderingSmoke
6909        ParticleSysBone   = Smoke03 SmolderingSmoke
6910        ParticleSysBone   = Smoke04 SmolderingSmoke
6911        ParticleSysBone   = Smoke05 SmolderingSmoke
6912        ParticleSysBone   = Smoke06 SmolderingSmoke
6913        ParticleSysBone   = Smoke01 SmolderingFire
6914        ParticleSysBone   = Smoke02 SmolderingFire
6915        ParticleSysBone   = Smoke03 SmolderingFire
6916        ParticleSysBone   = Smoke04 SmolderingFire
6917        ParticleSysBone   = Smoke05 SmolderingFire
6918        ParticleSysBone   = Smoke06 SmolderingFire
6919      End   
6920      ConditionState      = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW
6921        Model             = NBNMissle_A3ENS
6922        Animation         = NBNMissle_A3ENS.NBNMissle_A3ENSS
6923        AnimationMode     = ONCE
6924        Flags             = MAINTAIN_FRAME_ACROSS_STATES2
6925        ParticleSysBone   = Smoke01 SmolderingSmoke
6926        ParticleSysBone   = Smoke02 SmolderingSmoke
6927        ParticleSysBone   = Smoke03 SmolderingSmoke
6928        ParticleSysBone   = Smoke04 SmolderingSmoke
6929        ParticleSysBone   = Smoke05 SmolderingSmoke
6930        ParticleSysBone   = Smoke06 SmolderingSmoke
6931        ParticleSysBone   = Smoke01 SmolderingFire
6932        ParticleSysBone   = Smoke02 SmolderingFire
6933        ParticleSysBone   = Smoke03 SmolderingFire
6934        ParticleSysBone   = Smoke04 SmolderingFire
6935        ParticleSysBone   = Smoke05 SmolderingFire
6936        ParticleSysBone   = Smoke06 SmolderingFire
6937      End     
6938    End
6939  
6940    ; ------------ construction-zone fence -----------------
6941    Draw = W3DModelDraw ModuleTag_02
6942    AnimationsRequirePower = No
6943      DefaultConditionState
6944        Model           = None
6945        TransitionKey   = DOWN_DEFAULT
6946      End
6947      ConditionState    = NIGHT
6948        Model           = None
6949        TransitionKey   = DOWN_DEFAULT
6950      End
6951      ConditionState    = SNOW
6952        Model           = None
6953        TransitionKey   = DOWN_DEFAULT
6954      End
6955      ConditionState    = SNOW NIGHT
6956        Model           = None
6957        TransitionKey   = DOWN_DEFAULT
6958      End
6959      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6960        Model           = NBNMissle_A4
6961        Animation       = NBNMissle_A4.NBNMissle_A4
6962        AnimationMode   = MANUAL
6963        Flags           = START_FRAME_LAST
6964        TransitionKey   = UP_DAY
6965      End
6966      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6967        Model           = NBNMissle_A4N
6968        Animation       = NBNMissle_A4N.NBNMissle_A4N
6969        AnimationMode   = MANUAL
6970        Flags           = START_FRAME_LAST
6971        TransitionKey   = UP_NIGHT
6972      End
6973      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6974        Model           = NBNMissle_A4S
6975        Animation       = NBNMissle_A4S.NBNMissle_A4S
6976        AnimationMode   = MANUAL
6977        Flags           = START_FRAME_LAST
6978        TransitionKey   = UP_SNOW
6979      End
6980      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6981        Model           = NBNMissle_A4SN
6982        Animation       = NBNMissle_A4SN.NBNMissle_A4SN
6983        AnimationMode   = MANUAL
6984        Flags           = START_FRAME_LAST
6985        TransitionKey   = UP_SNOWNIGHT
6986      End
6987      TransitionState   = DOWN_DEFAULT UP_DAY
6988        Model           = NBNMissle_A4
6989        Animation       = NBNMissle_A4.NBNMissle_A4
6990        AnimationMode   = ONCE
6991        AnimationSpeedFactorRange = 1.0 1.0
6992        Flags           = START_FRAME_FIRST
6993      End
6994      TransitionState   = DOWN_DEFAULT UP_NIGHT
6995        Model           = NBNMissle_A4N
6996        Animation       = NBNMissle_A4N.NBNMissle_A4N
6997        AnimationMode   = ONCE
6998        AnimationSpeedFactorRange = 1.0 1.0
6999        Flags           = START_FRAME_FIRST
7000      End
7001      TransitionState   = DOWN_DEFAULT UP_SNOW
7002        Model           = NBNMissle_A4S
7003        Animation       = NBNMissle_A4S.NBNMissle_A4S
7004        AnimationMode   = ONCE
7005        AnimationSpeedFactorRange = 1.0 1.0
7006        Flags           = START_FRAME_FIRST
7007      End
7008      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7009        Model           = NBNMissle_A4SN
7010        Animation       = NBNMissle_A4SN.NBNMissle_A4SN
7011        AnimationMode   = ONCE
7012        AnimationSpeedFactorRange = 1.0 1.0
7013        Flags           = START_FRAME_FIRST
7014      End
7015      TransitionState   = UP_DAY DOWN_DEFAULT
7016        Model           = NBNMissle_A4
7017        Animation       = NBNMissle_A4.NBNMissle_A4
7018        AnimationMode   = ONCE_BACKWARDS
7019        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7020        Flags           = START_FRAME_LAST
7021      End
7022      TransitionState   = UP_NIGHT DOWN_DEFAULT
7023        Model           = NBNMissle_A4N
7024        Animation       = NBNMissle_A4N.NBNMissle_A4N
7025        AnimationMode   = ONCE_BACKWARDS
7026        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7027        Flags           = START_FRAME_LAST
7028      End
7029      TransitionState   = UP_SNOW DOWN_DEFAULT
7030        Model           = NBNMissle_A4S
7031        Animation       = NBNMissle_A4S.NBNMissle_A4S
7032        AnimationMode   = ONCE_BACKWARDS
7033        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7034        Flags           = START_FRAME_LAST
7035      End
7036      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7037        Model           = NBNMissle_A4SN
7038        Animation       = NBNMissle_A4SN.NBNMissle_A4SN
7039        AnimationMode   = ONCE_BACKWARDS
7040        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7041        Flags           = START_FRAME_LAST
7042      End
7043    End
7044  
7045    ; ------------ under-construction scaffolding -----------------
7046    Draw = W3DModelDraw ModuleTag_03
7047    AnimationsRequirePower = No
7048      MinLODRequired = MEDIUM
7049      DefaultConditionState
7050        Model           = None
7051        TransitionKey   = DOWN_DEFAULT
7052      End
7053      ConditionState    = NIGHT
7054        Model           = None
7055        TransitionKey   = DOWN_DEFAULT
7056      End
7057      ConditionState    = SNOW
7058        Model           = None
7059        TransitionKey   = DOWN_DEFAULT
7060      End
7061      ConditionState    = SNOW NIGHT
7062        Model           = None
7063        TransitionKey   = DOWN_DEFAULT
7064      End
7065      ConditionState    = PARTIALLY_CONSTRUCTED
7066        Model           = NBNMissle_A6
7067        Animation       = NBNMissle_A6.NBNMissle_A6
7068        AnimationMode   = MANUAL
7069        Flags           = START_FRAME_LAST
7070        TransitionKey   = UP_DAY
7071        ParticleSysBone = Dust01 BuildingDustChina
7072        ParticleSysBone = Smoke01 BuildUpSmokeChina
7073        ParticleSysBone = Smoke02 BuildUpSmokeChina
7074        ParticleSysBone = Smoke03 BuildUpSmokeChina
7075        ParticleSysBone = Smoke04 BuildUpSmokeChina
7076        ParticleSysBone = Smoke05 BuildUpSmokeChina
7077      End
7078      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7079        Model           = NBNMissle_A6N
7080        Animation       = NBNMissle_A6N.NBNMissle_A6N
7081        AnimationMode   = MANUAL
7082        Flags           = START_FRAME_LAST
7083        TransitionKey   = UP_NIGHT
7084        ParticleSysBone = Dust01 BuildingDustChina
7085        ParticleSysBone = Smoke01 BuildUpSmokeChina
7086        ParticleSysBone = Smoke02 BuildUpSmokeChina
7087        ParticleSysBone = Smoke03 BuildUpSmokeChina
7088        ParticleSysBone = Smoke04 BuildUpSmokeChina
7089        ParticleSysBone = Smoke05 BuildUpSmokeChina
7090      End
7091      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7092        Model           = NBNMissle_A6S
7093        Animation       = NBNMissle_A6S.NBNMissle_A6S
7094        AnimationMode   = MANUAL
7095        Flags           = START_FRAME_LAST
7096        TransitionKey   = UP_SNOW
7097        ParticleSysBone = Dust01 BuildingSnowDust
7098        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7099        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7100        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7101        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7102        ParticleSysBone = Smoke05 BuildUpSnowSmoke
7103      End
7104      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7105        Model           = NBNMissle_A6SN
7106        Animation       = NBNMissle_A6SN.NBNMissle_A6SN
7107        AnimationMode   = MANUAL
7108        Flags           = START_FRAME_LAST
7109        TransitionKey   = UP_SNOWNIGHT
7110        ParticleSysBone = Dust01 BuildingSnowDust
7111        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7112        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7113        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7114        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7115        ParticleSysBone = Smoke05 BuildUpSnowSmoke
7116      End
7117      TransitionState   = DOWN_DEFAULT UP_DAY
7118        Model           = NBNMissle_A6
7119        Animation       = NBNMissle_A6.NBNMissle_A6
7120        AnimationMode   = ONCE
7121        AnimationSpeedFactorRange = 1.0 1.0
7122        Flags           = START_FRAME_FIRST
7123      End
7124      TransitionState   = DOWN_DEFAULT UP_NIGHT
7125        Model           = NBNMissle_A6N
7126        Animation       = NBNMissle_A6N.NBNMissle_A6N
7127        AnimationMode   = ONCE
7128        AnimationSpeedFactorRange = 1.0 1.0
7129        Flags           = START_FRAME_FIRST
7130      End
7131      TransitionState   = DOWN_DEFAULT UP_SNOW
7132        Model           = NBNMissle_A6S
7133        Animation       = NBNMissle_A6S.NBNMissle_A6S
7134        AnimationMode   = ONCE
7135        AnimationSpeedFactorRange = 1.0 1.0
7136        Flags           = START_FRAME_FIRST
7137      End
7138      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7139        Model           = NBNMissle_A6SN
7140        Animation       = NBNMissle_A6SN.NBNMissle_A6SN
7141        AnimationMode   = ONCE
7142        AnimationSpeedFactorRange = 1.0 1.0
7143        Flags           = START_FRAME_FIRST
7144      End 
7145      TransitionState   = UP_DAY DOWN_DEFAULT
7146        Model            = NBNMissle_A6
7147        Animation       = NBNMissle_A6.NBNMissle_A6
7148        AnimationMode   = ONCE_BACKWARDS
7149        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7150        Flags           = START_FRAME_LAST
7151      End
7152      TransitionState   = UP_NIGHT DOWN_DEFAULT
7153        Model            = NBNMissle_A6N
7154        Animation       = NBNMissle_A6N.NBNMissle_A6N
7155        AnimationMode   = ONCE_BACKWARDS
7156        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7157        Flags           = START_FRAME_LAST
7158      End
7159      TransitionState   = UP_SNOW DOWN_DEFAULT
7160        Model            = NBNMissle_A6S
7161        Animation       = NBNMissle_A6S.NBNMissle_A6S
7162        AnimationMode   = ONCE_BACKWARDS
7163        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7164        Flags           = START_FRAME_LAST
7165      End
7166      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7167        Model            = NBNMissle_A6SN
7168        Animation       = NBNMissle_A6SN.NBNMissle_A6SN
7169        AnimationMode   = ONCE_BACKWARDS
7170        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7171        Flags           = START_FRAME_LAST
7172      End
7173    End
7174  
7175    ; ------------ being-constructed crane -----------------
7176    Draw = W3DModelDraw ModuleTag_04
7177    AnimationsRequirePower = No
7178      DefaultConditionState
7179        Model           = None
7180        TransitionKey   = DOWN_DEFAULT
7181      End
7182      ConditionState    = NIGHT
7183        Model           = None
7184        TransitionKey   = DOWN_DEFAULT
7185      End
7186      ConditionState    = SNOW
7187        Model           = None
7188        TransitionKey   = DOWN_DEFAULT
7189      End
7190      ConditionState    = SNOW NIGHT
7191        Model           = None
7192        TransitionKey   = DOWN_DEFAULT
7193      End
7194      ConditionState    = SOLD
7195        Model           = NONE
7196      End
7197  
7198      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
7199        Model         = NBNMissle_A5
7200        Animation     = NBNMissle_A5.NBNMissle_A5
7201        AnimationMode = LOOP
7202        TransitionKey = UP_DAY
7203      End
7204  
7205      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
7206        Model         = NBNMissle_A5N
7207        Animation     = NBNMissle_A5N.NBNMissle_A5N
7208        AnimationMode = LOOP
7209        TransitionKey = UP_NIGHT
7210      End
7211      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
7212        Model         = NBNMissle_A5S
7213        Animation     = NBNMissle_A5S.NBNMissle_A5S
7214        AnimationMode = LOOP
7215        TransitionKey = UP_SNOW
7216      End
7217      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
7218        Model         = NBNMissle_A5SN
7219        Animation     = NBNMissle_A5SN.NBNMissle_A5SN
7220        AnimationMode = LOOP
7221        TransitionKey = UP_SNOWNIGHT
7222      End
7223      TransitionState = DOWN_DEFAULT UP_DAY
7224        Model         = NBNMissle_AB
7225        Animation     = NBNMissle_AB.NBNMissle_AB
7226        AnimationMode = ONCE
7227        AnimationSpeedFactorRange = 1.0 1.0
7228        Flags         = START_FRAME_FIRST
7229      End
7230  
7231      TransitionState = DOWN_DEFAULT UP_NIGHT
7232        Model         = NBNMissle_ABN
7233        Animation     = NBNMissle_ABN.NBNMissle_ABN
7234        AnimationMode = ONCE
7235        AnimationSpeedFactorRange = 1.0 1.0
7236        Flags         = START_FRAME_FIRST
7237      End
7238      TransitionState = DOWN_DEFAULT UP_SNOW
7239        Model         = NBNMissle_ABS
7240        Animation     = NBNMissle_ABS.NBNMissle_ABS
7241        AnimationMode = ONCE
7242        AnimationSpeedFactorRange = 1.0 1.0
7243        Flags         = START_FRAME_FIRST
7244      End
7245      TransitionState = DOWN_DEFAULT UP_SNOWNIGHT
7246        Model         = NBNMissle_ABSN
7247        Animation     = NBNMissle_ABSN.NBNMissle_ABSN
7248        AnimationMode = ONCE
7249        AnimationSpeedFactorRange = 1.0 1.0
7250        Flags         = START_FRAME_FIRST
7251      End
7252      TransitionState = UP_DAY DOWN_DEFAULT
7253        Model         = NBNMissle_AB
7254        Animation     = NBNMissle_AB.NBNMissle_AB
7255        AnimationMode = ONCE_BACKWARDS
7256        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7257        Flags         = START_FRAME_LAST
7258      End
7259      TransitionState = UP_NIGHT DOWN_DEFAULT
7260        Model         = NBNMissle_ABN
7261        Animation     = NBNMissle_ABN.NBNMissle_ABN
7262        AnimationMode = ONCE_BACKWARDS
7263        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7264        Flags         = START_FRAME_LAST
7265      End
7266      TransitionState = UP_SNOW DOWN_DEFAULT
7267        Model         = NBNMissle_ABS
7268        Animation     = NBNMissle_ABS.NBNMissle_ABS
7269        AnimationMode = ONCE_BACKWARDS
7270        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7271        Flags         = START_FRAME_LAST
7272      End
7273      TransitionState = UP_SNOWNIGHT DOWN_DEFAULT
7274        Model         = NBNMissle_ABSN
7275        Animation     = NBNMissle_ABSN.NBNMissle_ABSN
7276        AnimationMode = ONCE_BACKWARDS
7277        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7278        Flags         = START_FRAME_LAST
7279      End 
7280    End
7281  
7282    ; Blinking lights
7283    Draw = W3DModelDraw ModuleTag_05
7284      OkToChangeModelColor = Yes
7285      ; day
7286      ConditionState    = NONE
7287        Model           = NBNMissle_AC
7288        Animation       = NONE
7289      End
7290      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7291        Model           = NBNMissle_AC
7292        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7293      End
7294      ConditionState    = AWAITING_CONSTRUCTION
7295        Model           = NONE
7296      End
7297      ConditionState    = DOOR_1_OPENING
7298        Model           = NBNMissle_AC
7299        Animation       = NBNMissle_AC.NBNMissle_AC
7300        AnimationMode   = LOOP
7301        Flags           = START_FRAME_FIRST
7302      End   
7303      ConditionState    = DOOR_1_WAITING_OPEN
7304        Model           = NBNMissle_AC
7305        Animation       = NBNMissle_AC.NBNMissle_AC
7306        AnimationMode   = LOOP
7307        Flags           = START_FRAME_LAST
7308      End
7309      ConditionState    = DOOR_1_WAITING_TO_CLOSE
7310        Model           = NBNMissle_AC
7311        Animation       = NBNMissle_AC.NBNMissle_AC
7312        AnimationMode   = LOOP
7313        Flags           = START_FRAME_FIRST
7314        ;WeaponLaunchBone = PRIMARY RockPos
7315      End   
7316      ConditionState    = DOOR_1_CLOSING
7317        Model           = NBNMissle_AC
7318        Animation       = NBNMissle_AC.NBNMissle_AC
7319        AnimationMode   = LOOP
7320        Flags           = START_FRAME_FIRST
7321      End
7322    End
7323  
7324    PlacementViewAngle = -135
7325  
7326    ; ***DESIGN parameters ***
7327    DisplayName      = OBJECT:NuclearMissile
7328    Side = Boss
7329    EditorSorting    = STRUCTURE
7330    Prerequisites
7331      Object = Boss_WarFactory
7332      Object = Boss_Airfield
7333    End
7334    BuildCost        = 5000
7335    BuildTime        = 60.0            ; in seconds
7336    EnergyProduction = -10
7337    VisionRange      = 200.0           ; Shroud clearing distance
7338    ShroudClearingRange = 200
7339    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
7340                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
7341    CommandSet       = Boss_ChinaNuclearMissileCommandSet
7342    ArmorSet
7343      Conditions      = None
7344      Armor           = StructureArmorTough
7345      DamageFX        = StructureDamageFXNoShake
7346    End
7347    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
7348    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
7349    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
7350  
7351    ; *** AUDIO Parameters ***
7352    VoiceSelect = NuclearMissileSelect
7353    SoundOnDamaged        = BuildingDamagedStateLight
7354    SoundOnReallyDamaged  = BuildingDestroy
7355  
7356    UnitSpecificSounds
7357      UnderConstruction     = UnderConstructionLoop
7358    End
7359  
7360    ; *** ENGINEERING Parameters ***
7361    RadarPriority   = STRUCTURE
7362    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
7363    Body            = StructureBody ModuleTag_06
7364      MaxHealth       = 4000.0
7365      InitialHealth   = 4000.0
7366  
7367      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7368      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7369      SubdualDamageCap = 4200
7370      SubdualDamageHealRate = 500
7371      SubdualDamageHealAmount = 100
7372    End
7373  
7374    Behavior    = OCLSpecialPower ModuleTag_07
7375      SpecialPowerTemplate = SuperweaponNeutronMissile
7376      OCL                  = SUPERWEAPON_NeutronMissile
7377    End
7378    Behavior = SpecialPowerCreate ModuleTag_08
7379      ;nothing
7380    End
7381    Behavior = MissileLauncherBuildingUpdate ModuleTag_09
7382      SpecialPowerTemplate = SuperweaponNeutronMissile
7383      DoorOpenTime         = 8000
7384      DoorWaitOpenTime     = 2000
7385      DoorCloseTime        = 8000
7386  
7387      ; FXLists to play at transitions:
7388      DoorOpeningFX        = ChinaNuclearMissileLauncherDoorOpen
7389      ;DoorOpenFX           = FX_ABPowerPlantExplode
7390      DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch
7391      ;DoorClosingFX        = FX_ABPowerPlantExplode
7392      ;DoorClosedFX         = FX_ABPowerPlantExplode
7393  
7394      ; looping sound to play while open:
7395      DoorOpenIdleAudio = BuildingNeutronMissileHiss
7396    End
7397  
7398    Behavior = ProductionUpdate ModuleTag_10
7399      DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED
7400    End
7401  
7402    Behavior = DestroyDie ModuleTag_11
7403      ;Nothing
7404    End
7405  
7406    Behavior = FireWeaponWhenDeadBehavior ModuleTag_12
7407      DeathWeapon = ChinaPowerPlantDeathWeapon
7408      StartsActive  = Yes
7409    End
7410  
7411    Behavior = GenerateMinefieldBehavior     ModuleTag_13
7412      TriggeredBy           = Upgrade_ChinaMines
7413      MineName              = ChinaStandardMine
7414      SmartBorder           = Yes
7415      AlwaysCircular        = Yes
7416  
7417      Upgradable            = Yes
7418      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
7419      UpgradedMineName      = ChinaEMPMine
7420    End
7421  
7422    Behavior = FlammableUpdate ModuleTag_14
7423      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7424      AflameDamageAmount = 5       ; taking this much damage...
7425      AflameDamageDelay = 500       ; this often.
7426    End
7427  
7428    Behavior = TransitionDamageFX ModuleTag_15
7429      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
7430      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
7431      ;---------------------------------------------------------------------------------------
7432      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
7433      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
7434      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
7435    End
7436    
7437    Behavior             = CreateObjectDie ModuleTag_20
7438      CreationList  = OCL_LargeStructureDebris
7439    End
7440    
7441    Behavior        = FXListDie ModuleTag_21
7442      ExemptStatus  = UNDER_CONSTRUCTION
7443      DeathFX       = FX_NukeGLA
7444    End
7445  
7446    Behavior = CommandSetUpgrade ModuleTag_25
7447      CommandSet = Boss_ChinaNuclearMissileCommandSetUpgrade
7448      TriggeredBy = Upgrade_ChinaMines
7449    End
7450  
7451    Behavior = ArmorUpgrade ModuleTag_26
7452      TriggeredBy = Upgrade_ChinaEMPMines
7453    End
7454    
7455    
7456    Geometry            = BOX
7457    GeometryMajorRadius = 45.0
7458    GeometryMinorRadius = 55.0
7459    GeometryHeight      = 64.0
7460    GeometryIsSmall     = No
7461    Shadow          = SHADOW_VOLUME
7462    BuildCompletion = PLACED_BY_PLAYER
7463  
7464  End
7465  
7466  
7467  
7468  
7469  
7470  
7471  
7472  
7473  
7474  
7475  
7476  
7477  
7478  
7479  
7480  
7481  
7482  
7483  
7484  
7485  
7486  
7487  
7488  
7489  
7490  
7491  
7492  
7493  
7494  
7495  
7496  
7497  
7498  
7499  
7500  
7501  
7502  
7503  
7504  
7505  
7506  
7507  
7508  
7509  
7510  
7511  
7512  
7513  
7514  
7515  ;------------------------------------------------------------------------------
7516  
7517  Object Boss_SpeakerTower
7518  
7519    ; *** ART Parameters ***
7520    SelectPortrait         = SNPropSpeaker_L
7521    ButtonImage            = SNPropSpeaker
7522    Draw                   = W3DModelDraw ModuleTag_01
7523      OkToChangeModelColor = Yes
7524  
7525      ; day
7526      ConditionState = NONE
7527        Model         = NBPTower
7528        Animation     = NBPTower.NBPTower
7529        AnimationMode = LOOP
7530      End
7531      ConditionState = DAMAGED
7532        Model         = NBPTower_D
7533        Animation     = NBPTower_D.NBPTower_D
7534        AnimationMode = LOOP
7535        ParticleSysBone = Smoke01 SmolderingSmoke
7536      End
7537      ConditionState = REALLYDAMAGED RUBBLE
7538        Model         = NBPTower_E
7539        Animation     = NBPTower_E.NBPTower_E
7540        AnimationMode = LOOP
7541        ParticleSysBone = Smoke01 SmolderingSmoke
7542        ParticleSysBone = Smoke02 SmolderingSmoke
7543        ParticleSysBone = Flame01 SmolderingFire
7544        ParticleSysBone = Flame01 SmolderingFlameCore
7545        ParticleSysBone = Spark01 LiveWireSparks
7546      End
7547      
7548      ; day Snow
7549      ConditionState  =  SNOW
7550        Model         = NBPTower_S
7551        Animation     = NBPTower_S.NBPTower_S
7552        AnimationMode = LOOP
7553      End
7554      ConditionState  = DAMAGED SNOW
7555        Model         = NBPTower_DS
7556        Animation     = NBPTower_DS.NBPTower_DS
7557        AnimationMode = LOOP
7558        ParticleSysBone = Smoke01 SmolderingSmoke
7559      End
7560      ConditionState  = REALLYDAMAGED RUBBLE SNOW
7561        Model         = NBPTower_ES
7562        Animation     = NBPTower_ES.NBPTower_ES
7563        AnimationMode = LOOP
7564        ParticleSysBone = Smoke01 SmolderingSmoke
7565        ParticleSysBone = Smoke02 SmolderingSmoke
7566        ParticleSysBone = Flame01 SmolderingFire
7567        ParticleSysBone = Flame01 SmolderingFlameCore
7568        ParticleSysBone = Spark01 LiveWireSparks
7569      End
7570  
7571      ; night
7572      ConditionState = NIGHT
7573        Model         = NBPTower_N
7574        Animation     = NBPTower_N.NBPTower_N
7575        AnimationMode = LOOP
7576      End 
7577      ConditionState = NIGHT DAMAGED
7578        Model         = NBPTower_DN
7579        Animation     = NBPTower_DN.NBPTower_DN
7580        AnimationMode = LOOP
7581      End
7582      ConditionState = NIGHT REALLYDAMAGED RUBBLE
7583        Model         = NBPTower_EN
7584        Animation     = NBPTower_EN.NBPTower_EN
7585        AnimationMode = LOOP
7586      End
7587  
7588      
7589      ;Snow Night
7590      
7591      ConditionState = NIGHT SNOW
7592        Model         = NBPTower_NS
7593        Animation     = NBPTower_NS.NBPTower_NS
7594        AnimationMode = LOOP
7595      End 
7596      
7597      ConditionState = NIGHT SNOW DAMAGED
7598        Model         = NBPTower_DNS
7599        Animation     = NBPTower_DNS.NBPTower_DNS
7600        AnimationMode = LOOP
7601      End 
7602      
7603      ConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
7604        Model         = NBPTower_ENS
7605        Animation     = NBPTower_ENS.NBPTower_ENS
7606        AnimationMode = LOOP
7607      End 
7608      
7609      ;**************************************************************************************************************************
7610      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7611      ;for this draw module
7612      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7613        Model              = NBPTower
7614        Animation          = NBPTower.NBPTower
7615        AnimationMode      = LOOP
7616        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7617      End
7618      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7619        Model              = NBPTower_D
7620        Animation          = NBPTower_D.NBPTower_D
7621        AnimationMode      = LOOP
7622        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7623      End
7624      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7625        Model              = NBPTower_E
7626        Animation          = NBPTower_E.NBPTower_E
7627        AnimationMode      = LOOP
7628        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7629      End
7630      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7631        Model              = NBPTower_N
7632        Animation          = NBPTower_N.NBPTower_N
7633        AnimationMode      = LOOP
7634        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7635      End
7636      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7637        Model              = NBPTower_DN
7638        Animation          = NBPTower_DN.NBPTower_DN
7639        AnimationMode      = LOOP
7640        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7641      End
7642      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
7643        Model              = NBPTower_EN
7644        Animation          = NBPTower_EN.NBPTower_EN
7645        AnimationMode      = LOOP
7646        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7647      End
7648      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7649        Model              = NBPTower_S
7650        Animation          = NBPTower_S.NBPTower_S
7651        AnimationMode      = LOOP
7652        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7653      End
7654      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7655        Model              = NBPTower_DS
7656        Animation          = NBPTower_DS.NBPTower_DS
7657        AnimationMode      = LOOP
7658        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7659      End
7660      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
7661        Model              = NBPTower_ES
7662        Animation          = NBPTower_ES.NBPTower_ES
7663        AnimationMode      = LOOP
7664        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7665      End
7666      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7667        Model              = NBPTower_NS
7668        Animation          = NBPTower_NS.NBPTower_NS
7669        AnimationMode      = LOOP
7670        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7671      End
7672      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
7673        Model              = NBPTower_DNS
7674        Animation          = NBPTower_DNS.NBPTower_DNS
7675        AnimationMode      = LOOP
7676        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7677      End
7678      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
7679        Model              = NBPTower_ENS
7680        Animation          = NBPTower_ENS.NBPTower_ENS
7681        AnimationMode      = LOOP
7682        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7683      End
7684  
7685      ConditionState       = AWAITING_CONSTRUCTION 
7686        Model              = NONE
7687      End
7688      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7689      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7690      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7691      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7692      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7693      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
7694      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
7695      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
7696      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7697      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7698      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7699      AliasConditionState  = SOLD 
7700      AliasConditionState  = SOLD DAMAGED
7701      AliasConditionState  = SOLD REALLYDAMAGED
7702      AliasConditionState  = SOLD NIGHT
7703      AliasConditionState  = SOLD NIGHT DAMAGED
7704      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7705      AliasConditionState  = SOLD SNOW
7706      AliasConditionState  = SOLD SNOW DAMAGED
7707      AliasConditionState  = SOLD SNOW REALLYDAMAGED
7708      AliasConditionState  = SOLD NIGHT SNOW
7709      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7710      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7711      ;**************************************************************************************************************************   
7712  
7713      
7714    End   
7715      
7716    ; ------------ construction-zone fence -----------------
7717    Draw = W3DModelDraw ModuleTag_02
7718    AnimationsRequirePower = No
7719      DefaultConditionState
7720        Model           = None
7721        TransitionKey   = DOWN_DEFAULT
7722      End
7723      ConditionState    = NIGHT
7724        Model           = None
7725        TransitionKey   = DOWN_DEFAULT
7726      End
7727      ConditionState    = SNOW
7728        Model           = None
7729        TransitionKey   = DOWN_DEFAULT
7730      End
7731      ConditionState    = SNOW NIGHT
7732        Model           = None
7733        TransitionKey   = DOWN_DEFAULT
7734      End
7735      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7736        Model           = NBPTower_A4
7737        Animation       = NBPTower_A4.NBPTower_A4
7738        AnimationMode   = MANUAL
7739        Flags           = START_FRAME_LAST
7740        TransitionKey   = UP_DAY
7741      End
7742      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7743        Model           = NBPTower_A4N
7744        Animation       = NBPTower_A4N.NBPTower_A4N
7745        AnimationMode   = MANUAL
7746        Flags           = START_FRAME_LAST
7747        TransitionKey   = UP_NIGHT
7748      End
7749      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7750        Model           = NBPTower_A4S
7751        Animation       = NBPTower_A4S.NBPTower_A4S
7752        AnimationMode   = MANUAL
7753        Flags           = START_FRAME_LAST
7754        TransitionKey   = UP_SNOW
7755      End
7756      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7757        Model           = NBPTower_A4SN
7758        Animation       = NBPTower_A4SN.NBPTower_A4SN
7759        AnimationMode   = MANUAL
7760        Flags           = START_FRAME_LAST
7761        TransitionKey   = UP_SNOWNIGHT
7762      End
7763      TransitionState   = DOWN_DEFAULT UP_DAY
7764        Model           = NBPTower_A4
7765        Animation       = NBPTower_A4.NBPTower_A4
7766        AnimationMode   = ONCE
7767        AnimationSpeedFactorRange = 1.0 1.0
7768        Flags           = START_FRAME_FIRST
7769      End
7770      TransitionState   = DOWN_DEFAULT UP_NIGHT
7771        Model           = NBPTower_A4N
7772        Animation       = NBPTower_A4N.NBPTower_A4N
7773        AnimationMode   = ONCE
7774        AnimationSpeedFactorRange = 1.0 1.0
7775        Flags           = START_FRAME_FIRST
7776      End
7777      TransitionState   = DOWN_DEFAULT UP_SNOW
7778        Model           = NBPTower_A4S
7779        Animation       = NBPTower_A4S.NBPTower_A4S
7780        AnimationMode   = ONCE
7781        AnimationSpeedFactorRange = 1.0 1.0
7782        Flags           = START_FRAME_FIRST
7783      End
7784      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7785        Model           = NBPTower_A4SN
7786        Animation       = NBPTower_A4SN.NBPTower_A4SN
7787        AnimationMode   = ONCE
7788        AnimationSpeedFactorRange = 1.0 1.0
7789        Flags           = START_FRAME_FIRST
7790      End
7791      TransitionState   = UP_DAY DOWN_DEFAULT
7792        Model           = NBPTower_A4
7793        Animation       = NBPTower_A4.NBPTower_A4
7794        AnimationMode   = ONCE_BACKWARDS
7795        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7796        Flags           = START_FRAME_LAST
7797      End
7798      TransitionState   = UP_NIGHT DOWN_DEFAULT
7799        Model           = NBPTower_A4N
7800        Animation       = NBPTower_A4N.NBPTower_A4N
7801        AnimationMode   = ONCE_BACKWARDS
7802        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7803        Flags           = START_FRAME_LAST
7804      End
7805      TransitionState   = UP_SNOW DOWN_DEFAULT
7806        Model           = NBPTower_A4S
7807        Animation       = NBPTower_A4S.NBPTower_A4S
7808        AnimationMode   = ONCE_BACKWARDS
7809        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7810        Flags           = START_FRAME_LAST
7811      End
7812      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7813        Model           = NBPTower_A4SN
7814        Animation       = NBPTower_A4SN.NBPTower_A4SN
7815        AnimationMode   = ONCE_BACKWARDS
7816        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7817        Flags           = START_FRAME_LAST
7818      End
7819    End
7820  
7821    ; ------------ under-construction scaffolding -----------------
7822    Draw = W3DModelDraw ModuleTag_03
7823    AnimationsRequirePower = No
7824      MinLODRequired = MEDIUM
7825      DefaultConditionState
7826        Model           = None
7827        TransitionKey   = DOWN_DEFAULT
7828      End
7829      ConditionState    = NIGHT
7830        Model           = None
7831        TransitionKey   = DOWN_DEFAULT
7832      End
7833      ConditionState    = SNOW
7834        Model           = None
7835        TransitionKey   = DOWN_DEFAULT
7836      End
7837      ConditionState    = SNOW NIGHT
7838        Model           = None
7839        TransitionKey   = DOWN_DEFAULT
7840      End
7841      ConditionState    = PARTIALLY_CONSTRUCTED
7842        Model           = NBPTower_A6
7843        Animation       = NBPTower_A6.NBPTower_A6
7844        AnimationMode   = MANUAL
7845        Flags           = START_FRAME_LAST
7846        TransitionKey   = UP_DAY
7847      End
7848      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7849        Model           = NBPTower_A6N
7850        Animation       = NBPTower_A6N.NBPTower_A6N
7851        AnimationMode   = MANUAL
7852        Flags           = START_FRAME_LAST
7853        TransitionKey   = UP_NIGHT
7854      End
7855      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7856        Model           = NBPTower_A6S
7857        Animation       = NBPTower_A6S.NBPTower_A6S
7858        AnimationMode   = MANUAL
7859        Flags           = START_FRAME_LAST
7860        TransitionKey   = UP_SNOW
7861      End
7862      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7863        Model           = NBPTower_A6SN
7864        Animation       = NBPTower_A6SN.NBPTower_A6SN
7865        AnimationMode   = MANUAL
7866        Flags           = START_FRAME_LAST
7867        TransitionKey   = UP_SNOWNIGHT
7868      End
7869      TransitionState   = DOWN_DEFAULT UP_DAY
7870       Model            = NBPTower_A6
7871        Animation       = NBPTower_A6.NBPTower_A6
7872        AnimationMode   = ONCE
7873        AnimationSpeedFactorRange = 1.0 1.0
7874        Flags           = START_FRAME_FIRST
7875      End
7876      TransitionState   = DOWN_DEFAULT UP_NIGHT
7877       Model            = NBPTower_A6N
7878        Animation       = NBPTower_A6N.NBPTower_A6N
7879        AnimationMode   = ONCE
7880  
7881        AnimationSpeedFactorRange = 1.0 1.0
7882        Flags           = START_FRAME_FIRST
7883      End
7884      TransitionState   = DOWN_DEFAULT UP_SNOW
7885       Model            = NBPTower_A6S
7886        Animation       = NBPTower_A6S.NBPTower_A6S
7887        AnimationMode   = ONCE
7888        AnimationSpeedFactorRange = 1.0 1.0
7889        Flags           = START_FRAME_FIRST
7890      End
7891      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7892       Model            = NBPTower_A6SN
7893        Animation       = NBPTower_A6SN.NBPTower_A6SN
7894        AnimationMode   = ONCE
7895        AnimationSpeedFactorRange = 1.0 1.0
7896        Flags           = START_FRAME_FIRST
7897      End
7898      TransitionState   = UP_DAY DOWN_DEFAULT
7899        Model           = NBPTower_A6
7900        Animation       = NBPTower_A6.NBPTower_A6
7901        AnimationMode   = ONCE_BACKWARDS
7902        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7903        Flags           = START_FRAME_LAST
7904      End
7905      TransitionState   = UP_NIGHT DOWN_DEFAULT
7906        Model           = NBPTower_A6N
7907        Animation       = NBPTower_A6N.NBPTower_A6N
7908        AnimationMode   = ONCE_BACKWARDS
7909        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7910        Flags           = START_FRAME_LAST
7911      End
7912      TransitionState   = UP_SNOW DOWN_DEFAULT
7913        Model           = NBPTower_A6S
7914        Animation       = NBPTower_A6S.NBPTower_A6S
7915        AnimationMode   = ONCE_BACKWARDS
7916        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7917        Flags           = START_FRAME_LAST
7918      End
7919      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7920        Model           = NBPTower_A6SN
7921        Animation       = NBPTower_A6SN.NBPTower_A6SN
7922        AnimationMode   = ONCE_BACKWARDS
7923        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7924        Flags           = START_FRAME_LAST
7925      End
7926    End
7927  
7928    ; ------------ being-constructed crane -----------------
7929    Draw = W3DModelDraw ModuleTag_04
7930    AnimationsRequirePower = No
7931      DefaultConditionState
7932        Model           = None
7933        TransitionKey   = DOWN_DEFAULT
7934      End
7935      ConditionState    = NIGHT
7936        Model           = None
7937        TransitionKey   = DOWN_DEFAULT
7938      End
7939      ConditionState    = SNOW
7940        Model           = None
7941        TransitionKey   = DOWN_DEFAULT
7942      End
7943      ConditionState    = SNOW NIGHT
7944        Model           = None
7945        TransitionKey   = DOWN_DEFAULT
7946      End
7947      ConditionState    = SOLD
7948        Model           = NONE
7949      End
7950  
7951      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
7952        Model           = NBPTower_A5
7953        Animation       = NBPTower_A5.NBPTower_A5
7954        AnimationMode   = LOOP
7955        TransitionKey   = UP_DAY
7956      End
7957  
7958      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
7959        Model           = NBPTower_A5N
7960        Animation       = NBPTower_A5N.NBPTower_A5N
7961        AnimationMode   = LOOP
7962        TransitionKey   = UP_NIGHT
7963      End
7964      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
7965        Model           = NBPTower_A5S
7966        Animation       = NBPTower_A5S.NBPTower_A5S
7967        AnimationMode   = LOOP
7968        TransitionKey   = UP_SNOW
7969      End
7970      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
7971        Model           = NBPTower_A5SN
7972        Animation       = NBPTower_A5SN.NBPTower_A5SN
7973        AnimationMode   = LOOP
7974        TransitionKey   = UP_SNOWNIGHT
7975      End
7976      TransitionState   = DOWN_DEFAULT UP_DAY
7977        Model           = NBPTower_AB
7978        Animation       = NBPTower_AB.NBPTower_AB
7979        AnimationMode   = ONCE
7980        AnimationSpeedFactorRange = 1.0 1.0
7981        Flags           = START_FRAME_FIRST
7982      End
7983  
7984      TransitionState   = DOWN_DEFAULT UP_NIGHT
7985        Model           = NBPTower_ABN
7986        Animation       = NBPTower_ABN.NBPTower_ABN
7987        AnimationMode   = ONCE
7988        AnimationSpeedFactorRange = 1.0 1.0
7989        Flags           = START_FRAME_FIRST
7990      End
7991      TransitionState   = DOWN_DEFAULT UP_SNOW
7992        Model           = NBPTower_ABS
7993        Animation       = NBPTower_ABS.NBPTower_ABS
7994        AnimationMode   = ONCE
7995        AnimationSpeedFactorRange = 1.0 1.0
7996        Flags           = START_FRAME_FIRST
7997      End
7998      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7999        Model           = NBPTower_ABSN
8000        Animation       = NBPTower_ABSN.NBPTower_ABSN
8001        AnimationMode   = ONCE
8002        AnimationSpeedFactorRange = 1.0 1.0
8003        Flags           = START_FRAME_FIRST
8004      End
8005      TransitionState   = UP_DAY DOWN_DEFAULT
8006        Model           = NBPTower_AB
8007        Animation       = NBPTower_AB.NBPTower_AB
8008        AnimationMode   = ONCE_BACKWARDS
8009        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8010        Flags           = START_FRAME_LAST
8011      End
8012      TransitionState   = UP_NIGHT DOWN_DEFAULT
8013        Model           = NBPTower_ABN
8014        Animation       = NBPTower_ABN.NBPTower_ABN
8015        AnimationMode   = ONCE_BACKWARDS
8016        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8017        Flags           = START_FRAME_LAST
8018      End
8019      TransitionState   = UP_SNOW DOWN_DEFAULT
8020        Model           = NBPTower_ABS
8021        Animation       = NBPTower_ABS.NBPTower_ABS
8022        AnimationMode   = ONCE_BACKWARDS
8023        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8024        Flags           = START_FRAME_LAST
8025      End
8026      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8027        Model           = NBPTower_ABSN
8028        Animation       = NBPTower_ABSN.NBPTower_ABSN
8029        AnimationMode   = ONCE_BACKWARDS
8030        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8031        Flags           = START_FRAME_LAST
8032      End
8033    End
8034    
8035    PlacementViewAngle     = -45
8036  
8037    ; ***DESIGN parameters ***
8038    DisplayName         = OBJECT:SpeakerTower
8039    Side                = Boss
8040    EditorSorting       = STRUCTURE
8041    BuildCost           = 500
8042    BuildTime           = 10.0           ; in seconds
8043    EnergyProduction    = -1
8044    VisionRange         = 200.0           ; Shroud clearing distance
8045    ShroudClearingRange = 200
8046    ArmorSet
8047      Conditions        = None
8048      Armor             = StructureArmor
8049      DamageFX          = StructureDamageFXNoShake
8050    End
8051    Prerequisites
8052      Object            = Boss_Airfield
8053    End
8054    CommandSet          = ChinaSpeakerTowerCommandSet
8055    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
8056  
8057    ; *** AUDIO Parameters ***
8058    VoiceSelect     = SpeakerTowerSelect
8059    SoundOnDamaged        = BuildingDamagedStateLight
8060    SoundOnReallyDamaged  = BuildingDestroy
8061  
8062    UnitSpecificSounds
8063      UnderConstruction     = UnderConstructionLoop
8064    End
8065  
8066    ; *** ENGINEERING Parameters ***
8067    RadarPriority   = STRUCTURE
8068    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY
8069  
8070    Body            = StructureBody ModuleTag_05
8071      MaxHealth     = 300.0
8072      InitialHealth = 300.0
8073  
8074      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8075      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8076      SubdualDamageCap = 500
8077      SubdualDamageHealRate = 500
8078      SubdualDamageHealAmount = 100
8079    End
8080    Behavior        = PropagandaTowerBehavior ModuleTag_06
8081      Radius                = 150.0
8082      DelayBetweenUpdates   = 2000 ; in milliseconds
8083      HealPercentEachSecond = 2%   ; get this % of max health every second 
8084      PulseFX               = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates
8085      UpgradeRequired       = Upgrade_ChinaSubliminalMessaging
8086      UpgradedHealPercentEachSecond = 4%   ; get this % of max health every second 
8087      UpgradedPulseFX       = FX_PropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates
8088    End
8089    Behavior        = DestroyDie ModuleTag_07
8090      ;<NO DATA>
8091    End
8092    Behavior        = CreateObjectDie ModuleTag_08
8093      CreationList  = OCL_ABPowerPlantExplode
8094    End
8095    Behavior        = FXListDie ModuleTag_09
8096      DeathFX       = FX_StructureTinyDeath
8097    End
8098    Behavior        = ProductionUpdate ModuleTag_10
8099      ;<NO DATA> But is required if we have any Object-level Upgrades!
8100    End
8101  
8102    Behavior                = GenerateMinefieldBehavior ModuleTag_11
8103      TriggeredBy           = Upgrade_ChinaMines
8104      MineName              = ChinaStandardMine
8105      SmartBorder           = Yes
8106      AlwaysCircular        = Yes
8107  
8108      Upgradable            = Yes
8109      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
8110      UpgradedMineName      = ChinaEMPMine
8111    End
8112  
8113    Behavior             = FlammableUpdate ModuleTag_13
8114      AflameDuration     = 5000         ; If I catch fire, I'll burn for this long...
8115      AflameDamageAmount = 5       ; taking this much damage...
8116      AflameDamageDelay  = 500       ; this often.
8117    End
8118  
8119    Behavior = TransitionDamageFX ModuleTag_14
8120      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
8121      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
8122      ;---------------------------------------------------------------------------------------
8123      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
8124      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
8125      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
8126    End
8127  
8128    Behavior = CommandSetUpgrade ModuleTag_25
8129      CommandSet = ChinaSpeakerTowerCommandSetUpgrade
8130      TriggeredBy = Upgrade_ChinaMines
8131    End
8132  
8133    Behavior = ArmorUpgrade ModuleTag_26
8134      TriggeredBy = Upgrade_ChinaEMPMines
8135    End
8136    
8137  
8138    Geometry             = BOX
8139    GeometryMajorRadius  = 6.0
8140    GeometryMinorRadius  = 6.0
8141    GeometryHeight       = 51.0
8142    GeometryIsSmall      = No
8143    Shadow               = SHADOW_VOLUME
8144    BuildCompletion      = PLACED_BY_PLAYER
8145  
8146  End
8147  
8148  
8149  
8150  
8151  
8152  
8153  
8154  
8155  
8156  
8157  
8158  
8159  
8160  
8161  
8162  
8163  
8164  
8165  
8166  
8167  
8168  
8169  
8170  
8171  
8172  
8173  
8174  
8175  
8176  
8177  
8178  
8179  
8180  
8181  
8182  
8183  
8184  
8185  
8186  
8187  
8188  
8189  
8190  
8191  
8192  
8193  
8194  ; -----------------------------------------------------------------------------
8195  Object Boss_TunnelNetwork
8196  
8197    ; *** ART Parameters ***
8198    SelectPortrait         = SUTunnel_L
8199    ButtonImage            = SUTunnel
8200  
8201    ;UpgradeCameo1           = Upgrade_GLACamoNetting
8202    ;UpgradeCameo2           = NONE
8203    ;UpgradeCameo3           = NONE
8204    ;UpgradeCameo4           = NONE
8205    ;UpgradeCameo5           = NONE
8206  
8207    Draw = W3DModelDraw ModuleTag_01
8208      OkToChangeModelColor = Yes
8209      
8210      DefaultConditionState
8211        Model             = UBUndTunn
8212        Turret            = Turret01
8213        WeaponFireFXBone  = PRIMARY BarrelMS
8214        WeaponMuzzleFlash = PRIMARY BarrelFX
8215      End
8216      ConditionState      = DAMAGED
8217        Model             = UBUndTunn_D
8218      End
8219      ConditionState      = REALLYDAMAGED RUBBLE
8220        Model             = UBUndTunn_E
8221        ParticleSysBone   = Steam01 SteamVent
8222      End
8223      
8224      
8225      ConditionState      = SNOW
8226        Model             = UBUndTunn_S
8227      End
8228      ConditionState      = DAMAGED SNOW
8229        Model             = UBUndTunn_DS
8230      End
8231      ConditionState      = REALLYDAMAGED RUBBLE SNOW
8232        Model             = UBUndTunn_ES
8233        ParticleSysBone   = Steam01 SteamVent
8234      End
8235      
8236      
8237      
8238      
8239      ConditionState      = NIGHT
8240        Model             = UBUndTunn_N
8241      End
8242      ConditionState      = DAMAGED NIGHT
8243        Model             = UBUndTunn_DN
8244      End
8245      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
8246        Model             = UBUndTunn_EN
8247        ParticleSysBone   = Steam01 SteamVent
8248      End
8249      
8250      
8251      ConditionState      = SNOW NIGHT
8252        Model             = UBUndTunn_NS
8253      End
8254      ConditionState      = DAMAGED SNOW NIGHT
8255        Model             = UBUndTunn_DNS
8256      End
8257      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
8258        Model             = UBUndTunn_ENS
8259        ParticleSysBone   = Steam01 SteamVent
8260      End
8261  
8262      ;**************************************************************************************************************************
8263      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8264      ;for this draw module
8265      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8266        Model              = UBUndTunn
8267        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8268      End
8269      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8270        Model              = UBUndTunn_D
8271        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8272      End
8273      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8274        Model              = UBUndTunn_E
8275        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8276      End
8277      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8278        Model              = UBUndTunn_N
8279        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8280      End
8281      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8282        Model              = UBUndTunn_DN
8283        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8284      End
8285      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8286        Model              = UBUndTunn_EN
8287        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8288      End
8289      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8290        Model              = UBUndTunn_S
8291        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8292      End
8293      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8294        Model              = UBUndTunn_DS
8295        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8296      End
8297      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8298        Model              = UBUndTunn_ES
8299        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8300      End
8301      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8302        Model              = UBUndTunn_NS
8303        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8304      End
8305      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8306        Model              = UBUndTunn_DNS
8307        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8308      End
8309      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8310        Model              = UBUndTunn_ENS
8311        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8312      End
8313  
8314      ConditionState       = AWAITING_CONSTRUCTION 
8315        Model              = NONE
8316      End
8317      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8318      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8319      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8320      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8321      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8322      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
8323      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
8324      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
8325      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8326      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8327      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8328      AliasConditionState  = SOLD 
8329      AliasConditionState  = SOLD DAMAGED
8330      AliasConditionState  = SOLD REALLYDAMAGED
8331      AliasConditionState  = SOLD NIGHT
8332      AliasConditionState  = SOLD NIGHT DAMAGED
8333      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8334      AliasConditionState  = SOLD SNOW
8335      AliasConditionState  = SOLD SNOW DAMAGED
8336      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8337      AliasConditionState  = SOLD NIGHT SNOW
8338      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8339      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8340      ;**************************************************************************************************************************
8341      
8342    End
8343    
8344    ; ------------ construction-zone fence -----------------
8345    Draw = W3DModelDraw ModuleTag_02
8346    AnimationsRequirePower = No
8347      DefaultConditionState
8348        Model           = None
8349        TransitionKey   = DOWN_DEFAULT
8350      End
8351      ConditionState    = NIGHT
8352        Model           = None
8353        TransitionKey   = DOWN_DEFAULT
8354      End
8355      ConditionState    = SNOW
8356        Model           = None
8357        TransitionKey   = DOWN_DEFAULT
8358      End
8359      ConditionState    = SNOW NIGHT
8360        Model           = None
8361        TransitionKey   = DOWN_DEFAULT
8362      End
8363      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8364        Model           = UBUndTunn_A4
8365        Animation       = UBUndTunn_A4.UBUndTunn_A4
8366        AnimationMode   = MANUAL
8367        Flags           = START_FRAME_LAST
8368        TransitionKey   = UP_DAY
8369      End
8370      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8371        Model           = UBUndTunn_A4N
8372        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
8373        AnimationMode   = MANUAL
8374        Flags           = START_FRAME_LAST
8375        TransitionKey   = UP_NIGHT
8376      End
8377      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8378        Model           = UBUndTunn_A4S
8379        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
8380        AnimationMode   = MANUAL
8381        Flags           = START_FRAME_LAST
8382        TransitionKey   = UP_SNOW
8383      End
8384      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8385        Model           = UBUndTunn_A4SN
8386        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
8387        AnimationMode   = MANUAL
8388        Flags           = START_FRAME_LAST
8389        TransitionKey   = UP_SNOWNIGHT
8390      End
8391      TransitionState   = DOWN_DEFAULT UP_DAY
8392        Model           = UBUndTunn_A4
8393        Animation       = UBUndTunn_A4.UBUndTunn_A4
8394        AnimationMode   = ONCE
8395        AnimationSpeedFactorRange = 1.0 1.0
8396        Flags           = START_FRAME_FIRST
8397      End
8398      TransitionState   = DOWN_DEFAULT UP_NIGHT
8399        Model           = UBUndTunn_A4N
8400        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
8401        AnimationMode   = ONCE
8402        AnimationSpeedFactorRange = 1.0 1.0
8403        Flags           = START_FRAME_FIRST
8404      End
8405      TransitionState   = DOWN_DEFAULT UP_SNOW
8406        Model           = UBUndTunn_A4S
8407        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
8408        AnimationMode   = ONCE
8409        AnimationSpeedFactorRange = 1.0 1.0
8410        Flags           = START_FRAME_FIRST
8411      End
8412      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8413        Model           = UBUndTunn_A4SN
8414        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
8415        AnimationMode   = ONCE
8416        AnimationSpeedFactorRange = 1.0 1.0
8417        Flags           = START_FRAME_FIRST
8418      End
8419      TransitionState   = UP_DAY DOWN_DEFAULT
8420        Model           = UBUndTunn_A4
8421        Animation       = UBUndTunn_A4.UBUndTunn_A4
8422        AnimationMode   = ONCE_BACKWARDS
8423        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8424        Flags           = START_FRAME_LAST
8425      End
8426      TransitionState   = UP_NIGHT DOWN_DEFAULT
8427        Model           = UBUndTunn_A4N
8428        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
8429        AnimationMode   = ONCE_BACKWARDS
8430        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8431        Flags           = START_FRAME_LAST
8432      End
8433      TransitionState   = UP_SNOW DOWN_DEFAULT
8434        Model           = UBUndTunn_A4S
8435        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
8436        AnimationMode   = ONCE_BACKWARDS
8437        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8438        Flags           = START_FRAME_LAST
8439      End
8440      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8441        Model           = UBUndTunn_A4SN
8442        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
8443        AnimationMode   = ONCE_BACKWARDS
8444        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8445        Flags           = START_FRAME_LAST
8446      End
8447    End
8448  
8449    ; ------------ under-construction scaffolding -----------------
8450    Draw = W3DModelDraw ModuleTag_03
8451    AnimationsRequirePower = No
8452      DefaultConditionState
8453        Model           = None
8454        TransitionKey   = DOWN_DEFAULT
8455      End
8456      ConditionState    = NIGHT
8457        Model           = None
8458        TransitionKey   = DOWN_DEFAULT
8459      End
8460      ConditionState    = SNOW
8461        Model           = None
8462        TransitionKey   = DOWN_DEFAULT
8463      End
8464      ConditionState    = SNOW NIGHT
8465        Model           = None
8466        TransitionKey   = DOWN_DEFAULT
8467      End
8468      ConditionState    =  PARTIALLY_CONSTRUCTED 
8469        Model           = UBUndTunn_A6
8470        Animation       = UBUndTunn_A6.UBUndTunn_A6
8471        AnimationMode   = MANUAL
8472        Flags           = START_FRAME_LAST
8473        TransitionKey   = UP_DAY
8474      End
8475      ConditionState    = NIGHT  PARTIALLY_CONSTRUCTED 
8476        Model           = UBUndTunn_A6N
8477        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
8478        AnimationMode   = MANUAL
8479        Flags           = START_FRAME_LAST
8480        TransitionKey   = UP_NIGHT
8481      End
8482      ConditionState    = SNOW  PARTIALLY_CONSTRUCTED 
8483        Model           = UBUndTunn_A6S
8484        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
8485        AnimationMode   = MANUAL
8486        Flags           = START_FRAME_LAST
8487        TransitionKey   = UP_SNOW
8488      End
8489      ConditionState    = SNOW NIGHT  PARTIALLY_CONSTRUCTED 
8490        Model           = UBUndTunn_A6SN
8491        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
8492        AnimationMode   = MANUAL
8493        Flags           = START_FRAME_LAST
8494        TransitionKey   = UP_SNOWNIGHT
8495      End
8496      TransitionState   = DOWN_DEFAULT UP_DAY
8497        Model           = UBUndTunn_A6
8498        Animation       = UBUndTunn_A6.UBUndTunn_A6
8499        AnimationMode   = ONCE
8500        AnimationSpeedFactorRange = 1.0 1.0
8501        Flags           = START_FRAME_FIRST
8502      End
8503      TransitionState   = DOWN_DEFAULT UP_NIGHT
8504        Model           = UBUndTunn_A6N
8505        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
8506        AnimationMode   = ONCE
8507        AnimationSpeedFactorRange = 1.0 1.0
8508        Flags           = START_FRAME_FIRST
8509      End
8510      TransitionState   = DOWN_DEFAULT UP_SNOW
8511        Model           = UBUndTunn_A6S
8512        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
8513        AnimationMode   = ONCE
8514        AnimationSpeedFactorRange = 1.0 1.0
8515        Flags           = START_FRAME_FIRST
8516      End
8517      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8518        Model           = UBUndTunn_A6SN
8519        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
8520        AnimationMode   = ONCE
8521        AnimationSpeedFactorRange = 1.0 1.0
8522        Flags           = START_FRAME_FIRST
8523      End
8524      TransitionState   = UP_DAY DOWN_DEFAULT
8525        Model           = UBUndTunn_A6
8526        Animation       = UBUndTunn_A6.UBUndTunn_A6
8527        AnimationMode   = ONCE_BACKWARDS
8528        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8529        Flags           = START_FRAME_LAST
8530      End
8531      TransitionState   = UP_NIGHT DOWN_DEFAULT
8532        Model           = UBUndTunn_A6N
8533        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
8534        AnimationMode   = ONCE_BACKWARDS
8535        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8536        Flags           = START_FRAME_LAST
8537      End
8538      TransitionState   = UP_SNOW DOWN_DEFAULT
8539        Model           = UBUndTunn_A6S
8540        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
8541        AnimationMode   = ONCE_BACKWARDS
8542        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8543        Flags           = START_FRAME_LAST
8544      End
8545      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8546        Model           = UBUndTunn_A6SN
8547        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
8548        AnimationMode   = ONCE_BACKWARDS
8549        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8550        Flags           = START_FRAME_LAST
8551      End
8552    End
8553  
8554    PlacementViewAngle = -135
8555  
8556    ; ***DESIGN parameters ***
8557    DisplayName      = OBJECT:TunnelNetwork
8558    Side = Boss
8559    EditorSorting    = STRUCTURE
8560    Prerequisites
8561      Object = Boss_Barracks
8562    End
8563    BuildCost        = 800
8564    RefundValue      = 100 ; With nothing (or zero) listed, we sell for half price. 
8565    BuildTime        = 5.0           ; in seconds
8566    EnergyProduction = 0
8567    VisionRange     = 200.0           ; Shroud clearing distance
8568    ShroudClearingRange = 200
8569    ArmorSet
8570      Conditions      = None
8571      Armor           = StructureArmor
8572      DamageFX        = StructureDamageFXNoShake
8573    End
8574    WeaponSet
8575      Conditions = None 
8576      Weapon = PRIMARY TunnelNetworkGun
8577    End
8578  
8579    CommandSet       = Boss_GLATunnelNetworkCommandSet
8580    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
8581  
8582    ; *** AUDIO Parameters ***
8583    VoiceSelect = TunnelNetworkSelect
8584    SoundOnDamaged        = BuildingDamagedStateLight
8585    SoundOnReallyDamaged  = BuildingDestroy
8586    SoundEnter = GarrisonEnter
8587    SoundExit = GarrisonExit
8588  
8589    UnitSpecificSounds
8590      UnderConstruction     = UnderConstructionLoop
8591      TurretMoveLoop        = NoSound
8592    End
8593  
8594    ; *** ENGINEERING Parameters ***
8595    RadarPriority   = STRUCTURE
8596    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT
8597    Body            = StructureBody ModuleTag_04
8598      MaxHealth       = 1000.0
8599      InitialHealth   = 1000.0
8600  
8601      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8602      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8603      SubdualDamageCap = 1200
8604      SubdualDamageHealRate = 500
8605      SubdualDamageHealAmount = 100
8606    End
8607  
8608    Behavior = StealthDetectorUpdate ModuleTag_13
8609      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
8610      DetectionRange   = 150   ;Dustin, enable this for independant balancing!
8611      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
8612      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
8613    End
8614  
8615    Behavior = AIUpdateInterface ModuleTag_16
8616      Turret
8617        TurretTurnRate        = 180   // turn rate, in degrees per sec
8618        ControlledWeaponSlots = PRIMARY
8619      End
8620  
8621      AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon
8622    End
8623  
8624    Behavior = TunnelContain ModuleTag_05
8625      TimeForFullHeal     = 5000   ;(in milliseconds)
8626    End
8627  
8628    ;Kris: Removed this module from because units exiting the container would extract information 
8629    ;from the wrong exit interface. And we don't appear to need it for the spawns because they
8630    ;use OpenContain instead.
8631    ;Behavior = DefaultProductionExitUpdate ModuleTag_06
8632    ;  UnitCreatePoint   = X:  5.0  Y:  0.0   Z:0.0
8633    ;  NaturalRallyPoint = X: 35.0  Y:  0.0   Z:0.0
8634    ;End
8635  
8636    Behavior            = SpawnBehavior ModuleTag_07
8637      SpawnNumber       = 2
8638      SpawnReplaceDelay = 9999
8639      ;**FIX**
8640      SpawnTemplateName = GLAInfantryTunnelDefender
8641      OneShot           = Yes
8642      CanReclaimOrphans = No
8643      SlavesHaveFreeWill = Yes
8644    End
8645    Behavior             = RebuildHoleExposeDie ModuleTag_09
8646      HoleName      = GLAHoleTunnelNetwork
8647      HoleMaxHealth = 500.0
8648    End
8649    Behavior = DestroyDie ModuleTag_10
8650      ;nothing
8651    End
8652    Behavior             = CreateObjectDie ModuleTag_11
8653      CreationList  = OCL_ABTunnelNetworkDebris
8654    End
8655    Behavior             = FXListDie ModuleTag_12
8656      DeathFX       = FX_StructureSmallDeath
8657    End
8658  
8659    Behavior = FlammableUpdate ModuleTag_15
8660  
8661      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
8662      AflameDamageAmount = 5       ; taking this much damage...
8663      AflameDamageDelay = 500       ; this often.
8664    End
8665  
8666    ;Kris: Cut camo-netting from Boss General
8667    ;Behavior = StealthUpdate ModuleTag_17
8668    ;  StealthDelay                = 2500 ; msec
8669    ;  StealthForbiddenConditions  = ATTACKING USING_ABILITY
8670    ;  MoveThresholdSpeed          = 3
8671    ;  InnateStealth               = No ;Requires upgrade first
8672    ;  OrderIdleEnemiesToAttackMeUponReveal  = Yes
8673    ;End
8674    ;Behavior = StealthUpgrade ModuleTag_18
8675    ;  TriggeredBy = Upgrade_GLACamoNetting
8676    ;End
8677    ;Behavior = ProductionUpdate ModuleTag_19
8678    ;End
8679  
8680    Behavior = TransitionDamageFX ModuleTag_20
8681      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
8682      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8683      ;---------------------------------------------------------------------------------------
8684      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8685      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
8686      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
8687    End
8688  
8689    Behavior = CommandSetUpgrade ModuleTag_21
8690      CommandSet = Boss_GLATunnelNetworkCommandSetUpgrade
8691      TriggeredBy = Upgrade_ChinaMines
8692    End
8693  
8694    Behavior = GenerateMinefieldBehavior     ModuleTag_22
8695      TriggeredBy           = Upgrade_ChinaMines
8696      MineName              = ChinaStandardMine
8697      SmartBorder           = Yes
8698      AlwaysCircular        = Yes
8699  
8700      Upgradable            = Yes
8701      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
8702      UpgradedMineName      = ChinaEMPMine
8703    End
8704  
8705    Behavior = ProductionUpdate ModuleTag_23
8706      ; nothing
8707    End
8708  
8709    Behavior = ArmorUpgrade ModuleTag_26
8710      TriggeredBy = Upgrade_ChinaEMPMines
8711    End
8712  
8713  
8714  
8715    Geometry = CYLINDER
8716    GeometryMajorRadius = 25.0
8717    GeometryHeight = 20.0    
8718    GeometryIsSmall     = No
8719    Shadow          = SHADOW_VOLUME
8720    BuildCompletion = PLACED_BY_PLAYER
8721  
8722  End
8723  
8724  
8725  
8726  
8727  
8728  
8729  
8730  
8731  
8732  
8733  
8734  
8735  
8736  
8737  
8738  
8739  ;------------------------------------------------------------------------------
8740  Object Boss_SupplyCenter
8741  
8742    ; *** ART Parameters ***
8743    SelectPortrait         = SNSupplyCenter_L
8744    ButtonImage            = SNSupplyCenter
8745    Draw = W3DModelDraw ModuleTag_01
8746      OkToChangeModelColor = Yes
8747      ;day
8748      ConditionState = NONE
8749        Model = NBSupCent
8750        ;Animation       = NBSupCent.NBSupCent
8751        ;AnimationMode   = LOOP
8752      End
8753      ConditionState = DAMAGED
8754        Model = NBSupCent_D
8755        ;Animation       = NBSupCent_D.NBSupCent_D
8756        ;AnimationMode   = LOOP
8757      End
8758      ConditionState = REALLYDAMAGED RUBBLE
8759        Model = NBSupCent_E
8760        ;Animation       = NBSupCent_E.NBSupCent_E
8761        ;AnimationMode   = LOOP
8762      End
8763      
8764      
8765      ConditionState = SNOW
8766        Model = NBSupCent_S
8767        ;Animation       = NBSupCent.NBSupCent
8768        ;AnimationMode   = LOOP
8769      End
8770      ConditionState = DAMAGED SNOW
8771        Model = NBSupCent_DS
8772        ;Animation       = NBSupCent_D.NBSupCent_D
8773        ;AnimationMode   = LOOP
8774      End
8775      ConditionState = REALLYDAMAGED RUBBLE SNOW
8776        Model = NBSupCent_ES
8777        ;Animation       = NBSupCent_E.NBSupCent_E
8778        ;AnimationMode   = LOOP
8779      End
8780      
8781      
8782      ConditionState = SNOW NIGHT
8783        Model = NBSupCent_NS
8784        ;Animation       = NBSupCent.NBSupCent
8785        ;AnimationMode   = LOOP
8786      End
8787      ConditionState = DAMAGED SNOW NIGHT
8788        Model = NBSupCent_DNS
8789        ;Animation       = NBSupCent_D.NBSupCent_D
8790        ;AnimationMode   = LOOP
8791      End
8792      ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT
8793        Model = NBSupCent_ENS
8794        ;Animation       = NBSupCent_E.NBSupCent_E
8795        ;AnimationMode   = LOOP
8796      End
8797      
8798  
8799      ConditionState = NIGHT
8800        Model           = NBSupCent_N
8801        ;Animation       = NBSupCent_N.NBSupCent_N
8802        ;AnimationMode   = LOOP
8803      End  
8804      ConditionState = NIGHT DAMAGED
8805        Model           = NBSupCent_DN
8806  
8807        ;Animation       = NBSupCent_N.NBSupCent_N
8808        ;AnimationMode   = LOOP
8809      End  
8810      ConditionState = NIGHT REALLYDAMAGED RUBBLE
8811        Model           = NBSupCent_EN
8812        ;Animation       = NBSupCent_N.NBSupCent_N
8813        ;AnimationMode   = LOOP
8814      End  
8815      
8816      
8817          ;**************************************************************************************************************************
8818      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8819      ;for this draw module
8820      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8821        Model              = NBSupCent
8822        ;Animation          = NBSupCent.NBSupCent
8823        ;AnimationMode      = LOOP
8824        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8825      End
8826      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8827        Model              = NBSupCent_D
8828        ;Animation          = NBSupCent_D.NBSupCent_D
8829        ;AnimationMode      = LOOP
8830        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8831      End
8832      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8833        Model              = NBSupCent_E
8834        ;Animation          = NBSupCent_E.NBSupCent_E
8835        ;AnimationMode      = LOOP
8836        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8837      End
8838      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8839        Model              = NBSupCent_N
8840        ;Animation          = NBSupCent_N.NBSupCent_N
8841        ;AnimationMode      = LOOP
8842        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8843      End
8844      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8845        Model              = NBSupCent_DN
8846        ;Animation          = NBSupCent_DN.NBSupCent_DN
8847        ;AnimationMode      = LOOP
8848        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8849      End
8850      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8851        Model              = NBSupCent_EN
8852        ;Animation          = NBSupCent_EN.NBSupCent_EN
8853        ;AnimationMode      = LOOP
8854        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8855      End
8856      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8857        Model              = NBSupCent_S
8858        ;Animation          = NBSupCent_S.NBSupCent_S
8859        ;AnimationMode      = LOOP
8860        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8861      End
8862      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8863        Model              = NBSupCent_DS
8864        ;Animation          = NBSupCent_DS.NBSupCent_DS
8865        ;AnimationMode      = LOOP
8866        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8867      End
8868      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8869        Model              = NBSupCent_ES
8870        ;Animation          = NBSupCent_ES.NBSupCent_ES
8871        ;AnimationMode      = LOOP
8872        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8873      End
8874      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8875        Model              = NBSupCent_NS
8876        ;Animation          = NBSupCent_NS.NBSupCent_NS
8877        ;AnimationMode      = LOOP
8878        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8879      End
8880      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8881        Model              = NBSupCent_DNS
8882        ;Animation          = NBSupCent_DNS.NBSupCent_DNS
8883        ;AnimationMode      = LOOP
8884        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8885      End
8886      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8887        Model              = NBSupCent_ENS
8888        ;Animation          = NBSupCent_ENS.NBSupCent_ENS
8889        ;AnimationMode      = LOOP
8890        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8891      End
8892  
8893      ConditionState       = AWAITING_CONSTRUCTION 
8894        Model              = NONE
8895      End
8896      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8897      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8898      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8899      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8900      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8901      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
8902      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
8903      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
8904      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8905      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8906      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8907      AliasConditionState  = SOLD 
8908      AliasConditionState  = SOLD DAMAGED
8909      AliasConditionState  = SOLD REALLYDAMAGED
8910      AliasConditionState  = SOLD NIGHT
8911      AliasConditionState  = SOLD NIGHT DAMAGED
8912      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8913      AliasConditionState  = SOLD SNOW
8914      AliasConditionState  = SOLD SNOW DAMAGED
8915      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8916      AliasConditionState  = SOLD NIGHT SNOW
8917      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8918      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8919      ;**************************************************************************************************************************
8920    End
8921      
8922    ; ------------ construction-zone fence -----------------
8923    Draw = W3DModelDraw ModuleTag_02
8924    AnimationsRequirePower = No
8925      DefaultConditionState
8926        Model           = None
8927        TransitionKey   = DOWN_DEFAULT
8928      End
8929      ConditionState    = NIGHT
8930        Model           = None
8931        TransitionKey   = DOWN_DEFAULT
8932      End
8933      ConditionState    = SNOW
8934        Model           = None
8935        TransitionKey   = DOWN_DEFAULT
8936      End
8937      ConditionState    = SNOW NIGHT
8938        Model           = None
8939        TransitionKey   = DOWN_DEFAULT
8940      End
8941      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8942        Model           = NBSupCent_A4
8943        Animation       = NBSupCent_A4.NBSupCent_A4
8944        AnimationMode   = MANUAL
8945        Flags           = START_FRAME_LAST
8946        TransitionKey   = UP_DAY
8947      End
8948      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8949        Model           = NBSupCent_A4N
8950        Animation       = NBSupCent_A4N.NBSupCent_A4N
8951        AnimationMode   = MANUAL
8952        Flags           = START_FRAME_LAST
8953        TransitionKey   = UP_NIGHT
8954      End
8955      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8956        Model           = NBSupCent_A4S
8957        Animation       = NBSupCent_A4S.NBSupCent_A4S
8958        AnimationMode   = MANUAL
8959        Flags           = START_FRAME_LAST
8960        TransitionKey   = UP_SNOW
8961      End
8962      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8963        Model           = NBSupCent_A4SN
8964        Animation       = NBSupCent_A4SN.NBSupCent_A4SN
8965        AnimationMode   = MANUAL
8966        Flags           = START_FRAME_LAST
8967        TransitionKey   = UP_SNOWNIGHT
8968      End
8969      TransitionState   = DOWN_DEFAULT UP_DAY
8970        Model           = NBSupCent_A4
8971        Animation       = NBSupCent_A4.NBSupCent_A4
8972        AnimationMode   = ONCE
8973        AnimationSpeedFactorRange = 1.0 1.0
8974        Flags           = START_FRAME_FIRST
8975      End
8976      TransitionState   = DOWN_DEFAULT UP_NIGHT
8977        Model           = NBSupCent_A4N
8978        Animation       = NBSupCent_A4N.NBSupCent_A4N
8979        AnimationMode   = ONCE
8980        AnimationSpeedFactorRange = 1.0 1.0
8981        Flags           = START_FRAME_FIRST
8982      End
8983      TransitionState   = DOWN_DEFAULT UP_SNOW
8984        Model           = NBSupCent_A4S
8985        Animation       = NBSupCent_A4S.NBSupCent_A4S
8986        AnimationMode   = ONCE
8987        AnimationSpeedFactorRange = 1.0 1.0
8988        Flags           = START_FRAME_FIRST
8989      End
8990      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8991        Model           = NBSupCent_A4SN
8992        Animation       = NBSupCent_A4SN.NBSupCent_A4SN
8993        AnimationMode   = ONCE
8994        AnimationSpeedFactorRange = 1.0 1.0
8995        Flags           = START_FRAME_FIRST
8996      End
8997      TransitionState   = UP_DAY DOWN_DEFAULT
8998        Model           = NBSupCent_A4
8999        Animation       = NBSupCent_A4.NBSupCent_A4
9000        AnimationMode   = ONCE_BACKWARDS
9001        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9002        Flags           = START_FRAME_LAST
9003      End
9004      TransitionState   = UP_NIGHT DOWN_DEFAULT
9005        Model           = NBSupCent_A4N
9006        Animation       = NBSupCent_A4N.NBSupCent_A4N
9007        AnimationMode   = ONCE_BACKWARDS
9008        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9009        Flags           = START_FRAME_LAST
9010      End
9011      TransitionState   = UP_SNOW DOWN_DEFAULT
9012        Model           = NBSupCent_A4S
9013        Animation       = NBSupCent_A4S.NBSupCent_A4S
9014        AnimationMode   = ONCE_BACKWARDS
9015        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9016        Flags           = START_FRAME_LAST
9017      End
9018      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9019        Model           = NBSupCent_A4SN
9020        Animation       = NBSupCent_A4SN.NBSupCent_A4SN
9021        AnimationMode   = ONCE_BACKWARDS
9022        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9023        Flags           = START_FRAME_LAST
9024      End
9025    End
9026  
9027    ; ------------ under-construction scaffolding -----------------
9028    Draw = W3DModelDraw ModuleTag_03
9029    AnimationsRequirePower = No
9030      MinLODRequired = MEDIUM
9031      DefaultConditionState
9032        Model           = None
9033        TransitionKey   = DOWN_DEFAULT
9034      End
9035      ConditionState    = NIGHT
9036        Model           = None
9037        TransitionKey   = DOWN_DEFAULT
9038      End
9039      ConditionState    = SNOW
9040        Model           = None
9041        TransitionKey   = DOWN_DEFAULT
9042      End
9043      ConditionState    = SNOW NIGHT
9044        Model           = None
9045        TransitionKey   = DOWN_DEFAULT
9046      End
9047      ConditionState    = PARTIALLY_CONSTRUCTED
9048        Model           = NBSupCent_A6
9049        Animation       = NBSupCent_A6.NBSupCent_A6
9050        AnimationMode   = MANUAL
9051        Flags           = START_FRAME_LAST
9052        TransitionKey   = UP_DAY
9053        ParticleSysBone = Dust01 BuildingDustChina
9054        ParticleSysBone = Smoke01 BuildUpSmokeChina
9055        ParticleSysBone = Smoke02 BuildUpSmokeChina
9056        ParticleSysBone = Smoke03 BuildUpSmokeChina
9057        ParticleSysBone = Smoke04 BuildUpSmokeChina
9058        ParticleSysBone = Smoke05 BuildUpSmokeChina
9059      End
9060      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9061        Model           = NBSupCent_A6N
9062        Animation       = NBSupCent_A6N.NBSupCent_A6N
9063        AnimationMode   = MANUAL
9064        Flags           = START_FRAME_LAST
9065        TransitionKey   = UP_NIGHT
9066        ParticleSysBone = Dust01 BuildingDustChina
9067        ParticleSysBone = Smoke01 BuildUpSmokeChina
9068        ParticleSysBone = Smoke02 BuildUpSmokeChina
9069        ParticleSysBone = Smoke03 BuildUpSmokeChina
9070        ParticleSysBone = Smoke04 BuildUpSmokeChina
9071        ParticleSysBone = Smoke05 BuildUpSmokeChina
9072      End
9073      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9074        Model           = NBSupCent_A6S
9075        Animation       = NBSupCent_A6S.NBSupCent_A6S
9076        AnimationMode   = MANUAL
9077        Flags           = START_FRAME_LAST
9078        TransitionKey   = UP_SNOW
9079        ParticleSysBone = Dust01 BuildingSnowDust
9080        ParticleSysBone = Smoke01 BuildUpSnowSmoke
9081        ParticleSysBone = Smoke02 BuildUpSnowSmoke
9082        ParticleSysBone = Smoke03 BuildUpSnowSmoke
9083        ParticleSysBone = Smoke04 BuildUpSnowSmoke
9084        ParticleSysBone = Smoke05 BuildUpSnowSmoke
9085      End
9086      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9087        Model           = NBSupCent_A6SN
9088        Animation       = NBSupCent_A6SN.NBSupCent_A6SN
9089        AnimationMode   = MANUAL
9090        Flags           = START_FRAME_LAST
9091        TransitionKey   = UP_SNOWNIGHT
9092        ParticleSysBone = Dust01 BuildingNightSnowDust
9093        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
9094        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
9095        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
9096        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
9097        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
9098      End
9099      TransitionState   = DOWN_DEFAULT UP_DAY
9100       Model            = NBSupCent_A6
9101        Animation       = NBSupCent_A6.NBSupCent_A6
9102        AnimationMode   = ONCE
9103        AnimationSpeedFactorRange = 1.0 1.0
9104        Flags           = START_FRAME_FIRST
9105      End
9106      TransitionState   = DOWN_DEFAULT UP_NIGHT
9107       Model            = NBSupCent_A6N
9108        Animation       = NBSupCent_A6N.NBSupCent_A6N
9109        AnimationMode   = ONCE
9110        AnimationSpeedFactorRange = 1.0 1.0
9111        Flags           = START_FRAME_FIRST
9112      End
9113      TransitionState   = DOWN_DEFAULT UP_SNOW
9114       Model            = NBSupCent_A6S
9115        Animation       = NBSupCent_A6S.NBSupCent_A6S
9116        AnimationMode   = ONCE
9117        AnimationSpeedFactorRange = 1.0 1.0
9118        Flags           = START_FRAME_FIRST
9119      End
9120      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9121       Model            = NBSupCent_A6SN
9122        Animation       = NBSupCent_A6SN.NBSupCent_A6SN
9123        AnimationMode   = ONCE
9124        AnimationSpeedFactorRange = 1.0 1.0
9125        Flags           = START_FRAME_FIRST
9126      End
9127      TransitionState   = UP_DAY DOWN_DEFAULT
9128        Model           = NBSupCent_A6
9129        Animation       = NBSupCent_A6.NBSupCent_A6
9130        AnimationMode   = ONCE_BACKWARDS
9131        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9132        Flags           = START_FRAME_LAST
9133      End    
9134      TransitionState   = UP_NIGHT DOWN_DEFAULT
9135        Model           = NBSupCent_A6N
9136        Animation       = NBSupCent_A6N.NBSupCent_A6N
9137        AnimationMode   = ONCE_BACKWARDS
9138        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9139        Flags           = START_FRAME_LAST
9140      End
9141      TransitionState   = UP_SNOW DOWN_DEFAULT
9142        Model           = NBSupCent_A6S
9143        Animation       = NBSupCent_A6S.NBSupCent_A6S
9144        AnimationMode   = ONCE_BACKWARDS
9145        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9146        Flags           = START_FRAME_LAST
9147      End
9148      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9149        Model           = NBSupCent_A6SN
9150        Animation       = NBSupCent_A6SN.NBSupCent_A6SN
9151        AnimationMode   = ONCE_BACKWARDS
9152        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9153        Flags           = START_FRAME_LAST
9154      End
9155    End
9156  
9157    ; ------------ being-constructed crane -----------------
9158    Draw = W3DModelDraw ModuleTag_04
9159    AnimationsRequirePower = No
9160      DefaultConditionState
9161        Model           = None
9162        TransitionKey   = DOWN_DEFAULT
9163      End
9164      ConditionState    = NIGHT
9165        Model           = None
9166        TransitionKey   = DOWN_DEFAULT
9167      End
9168      ConditionState    = SNOW
9169        Model           = None
9170        TransitionKey   = DOWN_DEFAULT
9171      End
9172      ConditionState    = SNOW NIGHT
9173        Model           = None
9174        TransitionKey   = DOWN_DEFAULT
9175      End
9176      ConditionState    = SOLD
9177        Model           = NONE
9178      End
9179  
9180      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
9181        Model           = NBSupCent_A5
9182        Animation       = NBSupCent_A5.NBSupCent_A5
9183        AnimationMode   = LOOP
9184        TransitionKey  = UP_DAY
9185      End
9186  
9187      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
9188        Model           = NBSupCent_A5N
9189        Animation       = NBSupCent_A5N.NBSupCent_A5N
9190        AnimationMode   = LOOP
9191        TransitionKey  = UP_NIGHT
9192      End
9193      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
9194        Model           = NBSupCent_A5S
9195        Animation       = NBSupCent_A5S.NBSupCent_A5S
9196        AnimationMode   = LOOP
9197        TransitionKey  = UP_SNOW
9198      End
9199      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
9200        Model           = NBSupCent_A5SN
9201        Animation       = NBSupCent_A5SN.NBSupCent_A5SN
9202        AnimationMode   = LOOP
9203        TransitionKey  = UP_SNOWNIGHT
9204      End
9205      TransitionState   = DOWN_DEFAULT UP_DAY
9206        Model            = NBSupCent_AB
9207        Animation       = NBSupCent_AB.NBSupCent_AB
9208        AnimationMode   = ONCE
9209        AnimationSpeedFactorRange = 1.0 1.0
9210        Flags           = START_FRAME_FIRST
9211      End
9212  
9213      TransitionState   = DOWN_DEFAULT UP_NIGHT
9214        Model            = NBSupCent_ABN
9215        Animation       = NBSupCent_ABN.NBSupCent_ABN
9216        AnimationMode   = ONCE
9217        AnimationSpeedFactorRange = 1.0 1.0
9218        Flags           = START_FRAME_FIRST
9219      End
9220      TransitionState   = DOWN_DEFAULT UP_SNOW
9221        Model            = NBSupCent_ABS
9222        Animation       = NBSupCent_ABS.NBSupCent_ABS
9223        AnimationMode   = ONCE
9224        AnimationSpeedFactorRange = 1.0 1.0
9225        Flags           = START_FRAME_FIRST
9226      End
9227      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9228        Model            = NBSupCent_ABSN
9229        Animation       = NBSupCent_ABSN.NBSupCent_ABSN
9230        AnimationMode   = ONCE
9231        AnimationSpeedFactorRange = 1.0 1.0
9232        Flags           = START_FRAME_FIRST
9233      End
9234      TransitionState   = UP_DAY DOWN_DEFAULT
9235        Model            = NBSupCent_AB
9236        Animation       = NBSupCent_AB.NBSupCent_AB
9237        AnimationMode   = ONCE_BACKWARDS
9238        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9239        Flags           = START_FRAME_LAST
9240      End
9241      TransitionState   = UP_NIGHT DOWN_DEFAULT
9242        Model            = NBSupCent_ABN
9243        Animation       = NBSupCent_ABN.NBSupCent_ABN
9244        AnimationMode   = ONCE_BACKWARDS
9245        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9246        Flags           = START_FRAME_LAST
9247      End
9248      TransitionState   = UP_SNOW DOWN_DEFAULT
9249        Model            = NBSupCent_ABS
9250        Animation       = NBSupCent_ABS.NBSupCent_ABS
9251        AnimationMode   = ONCE_BACKWARDS
9252        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9253        Flags           = START_FRAME_LAST
9254      End
9255      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9256        Model            = NBSupCent_ABSN
9257        Animation       = NBSupCent_ABSN.NBSupCent_ABSN
9258        AnimationMode   = ONCE_BACKWARDS
9259        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9260        Flags           = START_FRAME_LAST
9261      End
9262    End
9263    
9264    PlacementViewAngle = -45
9265  
9266    ; ***DESIGN parameters ***
9267    DisplayName      = OBJECT:SupplyCenter
9268    Side             = Boss
9269    EditorSorting    = STRUCTURE
9270    Prerequisites
9271      Object = Boss_PowerPlant 
9272    End
9273    BuildCost        = 1500
9274    RefundValue      = 450 ; With nothing (or zero) listed, we sell for half price. 
9275    BuildTime        = 10.0           ; in seconds
9276    EnergyProduction = -1
9277    CommandSet       = Boss_ChinaSupplyCenterCommandSet
9278    VisionRange     = 200.0           ; Shroud clearing distance
9279    ShroudClearingRange = 200
9280    ArmorSet
9281      Conditions      = None
9282      Armor           = StructureArmor
9283      DamageFX        = StructureDamageFXNoShake
9284    End
9285    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
9286  
9287    ; *** AUDIO Parameters ***
9288    VoiceSelect = SupplyCenterChinaSelect
9289    SoundOnDamaged        = BuildingDamagedStateLight
9290    SoundOnReallyDamaged  = BuildingDestroy
9291  
9292    UnitSpecificSounds
9293      UnderConstruction     = UnderConstructionLoop
9294    End
9295  
9296    ; *** ENGINEERING Parameters ***
9297    RadarPriority       = STRUCTURE
9298    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER
9299    Body                = StructureBody ModuleTag_05
9300      MaxHealth       = 2000.0
9301      InitialHealth   = 2000.0
9302  
9303      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9304      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9305      SubdualDamageCap = 2200
9306      SubdualDamageHealRate = 500
9307      SubdualDamageHealAmount = 100
9308    End
9309    Behavior = SupplyCenterCreate ModuleTag_06
9310      ;nothing
9311    End
9312    Behavior = DestroyDie ModuleTag_07
9313      ;nothing
9314    End
9315    Behavior                 = CreateObjectDie ModuleTag_08
9316      CreationList      = OCL_SmallStructureDebris
9317    End
9318    Behavior                 = FXListDie ModuleTag_09
9319      DeathFX           = FX_StructureSmallDeath
9320    End
9321    Behavior = ProductionUpdate ModuleTag_10
9322      ; nothing
9323    End
9324    Behavior = SupplyCenterProductionExitUpdate ModuleTag_11
9325      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
9326      NaturalRallyPoint = X: 52.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
9327    End
9328  
9329    Behavior            = SpawnBehavior ModuleTag_12
9330      SpawnNumber       = 1
9331      SpawnReplaceDelay = 9999
9332      SpawnTemplateName = Boss_VehicleSupplyTruck
9333      OneShot           = Yes
9334      CanReclaimOrphans = No
9335      SlavesHaveFreeWill = Yes
9336    End
9337  
9338    Behavior = SupplyCenterDockUpdate ModuleTag_13
9339      AllowsPassthrough = No ;You can't drive through this guy while docking.  Use this when the dock points are all outside
9340      NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach
9341    End
9342  
9343    Behavior = GenerateMinefieldBehavior     ModuleTag_14
9344      TriggeredBy           = Upgrade_ChinaMines
9345      MineName              = ChinaStandardMine
9346      SmartBorder           = Yes
9347      AlwaysCircular        = Yes
9348  
9349      Upgradable            = Yes
9350      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
9351      UpgradedMineName      = ChinaEMPMine
9352    End
9353  
9354    Behavior = FlammableUpdate ModuleTag_16
9355      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
9356      AflameDamageAmount = 5       ; taking this much damage...
9357      AflameDamageDelay = 500       ; this often.
9358    End
9359  
9360    Behavior = TransitionDamageFX ModuleTag_17
9361      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
9362      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9363      ;---------------------------------------------------------------------------------------
9364      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9365      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
9366      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
9367    End
9368  
9369    Behavior = CommandSetUpgrade ModuleTag_25
9370      CommandSet = Boss_ChinaSupplyCenterCommandSetUpgrade
9371      TriggeredBy = Upgrade_ChinaMines
9372    End
9373  
9374    Behavior = ArmorUpgrade ModuleTag_26
9375      TriggeredBy = Upgrade_ChinaEMPMines
9376    End
9377    
9378  
9379    Geometry            = BOX
9380    GeometryMajorRadius = 52.0
9381    GeometryMinorRadius = 47.0
9382    GeometryHeight      = 30.0
9383    GeometryIsSmall     = No
9384    Shadow              = SHADOW_VOLUME
9385    BuildCompletion     = PLACED_BY_PLAYER
9386  
9387  End
9388  
9389  
9390  
9391  
9392  
9393  
9394  
9395  
9396  
9397  
9398  
9399  
9400  
9401  
9402  
9403  
9404  
9405  
9406  
9407  
9408  
9409  
9410  ;------------------------------------------------------------------------------
9411  Object Boss_Barracks
9412  
9413    ; *** ART Parameters ***
9414    SelectPortrait         = SNBarracks_L
9415    ButtonImage            = SNBarracks
9416    Draw = W3DModelDraw ModuleTag_01
9417      OkToChangeModelColor = Yes
9418   
9419   
9420  ; day
9421      ConditionState = NONE
9422        Model = NBBarracks
9423        ParticleSysBone= Fire01 SmolderingFire
9424        Animation     = NBBarracks.NBBarracks
9425        AnimationMode = LOOP
9426      End
9427    
9428      ConditionState = DAMAGED
9429        Model = NBBarracks_D
9430        ParticleSysBone= Fire01 SmolderingFire
9431        Animation     = NBBarracks_D.NBBarracks_D
9432        AnimationMode = LOOP
9433      End
9434      
9435      ConditionState = REALLYDAMAGED RUBBLE
9436        Model = NBBarracks_E
9437        ParticleSysBone= Fire01 SmolderingFire
9438        Animation     = NBBarracks_E.NBBarracks_E
9439        AnimationMode = LOOP
9440      End
9441      
9442  ; day SNOW
9443  
9444      ConditionState = SNOW
9445        Model = NBBarracks_S
9446        ParticleSysBone= Fire01 SmolderingFire
9447        Animation     = NBBarracks_S.NBBarracks_S
9448        AnimationMode = LOOP
9449      End
9450    
9451      ConditionState = DAMAGED SNOW
9452        Model = NBBarracks_DS
9453        ParticleSysBone= Fire01 SmolderingFire
9454        Animation     = NBBarracks_DS.NBBarracks_DS
9455        AnimationMode = LOOP
9456      End
9457      
9458      ConditionState = REALLYDAMAGED RUBBLE SNOW
9459        Model = NBBarracks_ES
9460        ParticleSysBone= Fire01 SmolderingFire
9461        Animation     = NBBarracks_ES.NBBarracks_ES
9462        AnimationMode = LOOP
9463      End
9464  
9465    
9466  ; night
9467      ConditionState = NIGHT
9468        Model         = NBBarracks_N
9469        ParticleSysBone= Fire01 SmolderingFire
9470        Animation     = NBBarracks_N.NBBarracks_N
9471        AnimationMode = LOOP
9472      End  
9473      
9474      ConditionState = DAMAGED NIGHT
9475        Model = NBBarracks_DN
9476        ParticleSysBone= Fire01 SmolderingFire
9477        Animation     = NBBarracks_DN.NBBarracks_DN
9478        AnimationMode = LOOP
9479      End
9480      
9481      ConditionState = REALLYDAMAGED RUBBLE NIGHT
9482        Model = NBBarracks_EN
9483        ParticleSysBone= Fire01 SmolderingFire
9484        Animation     = NBBarracks_EN.NBBarracks_EN
9485        AnimationMode = LOOP
9486      End
9487      
9488  ; night snow   
9489      ConditionState = NIGHT SNOW
9490        Model         = NBBarracks_NS
9491        ParticleSysBone= Fire01 SmolderingFire
9492        Animation     = NBBarracks_NS.NBBarracks_NS
9493        AnimationMode = LOOP
9494      End  
9495      
9496      ConditionState = DAMAGED NIGHT SNOW
9497        Model = NBBarracks_DNS
9498        ParticleSysBone= Fire01 SmolderingFire
9499        Animation     = NBBarracks_DNS.NBBarracks_DNS
9500        AnimationMode = LOOP
9501      End
9502      
9503      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
9504        Model = NBBarracks_ENS
9505        ParticleSysBone= Fire01 SmolderingFire
9506        Animation     = NBBarracks_ENS.NBBarracks_ENS
9507        AnimationMode = LOOP
9508      End
9509      
9510      
9511      ;**************************************************************************************************************************
9512      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9513      ;for this draw module
9514      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9515        Model              = NBBarracks
9516        Animation          = NBBarracks.NBBarracks
9517        AnimationMode      = LOOP
9518        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9519      End
9520      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9521        Model              = NBBarracks_D
9522        Animation          = NBBarracks_D.NBBarracks_D
9523        AnimationMode      = LOOP
9524        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9525      End
9526      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9527        Model              = NBBarracks_E
9528        Animation          = NBBarracks_E.NBBarracks_E
9529        AnimationMode      = LOOP
9530        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9531      End
9532      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9533        Model              = NBBarracks_N
9534        Animation          = NBBarracks_N.NBBarracks_N
9535        AnimationMode      = LOOP
9536        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9537      End
9538      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
9539        Model              = NBBarracks_DN
9540        Animation          = NBBarracks_DN.NBBarracks_DN
9541        AnimationMode      = LOOP
9542        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9543      End
9544      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
9545        Model              = NBBarracks_EN
9546        Animation          = NBBarracks_EN.NBBarracks_EN
9547        AnimationMode      = LOOP
9548        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9549      End
9550      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9551        Model              = NBBarracks_S
9552        Animation          = NBBarracks_S.NBBarracks_S
9553        AnimationMode      = LOOP
9554        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9555      End
9556      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
9557        Model              = NBBarracks_DS
9558        Animation          = NBBarracks_DS.NBBarracks_DS
9559        AnimationMode      = LOOP
9560        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9561      End
9562      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
9563        Model              = NBBarracks_ES
9564        Animation          = NBBarracks_ES.NBBarracks_ES
9565        AnimationMode      = LOOP
9566        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9567      End
9568      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9569        Model              = NBBarracks_NS
9570        Animation          = NBBarracks_NS.NBBarracks_NS
9571        AnimationMode      = LOOP
9572        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9573      End
9574      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
9575        Model              = NBBarracks_DNS
9576        Animation          = NBBarracks_DNS.NBBarracks_DNS
9577        AnimationMode      = LOOP
9578        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9579      End
9580      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
9581        Model              = NBBarracks_ENS
9582        Animation          = NBBarracks_ENS.NBBarracks_ENS
9583        AnimationMode      = LOOP
9584        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9585      End
9586  
9587      ConditionState       = AWAITING_CONSTRUCTION 
9588        Model              = NONE
9589      End
9590      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9591      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9592      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9593      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9594      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9595      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9596      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9597      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9598      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9599      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9600      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9601      AliasConditionState  = SOLD 
9602      AliasConditionState  = SOLD DAMAGED
9603      AliasConditionState  = SOLD REALLYDAMAGED
9604      AliasConditionState  = SOLD NIGHT
9605      AliasConditionState  = SOLD NIGHT DAMAGED
9606      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9607      AliasConditionState  = SOLD SNOW
9608      AliasConditionState  = SOLD SNOW DAMAGED
9609      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9610      AliasConditionState  = SOLD NIGHT SNOW
9611      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9612      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9613      ;**************************************************************************************************************************  
9614    End  
9615      
9616    ; ------------ construction-zone fence -----------------
9617    Draw = W3DModelDraw ModuleTag_02
9618    AnimationsRequirePower = No
9619      DefaultConditionState
9620        Model           = None
9621        TransitionKey   = DOWN_DEFAULT
9622      End
9623      ConditionState    = NIGHT
9624        Model           = None
9625        TransitionKey   = DOWN_DEFAULT
9626      End
9627      ConditionState    = SNOW
9628        Model           = None
9629        TransitionKey   = DOWN_DEFAULT
9630      End
9631      ConditionState    = SNOW NIGHT
9632        Model           = None
9633        TransitionKey   = DOWN_DEFAULT
9634      End
9635      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9636        Model           = NBBarracks_A4
9637        Animation       = NBBarracks_A4.NBBarracks_A4
9638        AnimationMode   = MANUAL
9639        Flags           = START_FRAME_LAST
9640        TransitionKey   = UP_DAY
9641      End
9642      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9643        Model           = NBBarracks_A4N
9644        Animation       = NBBarracks_A4N.NBBarracks_A4N
9645        AnimationMode   = MANUAL
9646        Flags           = START_FRAME_LAST
9647        TransitionKey   = UP_NIGHT
9648      End
9649      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9650        Model           = NBBarracks_A4S
9651        Animation       = NBBarracks_A4S.NBBarracks_A4S
9652        AnimationMode   = MANUAL
9653        Flags           = START_FRAME_LAST
9654        TransitionKey   = UP_SNOW
9655      End
9656      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9657        Model           = NBBarracks_A4SN
9658        Animation       = NBBarracks_A4SN.NBBarracks_A4SN
9659        AnimationMode   = MANUAL
9660        Flags           = START_FRAME_LAST
9661        TransitionKey   = UP_SNOWNIGHT
9662      End
9663      TransitionState   = DOWN_DEFAULT UP_DAY
9664        Model           = NBBarracks_A4
9665        Animation       = NBBarracks_A4.NBBarracks_A4
9666        AnimationMode   = ONCE
9667        AnimationSpeedFactorRange = 1.0 1.0
9668        Flags           = START_FRAME_FIRST
9669      End
9670      TransitionState   = DOWN_DEFAULT UP_NIGHT
9671        Model           = NBBarracks_A4N
9672        Animation       = NBBarracks_A4N.NBBarracks_A4N
9673        AnimationMode   = ONCE
9674        AnimationSpeedFactorRange = 1.0 1.0
9675        Flags           = START_FRAME_FIRST
9676      End
9677      TransitionState   = DOWN_DEFAULT UP_SNOW
9678        Model           = NBBarracks_A4S
9679        Animation       = NBBarracks_A4S.NBBarracks_A4S
9680        AnimationMode   = ONCE
9681        AnimationSpeedFactorRange = 1.0 1.0
9682        Flags           = START_FRAME_FIRST
9683      End
9684      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9685        Model           = NBBarracks_A4SN
9686        Animation       = NBBarracks_A4SN.NBBarracks_A4SN
9687        AnimationMode   = ONCE
9688        AnimationSpeedFactorRange = 1.0 1.0
9689        Flags           = START_FRAME_FIRST
9690      End
9691      TransitionState   = UP_DAY DOWN_DEFAULT
9692        Model           = NBBarracks_A4
9693        Animation       = NBBarracks_A4.NBBarracks_A4
9694        AnimationMode   = ONCE_BACKWARDS
9695        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9696       Flags           = START_FRAME_LAST
9697      End
9698      TransitionState   = UP_NIGHT DOWN_DEFAULT
9699        Model           = NBBarracks_A4N
9700        Animation       = NBBarracks_A4N.NBBarracks_A4N
9701        AnimationMode   = ONCE_BACKWARDS
9702        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9703       Flags           = START_FRAME_LAST
9704      End
9705      TransitionState   = UP_SNOW DOWN_DEFAULT
9706        Model           = NBBarracks_A4S
9707        Animation       = NBBarracks_A4S.NBBarracks_A4S
9708        AnimationMode   = ONCE_BACKWARDS
9709        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9710       Flags           = START_FRAME_LAST
9711      End
9712      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9713        Model           = NBBarracks_A4SN
9714        Animation       = NBBarracks_A4SN.NBBarracks_A4SN
9715        AnimationMode   = ONCE_BACKWARDS
9716        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9717       Flags           = START_FRAME_LAST
9718      End
9719    End
9720  
9721    ; ------------ under-construction scaffolding -----------------
9722    Draw = W3DModelDraw ModuleTag_03
9723    AnimationsRequirePower = No
9724      MinLODRequired = MEDIUM
9725      DefaultConditionState
9726        Model           = None
9727        TransitionKey   = DOWN_DEFAULT
9728      End
9729      ConditionState    = NIGHT
9730        Model           = None
9731        TransitionKey   = DOWN_DEFAULT
9732      End
9733      ConditionState    = SNOW
9734        Model           = None
9735        TransitionKey   = DOWN_DEFAULT
9736      End
9737      ConditionState    = SNOW NIGHT
9738        Model           = None
9739        TransitionKey   = DOWN_DEFAULT
9740      End
9741      ConditionState    = PARTIALLY_CONSTRUCTED
9742        Model           = NBBarracks_A6
9743        Animation       = NBBarracks_A6.NBBarracks_A6
9744        AnimationMode   = MANUAL
9745        Flags           = START_FRAME_LAST
9746        TransitionKey   = UP_DAY
9747        ParticleSysBone = Dust01 BuildingDustChina
9748        ParticleSysBone = Smoke01 BuildUpSmokeChina
9749        ParticleSysBone = Smoke02 BuildUpSmokeChina
9750        ParticleSysBone = Smoke03 BuildUpSmokeChina
9751        ParticleSysBone = Smoke04 BuildUpSmokeChina
9752        ParticleSysBone = Smoke05 BuildUpSmokeChina
9753      End
9754      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9755        Model           = NBBarracks_A6N
9756        Animation       = NBBarracks_A6N.NBBarracks_A6N
9757        AnimationMode   = MANUAL
9758        Flags           = START_FRAME_LAST
9759        TransitionKey   = UP_NIGHT
9760        ParticleSysBone = Dust01 BuildingDustChina
9761        ParticleSysBone = Smoke01 BuildUpSmokeChina
9762        ParticleSysBone = Smoke02 BuildUpSmokeChina
9763        ParticleSysBone = Smoke03 BuildUpSmokeChina
9764        ParticleSysBone = Smoke04 BuildUpSmokeChina
9765        ParticleSysBone = Smoke05 BuildUpSmokeChina
9766      End
9767      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9768        Model           = NBBarracks_A6S
9769        Animation       = NBBarracks_A6S.NBBarracks_A6S
9770        AnimationMode   = MANUAL
9771        Flags           = START_FRAME_LAST
9772        TransitionKey   = UP_SNOW
9773        ParticleSysBone = Dust01 BuildingSnowDust
9774        ParticleSysBone = Smoke01 BuildUpSnowSmoke
9775        ParticleSysBone = Smoke02 BuildUpSnowSmoke
9776        ParticleSysBone = Smoke03 BuildUpSnowSmoke
9777        ParticleSysBone = Smoke04 BuildUpSnowSmoke
9778        ParticleSysBone = Smoke05 BuildUpSnowSmoke
9779      End
9780      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9781        Model           = NBBarracks_A6SN
9782        Animation       = NBBarracks_A6SN.NBBarracks_A6SN
9783        AnimationMode   = MANUAL
9784        Flags           = START_FRAME_LAST
9785        TransitionKey   = UP_SNOWNIGHT
9786        ParticleSysBone = Dust01 BuildingNightSnowDust
9787        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
9788        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
9789        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
9790        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
9791        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
9792      End
9793      TransitionState   = DOWN_DEFAULT UP_DAY
9794       Model            = NBBarracks_A6
9795        Animation       = NBBarracks_A6.NBBarracks_A6
9796        AnimationMode   = ONCE
9797        AnimationSpeedFactorRange = 1.0 1.0
9798        Flags           = START_FRAME_FIRST
9799      End
9800      TransitionState   = DOWN_DEFAULT UP_NIGHT
9801       Model            = NBBarracks_A6N
9802        Animation       = NBBarracks_A6N.NBBarracks_A6N
9803        AnimationMode   = ONCE
9804        AnimationSpeedFactorRange = 1.0 1.0
9805        Flags           = START_FRAME_FIRST
9806      End
9807      TransitionState   = DOWN_DEFAULT UP_SNOW
9808       Model            = NBBarracks_A6S
9809        Animation       = NBBarracks_A6S.NBBarracks_A6S
9810        AnimationMode   = ONCE
9811        AnimationSpeedFactorRange = 1.0 1.0
9812        Flags           = START_FRAME_FIRST
9813      End
9814      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9815       Model            = NBBarracks_A6SN
9816        Animation       = NBBarracks_A6SN.NBBarracks_A6SN
9817        AnimationMode   = ONCE
9818        AnimationSpeedFactorRange = 1.0 1.0
9819        Flags           = START_FRAME_FIRST
9820      End
9821      TransitionState   = UP_DAY DOWN_DEFAULT
9822        Model           = NBBarracks_A6
9823        Animation       = NBBarracks_A6.NBBarracks_A6
9824        AnimationMode   = ONCE_BACKWARDS
9825        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9826        Flags           = START_FRAME_LAST
9827      End
9828      TransitionState   = UP_NIGHT DOWN_DEFAULT
9829        Model           = NBBarracks_A6N
9830        Animation       = NBBarracks_A6N.NBBarracks_A6N
9831        AnimationMode   = ONCE_BACKWARDS
9832        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9833        Flags           = START_FRAME_LAST
9834      End
9835      TransitionState   = UP_SNOW DOWN_DEFAULT
9836        Model           = NBBarracks_A6S
9837        Animation       = NBBarracks_A6S.NBBarracks_A6S
9838        AnimationMode   = ONCE_BACKWARDS
9839        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9840        Flags           = START_FRAME_LAST
9841      End
9842      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9843        Model           = NBBarracks_A6SN
9844        Animation       = NBBarracks_A6SN.NBBarracks_A6SN
9845        AnimationMode   = ONCE_BACKWARDS
9846        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9847        Flags           = START_FRAME_LAST
9848      End
9849    End
9850  
9851    ; ------------ being-constructed crane -----------------
9852    Draw = W3DModelDraw ModuleTag_04
9853    AnimationsRequirePower = No
9854      DefaultConditionState
9855        Model           = None
9856        TransitionKey   = DOWN_DEFAULT
9857      End
9858      ConditionState    = NIGHT
9859        Model           = None
9860        TransitionKey   = DOWN_DEFAULT
9861      End
9862      ConditionState    = SNOW
9863        Model           = None
9864        TransitionKey   = DOWN_DEFAULT
9865      End
9866      ConditionState    = SNOW NIGHT
9867        Model           = None
9868        TransitionKey   = DOWN_DEFAULT
9869      End
9870      ConditionState    = SOLD
9871        Model           = NONE
9872      End
9873  
9874      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
9875        Model           = NBBarracks_A5
9876        Animation       = NBBarracks_A5.NBBarracks_A5
9877        AnimationMode   = LOOP
9878        TransitionKey  = UP_DAY
9879      End
9880  
9881      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
9882        Model           = NBBarracks_A5N
9883        Animation       = NBBarracks_A5N.NBBarracks_A5N
9884        AnimationMode   = LOOP
9885        TransitionKey  = UP_NIGHT
9886      End
9887      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
9888        Model           = NBBarracks_A5S
9889        Animation       = NBBarracks_A5S.NBBarracks_A5S
9890        AnimationMode   = LOOP
9891        TransitionKey  = UP_SNOW
9892      End
9893      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
9894        Model           = NBBarracks_A5SN
9895        Animation       = NBBarracks_A5SN.NBBarracks_A5SN
9896        AnimationMode   = LOOP
9897        TransitionKey  = UP_SNOWNIGHT
9898      End
9899      TransitionState   = DOWN_DEFAULT UP_DAY
9900        Model            = NBBarracks_AB
9901        Animation       = NBBarracks_AB.NBBarracks_AB
9902        AnimationMode   = ONCE
9903        AnimationSpeedFactorRange = 1.0 1.0
9904        Flags           = START_FRAME_FIRST
9905      End
9906  
9907      TransitionState   = DOWN_DEFAULT UP_NIGHT
9908        Model            = NBBarracks_ABN
9909        Animation       = NBBarracks_ABN.NBBarracks_ABN
9910        AnimationMode   = ONCE
9911        AnimationSpeedFactorRange = 1.0 1.0
9912        Flags           = START_FRAME_FIRST
9913      End
9914      TransitionState   = DOWN_DEFAULT UP_SNOW
9915        Model            = NBBarracks_ABS
9916        Animation       = NBBarracks_ABS.NBBarracks_ABS
9917        AnimationMode   = ONCE
9918        AnimationSpeedFactorRange = 1.0 1.0
9919        Flags           = START_FRAME_FIRST
9920      End
9921      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9922        Model            = NBBarracks_ABSN
9923        Animation       = NBBarracks_ABSN.NBBarracks_ABSN
9924        AnimationMode   = ONCE
9925        AnimationSpeedFactorRange = 1.0 1.0
9926        Flags           = START_FRAME_FIRST
9927      End
9928      TransitionState   = UP_DAY DOWN_DEFAULT
9929        Model            = NBBarracks_AB
9930        Animation       = NBBarracks_AB.NBBarracks_AB
9931        AnimationMode   = ONCE_BACKWARDS
9932        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9933        Flags           = START_FRAME_LAST
9934      End
9935      TransitionState   = UP_NIGHT DOWN_DEFAULT
9936        Model            = NBBarracks_ABN
9937        Animation       = NBBarracks_ABN.NBBarracks_ABN
9938        AnimationMode   = ONCE_BACKWARDS
9939        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9940        Flags           = START_FRAME_LAST
9941      End
9942      TransitionState   = UP_SNOW DOWN_DEFAULT
9943        Model            = NBBarracks_ABS
9944        Animation       = NBBarracks_ABS.NBBarracks_ABS
9945        AnimationMode   = ONCE_BACKWARDS
9946        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9947        Flags           = START_FRAME_LAST
9948      End
9949      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9950        Model            = NBBarracks_ABSN
9951        Animation       = NBBarracks_ABSN.NBBarracks_ABSN
9952        AnimationMode   = ONCE_BACKWARDS
9953        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9954        Flags           = START_FRAME_LAST
9955      End
9956    End
9957    
9958    PlacementViewAngle = -135
9959  
9960    ; ***DESIGN parameters ***
9961    DisplayName      = OBJECT:Barracks
9962    Side             = Boss
9963    EditorSorting    = STRUCTURE
9964    BuildCost        = 500
9965    BuildTime        = 10.0           ; in seconds
9966    EnergyProduction = 0
9967    CommandSet       = Boss_ChinaBarracksCommandSet
9968    VisionRange      = 150.0           ; Shroud clearing distance
9969    ShroudClearingRange = 150
9970    ArmorSet
9971      Conditions      = None
9972      Armor           = StructureArmor
9973      DamageFX        = StructureDamageFXNoShake
9974    End
9975    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
9976  
9977    ; *** AUDIO Parameters ***
9978    VoiceSelect = BarracksChinaSelect
9979    SoundOnDamaged        = BuildingDamagedStateLight
9980    SoundOnReallyDamaged  = BuildingDestroy
9981  
9982    UnitSpecificSounds
9983      UnderConstruction     = UnderConstructionLoop
9984    End
9985  
9986    ; *** ENGINEERING Parameters ***
9987    RadarPriority   = STRUCTURE
9988    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS
9989    Body            = StructureBody ModuleTag_05
9990      MaxHealth     = 1000.0
9991      InitialHealth = 1000.0
9992  
9993      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9994      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9995      SubdualDamageCap = 1200
9996      SubdualDamageHealRate = 500
9997      SubdualDamageHealAmount = 100
9998    End
9999  
10000    Behavior = HealContain ModuleTag_06
10001      ContainMax          = 10 ;way bigger than the # of objects we can have  
10002      TimeForFullHeal     = 2000   ;(in milliseconds)
10003      AllowInsideKindOf   = INFANTRY
10004      AllowAlliesInside   = Yes
10005      AllowNeutralInside  = No
10006      AllowEnemiesInside  = No
10007    End
10008  
10009    Behavior = DestroyDie ModuleTag_07
10010      ;nothing
10011    End
10012    Behavior             = CreateObjectDie ModuleTag_08
10013      CreationList  = OCL_LargeStructureDebris
10014    End
10015    Behavior             = FXListDie ModuleTag_09
10016      DeathFX       = FX_StructureSmallDeath
10017    End 
10018  
10019    Behavior = ProductionUpdate ModuleTag_10
10020    ;**FIX**
10021      QuantityModifier = ChinaInfantryRedguard   2
10022    End
10023    Behavior = QueueProductionExitUpdate ModuleTag_11
10024      UnitCreatePoint   = X:  0.0  Y:  -25.0   Z:0.0
10025      NaturalRallyPoint = X: 36.0  Y:  -25.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
10026      ExitDelay = 300 ; Mainly for the multiple produced Red Guard.  Make them come out one at a time.
10027    End
10028  
10029    Behavior = GenerateMinefieldBehavior     ModuleTag_12
10030      TriggeredBy           = Upgrade_ChinaMines
10031      MineName              = ChinaStandardMine
10032      SmartBorder           = Yes
10033      AlwaysCircular        = Yes
10034  
10035      Upgradable            = Yes
10036      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
10037      UpgradedMineName      = ChinaEMPMine
10038    End
10039  
10040    Behavior = FlammableUpdate ModuleTag_14
10041      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10042      AflameDamageAmount = 5       ; taking this much damage...
10043      AflameDamageDelay = 500       ; this often.
10044    End
10045  
10046    Behavior = TransitionDamageFX ModuleTag_15
10047      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
10048      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
10049      ;---------------------------------------------------------------------------------------
10050      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
10051      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
10052      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
10053    End
10054  
10055    Behavior = CommandSetUpgrade ModuleTag_25
10056      CommandSet = Boss_ChinaBarracksCommandSetUpgrade
10057      TriggeredBy = Upgrade_ChinaMines
10058    End
10059  
10060    Behavior = ArmorUpgrade ModuleTag_26
10061      TriggeredBy = Upgrade_ChinaEMPMines
10062    End
10063    
10064  
10065    Geometry            = BOX
10066    GeometryMajorRadius = 36.0
10067    GeometryMinorRadius = 44.0
10068    GeometryHeight      = 30.0
10069    GeometryIsSmall     = No
10070    FactoryExitWidth    = 25 
10071    Shadow          = SHADOW_VOLUME
10072    BuildCompletion = PLACED_BY_PLAYER
10073  
10074  End
10075  
10076  
10077  
10078  
10079  
10080  
10081  
10082  
10083  
10084  
10085  
10086  
10087  
10088  
10089  
10090  
10091  
10092  
10093  
10094  
10095  
10096  
10097  
10098  
10099  
10100  
10101  ;------------------------------------------------------------------------------
10102  Object Boss_WarFactory
10103  
10104    ; *** ART Parameters ***
10105    SelectPortrait         = SNWarFact_L
10106    ButtonImage            = SNWarFact
10107  
10108    ; ------------ the main factory itself -----------------
10109    Draw                = W3DModelDraw ModuleTag_01
10110      OkToChangeModelColor = Yes
10111      ; day
10112      DefaultConditionState
10113        Model           = NBWarFact  
10114      End
10115      ConditionState    = DAMAGED
10116        Model           = NBWarFact_D
10117        ParticleSysBone = Smoke01 SmolderingSmoke
10118        ParticleSysBone = Smoke02 SmolderingSmoke
10119        ParticleSysBone = Smoke03 SmolderingSmoke
10120        ParticleSysBone = Smoke04 SmolderingSmoke
10121        ParticleSysBone = Smoke05 SmolderingSmoke
10122        ParticleSysBone = Fire01  SmolderingFire
10123        ParticleSysBone = Fire01  SmolderingFlameCore
10124        ParticleSysBone = Fire02  SmolderingFire
10125        ParticleSysBone = Fire02  SmolderingFlameCore
10126      End
10127      ConditionState    = REALLYDAMAGED RUBBLE
10128        Model           = NBWarFact_E
10129        ParticleSysBone = Smoke01 SmolderingSmoke
10130        ParticleSysBone = Smoke02 SmolderingSmoke
10131        ParticleSysBone = Smoke03 SmolderingSmoke
10132        ParticleSysBone = Smoke04 SmolderingSmoke
10133        ParticleSysBone = Smoke05 SmolderingSmoke
10134        ParticleSysBone = Smoke06 SmolderingSmoke
10135        ParticleSysBone = Smoke07 SmolderingSmoke
10136        ParticleSysBone = Fire01  SmolderingFire
10137        ParticleSysBone = Fire01  SmolderingFlameCore
10138        ParticleSysBone = Fire02  SmolderingFire
10139        ParticleSysBone = Fire02  SmolderingFlameCore
10140        ParticleSysBone = Fire03  SmolderingFire
10141        ParticleSysBone = Fire03  SmolderingFlameCore
10142      End
10143      
10144      ConditionState    = SNOW
10145        Model           = NBWarFact_S  
10146      End
10147      ConditionState = DAMAGED SNOW
10148        Model           = NBWarFact_DS
10149        ParticleSysBone = Smoke01 SmolderingSmoke
10150        ParticleSysBone = Smoke02 SmolderingSmoke
10151        ParticleSysBone = Smoke03 SmolderingSmoke
10152        ParticleSysBone = Smoke04 SmolderingSmoke
10153        ParticleSysBone = Smoke05 SmolderingSmoke
10154        ParticleSysBone = Fire01  SmolderingFire
10155        ParticleSysBone = Fire01  SmolderingFlameCore
10156        ParticleSysBone = Fire02  SmolderingFire
10157        ParticleSysBone = Fire02  SmolderingFlameCore
10158      End
10159      ConditionState = REALLYDAMAGED RUBBLE SNOW
10160        Model           = NBWarFact_ES
10161        ParticleSysBone = Smoke01 SmolderingSmoke
10162        ParticleSysBone = Smoke02 SmolderingSmoke
10163        ParticleSysBone = Smoke03 SmolderingSmoke
10164        ParticleSysBone = Smoke04 SmolderingSmoke
10165        ParticleSysBone = Smoke05 SmolderingSmoke
10166        ParticleSysBone = Smoke06 SmolderingSmoke
10167        ParticleSysBone = Smoke07 SmolderingSmoke
10168        ParticleSysBone = Fire01  SmolderingFire
10169        ParticleSysBone = Fire01  SmolderingFlameCore
10170        ParticleSysBone = Fire02  SmolderingFire
10171        ParticleSysBone = Fire02  SmolderingFlameCore
10172        ParticleSysBone = Fire03  SmolderingFire
10173        ParticleSysBone = Fire03  SmolderingFlameCore
10174      End
10175      
10176  
10177      ; night **********************************************
10178      ConditionState  = NIGHT
10179        Model           = NBWarFact_N     
10180      End
10181      ConditionState    = DAMAGED NIGHT
10182        Model           = NBWarFact_DN
10183        ParticleSysBone = Smoke01 SmolderingSmoke
10184        ParticleSysBone = Smoke02 SmolderingSmoke
10185        ParticleSysBone = Smoke03 SmolderingSmoke
10186        ParticleSysBone = Smoke04 SmolderingSmoke
10187        ParticleSysBone = Smoke05 SmolderingSmoke
10188        ParticleSysBone = Fire01  SmolderingFire
10189        ParticleSysBone = Fire01  SmolderingFlameCore
10190        ParticleSysBone = Fire02  SmolderingFire
10191        ParticleSysBone = Fire02  SmolderingFlameCore
10192      End
10193      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
10194        Model           = NBWarFact_EN
10195        ParticleSysBone = Smoke01 SmolderingSmoke
10196        ParticleSysBone = Smoke02 SmolderingSmoke
10197        ParticleSysBone = Smoke03 SmolderingSmoke
10198        ParticleSysBone = Smoke04 SmolderingSmoke
10199        ParticleSysBone = Smoke05 SmolderingSmoke
10200        ParticleSysBone = Smoke06 SmolderingSmoke
10201        ParticleSysBone = Smoke07 SmolderingSmoke
10202        ParticleSysBone = Fire01  SmolderingFire
10203        ParticleSysBone = Fire01  SmolderingFlameCore
10204        ParticleSysBone = Fire02  SmolderingFire
10205        ParticleSysBone = Fire02  SmolderingFlameCore
10206        ParticleSysBone = Fire03  SmolderingFire
10207        ParticleSysBone = Fire03  SmolderingFlameCore
10208      End
10209          
10210      ; night   SNOW
10211        ConditionState = NIGHT SNOW
10212        Model           = NBWarFact_NS   
10213      End
10214      ConditionState = DAMAGED NIGHT SNOW
10215        Model           = NBWarFact_DNS
10216        ParticleSysBone = Smoke01 SmolderingSmoke
10217        ParticleSysBone = Smoke02 SmolderingSmoke
10218        ParticleSysBone = Smoke03 SmolderingSmoke
10219        ParticleSysBone = Smoke04 SmolderingSmoke
10220        ParticleSysBone = Smoke05 SmolderingSmoke
10221        ParticleSysBone = Fire01  SmolderingFire
10222        ParticleSysBone = Fire01  SmolderingFlameCore
10223        ParticleSysBone = Fire02  SmolderingFire
10224        ParticleSysBone = Fire02  SmolderingFlameCore
10225      End
10226      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
10227        Model           = NBWarFact_ENS
10228        ParticleSysBone = Smoke01 SmolderingSmoke
10229        ParticleSysBone = Smoke02 SmolderingSmoke
10230        ParticleSysBone = Smoke03 SmolderingSmoke
10231        ParticleSysBone = Smoke04 SmolderingSmoke
10232        ParticleSysBone = Smoke05 SmolderingSmoke
10233        ParticleSysBone = Smoke06 SmolderingSmoke
10234        ParticleSysBone = Smoke07 SmolderingSmoke
10235        ParticleSysBone = Fire01  SmolderingFire
10236        ParticleSysBone = Fire01  SmolderingFlameCore
10237        ParticleSysBone = Fire02  SmolderingFire
10238        ParticleSysBone = Fire02  SmolderingFlameCore
10239        ParticleSysBone = Fire03  SmolderingFire
10240        ParticleSysBone = Fire03  SmolderingFlameCore
10241      End
10242      
10243      
10244      ;**************************************************************************************************************************
10245      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10246      ;for this draw module
10247      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10248        Model              = NBWarFact
10249        ;Animation          = NBWarFact.NBWarFact
10250        ;AnimationMode      = LOOP
10251        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10252      End
10253      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10254        Model              = NBWarFact_D
10255        ;Animation          = NBWarFact_D.NBWarFact_D
10256        ;AnimationMode      = LOOP
10257        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10258      End
10259      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10260        Model              = NBWarFact_E
10261        ;Animation          = NBWarFact_E.NBWarFact_E
10262        ;AnimationMode      = LOOP
10263        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10264      End
10265      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10266        Model              = NBWarFact_N
10267        ;Animation          = NBWarFact_N.NBWarFact_N
10268        ;AnimationMode      = LOOP
10269        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10270      End
10271      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
10272        Model              = NBWarFact_DN
10273        ;Animation          = NBWarFact_DN.NBWarFact_DN
10274        ;AnimationMode      = LOOP
10275        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10276      End
10277      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
10278        Model              = NBWarFact_EN
10279        ;Animation          = NBWarFact_EN.NBWarFact_EN
10280        ;AnimationMode      = LOOP
10281        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10282      End
10283      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10284        Model              = NBWarFact_S
10285        ;Animation          = NBWarFact_S.NBWarFact_S
10286        ;AnimationMode      = LOOP
10287        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10288      End
10289      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
10290        Model              = NBWarFact_DS
10291        ;Animation          = NBWarFact_DS.NBWarFact_DS
10292        ;AnimationMode      = LOOP
10293        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10294      End
10295      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
10296        Model              = NBWarFact_ES
10297        ;Animation          = NBWarFact_ES.NBWarFact_ES
10298        ;AnimationMode      = LOOP
10299        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10300      End
10301      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10302        Model              = NBWarFact_NS
10303        ;Animation          = NBWarFact_NS.NBWarFact_NS
10304        ;AnimationMode      = LOOP
10305        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10306      End
10307      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
10308        Model              = NBWarFact_DNS
10309        ;Animation          = NBWarFact_DNS.NBWarFact_DNS
10310        ;AnimationMode      = LOOP
10311        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10312      End
10313      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
10314        Model              = NBWarFact_ENS
10315        ;Animation          = NBWarFact_ENS.NBWarFact_ENS
10316        ;AnimationMode      = LOOP
10317        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10318      End
10319  
10320      ConditionState       = AWAITING_CONSTRUCTION 
10321        Model              = NONE
10322      End
10323      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10324      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10325      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10326      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10327      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10328      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10329      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10330      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10331      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10332      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10333      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10334      AliasConditionState  = SOLD 
10335      AliasConditionState  = SOLD DAMAGED
10336      AliasConditionState  = SOLD REALLYDAMAGED
10337      AliasConditionState  = SOLD NIGHT
10338      AliasConditionState  = SOLD NIGHT DAMAGED
10339      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10340      AliasConditionState  = SOLD SNOW
10341      AliasConditionState  = SOLD SNOW DAMAGED
10342      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10343      AliasConditionState  = SOLD NIGHT SNOW
10344      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10345      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10346      ;**************************************************************************************************************************
10347  
10348  
10349    End
10350    
10351    ; ------------------ the construction crane ------------
10352    Draw                   = W3DModelDraw ModuleTag_02
10353      OkToChangeModelColor = Yes
10354      ConditionState       = None
10355        Model              = NBWarFact_A1
10356        Animation          = NBWarFact_A1.NBWarFact_A1
10357        AnimationMode      = LOOP
10358        WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch
10359      End
10360      ConditionState       = DAMAGED
10361        Model              = NBWarFact_A1D
10362        Animation          = NBWarFact_A1D.NBWarFact_A1D
10363        AnimationMode      = LOOP
10364        WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch
10365      End
10366      ConditionState       = REALLYDAMAGED RUBBLE
10367        Model              = NBWarFact_A1E
10368        Animation          = NBWarFact_A1E.NBWarFact_A1E
10369        AnimationMode      = LOOP
10370        WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch
10371      End
10372      ConditionState       = ACTIVELY_CONSTRUCTING
10373        Model              = NBWarFact_A2
10374        Animation          = NBWarFact_A2.NBWarFact_A2
10375        AnimationMode      = ONCE
10376        TransitionKey      = TransitionFinishBeforeSwitch
10377      End
10378      ConditionState       = ACTIVELY_CONSTRUCTING DAMAGED
10379        Model              = NBWarFact_A2D
10380        Animation          = NBWarFact_A2D.NBWarFact_A2D
10381        AnimationMode      = ONCE
10382        TransitionKey      = TransitionFinishBeforeSwitch
10383      End
10384      ConditionState       = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
10385        Model              = NBWarFact_A2E
10386        Animation          = NBWarFact_A2E.NBWarFact_A2E
10387        AnimationMode      = ONCE
10388        TransitionKey      = TransitionFinishBeforeSwitch
10389      End
10390      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10391        Model              = NBWarFact_A1
10392        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10393      End
10394      ConditionState       = SOLD DAMAGED REALLYDAMAGED RUBBLE
10395        Model              = NONE
10396      End
10397    End
10398  
10399  
10400    ; ------------ construction-zone fence -----------------
10401    Draw                = W3DModelDraw ModuleTag_03
10402    AnimationsRequirePower = No
10403      DefaultConditionState
10404        Model           = None
10405        TransitionKey   = DOWN_DEFAULT
10406      End
10407      ConditionState    = NIGHT
10408        Model           = None
10409        TransitionKey   = DOWN_DEFAULT
10410      End
10411      ConditionState    = SNOW
10412        Model           = None
10413        TransitionKey   = DOWN_DEFAULT
10414      End
10415      ConditionState    = SNOW NIGHT
10416        Model           = None
10417        TransitionKey   = DOWN_DEFAULT
10418      End
10419      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10420        Model           = NBWarFact_A4
10421        Animation       = NBWarFact_A4.NBWarFact_A4
10422        AnimationMode   = MANUAL
10423        Flags           = START_FRAME_LAST
10424        TransitionKey   = UP_DAY
10425        ParticleSysBone = Smoke01 SmolderingSmoke
10426        ParticleSysBone =  Fire01 SmolderingFire
10427        ParticleSysBone = Smoke02 SmolderingSmoke
10428        ParticleSysBone =  Fire02 SmolderingFire
10429      End
10430      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10431        Model           = NBWarFact_A4N
10432        Animation       = NBWarFact_A4N.NBWarFact_A4N
10433        AnimationMode   = MANUAL
10434        Flags           = START_FRAME_LAST
10435        TransitionKey   = UP_NIGHT
10436        ParticleSysBone = Smoke01 SmolderingSmoke
10437        ParticleSysBone =  Fire01 SmolderingFire
10438        ParticleSysBone = Smoke02 SmolderingSmoke
10439        ParticleSysBone =  Fire02 SmolderingFire
10440      End
10441      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10442        Model           = NBWarFact_A4S
10443        Animation       = NBWarFact_A4S.NBWarFact_A4S
10444        AnimationMode   = MANUAL
10445        Flags           = START_FRAME_LAST
10446        TransitionKey   = UP_SNOW
10447        ParticleSysBone = Smoke01 SmolderingSmoke
10448        ParticleSysBone =  Fire01 SmolderingFire
10449        ParticleSysBone = Smoke02 SmolderingSmoke
10450        ParticleSysBone =  Fire02 SmolderingFire
10451      End
10452      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10453        Model           = NBWarFact_A4SN
10454        Animation       = NBWarFact_A4SN.NBWarFact_A4SN
10455        AnimationMode   = MANUAL
10456        Flags           = START_FRAME_LAST
10457        TransitionKey   = UP_SNOWNIGHT
10458        ParticleSysBone = Smoke01 SmolderingSmoke
10459        ParticleSysBone =  Fire01 SmolderingFire
10460        ParticleSysBone = Smoke02 SmolderingSmoke
10461        ParticleSysBone =  Fire02 SmolderingFire
10462      End
10463      TransitionState   = DOWN_DEFAULT UP_DAY
10464        Model           = NBWarFact_A4
10465        Animation       = NBWarFact_A4.NBWarFact_A4
10466        AnimationMode   = ONCE
10467        AnimationSpeedFactorRange = 1.0 1.0
10468        Flags           = START_FRAME_FIRST
10469      End
10470      TransitionState   = DOWN_DEFAULT UP_NIGHT
10471        Model           = NBWarFact_A4N
10472        Animation       = NBWarFact_A4N.NBWarFact_A4N
10473        AnimationMode   = ONCE
10474        AnimationSpeedFactorRange = 1.0 1.0
10475        Flags           = START_FRAME_FIRST
10476      End
10477      TransitionState   = DOWN_DEFAULT UP_SNOW
10478        Model           = NBWarFact_A4S
10479        Animation       = NBWarFact_A4S.NBWarFact_A4S
10480        AnimationMode   = ONCE
10481        AnimationSpeedFactorRange = 1.0 1.0
10482        Flags           = START_FRAME_FIRST
10483      End
10484      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10485        Model           = NBWarFact_A4SN
10486        Animation       = NBWarFact_A4SN.NBWarFact_A4SN
10487        AnimationMode   = ONCE
10488        AnimationSpeedFactorRange = 1.0 1.0
10489        Flags           = START_FRAME_FIRST
10490      End
10491      TransitionState   = UP_DAY DOWN_DEFAULT
10492        Model           = NBWarFact_A4
10493        Animation       = NBWarFact_A4.NBWarFact_A4
10494        AnimationMode   = ONCE_BACKWARDS
10495        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10496        Flags           = START_FRAME_LAST
10497      End
10498      TransitionState   = UP_NIGHT DOWN_DEFAULT
10499        Model           = NBWarFact_A4N
10500        Animation       = NBWarFact_A4N.NBWarFact_A4N
10501        AnimationMode   = ONCE_BACKWARDS
10502        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10503        Flags           = START_FRAME_LAST
10504      End
10505      TransitionState   = UP_SNOW DOWN_DEFAULT
10506        Model           = NBWarFact_A4S
10507        Animation       = NBWarFact_A4S.NBWarFact_A4S
10508        AnimationMode   = ONCE_BACKWARDS
10509        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10510        Flags           = START_FRAME_LAST
10511      End
10512      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10513        Model           = NBWarFact_A4SN
10514        Animation       = NBWarFact_A4SN.NBWarFact_A4SN
10515        AnimationMode   = ONCE_BACKWARDS
10516        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10517        Flags           = START_FRAME_LAST
10518      End
10519    End
10520  
10521    ; ------------ under-construction scaffolding -----------------
10522    Draw                 = W3DModelDraw ModuleTag_04
10523    AnimationsRequirePower = No
10524      MinLODRequired = MEDIUM
10525      DefaultConditionState
10526        Model            = None
10527        TransitionKey    = DOWN_DEFAULT
10528      End
10529      ConditionState     = NIGHT
10530        Model            = None
10531        TransitionKey    = DOWN_DEFAULT
10532      End
10533      ConditionState     = SNOW
10534        Model            = None
10535        TransitionKey    = DOWN_DEFAULT
10536      End
10537      ConditionState     = SNOW NIGHT
10538        Model            = None
10539        TransitionKey    = DOWN_DEFAULT
10540      End
10541      ConditionState     = PARTIALLY_CONSTRUCTED
10542        Model            = NBWarFact_A6
10543        Animation        = NBWarFact_A6.NBWarFact_A6
10544        AnimationMode    = MANUAL
10545        Flags            = START_FRAME_LAST
10546        TransitionKey    = UP_DAY
10547        ParticleSysBone  = Dust01 BuildingDustChina
10548        ParticleSysBone  = Smoke01 BuildUpSmokeChina
10549        ParticleSysBone  = Smoke02 BuildUpSmokeChina
10550        ParticleSysBone  = Smoke03 BuildUpSmokeChina
10551        ParticleSysBone  = Smoke04 BuildUpSmokeChina
10552        ParticleSysBone  = Smoke05 BuildUpSmokeChina
10553      End
10554      ConditionState     = NIGHT PARTIALLY_CONSTRUCTED
10555        Model            = NBWarFact_A6N
10556        Animation        = NBWarFact_A6N.NBWarFact_A6N
10557        AnimationMode    = MANUAL
10558        Flags            = START_FRAME_LAST
10559        TransitionKey    = UP_NIGHT
10560        ParticleSysBone  = Dust01 BuildingDustChina
10561        ParticleSysBone  = Smoke01 BuildUpSmokeChina
10562        ParticleSysBone  = Smoke02 BuildUpSmokeChina
10563        ParticleSysBone  = Smoke03 BuildUpSmokeChina
10564        ParticleSysBone  = Smoke04 BuildUpSmokeChina
10565        ParticleSysBone  = Smoke05 BuildUpSmokeChina
10566      End
10567      ConditionState     = SNOW PARTIALLY_CONSTRUCTED
10568        Model            = NBWarFact_A6S
10569        Animation        = NBWarFact_A6S.NBWarFact_A6S
10570        AnimationMode    = MANUAL
10571        Flags            = START_FRAME_LAST
10572        TransitionKey    = UP_SNOW
10573        ParticleSysBone  = Dust01 BuildingSnowDust
10574        ParticleSysBone  = Smoke01 BuildUpSnowSmoke
10575        ParticleSysBone  = Smoke02 BuildUpSnowSmoke
10576        ParticleSysBone  = Smoke03 BuildUpSnowSmoke
10577        ParticleSysBone  = Smoke04 BuildUpSnowSmoke
10578        ParticleSysBone  = Smoke05 BuildUpSnowSmoke
10579      End
10580      ConditionState     = SNOW NIGHT PARTIALLY_CONSTRUCTED
10581        Model            = NBWarFact_A6SN
10582        Animation        = NBWarFact_A6SN.NBWarFact_A6SN
10583        AnimationMode    = MANUAL
10584        Flags            = START_FRAME_LAST
10585        TransitionKey    = UP_SNOWNIGHT
10586        ParticleSysBone  = Dust01 BuildingNightSnowDust
10587        ParticleSysBone  = Smoke01 BuildUpNightSnowSmoke
10588        ParticleSysBone  = Smoke02 BuildUpNightSnowSmoke
10589        ParticleSysBone  = Smoke03 BuildUpNightSnowSmoke
10590        ParticleSysBone  = Smoke04 BuildUpNightSnowSmoke
10591        ParticleSysBone  = Smoke05 BuildUpNightSnowSmoke
10592      End
10593      TransitionState    = DOWN_DEFAULT UP_DAY
10594       Model             = NBWarFact_A6
10595        Animation        = NBWarFact_A6.NBWarFact_A6
10596        AnimationMode    = ONCE
10597        AnimationSpeedFactorRange = 1.0 1.0
10598        Flags            = START_FRAME_FIRST
10599      End
10600      TransitionState    = DOWN_DEFAULT UP_NIGHT
10601       Model             = NBWarFact_A6N
10602        Animation        = NBWarFact_A6N.NBWarFact_A6N
10603        AnimationMode    = ONCE
10604        AnimationSpeedFactorRange = 1.0 1.0
10605        Flags            = START_FRAME_FIRST
10606      End
10607      TransitionState    = DOWN_DEFAULT UP_SNOW
10608       Model             = NBWarFact_A6S
10609        Animation        = NBWarFact_A6S.NBWarFact_A6S
10610        AnimationMode    = ONCE
10611        AnimationSpeedFactorRange = 1.0 1.0
10612        Flags            = START_FRAME_FIRST
10613      End
10614      TransitionState    = DOWN_DEFAULT UP_SNOWNIGHT
10615       Model             = NBWarFact_A6SN
10616        Animation        = NBWarFact_A6SN.NBWarFact_A6SN
10617        AnimationMode    = ONCE
10618        AnimationSpeedFactorRange = 1.0 1.0
10619        Flags            = START_FRAME_FIRST
10620      End
10621      TransitionState    = UP_DAY DOWN_DEFAULT
10622        Model            = NBWarFact_A6
10623        Animation        = NBWarFact_A6.NBWarFact_A6
10624        AnimationMode    = ONCE_BACKWARDS
10625        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10626        Flags            = START_FRAME_LAST
10627      End
10628      TransitionState    = UP_NIGHT DOWN_DEFAULT
10629        Model            = NBWarFact_A6N
10630        Animation        = NBWarFact_A6N.NBWarFact_A6N
10631        AnimationMode    = ONCE_BACKWARDS
10632        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10633        Flags            = START_FRAME_LAST
10634      End
10635      TransitionState    = UP_SNOW DOWN_DEFAULT
10636        Model            = NBWarFact_A6S
10637        Animation        = NBWarFact_A6S.NBWarFact_A6S
10638        AnimationMode    = ONCE_BACKWARDS
10639        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10640        Flags            = START_FRAME_LAST
10641      End
10642      TransitionState    = UP_SNOWNIGHT DOWN_DEFAULT
10643        Model            = NBWarFact_A6SN
10644        Animation        = NBWarFact_A6SN.NBWarFact_A6SN
10645        AnimationMode    = ONCE_BACKWARDS
10646        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10647        Flags            = START_FRAME_LAST
10648      End
10649    End
10650  
10651    ; ------------------ the construction conveyor belt ------------
10652    Draw = W3DModelDraw ModuleTag_05
10653      OkToChangeModelColor = Yes
10654      DefaultConditionState
10655        Model           = NBWarFact_A7
10656        Animation       = NBWarFact_A7.NBWarFact_A7
10657        AnimationMode   = LOOP
10658      ;  Flags           = START_FRAME_FIRST
10659      End
10660      AliasConditionState = NIGHT
10661      AliasConditionState = SNOW
10662      AliasConditionState = SNOW NIGHT
10663      AliasConditionState = NIGHT DAMAGED
10664      AliasConditionState = SNOW DAMAGED
10665      AliasConditionState = SNOW NIGHT DAMAGED
10666      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10667      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10668      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
10669      
10670      ConditionState    = ACTIVELY_CONSTRUCTING
10671        Model           = NBWarFact_A7
10672        Animation       = NBWarFact_A7.NBWarFact_A7
10673        AnimationMode   = LOOP
10674      ;  Flags           = START_FRAME_FIRST
10675      End
10676      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING
10677      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING
10678      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING
10679      AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING
10680      AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING
10681      AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING
10682      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING
10683      AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING
10684      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING
10685  
10686      ;**************************************************************************************************************************
10687      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10688      ;for this draw module
10689      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10690        Model              = NBWarFact_A7
10691        Animation          = NBWarFact_A7.NBWarFact_A7
10692        AnimationMode      = LOOP
10693        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10694      End
10695      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10696      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10697      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10698      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10699      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10700      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
10701      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
10702      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
10703      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
10704      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
10705      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
10706      
10707      ConditionState       = AWAITING_CONSTRUCTION 
10708        Model              = NONE
10709      End
10710      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10711      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10712      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10713      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10714      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10715      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10716      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10717      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10718      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10719      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10720      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10721      AliasConditionState  = SOLD DAMAGED
10722      AliasConditionState  = SOLD REALLYDAMAGED
10723      AliasConditionState  = SOLD NIGHT
10724      AliasConditionState  = SOLD NIGHT DAMAGED
10725      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10726      AliasConditionState  = SOLD SNOW
10727      AliasConditionState  = SOLD SNOW DAMAGED
10728      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10729      AliasConditionState  = SOLD NIGHT SNOW
10730      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10731      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10732      ;**************************************************************************************************************************
10733    End
10734  
10735    ; ----------------- the factory door -------------------
10736    Draw = W3DModelDraw ModuleTag_06
10737      DefaultConditionState
10738        Model           = NBWarFact_A8
10739        Animation       = NBWarFact_A8.NBWarFact_A8
10740        AnimationMode   = MANUAL
10741        Flags           = START_FRAME_FIRST
10742      End
10743      AliasConditionState = NIGHT 
10744      AliasConditionState = SNOW
10745      AliasConditionState = NIGHT SNOW
10746  
10747      ConditionState    = DAMAGED
10748        Model           = NBWarFact_A8D
10749        Animation       = NBWarFact_A8D.NBWarFact_A8D
10750        AnimationMode   = MANUAL
10751        Flags           = START_FRAME_FIRST
10752      End
10753      AliasConditionState = NIGHT DAMAGED
10754      AliasConditionState = SNOW DAMAGED
10755      AliasConditionState = NIGHT SNOW DAMAGED
10756  
10757      ConditionState    = REALLYDAMAGED RUBBLE
10758        Model           = NBWarFact_A8E
10759        Animation       = NBWarFact_A8E.NBWarFact_A8E
10760        AnimationMode   = MANUAL
10761        Flags           = START_FRAME_FIRST
10762      End
10763      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10764      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10765      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
10766      
10767      ConditionState    = DOOR_1_OPENING
10768        Model           = NBWarFact_A8
10769        Animation       = NBWarFact_A8.NBWarFact_A8
10770        AnimationMode   = ONCE
10771        Flags           = START_FRAME_FIRST
10772      End  
10773      AliasConditionState = NIGHT DOOR_1_OPENING
10774      AliasConditionState = SNOW DOOR_1_OPENING
10775      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
10776       
10777  
10778      ConditionState    = DOOR_1_OPENING DAMAGED
10779        Model           = NBWarFact_A8D
10780        Animation       = NBWarFact_A8D.NBWarFact_A8D
10781        AnimationMode   = ONCE
10782        Flags           = START_FRAME_FIRST
10783     End   
10784     AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
10785     AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
10786     AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
10787  
10788      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
10789        Model           = NBWarFact_A8E
10790        Animation       = NBWarFact_A8E.NBWarFact_A8E
10791        AnimationMode   = ONCE
10792        Flags           = START_FRAME_FIRST
10793      End
10794      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
10795      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
10796      AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
10797  
10798      ConditionState    = DOOR_1_CLOSING
10799        Model           = NBWarFact_A8
10800        Animation       = NBWarFact_A8.NBWarFact_A8
10801        AnimationMode   = ONCE_BACKWARDS
10802        Flags           = START_FRAME_LAST
10803      End   
10804      AliasConditionState = NIGHT DOOR_1_CLOSING
10805      AliasConditionState = SNOW DOOR_1_CLOSING
10806      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
10807      
10808  
10809      ConditionState    = DOOR_1_CLOSING DAMAGED
10810        Model           = NBWarFact_A8D
10811        Animation       = NBWarFact_A8D.NBWarFact_A8D
10812        AnimationMode   = ONCE_BACKWARDS
10813        Flags           = START_FRAME_LAST
10814      End   
10815      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
10816      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
10817      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED
10818  
10819      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10820        Model           = NBWarFact_A8E
10821        Animation       = NBWarFact_A8E.NBWarFact_A8E
10822        AnimationMode   = ONCE_BACKWARDS
10823        Flags           = START_FRAME_LAST
10824      End   
10825      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10826      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10827      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10828  
10829      ConditionState    = DOOR_1_WAITING_OPEN
10830        Model           = NBWarFact_A8
10831        Animation       = NBWarFact_A8.NBWarFact_A8
10832        AnimationMode   = MANUAL
10833        Flags           = START_FRAME_LAST
10834      End  
10835      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
10836      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
10837      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
10838       
10839  
10840      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
10841        Model           = NBWarFact_A8D
10842        Animation       = NBWarFact_A8D.NBWarFact_A8D
10843        AnimationMode   = MANUAL
10844        Flags           = START_FRAME_LAST
10845      End   
10846      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
10847      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
10848      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED
10849  
10850      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10851        Model           = NBWarFact_A8E
10852        Animation       = NBWarFact_A8E.NBWarFact_A8E
10853        AnimationMode   = MANUAL
10854        Flags           = START_FRAME_LAST
10855      End   
10856      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10857      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10858      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10859      
10860      
10861      ;**************************************************************************************************************************
10862      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10863      ;for this draw module
10864      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10865        Model              = NBWarFact_A8
10866        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10867      End
10868      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10869      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10870      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10871      
10872      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10873        Model              = NBWarFact_A8D
10874        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10875      End
10876      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
10877      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
10878      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
10879      
10880      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10881        Model              = NBWarFact_A8E
10882        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10883      End
10884      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
10885      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
10886      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
10887  
10888      
10889      
10890      ConditionState       = AWAITING_CONSTRUCTION 
10891        Model              = NONE
10892      End
10893      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10894      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10895      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10896      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10897      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10898      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10899      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10900      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10901      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10902      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10903      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10904      AliasConditionState  = SOLD 
10905      AliasConditionState  = SOLD DAMAGED
10906      AliasConditionState  = SOLD REALLYDAMAGED
10907      AliasConditionState  = SOLD NIGHT
10908      AliasConditionState  = SOLD NIGHT DAMAGED
10909      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10910      AliasConditionState  = SOLD SNOW
10911      AliasConditionState  = SOLD SNOW DAMAGED
10912      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10913      AliasConditionState  = SOLD NIGHT SNOW
10914      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10915      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10916      ;**************************************************************************************************************************
10917      
10918      
10919    End
10920  
10921    ; ------------ being-constructed crane -----------------
10922    Draw = W3DModelDraw ModuleTag_07
10923    AnimationsRequirePower = No
10924      DefaultConditionState
10925        Model           = None
10926        TransitionKey   = DOWN_DEFAULT
10927      End
10928      ConditionState    = NIGHT
10929        Model           = None
10930        TransitionKey   = DOWN_DEFAULT
10931      End
10932      ConditionState    = SNOW
10933        Model           = None
10934        TransitionKey   = DOWN_DEFAULT
10935      End
10936      ConditionState    = SNOW NIGHT
10937        Model           = None
10938        TransitionKey   = DOWN_DEFAULT
10939      End
10940      ConditionState    = SOLD
10941        Model           = NONE
10942      End
10943  
10944      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
10945        Model           = NBWarFact_A5
10946        Animation       = NBWarFact_A5.NBWarFact_A5
10947        AnimationMode   = LOOP
10948        TransitionKey  = UP_DAY
10949      End
10950  
10951      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
10952        Model           = NBWarFact_A5N
10953        Animation       = NBWarFact_A5N.NBWarFact_A5N
10954        AnimationMode   = LOOP
10955        TransitionKey  = UP_NIGHT
10956      End
10957  
10958      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
10959        Model           = NBWarFact_A5S
10960        Animation       = NBWarFact_A5S.NBWarFact_A5S
10961        AnimationMode   = LOOP
10962        TransitionKey  = UP_SNOW
10963      End
10964      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
10965        Model           = NBWarFact_A5SN
10966        Animation       = NBWarFact_A5SN.NBWarFact_A5SN
10967        AnimationMode   = LOOP
10968        TransitionKey  = UP_SNOWNIGHT
10969      End
10970      TransitionState   = DOWN_DEFAULT UP_DAY
10971        Model            = NBWarFact_AB
10972        Animation       = NBWarFact_AB.NBWarFact_AB
10973        AnimationMode   = ONCE
10974        AnimationSpeedFactorRange = 1.0 1.0
10975        Flags           = START_FRAME_FIRST
10976      End
10977  
10978      TransitionState   = DOWN_DEFAULT UP_NIGHT
10979        Model            = NBWarFact_ABN
10980        Animation       = NBWarFact_ABN.NBWarFact_ABN
10981        AnimationMode   = ONCE
10982        AnimationSpeedFactorRange = 1.0 1.0
10983        Flags           = START_FRAME_FIRST
10984      End
10985      TransitionState   = DOWN_DEFAULT UP_SNOW
10986        Model            = NBWarFact_ABS
10987        Animation       = NBWarFact_ABS.NBWarFact_ABS
10988        AnimationMode   = ONCE
10989        AnimationSpeedFactorRange = 1.0 1.0
10990        Flags           = START_FRAME_FIRST
10991      End
10992      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10993        Model            = NBWarFact_ABSN
10994        Animation       = NBWarFact_ABSN.NBWarFact_ABSN
10995        AnimationMode   = ONCE
10996        AnimationSpeedFactorRange = 1.0 1.0
10997        Flags           = START_FRAME_FIRST
10998      End
10999      TransitionState   = UP_DAY DOWN_DEFAULT
11000        Model            = NBWarFact_AB
11001        Animation       = NBWarFact_AB.NBWarFact_AB
11002        AnimationMode   = ONCE_BACKWARDS
11003        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11004        Flags           = START_FRAME_LAST
11005      End
11006      TransitionState   = UP_NIGHT DOWN_DEFAULT
11007        Model            = NBWarFact_ABN
11008        Animation       = NBWarFact_ABN.NBWarFact_ABN
11009        AnimationMode   = ONCE_BACKWARDS
11010        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11011        Flags           = START_FRAME_LAST
11012      End
11013      TransitionState   = UP_SNOW DOWN_DEFAULT
11014        Model            = NBWarFact_ABS
11015        Animation       = NBWarFact_ABS.NBWarFact_ABS
11016        AnimationMode   = ONCE_BACKWARDS
11017        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11018        Flags           = START_FRAME_LAST
11019      End
11020      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
11021        Model            = NBWarFact_ABSN
11022        Animation       = NBWarFact_ABSN.NBWarFact_ABSN
11023        AnimationMode   = ONCE_BACKWARDS
11024        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11025        Flags           = START_FRAME_LAST
11026      End
11027    End
11028  
11029    PlacementViewAngle = -135
11030  
11031    ; ***DESIGN parameters ***
11032    DisplayName      = OBJECT:WarFactory
11033    Side             = Boss
11034    EditorSorting    = STRUCTURE
11035    Prerequisites
11036      Object = Boss_SupplyCenter
11037    End
11038    BuildCost        = 2000
11039    BuildTime        = 15.0           ; in seconds
11040    EnergyProduction = -1
11041    CommandSet       = Boss_ChinaWarFactoryCommandSet
11042    VisionRange      = 200.0           ; Shroud clearing distance
11043    ShroudClearingRange = 200
11044    ArmorSet
11045      Conditions      = None
11046      Armor           = StructureArmor
11047      DamageFX        = StructureDamageFXNoShake
11048    End
11049    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
11050  
11051    ; *** AUDIO Parameters ***
11052    VoiceSelect = WarFactoryChinaSelect
11053    SoundOnDamaged        = BuildingDamagedStateLight
11054    SoundOnReallyDamaged  = BuildingDestroy
11055  
11056    UnitSpecificSounds
11057      UnderConstruction     = UnderConstructionLoop
11058    End
11059  
11060    ; *** ENGINEERING Parameters ***
11061    RadarPriority   = STRUCTURE
11062    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY
11063    Body            = StructureBody ModuleTag_08
11064      MaxHealth       = 2000.0
11065      InitialHealth   = 2000.0
11066  
11067      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11068      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11069      SubdualDamageCap = 2200
11070      SubdualDamageHealRate = 500
11071      SubdualDamageHealAmount = 100
11072    End
11073  
11074    Behavior = DestroyDie ModuleTag_09
11075      ;nothing
11076    End
11077    Behavior             = CreateObjectDie ModuleTag_10
11078      CreationList  = OCL_LargeStructureDebris
11079    End
11080    Behavior             = FXListDie ModuleTag_11
11081      DeathFX       = FX_StructureMediumDeath
11082    End
11083  
11084    Behavior = ProductionUpdate ModuleTag_12
11085      NumDoorAnimations            = 1
11086      DoorOpeningTime              = 4000  ;in mSeconds
11087      DoorWaitOpenTime             = 2000  ;in mSeconds
11088      DoorCloseTime                = 5000  ;in mSeconds
11089      ConstructionCompleteDuration = 1500  ;in mSeconds
11090    End
11091    Behavior = DefaultProductionExitUpdate ModuleTag_13
11092      UnitCreatePoint   = X:  0.0  Y:-27.0   Z:0.0
11093      NaturalRallyPoint = X: 57.0  Y:-27.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
11094    End
11095    Behavior = RepairDockUpdate ModuleTag_14
11096      TimeForFullHeal   = 5000   ;(in milliseconds)     
11097      NumberApproachPositions = 5
11098    End
11099  
11100    Behavior = FlammableUpdate ModuleTag_16
11101      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11102      AflameDamageAmount = 5       ; taking this much damage...
11103      AflameDamageDelay = 500       ; this often.
11104    End
11105  
11106    Behavior = GenerateMinefieldBehavior     ModuleTag_22
11107      TriggeredBy           = Upgrade_ChinaMines
11108      MineName              = ChinaStandardMine
11109      SmartBorder           = Yes
11110      AlwaysCircular        = Yes
11111  
11112      Upgradable            = Yes
11113      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
11114      UpgradedMineName      = ChinaEMPMine
11115    End
11116  
11117    Behavior = TransitionDamageFX ModuleTag_23
11118      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
11119      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11120      ;---------------------------------------------------------------------------------------
11121      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11122      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
11123      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
11124    End
11125  
11126    Behavior = CommandSetUpgrade ModuleTag_25
11127      CommandSet = Boss_ChinaWarFactoryCommandSetUpgrade
11128      TriggeredBy = Upgrade_ChinaMines
11129    End
11130  
11131    Behavior = ArmorUpgrade ModuleTag_26
11132      TriggeredBy = Upgrade_ChinaEMPMines
11133    End
11134    
11135  
11136    Geometry            = BOX
11137    GeometryMajorRadius = 57.0
11138    GeometryMinorRadius = 61.0
11139    GeometryHeight      = 30.0
11140    GeometryIsSmall     = No
11141    FactoryExitWidth    = 25 
11142    Shadow          = SHADOW_VOLUME
11143    BuildCompletion = PLACED_BY_PLAYER
11144  
11145  End
11146  
11147  
11148  
11149  
11150  
11151  
11152  
11153  
11154  
11155  
11156  
11157  
11158  
11159  
11160  
11161  
11162  
11163  
11164  
11165  
11166  
11167  
11168  
11169  
11170  
11171  
11172  
11173  
11174  
11175  
11176  ;------------------------------------------------------------------------------
11177  Object Boss_PatriotBattery
11178  
11179    ; *** ART Parameters ***
11180    SelectPortrait         = SAPatriot_L
11181    ButtonImage            = SAPatriot
11182    Draw = W3DModelDraw ModuleTag_01
11183  
11184      OkToChangeModelColor = Yes
11185  
11186      DefaultConditionState
11187        Model             = ABPatriot
11188        Turret            = TURRET01
11189        TurretPitch       = TURRETEL
11190        WeaponLaunchBone  = PRIMARY   WeaponA
11191        WeaponLaunchBone  = SECONDARY WeaponA
11192        WeaponLaunchBone  = TERTIARY  WeaponA
11193        WeaponFireFXBone  = PRIMARY   WeaponA
11194        WeaponFireFXBone  = SECONDARY WeaponA
11195        WeaponFireFXBone  = TERTIARY  WeaponA
11196      End
11197      AliasConditionState = NIGHT
11198      
11199      ConditionState      = DAMAGED
11200        Model             = ABPatriot_D
11201      End
11202      AliasConditionState = DAMAGED NIGHT
11203      
11204      ConditionState      = REALLYDAMAGED RUBBLE
11205        Model             = ABPatriot_E
11206      End
11207      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
11208      
11209      
11210      ConditionState      = SNOW
11211        Model             = ABPatriot_S
11212      End
11213      AliasConditionState = SNOW NIGHT
11214      
11215      ConditionState      = DAMAGED SNOW
11216        Model             = ABPatriot_DS
11217      End
11218      AliasConditionState = SNOW NIGHT DAMAGED
11219      
11220      ConditionState      = REALLYDAMAGED RUBBLE SNOW
11221        Model             = ABPatriot_ES
11222      End
11223      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
11224     
11225      ;**************************************************************************************************************************
11226      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11227      ;for this draw module
11228      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11229        Model              = ABPatriot
11230        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11231      End
11232      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11233      
11234  
11235      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11236        Model              = ABPatriot_S
11237        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11238      End
11239      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11240      
11241      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11242        Model              = ABPatriot_D
11243        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11244      End
11245      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
11246      
11247      
11248      
11249      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
11250        Model              = ABPatriot_DS
11251        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11252      End
11253      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
11254      
11255      
11256      
11257      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
11258        Model              = ABPatriot_E
11259        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11260      End
11261      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
11262      
11263      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
11264        Model              = ABPatriot_ES
11265        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11266      End
11267      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
11268      
11269      
11270      
11271      ConditionState       = AWAITING_CONSTRUCTION 
11272        Model              = NONE
11273      End
11274      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11275      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11276      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11277      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11278      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11279      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11280      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11281      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11282      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11283      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11284      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11285      AliasConditionState  = SOLD DAMAGED
11286      AliasConditionState  = SOLD REALLYDAMAGED
11287      AliasConditionState  = SOLD NIGHT
11288      AliasConditionState  = SOLD NIGHT DAMAGED
11289      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11290      AliasConditionState  = SOLD SNOW
11291      AliasConditionState  = SOLD SNOW DAMAGED
11292      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11293      AliasConditionState  = SOLD NIGHT SNOW
11294      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11295      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11296      ;**************************************************************************************************************************
11297         
11298  
11299      
11300    End
11301  
11302    ; ------------ construction-zone fence -----------------
11303    Draw = W3DModelDraw ModuleTag_02
11304      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
11305      DefaultConditionState
11306        Model           = None
11307        TransitionKey   = DOWN_DEFAULT
11308      End
11309      ConditionState    = NIGHT
11310        Model           = None
11311        TransitionKey   = DOWN_DEFAULT
11312      End
11313      ConditionState    = SNOW
11314        Model           = None
11315        TransitionKey   = DOWN_DEFAULT
11316      End
11317      ConditionState    = SNOW NIGHT
11318        Model           = None
11319        TransitionKey   = DOWN_DEFAULT
11320      End
11321      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11322        Model           = ABPatriot_A4
11323        Animation       = ABPatriot_A4.ABPatriot_A4
11324        AnimationMode   = MANUAL
11325        Flags           = START_FRAME_LAST
11326        TransitionKey   = UP_DAY
11327      End
11328      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11329        Model           = ABPatriot_A4N
11330        Animation       = ABPatriot_A4N.ABPatriot_A4N
11331        AnimationMode   = MANUAL
11332        Flags           = START_FRAME_LAST
11333        TransitionKey   = UP_NIGHT
11334      End
11335      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11336        Model           = ABPatriot_A4S
11337        Animation       = ABPatriot_A4S.ABPatriot_A4S
11338        AnimationMode   = MANUAL
11339        Flags           = START_FRAME_LAST
11340        TransitionKey   = UP_SNOW
11341      End
11342      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11343        Model           = ABPatriot_A4SN
11344        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
11345        AnimationMode   = MANUAL
11346        Flags           = START_FRAME_LAST
11347        TransitionKey   = UP_SNOWNIGHT
11348      End
11349      TransitionState   = DOWN_DEFAULT UP_DAY
11350        Model           = ABPatriot_A4
11351        Animation       = ABPatriot_A4.ABPatriot_A4
11352        AnimationMode   = ONCE
11353        AnimationSpeedFactorRange = 1.0 1.0
11354        Flags           = START_FRAME_FIRST
11355      End
11356      TransitionState   = DOWN_DEFAULT UP_NIGHT
11357        Model           = ABPatriot_A4N
11358        Animation       = ABPatriot_A4N.ABPatriot_A4N
11359        AnimationMode   = ONCE
11360        AnimationSpeedFactorRange = 1.0 1.0
11361        Flags           = START_FRAME_FIRST
11362      End
11363      TransitionState   = DOWN_DEFAULT UP_SNOW
11364        Model           = ABPatriot_A4S
11365        Animation       = ABPatriot_A4S.ABPatriot_A4S
11366        AnimationMode   = ONCE
11367        AnimationSpeedFactorRange = 1.0 1.0
11368        Flags           = START_FRAME_FIRST
11369      End
11370      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
11371        Model           = ABPatriot_A4SN
11372        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
11373        AnimationMode   = ONCE
11374        AnimationSpeedFactorRange = 1.0 1.0
11375        Flags           = START_FRAME_FIRST
11376      End
11377      TransitionState   = UP_DAY DOWN_DEFAULT
11378        Model           = ABPatriot_A4
11379        Animation       = ABPatriot_A4.ABPatriot_A4
11380        AnimationMode   = ONCE_BACKWARDS
11381        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11382        Flags           = START_FRAME_LAST
11383      End
11384      TransitionState   = UP_NIGHT DOWN_DEFAULT
11385        Model           = ABPatriot_A4N
11386        Animation       = ABPatriot_A4N.ABPatriot_A4N
11387        AnimationMode   = ONCE_BACKWARDS
11388        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11389        Flags           = START_FRAME_LAST
11390      End
11391      TransitionState   = UP_SNOW DOWN_DEFAULT
11392        Model           = ABPatriot_A4S
11393        Animation       = ABPatriot_A4S.ABPatriot_A4S
11394        AnimationMode   = ONCE_BACKWARDS
11395        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11396        Flags           = START_FRAME_LAST
11397      End
11398      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
11399        Model           = ABPatriot_A4SN
11400        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
11401        AnimationMode   = ONCE_BACKWARDS
11402        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11403        Flags           = START_FRAME_LAST
11404      End
11405    End
11406  
11407    ; ------------ under-construction scaffolding -----------------
11408    Draw = W3DModelDraw ModuleTag_03
11409      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
11410      MinLODRequired = MEDIUM
11411      DefaultConditionState
11412        Model           = None
11413        TransitionKey   = DOWN_DEFAULT
11414      End
11415      ConditionState    = NIGHT
11416        Model           = None
11417        TransitionKey   = DOWN_DEFAULT
11418      End
11419      ConditionState    = SNOW
11420        Model           = None
11421        TransitionKey   = DOWN_DEFAULT
11422      End
11423      ConditionState    = SNOW NIGHT
11424        Model           = None
11425        TransitionKey   = DOWN_DEFAULT
11426      End
11427      ConditionState    = PARTIALLY_CONSTRUCTED
11428        Model           = ABPatriot_A6
11429        Animation       = ABPatriot_A6.ABPatriot_A6
11430        AnimationMode   = MANUAL
11431        Flags           = START_FRAME_LAST
11432        TransitionKey   = UP_DAY
11433        ParticleSysBone = Sparks01 BuildUpBlueSpark
11434        ParticleSysBone = Sparks02 BuildUpBlueSpark
11435      End
11436      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
11437        Model           = ABPatriot_A6N
11438        Animation       = ABPatriot_A6N.ABPatriot_A6N
11439        AnimationMode   = MANUAL
11440        Flags           = START_FRAME_LAST
11441        TransitionKey   = UP_NIGHT
11442        ParticleSysBone = Sparks01 BuildUpBlueSpark
11443        ParticleSysBone = Sparks02 BuildUpBlueSpark
11444      End
11445      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
11446        Model           = ABPatriot_A6S
11447        Animation       = ABPatriot_A6S.ABPatriot_A6S
11448        AnimationMode   = MANUAL
11449        Flags           = START_FRAME_LAST
11450        TransitionKey   = UP_SNOW
11451        ParticleSysBone = Sparks01 BuildUpBlueSpark
11452        ParticleSysBone = Sparks02 BuildUpBlueSpark
11453      End
11454      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
11455        Model           = ABPatriot_A6SN
11456        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
11457        AnimationMode   = MANUAL
11458        Flags           = START_FRAME_LAST
11459        TransitionKey   = UP_SNOWNIGHT
11460        ParticleSysBone = Sparks01 BuildUpBlueSpark
11461        ParticleSysBone = Sparks02 BuildUpBlueSpark
11462      End
11463      TransitionState   = DOWN_DEFAULT UP_DAY
11464        Model           = ABPatriot_A6
11465        Animation       = ABPatriot_A6.ABPatriot_A6
11466        AnimationMode   = ONCE
11467        AnimationSpeedFactorRange = 1.0 1.0
11468        Flags           = START_FRAME_FIRST
11469      End
11470      TransitionState   = DOWN_DEFAULT UP_NIGHT
11471        Model           = ABPatriot_A6N
11472        Animation       = ABPatriot_A6N.ABPatriot_A6N
11473        AnimationMode   = ONCE
11474        AnimationSpeedFactorRange = 1.0 1.0
11475        Flags           = START_FRAME_FIRST
11476      End
11477      TransitionState   = DOWN_DEFAULT UP_SNOW
11478        Model           = ABPatriot_A6S
11479        Animation       = ABPatriot_A6S.ABPatriot_A6S
11480        AnimationMode   = ONCE
11481        AnimationSpeedFactorRange = 1.0 1.0
11482        Flags           = START_FRAME_FIRST
11483      End
11484      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
11485        Model           = ABPatriot_A6SN
11486        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
11487        AnimationMode   = ONCE
11488        AnimationSpeedFactorRange = 1.0 1.0
11489        Flags           = START_FRAME_FIRST
11490      End
11491      TransitionState   = UP_DAY DOWN_DEFAULT
11492        Model           = ABPatriot_A6
11493        Animation       = ABPatriot_A6.ABPatriot_A6
11494        AnimationMode   = ONCE_BACKWARDS
11495        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11496        Flags           = START_FRAME_LAST
11497      End
11498      TransitionState   = UP_NIGHT DOWN_DEFAULT
11499        Model           = ABPatriot_A6N
11500        Animation       = ABPatriot_A6N.ABPatriot_A6N
11501        AnimationMode   = ONCE_BACKWARDS
11502        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11503        Flags           = START_FRAME_LAST
11504      End
11505      TransitionState   = UP_SNOW DOWN_DEFAULT
11506        Model           = ABPatriot_A6S
11507        Animation       = ABPatriot_A6S.ABPatriot_A6S
11508        AnimationMode   = ONCE_BACKWARDS
11509        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11510        Flags           = START_FRAME_LAST
11511      End
11512      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
11513        Model           = ABPatriot_A6SN
11514        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
11515        AnimationMode   = ONCE_BACKWARDS
11516        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
11517        Flags           = START_FRAME_LAST
11518      End
11519    End
11520  
11521    PlacementViewAngle = -45
11522  
11523    ; ***DESIGN parameters ***
11524    DisplayName       = OBJECT:PatriotBattery
11525    Side              = Boss
11526    EditorSorting     = STRUCTURE
11527    Prerequisites
11528      Object = Boss_Barracks
11529    End
11530    BuildCost        = 1000
11531    BuildTime        = 25.0           ; in seconds
11532    EnergyProduction = -3
11533    WeaponSet
11534      Conditions          = None 
11535      Weapon              = PRIMARY     PatriotMissileWeapon
11536      Weapon              = SECONDARY   PatriotMissileAssistWeapon
11537      Weapon              = TERTIARY    PatriotMissileWeaponAir
11538      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_AI FROM_SCRIPT
11539      AutoChooseSources   = SECONDARY   NONE
11540      AutoChooseSources   = TERTIARY    FROM_PLAYER FROM_AI FROM_SCRIPT  
11541      PreferredAgainst    = PRIMARY     VEHICLE INFANTRY
11542      PreferredAgainst    = SECONDARY   BALLISTIC_MISSILE AIRCRAFT
11543      PreferredAgainst    = TERTIARY    BALLISTIC_MISSILE AIRCRAFT
11544      ShareWeaponReloadTime = Yes
11545    End
11546    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
11547    ShroudClearingRange = 360
11548    ArmorSet
11549      Conditions      = None
11550      Armor           = BaseDefenseArmor
11551      DamageFX        = StructureDamageFXNoShake
11552    End
11553    CommandSet        = Boss_AmericaPatriotBatteryCommandSet
11554    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
11555  
11556    ;Behavior = AIUpdateInterface ModuleTag_20
11557    ;  AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
11558    ;  MoodAttackCheckRate        = 250
11559    ;End
11560  
11561    ; *** AUDIO Parameters ***
11562    VoiceSelect = PatriotBatterySelect
11563    SoundOnDamaged        = BuildingDamagedStateLight
11564    SoundOnReallyDamaged  = BuildingDestroy
11565  
11566    UnitSpecificSounds
11567      UnderConstruction     = UnderConstructionLoop
11568    End
11569  
11570    UnitSpecificSounds
11571    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
11572      TurretMoveStart = NoSound
11573      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
11574    End
11575  
11576    ; *** ENGINEERING Parameters ***
11577    RadarPriority   = STRUCTURE
11578    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE
11579    Body            = StructureBody ModuleTag_04
11580      MaxHealth     = 1000.0
11581      InitialHealth = 1000.0
11582  
11583      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11584      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11585      SubdualDamageCap = 1200
11586      SubdualDamageHealRate = 500
11587      SubdualDamageHealAmount = 100
11588    End
11589   
11590    Behavior = StealthDetectorUpdate ModuleTag_13
11591      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
11592      DetectionRange   =  200 ;Dustin, enable this for independant balancing!
11593      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
11594      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
11595    End
11596  
11597    Behavior = BaseRegenerateUpdate ModuleTag_05
11598      ;No data
11599    End 
11600    Behavior = AIUpdateInterface ModuleTag_06
11601      Turret
11602        TurretTurnRate        = 180   // turn rate, in degrees per sec
11603        TurretPitchRate       = 180
11604        AllowsPitch           = Yes
11605        NaturalTurretPitch    = 45   
11606        GroundUnitPitch       = 40
11607        MinPhysicalPitch      = -20
11608        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
11609        MinIdleScanInterval   = 250    ; in milliseconds
11610        MaxIdleScanInterval   = 250    ; in milliseconds
11611        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
11612        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
11613      End
11614  
11615      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
11616      MoodAttackCheckRate        = 250
11617    End
11618  
11619    Behavior = AssistedTargetingUpdate ModuleTag_07
11620      AssistingClipSize = 4                       ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon
11621      AssistingWeaponSlot = SECONDARY             ; And the weapon to use.  Should have huge range and no natural clip.
11622      LaserFromAssisted = Boss_PatriotBinaryDataStream ; Stream to draw from the requestor to me
11623      LaserToTarget = Boss_PatriotBinaryDataStream     ; Stream to draw from me to the target
11624    End
11625  
11626    Behavior = DestroyDie ModuleTag_08
11627      ;nothing
11628    End
11629    Behavior             = CreateObjectDie ModuleTag_09
11630      CreationList  = OCL_AmericanRangerDebris03
11631      ExemptStatus  = UNDER_CONSTRUCTION
11632    End
11633    Behavior             = FXListDie ModuleTag_10
11634      DeathFX       = FX_StructureTinyDeath
11635    End
11636  
11637    Behavior = FlammableUpdate ModuleTag_12
11638      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11639      AflameDamageAmount = 5       ; taking this much damage...
11640      AflameDamageDelay = 500       ; this often.
11641    End
11642  
11643    Behavior = TransitionDamageFX ModuleTag_14
11644      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
11645      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
11646      ;---------------------------------------------------------------------------------------
11647      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
11648      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
11649      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
11650    End
11651  
11652    Behavior = CommandSetUpgrade ModuleTag_15
11653      CommandSet = Boss_AmericaPatriotBatteryCommandSetUpgrade
11654      TriggeredBy = Upgrade_ChinaMines
11655    End
11656  
11657    Behavior = GenerateMinefieldBehavior     ModuleTag_16
11658      TriggeredBy           = Upgrade_ChinaMines
11659      MineName              = ChinaStandardMine
11660      SmartBorder           = Yes
11661      AlwaysCircular        = Yes
11662  
11663      Upgradable            = Yes
11664      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
11665      UpgradedMineName      = ChinaEMPMine
11666    End
11667  
11668    Behavior = ProductionUpdate ModuleTag_17
11669      ; nothing
11670    End
11671  
11672    Behavior = ArmorUpgrade ModuleTag_18
11673      TriggeredBy = Upgrade_ChinaEMPMines
11674    End
11675  
11676  
11677  
11678    Geometry            = CYLINDER
11679    GeometryMajorRadius = 12.0
11680    GeometryMinorRadius = 1.0
11681    GeometryHeight      = 14.0
11682    GeometryIsSmall     = No
11683    Shadow          = SHADOW_VOLUME
11684    BuildCompletion = PLACED_BY_PLAYER
11685  
11686  End
11687  
11688  
11689  
11690  
11691  
11692  
11693  
11694  
11695  
11696  
11697  
11698  
11699  
11700  
11701  
11702  
11703  
11704  
11705  
11706  
11707  
11708  
11709  
11710  
11711  
11712  ;------------------------------------------------------------------------------
11713  Object Boss_Bunker
11714  
11715    ; *** ART Parameters ***
11716    SelectPortrait         = SNBunker_L
11717    ButtonImage            = SNBunker
11718    Draw                   = W3DModelDraw ModuleTag_01
11719      OkToChangeModelColor = Yes
11720     
11721     
11722      ;day
11723      ConditionState       = NONE
11724        Model              = NBBunker
11725      End
11726      ConditionState       = DAMAGED
11727        Model              = NBBunker_D
11728          ParticleSysBone      = Fire01  SmolderingFire
11729          ParticleSysBone      = Smoke01 SmolderingSmoke
11730          ParticleSysBone      = Fire01  SmolderingFlameCore
11731          ParticleSysBone      = Fire02  SmolderingFire
11732          ParticleSysBone      = Smoke02 SmolderingSmoke
11733          ParticleSysBone      = Fire02  SmolderingFlameCore
11734      End
11735      ConditionState       = REALLYDAMAGED RUBBLE
11736        Model              = NBBunker_E
11737        ParticleSysBone        = Fire01 SmolderingFire
11738        ParticleSysBone        = Fire01 SmolderingFlameCore
11739        ParticleSysBone        = Fire02 SmolderingFire
11740        ParticleSysBone        = Fire02 SmolderingFlameCore
11741        ParticleSysBone        = Fire03 SmolderingFire
11742        ParticleSysBone        = Fire03 SmolderingFlameCore
11743        ParticleSysBone        = Fire04 SmolderingFire
11744        ParticleSysBone        = Fire04 SmolderingFlameCore
11745        ParticleSysBone        = Fire05 SmolderingFire
11746        ParticleSysBone        = Fire05 SmolderingFlameCore
11747        ParticleSysBone        = Smoke01  SmolderingSmoke
11748        ParticleSysBone        = Smoke02 SmolderingSmoke
11749        ParticleSysBone        = Smoke03 SmolderingSmoke
11750        ParticleSysBone        = Smoke04 SmolderingSmoke
11751        ParticleSysBone        = Smoke05 SmolderingSmoke
11752      End
11753      
11754      ConditionState       = GARRISONED
11755        Model              = NBBunker_G
11756      End
11757      ConditionState       = DAMAGED GARRISONED
11758        Model              = NBBunker_DG
11759          ParticleSysBone      = Fire01  SmolderingFire
11760          ParticleSysBone      = Smoke01 SmolderingSmoke
11761          ParticleSysBone      = Fire01  SmolderingFlameCore
11762          ParticleSysBone      = Fire02  SmolderingFire
11763          ParticleSysBone      = Smoke02 SmolderingSmoke
11764          ParticleSysBone      = Fire02  SmolderingFlameCore
11765      End
11766      ConditionState       = REALLYDAMAGED RUBBLE GARRISONED
11767        Model              = NBBunker_EG
11768        ParticleSysBone        = Fire01 SmolderingFire
11769        ParticleSysBone        = Fire01 SmolderingFlameCore
11770        ParticleSysBone        = Fire02 SmolderingFire
11771        ParticleSysBone        = Fire02 SmolderingFlameCore
11772        ParticleSysBone        = Fire03 SmolderingFire
11773        ParticleSysBone        = Fire03 SmolderingFlameCore
11774        ParticleSysBone        = Fire04 SmolderingFire
11775        ParticleSysBone        = Fire04 SmolderingFlameCore
11776        ParticleSysBone        = Fire05 SmolderingFire
11777        ParticleSysBone        = Fire05 SmolderingFlameCore
11778        ParticleSysBone        = Smoke01  SmolderingSmoke
11779        ParticleSysBone        = Smoke02 SmolderingSmoke
11780        ParticleSysBone        = Smoke03 SmolderingSmoke
11781        ParticleSysBone        = Smoke04 SmolderingSmoke
11782        ParticleSysBone        = Smoke05 SmolderingSmoke
11783      End
11784      
11785      
11786      
11787      ConditionState       = SNOW
11788        Model              = NBBunker_S
11789      End
11790      ConditionState       = DAMAGED SNOW
11791        Model              = NBBunker_DS
11792          ParticleSysBone      = Fire01  SmolderingFire
11793          ParticleSysBone      = Smoke01 SmolderingSmoke
11794          ParticleSysBone      = Fire01  SmolderingFlameCore
11795          ParticleSysBone      = Fire02  SmolderingFire
11796          ParticleSysBone      = Smoke02 SmolderingSmoke
11797          ParticleSysBone      = Fire02  SmolderingFlameCore
11798      End
11799      ConditionState       = REALLYDAMAGED RUBBLE SNOW
11800        Model              = NBBunker_ES
11801        ParticleSysBone        = Fire01 SmolderingFire
11802        ParticleSysBone        = Fire01 SmolderingFlameCore
11803        ParticleSysBone        = Fire02 SmolderingFire
11804        ParticleSysBone        = Fire02 SmolderingFlameCore
11805        ParticleSysBone        = Fire03 SmolderingFire
11806        ParticleSysBone        = Fire03 SmolderingFlameCore
11807        ParticleSysBone        = Fire04 SmolderingFire
11808        ParticleSysBone        = Fire04 SmolderingFlameCore
11809        ParticleSysBone        = Fire05 SmolderingFire
11810        ParticleSysBone        = Fire05 SmolderingFlameCore
11811        ParticleSysBone        = Smoke01  SmolderingSmoke
11812        ParticleSysBone        = Smoke02 SmolderingSmoke
11813        ParticleSysBone        = Smoke03 SmolderingSmoke
11814        ParticleSysBone        = Smoke04 SmolderingSmoke
11815        ParticleSysBone        = Smoke05 SmolderingSmoke
11816      End
11817      
11818      
11819      ConditionState       = SNOW GARRISONED
11820        Model              = NBBunker_SG
11821      End
11822      ConditionState       = DAMAGED SNOW GARRISONED
11823        Model              = NBBunker_DSG
11824          ParticleSysBone      = Fire01  SmolderingFire
11825          ParticleSysBone      = Smoke01 SmolderingSmoke
11826          ParticleSysBone      = Fire01  SmolderingFlameCore
11827          ParticleSysBone      = Fire02  SmolderingFire
11828          ParticleSysBone      = Smoke02 SmolderingSmoke
11829          ParticleSysBone      = Fire02  SmolderingFlameCore
11830      End
11831      ConditionState       = REALLYDAMAGED RUBBLE SNOW GARRISONED
11832        Model              = NBBunker_ESG
11833        ParticleSysBone        = Fire01 SmolderingFire
11834        ParticleSysBone        = Fire01 SmolderingFlameCore
11835        ParticleSysBone        = Fire02 SmolderingFire
11836        ParticleSysBone        = Fire02 SmolderingFlameCore
11837        ParticleSysBone        = Fire03 SmolderingFire
11838        ParticleSysBone        = Fire03 SmolderingFlameCore
11839        ParticleSysBone        = Fire04 SmolderingFire
11840        ParticleSysBone        = Fire04 SmolderingFlameCore
11841        ParticleSysBone        = Fire05 SmolderingFire
11842        ParticleSysBone        = Fire05 SmolderingFlameCore
11843        ParticleSysBone        = Smoke01  SmolderingSmoke
11844        ParticleSysBone        = Smoke02 SmolderingSmoke
11845        ParticleSysBone        = Smoke03 SmolderingSmoke
11846        ParticleSysBone        = Smoke04 SmolderingSmoke
11847        ParticleSysBone        = Smoke05 SmolderingSmoke
11848      End
11849      
11850  
11851  
11852  
11853     ;night
11854      ConditionState       = NIGHT
11855        Model              = NBBunker_N
11856      End
11857      ConditionState       = DAMAGED NIGHT
11858        Model              = NBBunker_DN
11859        ParticleSysBone        = Fire01  SmolderingFire
11860        ParticleSysBone        = Smoke01 SmolderingSmoke
11861        ParticleSysBone        = Fire01  SmolderingFlameCore
11862        ParticleSysBone        = Fire02  SmolderingFire
11863        ParticleSysBone        = Smoke02 SmolderingSmoke
11864        ParticleSysBone        = Fire02  SmolderingFlameCore
11865      End
11866      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
11867        Model              = NBBunker_EN
11868        ParticleSysBone        = Fire01 SmolderingFire
11869        ParticleSysBone        = Fire01 SmolderingFlameCore
11870        ParticleSysBone        = Fire02 SmolderingFire
11871        ParticleSysBone        = Fire02 SmolderingFlameCore
11872        ParticleSysBone        = Fire03 SmolderingFire
11873        ParticleSysBone        = Fire03 SmolderingFlameCore
11874        ParticleSysBone        = Fire04 SmolderingFire
11875        ParticleSysBone        = Fire04 SmolderingFlameCore
11876        ParticleSysBone        = Fire05 SmolderingFire
11877        ParticleSysBone        = Fire05 SmolderingFlameCore
11878        ParticleSysBone        = Smoke01  SmolderingSmoke
11879        ParticleSysBone        = Smoke02 SmolderingSmoke
11880        ParticleSysBone        = Smoke03 SmolderingSmoke
11881        ParticleSysBone        = Smoke04 SmolderingSmoke
11882        ParticleSysBone        = Smoke05 SmolderingSmoke
11883      End
11884      
11885      ;night
11886      ConditionState       = NIGHT GARRISONED
11887        Model              = NBBunker_NG
11888      End
11889      ConditionState       = DAMAGED NIGHT GARRISONED
11890        Model              = NBBunker_DNG
11891        ParticleSysBone        = Fire01  SmolderingFire
11892        ParticleSysBone        = Smoke01 SmolderingSmoke
11893        ParticleSysBone        = Fire01  SmolderingFlameCore
11894        ParticleSysBone        = Fire02  SmolderingFire
11895        ParticleSysBone        = Smoke02 SmolderingSmoke
11896        ParticleSysBone        = Fire02  SmolderingFlameCore
11897      End
11898      ConditionState       = REALLYDAMAGED RUBBLE NIGHT GARRISONED
11899        Model              = NBBunker_ENG
11900        ParticleSysBone        = Fire01 SmolderingFire
11901        ParticleSysBone        = Fire01 SmolderingFlameCore
11902        ParticleSysBone        = Fire02 SmolderingFire
11903        ParticleSysBone        = Fire02 SmolderingFlameCore
11904        ParticleSysBone        = Fire03 SmolderingFire
11905        ParticleSysBone        = Fire03 SmolderingFlameCore
11906        ParticleSysBone        = Fire04 SmolderingFire
11907        ParticleSysBone        = Fire04 SmolderingFlameCore
11908        ParticleSysBone        = Fire05 SmolderingFire
11909        ParticleSysBone        = Fire05 SmolderingFlameCore
11910        ParticleSysBone        = Smoke01  SmolderingSmoke
11911        ParticleSysBone        = Smoke02 SmolderingSmoke
11912        ParticleSysBone        = Smoke03 SmolderingSmoke
11913        ParticleSysBone        = Smoke04 SmolderingSmoke
11914        ParticleSysBone        = Smoke05 SmolderingSmoke
11915      End
11916      
11917      
11918      
11919      
11920      ;night snow
11921      ConditionState       = NIGHT SNOW
11922        Model              = NBBunker_NS
11923      End
11924      ConditionState       = DAMAGED NIGHT SNOW
11925        Model              = NBBunker_DNS
11926        ParticleSysBone        = Fire01  SmolderingFire
11927        ParticleSysBone        = Smoke01 SmolderingSmoke
11928        ParticleSysBone        = Fire01  SmolderingFlameCore
11929        ParticleSysBone        = Fire02  SmolderingFire
11930        ParticleSysBone        = Smoke02 SmolderingSmoke
11931        ParticleSysBone        = Fire02  SmolderingFlameCore
11932      End
11933      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
11934        Model              = NBBunker_ENS
11935        ParticleSysBone        = Fire01 SmolderingFire
11936        ParticleSysBone        = Fire01 SmolderingFlameCore
11937        ParticleSysBone        = Fire02 SmolderingFire
11938        ParticleSysBone        = Fire02 SmolderingFlameCore
11939        ParticleSysBone        = Fire03 SmolderingFire
11940        ParticleSysBone        = Fire03 SmolderingFlameCore
11941        ParticleSysBone        = Fire04 SmolderingFire
11942        ParticleSysBone        = Fire04 SmolderingFlameCore
11943        ParticleSysBone        = Fire05 SmolderingFire
11944        ParticleSysBone        = Fire05 SmolderingFlameCore
11945        ParticleSysBone        = Smoke01  SmolderingSmoke
11946        ParticleSysBone        = Smoke02 SmolderingSmoke
11947        ParticleSysBone        = Smoke03 SmolderingSmoke
11948        ParticleSysBone        = Smoke04 SmolderingSmoke
11949        ParticleSysBone        = Smoke05 SmolderingSmoke
11950      End
11951      
11952      
11953         ;night snow
11954      ConditionState       = NIGHT SNOW GARRISONED
11955        Model              = NBBunker_NSG
11956      End
11957      ConditionState       = DAMAGED NIGHT SNOW GARRISONED
11958        Model              = NBBunker_DNSG
11959        ParticleSysBone        = Fire01  SmolderingFire
11960        ParticleSysBone        = Smoke01 SmolderingSmoke
11961        ParticleSysBone        = Fire01  SmolderingFlameCore
11962        ParticleSysBone        = Fire02  SmolderingFire
11963        ParticleSysBone        = Smoke02 SmolderingSmoke
11964        ParticleSysBone        = Fire02  SmolderingFlameCore
11965      End
11966      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW GARRISONED
11967        Model              = NBBunker_ENSG
11968        ParticleSysBone        = Fire01 SmolderingFire
11969        ParticleSysBone        = Fire01 SmolderingFlameCore
11970        ParticleSysBone        = Fire02 SmolderingFire
11971        ParticleSysBone        = Fire02 SmolderingFlameCore
11972        ParticleSysBone        = Fire03 SmolderingFire
11973        ParticleSysBone        = Fire03 SmolderingFlameCore
11974        ParticleSysBone        = Fire04 SmolderingFire
11975        ParticleSysBone        = Fire04 SmolderingFlameCore
11976        ParticleSysBone        = Fire05 SmolderingFire
11977        ParticleSysBone        = Fire05 SmolderingFlameCore
11978        ParticleSysBone        = Smoke01  SmolderingSmoke
11979        ParticleSysBone        = Smoke02 SmolderingSmoke
11980        ParticleSysBone        = Smoke03 SmolderingSmoke
11981        ParticleSysBone        = Smoke04 SmolderingSmoke
11982        ParticleSysBone        = Smoke05 SmolderingSmoke
11983      End
11984      
11985      
11986          ;**************************************************************************************************************************
11987      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11988      ;for this draw module
11989      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11990        Model              = NBBunker
11991        ;Animation          = NBBunker.NBBunker
11992        ;AnimationMode      = LOOP
11993        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11994      End
11995      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11996        Model              = NBBunker_D
11997        ;Animation          = NBBunker_D.NBBunker_D
11998        ;AnimationMode      = LOOP
11999        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12000      End
12001      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12002        Model              = NBBunker_E
12003        ;Animation          = NBBunker_E.NBBunker_E
12004        ;AnimationMode      = LOOP
12005        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12006      End
12007      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12008        Model              = NBBunker_N
12009        ;Animation          = NBBunker_N.NBBunker_N
12010        ;AnimationMode      = LOOP
12011        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12012      End
12013      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
12014        Model              = NBBunker_DN
12015        ;Animation          = NBBunker_DN.NBBunker_DN
12016        ;AnimationMode      = LOOP
12017        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12018      End
12019      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
12020        Model              = NBBunker_EN
12021        ;Animation          = NBBunker_EN.NBBunker_EN
12022        ;AnimationMode      = LOOP
12023        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12024      End
12025      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12026        Model              = NBBunker_S
12027        ;Animation          = NBBunker_S.NBBunker_S
12028        ;AnimationMode      = LOOP
12029        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12030      End
12031      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
12032        Model              = NBBunker_DS
12033        ;Animation          = NBBunker_DS.NBBunker_DS
12034        ;AnimationMode      = LOOP
12035        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12036      End
12037      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
12038        Model              = NBBunker_ES
12039        ;Animation          = NBBunker_ES.NBBunker_ES
12040        ;AnimationMode      = LOOP
12041        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12042      End
12043      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12044        Model              = NBBunker_NS
12045        ;Animation          = NBBunker_NS.NBBunker_NS
12046        ;AnimationMode      = LOOP
12047        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12048      End
12049      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
12050        Model              = NBBunker_DNS
12051        ;Animation          = NBBunker_DNS.NBBunker_DNS
12052        ;AnimationMode      = LOOP
12053        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12054      End
12055      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
12056        Model              = NBBunker_ENS
12057       ; Animation          = NBBunker_ENS.NBBunker_ENS
12058       ; AnimationMode      = LOOP
12059        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12060      End
12061  
12062      ConditionState       = AWAITING_CONSTRUCTION 
12063        Model              = NONE
12064      End
12065      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12066      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12067      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12068      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12069      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12070      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12071      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12072      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12073      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12074      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12075      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12076      AliasConditionState  = SOLD 
12077      AliasConditionState  = SOLD DAMAGED
12078      AliasConditionState  = SOLD REALLYDAMAGED
12079      AliasConditionState  = SOLD NIGHT
12080      AliasConditionState  = SOLD NIGHT DAMAGED
12081      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12082      AliasConditionState  = SOLD SNOW
12083      AliasConditionState  = SOLD SNOW DAMAGED
12084      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12085      AliasConditionState  = SOLD NIGHT SNOW
12086      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12087      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12088      AliasConditionState  = SOLD GARRISONED
12089      AliasConditionState  = SOLD DAMAGED GARRISONED
12090      AliasConditionState  = SOLD REALLYDAMAGED GARRISONED
12091      AliasConditionState  = SOLD NIGHT GARRISONED
12092      AliasConditionState  = SOLD NIGHT DAMAGED GARRISONED
12093      AliasConditionState  = SOLD NIGHT REALLYDAMAGED GARRISONED
12094      AliasConditionState  = SOLD SNOW GARRISONED
12095      AliasConditionState  = SOLD SNOW DAMAGED GARRISONED
12096      AliasConditionState  = SOLD SNOW REALLYDAMAGED GARRISONED
12097      AliasConditionState  = SOLD NIGHT SNOW GARRISONED
12098      AliasConditionState  = SOLD NIGHT SNOW DAMAGED GARRISONED
12099      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED GARRISONED
12100      ;**************************************************************************************************************************
12101  
12102      
12103    End  
12104      
12105    ; ------------ construction-zone fence -----------------
12106    Draw = W3DModelDraw ModuleTag_02
12107    AnimationsRequirePower = No
12108      DefaultConditionState
12109        Model           = None
12110        TransitionKey   = DOWN_DEFAULT
12111      End
12112      ConditionState    = NIGHT
12113        Model           = None
12114        TransitionKey   = DOWN_DEFAULT
12115      End
12116      ConditionState    = SNOW
12117        Model           = None
12118        TransitionKey   = DOWN_DEFAULT
12119      End
12120      ConditionState    = SNOW NIGHT
12121        Model           = None
12122        TransitionKey   = DOWN_DEFAULT
12123      End
12124      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12125        Model           = NBBunker_A4
12126        Animation       = NBBunker_A4.NBBunker_A4
12127        AnimationMode   = MANUAL
12128        Flags           = START_FRAME_LAST
12129        TransitionKey   = UP_DAY
12130      End
12131      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12132        Model           = NBBunker_A4N
12133        Animation       = NBBunker_A4N.NBBunker_A4N
12134        AnimationMode   = MANUAL
12135        Flags           = START_FRAME_LAST
12136        TransitionKey   = UP_NIGHT
12137      End
12138      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12139        Model           = NBBunker_A4S
12140        Animation       = NBBunker_A4S.NBBunker_A4S
12141        AnimationMode   = MANUAL
12142        Flags           = START_FRAME_LAST
12143        TransitionKey   = UP_SNOW
12144      End
12145      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12146        Model           = NBBunker_A4SN
12147        Animation       = NBBunker_A4SN.NBBunker_A4SN
12148        AnimationMode   = MANUAL
12149        Flags           = START_FRAME_LAST
12150        TransitionKey   = UP_SNOWNIGHT
12151      End
12152      TransitionState   = DOWN_DEFAULT UP_DAY
12153        Model           = NBBunker_A4
12154        Animation       = NBBunker_A4.NBBunker_A4
12155        AnimationMode   = ONCE
12156        AnimationSpeedFactorRange = 1.0 1.0
12157        Flags           = START_FRAME_FIRST
12158      End
12159      TransitionState   = DOWN_DEFAULT UP_NIGHT
12160        Model           = NBBunker_A4N
12161        Animation       = NBBunker_A4N.NBBunker_A4N
12162        AnimationMode   = ONCE
12163        AnimationSpeedFactorRange = 1.0 1.0
12164        Flags           = START_FRAME_FIRST
12165      End
12166      TransitionState   = DOWN_DEFAULT UP_SNOW
12167        Model           = NBBunker_A4S
12168        Animation       = NBBunker_A4S.NBBunker_A4S
12169        AnimationMode   = ONCE
12170        AnimationSpeedFactorRange = 1.0 1.0
12171        Flags           = START_FRAME_FIRST
12172      End
12173      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12174        Model           = NBBunker_A4SN
12175        Animation       = NBBunker_A4SN.NBBunker_A4SN
12176        AnimationMode   = ONCE
12177        AnimationSpeedFactorRange = 1.0 1.0
12178        Flags           = START_FRAME_FIRST
12179      End
12180      TransitionState   = UP_DAY DOWN_DEFAULT
12181        Model           = NBBunker_A4
12182        Animation       = NBBunker_A4.NBBunker_A4
12183        AnimationMode   = ONCE_BACKWARDS
12184        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12185        Flags           = START_FRAME_LAST
12186      End
12187      TransitionState   = UP_NIGHT DOWN_DEFAULT
12188        Model           = NBBunker_A4N
12189        Animation       = NBBunker_A4N.NBBunker_A4N
12190        AnimationMode   = ONCE_BACKWARDS
12191        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12192        Flags           = START_FRAME_LAST
12193      End
12194      TransitionState   = UP_SNOW DOWN_DEFAULT
12195        Model           = NBBunker_A4S
12196        Animation       = NBBunker_A4S.NBBunker_A4S
12197        AnimationMode   = ONCE_BACKWARDS
12198        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12199        Flags           = START_FRAME_LAST
12200      End
12201      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12202        Model           = NBBunker_A4SN
12203        Animation       = NBBunker_A4SN.NBBunker_A4SN
12204        AnimationMode   = ONCE_BACKWARDS
12205        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12206        Flags           = START_FRAME_LAST
12207      End
12208    End
12209  
12210    ; ------------ under-construction scaffolding -----------------
12211    Draw = W3DModelDraw ModuleTag_03
12212    AnimationsRequirePower = No
12213      MinLODRequired = MEDIUM
12214      DefaultConditionState
12215        Model           = None
12216        TransitionKey   = DOWN_DEFAULT
12217      End
12218      ConditionState    = NIGHT
12219        Model           = None
12220        TransitionKey   = DOWN_DEFAULT
12221      End
12222      ConditionState    = SNOW
12223        Model           = None
12224        TransitionKey   = DOWN_DEFAULT
12225      End
12226      ConditionState    = SNOW NIGHT
12227        Model           = None
12228        TransitionKey   = DOWN_DEFAULT
12229      End
12230      ConditionState    = PARTIALLY_CONSTRUCTED
12231        Model           = NBBunker_A6
12232        Animation       = NBBunker_A6.NBBunker_A6
12233        AnimationMode   = MANUAL
12234        Flags           = START_FRAME_LAST
12235        TransitionKey   = UP_DAY
12236        ParticleSysBone = Smoke01 BuildUpSmokeChina
12237        ParticleSysBone = Smoke02 BuildUpSmokeChina
12238        ParticleSysBone = Smoke03 BuildUpSmokeChina
12239        ParticleSysBone = Smoke04 BuildUpSmokeChina
12240      End
12241      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
12242        Model           = NBBunker_A6N
12243        Animation       = NBBunker_A6N.NBBunker_A6N
12244        AnimationMode   = MANUAL
12245        Flags           = START_FRAME_LAST
12246        TransitionKey   = UP_NIGHT
12247        ParticleSysBone = Smoke01 BuildUpSmokeChina
12248        ParticleSysBone = Smoke02 BuildUpSmokeChina
12249        ParticleSysBone = Smoke03 BuildUpSmokeChina
12250        ParticleSysBone = Smoke04 BuildUpSmokeChina
12251      End
12252      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
12253        Model           = NBBunker_A6S
12254        Animation       = NBBunker_A6S.NBBunker_A6S
12255        AnimationMode   = MANUAL
12256        Flags           = START_FRAME_LAST
12257        TransitionKey   = UP_SNOW
12258        ParticleSysBone = Smoke01 BuildUpSnowSmoke
12259        ParticleSysBone = Smoke02 BuildUpSnowSmoke
12260        ParticleSysBone = Smoke03 BuildUpSnowSmoke
12261        ParticleSysBone = Smoke04 BuildUpSnowSmoke
12262      End
12263      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
12264        Model           = NBBunker_A6SN
12265        Animation       = NBBunker_A6SN.NBBunker_A6SN
12266        AnimationMode   = MANUAL
12267        Flags           = START_FRAME_LAST
12268        TransitionKey   = UP_SNOWNIGHT
12269        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
12270        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
12271        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
12272        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
12273      End
12274      TransitionState   = DOWN_DEFAULT UP_DAY
12275       Model            = NBBunker_A6
12276        Animation       = NBBunker_A6.NBBunker_A6
12277        AnimationMode   = ONCE
12278        AnimationSpeedFactorRange = 1.0 1.0
12279        Flags           = START_FRAME_FIRST
12280      End
12281      TransitionState   = DOWN_DEFAULT UP_NIGHT
12282       Model            = NBBunker_A6N
12283        Animation       = NBBunker_A6N.NBBunker_A6N
12284        AnimationMode   = ONCE
12285        AnimationSpeedFactorRange = 1.0 1.0
12286        Flags           = START_FRAME_FIRST
12287      End
12288      TransitionState   = DOWN_DEFAULT UP_SNOW
12289       Model            = NBBunker_A6S
12290        Animation       = NBBunker_A6S.NBBunker_A6S
12291        AnimationMode   = ONCE
12292        AnimationSpeedFactorRange = 1.0 1.0
12293        Flags           = START_FRAME_FIRST
12294      End
12295      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12296       Model            = NBBunker_A6SN
12297        Animation       = NBBunker_A6SN.NBBunker_A6SN
12298        AnimationMode   = ONCE
12299        AnimationSpeedFactorRange = 1.0 1.0
12300        Flags           = START_FRAME_FIRST
12301      End
12302      TransitionState   = UP_DAY DOWN_DEFAULT
12303        Model           = NBBunker_A6
12304        Animation       = NBBunker_A6.NBBunker_A6
12305        AnimationMode   = ONCE_BACKWARDS
12306        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12307        Flags           = START_FRAME_LAST
12308      End
12309      TransitionState   = UP_NIGHT DOWN_DEFAULT
12310        Model           = NBBunker_A6N
12311        Animation       = NBBunker_A6N.NBBunker_A6N
12312        AnimationMode   = ONCE_BACKWARDS
12313        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12314        Flags           = START_FRAME_LAST
12315      End
12316      TransitionState   = UP_SNOW DOWN_DEFAULT
12317        Model           = NBBunker_A6S
12318        Animation       = NBBunker_A6S.NBBunker_A6S
12319        AnimationMode   = ONCE_BACKWARDS
12320        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12321        Flags           = START_FRAME_LAST
12322      End
12323      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12324        Model           = NBBunker_A6SN
12325        Animation       = NBBunker_A6SN.NBBunker_A6SN
12326        AnimationMode   = ONCE_BACKWARDS
12327        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12328        Flags           = START_FRAME_LAST
12329      End
12330    End
12331  
12332    ; ------------ being-constructed crane -----------------
12333    Draw = W3DModelDraw ModuleTag_04
12334    AnimationsRequirePower = No
12335      DefaultConditionState
12336        Model           = None
12337        TransitionKey   = DOWN_DEFAULT
12338      End
12339      ConditionState    = NIGHT
12340        Model           = None
12341        TransitionKey   = DOWN_DEFAULT
12342      End
12343      ConditionState    = SNOW
12344        Model           = None
12345        TransitionKey   = DOWN_DEFAULT
12346      End
12347      ConditionState    = SNOW NIGHT
12348        Model           = None
12349        TransitionKey   = DOWN_DEFAULT
12350      End
12351      ConditionState    = SOLD
12352        Model           = NONE
12353      End
12354  
12355      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
12356        Model           = NBBunker_A5
12357        Animation       = NBBunker_A5.NBBunker_A5
12358        AnimationMode   = LOOP
12359        TransitionKey  = UP_DAY
12360      End
12361  
12362      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
12363        Model           = NBBunker_A5N
12364        Animation       = NBBunker_A5N.NBBunker_A5N
12365        AnimationMode   = LOOP
12366        TransitionKey  = UP_NIGHT
12367      End
12368      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
12369        Model           = NBBunker_A5S
12370        Animation       = NBBunker_A5S.NBBunker_A5S
12371        AnimationMode   = LOOP
12372        TransitionKey  = UP_SNOW
12373      End
12374      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
12375        Model           = NBBunker_A5SN
12376        Animation       = NBBunker_A5SN.NBBunker_A5SN
12377        AnimationMode   = LOOP
12378        TransitionKey  = UP_SNOWNIGHT
12379      End
12380      TransitionState   = DOWN_DEFAULT UP_DAY
12381        Model            = NBBunker_AB
12382        Animation       = NBBunker_AB.NBBunker_AB
12383        AnimationMode   = ONCE
12384        AnimationSpeedFactorRange = 1.0 1.0
12385        Flags           = START_FRAME_FIRST
12386      End
12387  
12388      TransitionState   = DOWN_DEFAULT UP_NIGHT
12389        Model            = NBBunker_ABN
12390        Animation       = NBBunker_ABN.NBBunker_ABN
12391        AnimationMode   = ONCE
12392        AnimationSpeedFactorRange = 1.0 1.0
12393        Flags           = START_FRAME_FIRST
12394      End
12395      TransitionState   = DOWN_DEFAULT UP_SNOW
12396        Model            = NBBunker_ABS
12397        Animation       = NBBunker_ABS.NBBunker_ABS
12398        AnimationMode   = ONCE
12399        AnimationSpeedFactorRange = 1.0 1.0
12400        Flags           = START_FRAME_FIRST
12401      End
12402      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12403        Model            = NBBunker_ABSN
12404        Animation       = NBBunker_ABSN.NBBunker_ABSN
12405        AnimationMode   = ONCE
12406        AnimationSpeedFactorRange = 1.0 1.0
12407        Flags           = START_FRAME_FIRST
12408      End
12409      TransitionState   = UP_DAY DOWN_DEFAULT
12410        Model            = NBBunker_AB
12411        Animation       = NBBunker_AB.NBBunker_AB
12412        AnimationMode   = ONCE_BACKWARDS
12413        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12414        Flags           = START_FRAME_LAST
12415      End
12416      TransitionState   = UP_NIGHT DOWN_DEFAULT
12417        Model            = NBBunker_ABN
12418        Animation       = NBBunker_ABN.NBBunker_ABN
12419        AnimationMode   = ONCE_BACKWARDS
12420        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12421        Flags           = START_FRAME_LAST
12422      End
12423      TransitionState   = UP_SNOW DOWN_DEFAULT
12424        Model            = NBBunker_ABS
12425        Animation       = NBBunker_ABS.NBBunker_ABS
12426        AnimationMode   = ONCE_BACKWARDS
12427        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12428        Flags           = START_FRAME_LAST
12429      End
12430      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12431        Model            = NBBunker_ABSN
12432        Animation       = NBBunker_ABSN.NBBunker_ABSN
12433        AnimationMode   = ONCE_BACKWARDS
12434        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12435        Flags           = START_FRAME_LAST
12436      End
12437    End
12438    
12439    PlacementViewAngle     = -135
12440  
12441    ; ***DESIGN parameters ***
12442    DisplayName      = OBJECT:Bunker
12443    Side = Boss
12444    EditorSorting     = STRUCTURE
12445    Prerequisites
12446      Object = Boss_Barracks
12447    End
12448    BuildCost         = 400
12449    BuildTime         = 5.0           ; in seconds
12450    EnergyProduction  = 0
12451    VisionRange       = 300.0         ; Shroud clearing distance
12452    ShroudClearingRange = 200
12453    ArmorSet
12454      Conditions      = None
12455      Armor           = StructureArmor
12456      DamageFX        = StructureDamageFXNoShake
12457    End
12458    CommandSet       = ChinaBunkerCommandSet
12459  
12460    ; *** AUDIO Parameters ***
12461    VoiceSelect       = BunkerSelect
12462    SoundOnDamaged        = BuildingDamagedStateLight
12463    SoundOnReallyDamaged  = BuildingDestroy
12464  
12465    UnitSpecificSounds
12466      UnderConstruction     = UnderConstructionLoop
12467    End
12468  
12469    ; *** ENGINEERING Parameters ***
12470    KindOf            = PRELOAD STRUCTURE SELECTABLE STICK_TO_TERRAIN_SLOPE IMMOBILE SCORE FS_BASE_DEFENSE GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE
12471    Body              = StructureBody ModuleTag_05
12472      MaxHealth       = 1000.0
12473      InitialHealth   = 1000.0
12474    End
12475  ;  Behavior               = FXListDie ModuleTag_07
12476  ;    DeathFX         = FX_SmallStructureDeath
12477  ;  End
12478  
12479    ExperienceValue     = 20 20 20 20  ; Experience point value at each level
12480  
12481    Behavior = GarrisonContain ModuleTag_08
12482      ContainMax                    = 5
12483      EnterSound                    = GarrisonEnter
12484      ExitSound                     = GarrisonExit
12485      ImmuneToClearBuildingAttacks  = Yes
12486    End
12487  
12488    Behavior = GenerateMinefieldBehavior     ModuleTag_09
12489      TriggeredBy           = Upgrade_ChinaMines
12490      MineName              = ChinaStandardMine
12491      SmartBorder           = Yes
12492      AlwaysCircular        = Yes
12493  
12494      Upgradable            = Yes
12495      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
12496      UpgradedMineName      = ChinaEMPMine
12497    End
12498  
12499    Behavior = ProductionUpdate ModuleTag_10
12500      ; nothing, but is required if we have any Object-level Upgrades!
12501    End
12502  
12503    Behavior = FlammableUpdate ModuleTag_12
12504      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
12505      AflameDamageAmount = 5       ; taking this much damage...
12506      AflameDamageDelay = 500       ; this often.
12507    End
12508    
12509    Behavior             = CreateObjectDie ModuleTag_13
12510      CreationList  = OCL_LargeStructureDebris
12511    End
12512    Behavior             = FXListDie ModuleTag_14
12513      DeathFX       = FX_StructureSmallDeath
12514    End
12515    Behavior = DestroyDie ModuleTag_06
12516      ;nothing
12517    End
12518  
12519    Behavior = TransitionDamageFX ModuleTag_15
12520      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
12521      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
12522      ;---------------------------------------------------------------------------------------
12523      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
12524      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
12525      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
12526    End
12527    
12528    Behavior = CommandSetUpgrade ModuleTag_25
12529      CommandSet = ChinaBunkerCommandSetUpgrade
12530      TriggeredBy = Upgrade_ChinaMines
12531    End
12532  
12533    Behavior = ArmorUpgrade ModuleTag_26
12534      TriggeredBy = Upgrade_ChinaEMPMines
12535    End
12536    
12537  
12538    Geometry            = BOX
12539    GeometryMajorRadius = 16.0
12540    GeometryMinorRadius = 16.0
12541    GeometryHeight      = 20.0
12542    GeometryIsSmall     = No
12543    Shadow              = SHADOW_VOLUME
12544    BuildCompletion     = PLACED_BY_PLAYER
12545  
12546  End
12547  
12548  
12549  
12550  
12551  
12552  
12553  
12554  
12555  
12556  
12557  
12558  
12559  
12560  
12561  
12562  
12563  
12564  
12565  
12566  
12567  
12568  
12569  
12570  
12571  
12572  
12573  
12574  
12575  
12576  
12577  
12578  
12579  
12580  
12581  
12582  
12583  
12584  
12585  
12586  
12587  
12588  
12589  
12590  
12591  
12592  
12593  
12594  ;------------------------------------------------------------------------------
12595  Object Boss_GattlingCannon
12596  
12597    ; *** ART Parameters ***
12598    SelectPortrait         = SNGatTower_L
12599    ButtonImage            = SNGatTower
12600    UpgradeCameo1           = Upgrade_ChinaChainGuns
12601    Draw                    = W3DModelDraw ModuleTag_01
12602      OkToChangeModelColor  = Yes
12603  
12604  ;--------------------- IDLE --------------------------------------------------
12605  ;-------------------------------------------------------------------------------    
12606      
12607      ; DAY
12608      DefaultConditionState 
12609        Model               = NBGattling
12610        Animation           = NBGattling_A2.NBGattling_A2
12611        AnimationMode       = MANUAL
12612        Turret              = TURRET
12613        TurretPitch         = TURRETEL
12614        WeaponFireFXBone    = PRIMARY Muzzle
12615        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12616        WeaponFireFXBone    = SECONDARY Muzzle
12617        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12618      End
12619      ConditionState        = DAMAGED
12620        Model               = NBGattling_D
12621        Animation           = NBGattling_A2.NBGattling_A2
12622        AnimationMode       = MANUAL
12623        Turret              = TURRET
12624        TurretPitch         = TURRETEL
12625        WeaponFireFXBone    = PRIMARY Muzzle
12626        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12627        WeaponFireFXBone    = SECONDARY Muzzle
12628        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12629        ParticleSysBone     = SmokeM01 SmokeFactionMedium
12630        ParticleSysBone     = SparkM01 SparksMedium
12631      End
12632      ConditionState        = REALLYDAMAGED RUBBLE
12633        Model               = NBGattling_E
12634        Animation           = NBGattling_A2.NBGattling_A2
12635        AnimationMode       = MANUAL
12636        Turret              = TURRET
12637        TurretPitch         = TURRETEL
12638        WeaponFireFXBone    = PRIMARY Muzzle
12639        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12640        WeaponFireFXBone    = SECONDARY Muzzle
12641        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12642        ParticleSysBone     = Smoke01 SmokeFactionMedium
12643        ParticleSysBone     = Smoke02 SmokeFactionMedium
12644        ParticleSysBone     = Smoke03 SmokeFactionMedium
12645        ParticleSysBone     = SparkM01 SparksMedium
12646        ParticleSysBone     = SparkM02 SparksMedium
12647      End
12648          
12649      
12650      
12651      ; NIGHT    --------------------------------------------------------------- 
12652      ConditionState        = NIGHT
12653        Model               = NBGattling_N
12654        Animation           = NBGattling_A2.NBGattling_A2
12655        AnimationMode       = MANUAL
12656        Turret              = TURRET
12657        TurretPitch         = TURRETEL
12658        WeaponFireFXBone    = PRIMARY Muzzle
12659        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12660        WeaponFireFXBone    = SECONDARY Muzzle
12661        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12662      End
12663      ConditionState        = DAMAGED NIGHT
12664        Model               = NBGattling_DN
12665        Animation           = NBGattling_A2.NBGattling_A2
12666        AnimationMode       = MANUAL
12667        Turret              = TURRET
12668        TurretPitch         = TURRETEL
12669        WeaponFireFXBone    = PRIMARY Muzzle
12670        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12671        WeaponFireFXBone    = SECONDARY Muzzle
12672        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12673        ParticleSysBone     = SmokeM01 SmokeFactionMedium
12674        ParticleSysBone     = SparkM01 SparksMedium
12675      End
12676      ConditionState        = REALLYDAMAGED RUBBLE NIGHT
12677        Model               = NBGattling_EN
12678        Animation           = NBGattling_A2.NBGattling_A2
12679        AnimationMode       = MANUAL
12680        Turret              = TURRET
12681        TurretPitch         = TURRETEL
12682        WeaponFireFXBone    = PRIMARY Muzzle
12683        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12684        WeaponFireFXBone    = SECONDARY Muzzle
12685        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12686        ParticleSysBone     = Smoke01 SmokeFactionMedium
12687        ParticleSysBone     = Smoke02 SmokeFactionMedium
12688        ParticleSysBone     = Smoke03 SmokeFactionMedium
12689        ParticleSysBone     = SparkM01 SparksMedium
12690        ParticleSysBone     = SparkM02 SparksMedium
12691      End
12692      
12693      
12694      ;SNOW    --------------------------------------------------------------- 
12695      ConditionState         = SNOW
12696        Model               = NBGattling_S
12697        Animation           = NBGattling_A2.NBGattling_A2
12698        AnimationMode       = MANUAL
12699        Turret              = TURRET
12700        TurretPitch         = TURRETEL
12701        WeaponFireFXBone    = PRIMARY Muzzle
12702        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12703        WeaponFireFXBone    = SECONDARY Muzzle
12704        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12705      End
12706      
12707      ConditionState        = DAMAGED SNOW
12708        Model               = NBGattling_DS
12709        Animation           = NBGattling_A2.NBGattling_A2
12710        AnimationMode       = MANUAL
12711        Turret              = TURRET
12712        TurretPitch         = TURRETEL
12713        WeaponFireFXBone    = PRIMARY Muzzle
12714        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12715        WeaponFireFXBone    = SECONDARY Muzzle
12716        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12717        ParticleSysBone     = SmokeM01 SmokeFactionMedium
12718        ParticleSysBone     = SparkM01 SparksMedium
12719      End
12720      
12721      ConditionState        = REALLYDAMAGED RUBBLE SNOW
12722        Model               = NBGattling_ES
12723        Animation           = NBGattling_A2.NBGattling_A2
12724        AnimationMode       = MANUAL
12725        Turret              = TURRET
12726        TurretPitch         = TURRETEL
12727        WeaponFireFXBone    = PRIMARY Muzzle
12728        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12729        WeaponFireFXBone    = SECONDARY Muzzle
12730        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12731        ParticleSysBone     = Smoke01 SmokeFactionMedium
12732        ParticleSysBone     = Smoke02 SmokeFactionMedium
12733        ParticleSysBone     = Smoke03 SmokeFactionMedium
12734        ParticleSysBone     = SparkM01 SparksMedium
12735        ParticleSysBone     = SparkM02 SparksMedium
12736      End
12737      
12738  
12739      ; NIGHT SNOW    --------------------------------------------------------------- 
12740      ConditionState         = NIGHT SNOW
12741        Model               = NBGattling_NS
12742        Animation           = NBGattling_A2.NBGattling_A2
12743        AnimationMode       = MANUAL
12744        Turret              = TURRET
12745        TurretPitch         = TURRETEL
12746        WeaponFireFXBone    = PRIMARY Muzzle
12747        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12748        WeaponFireFXBone    = SECONDARY Muzzle
12749        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12750      End
12751      
12752      ConditionState        = DAMAGED NIGHT SNOW
12753        Model               = NBGattling_DNS
12754        Animation           = NBGattling_A2.NBGattling_A2
12755        AnimationMode       = MANUAL
12756        Turret              = TURRET
12757        TurretPitch         = TURRETEL
12758        WeaponFireFXBone    = PRIMARY Muzzle
12759        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12760        WeaponFireFXBone    = SECONDARY Muzzle
12761        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12762        ParticleSysBone     = SmokeM01 SmokeFactionMedium
12763        ParticleSysBone     = SparkM01 SparksMedium
12764      End
12765      
12766      ConditionState        = REALLYDAMAGED RUBBLE NIGHT SNOW
12767        Model               = NBGattling_ENS
12768        Animation           = NBGattling_A2.NBGattling_A2
12769        AnimationMode       = MANUAL
12770        Turret              = TURRET
12771        TurretPitch         = TURRETEL
12772        WeaponFireFXBone    = PRIMARY Muzzle
12773        WeaponMuzzleFlash   = PRIMARY MuzzleFX
12774        WeaponFireFXBone    = SECONDARY Muzzle
12775        WeaponMuzzleFlash   = SECONDARY MuzzleFX
12776        ParticleSysBone     = Smoke01 SmokeFactionMedium
12777        ParticleSysBone     = Smoke02 SmokeFactionMedium
12778        ParticleSysBone     = Smoke03 SmokeFactionMedium
12779        ParticleSysBone     = SparkM01 SparksMedium
12780        ParticleSysBone     = SparkM02 SparksMedium
12781      End
12782      
12783  
12784      
12785  ;---------------- ATTACKING ----------------------------------
12786  ;-------------------------------------------------------------
12787     ; DAY   
12788     ConditionState        = ATTACKING
12789        Model               = NBGattling
12790        Animation           = NBGattling_A2.NBGattling_A2
12791        AnimationMode       = LOOP
12792        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12793      End
12794      ConditionState        = ATTACKING DAMAGED
12795        Model               = NBGattling_D
12796        Animation           = NBGattling_A2.NBGattling_A2
12797        AnimationMode       = LOOP
12798        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12799      End
12800      ConditionState        = ATTACKING REALLYDAMAGED
12801        Model               = NBGattling_E
12802        Animation           = NBGattling_A2.NBGattling_A2
12803        AnimationMode       = LOOP
12804        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12805      End
12806      
12807      
12808      
12809      ;NIGHT     ---------------------------------------------------------------
12810      ConditionState        = ATTACKING NIGHT
12811        Model               = NBGattling_N
12812        Animation           = NBGattling_A2.NBGattling_A2
12813        AnimationMode       = LOOP
12814        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12815      End
12816      
12817      ConditionState        = ATTACKING DAMAGED NIGHT
12818        Model               = NBGattling_DN
12819        Animation           = NBGattling_A2.NBGattling_A2
12820        AnimationMode       = LOOP
12821        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12822      End
12823      
12824      ConditionState        = ATTACKING REALLYDAMAGED NIGHT
12825        Model               = NBGattling_EN
12826        Animation           = NBGattling_A2.NBGattling_A2
12827        AnimationMode       = LOOP
12828        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12829      End
12830      
12831      
12832      
12833      
12834      ;SNOW     ---------------------------------------------------------------
12835      ConditionState        = ATTACKING SNOW
12836        Model               = NBGattling_S
12837        Animation           = NBGattling_A2.NBGattling_A2
12838        AnimationMode       = LOOP
12839        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12840      End
12841      
12842      ConditionState        = ATTACKING DAMAGED SNOW
12843        Model               = NBGattling_DS
12844        Animation           = NBGattling_A2.NBGattling_A2
12845        AnimationMode       = LOOP
12846        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12847      End
12848      
12849      ConditionState        = ATTACKING REALLYDAMAGED SNOW
12850        Model               = NBGattling_ES
12851        Animation           = NBGattling_A2.NBGattling_A2
12852        AnimationMode       = LOOP
12853        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12854      End
12855      
12856      
12857      
12858      ;SNOW NIGHT  ---------------------------------------------------------------
12859      ConditionState        = ATTACKING NIGHT SNOW
12860        Model               = NBGattling_NS
12861        Animation           = NBGattling_A2.NBGattling_A2
12862        AnimationMode       = LOOP
12863        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12864      End
12865      
12866      ConditionState        = ATTACKING DAMAGED SNOW NIGHT
12867        Model               = NBGattling_DNS
12868        Animation           = NBGattling_A2.NBGattling_A2
12869        AnimationMode       = LOOP
12870        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12871      End
12872      
12873      ConditionState        = ATTACKING REALLYDAMAGED NIGHT SNOW
12874        Model               = NBGattling_ENS
12875        Animation           = NBGattling_A2.NBGattling_A2
12876        AnimationMode       = LOOP
12877        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
12878      End
12879      
12880  ;---------------- CONTINUOUS_FIRE_SLOW -----------------------
12881  ;-------------------------------------------------------------
12882     ; DAY   
12883     ConditionState        = CONTINUOUS_FIRE_SLOW ATTACKING
12884        Model               = NBGattling
12885        Animation           = NBGattling_A2.NBGattling_A2
12886        AnimationMode       = LOOP
12887        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12888      End
12889      ConditionState        = CONTINUOUS_FIRE_SLOW DAMAGED ATTACKING
12890        Model               = NBGattling_D
12891        Animation           = NBGattling_A2.NBGattling_A2
12892        AnimationMode       = LOOP
12893        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12894      End
12895      ConditionState        = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING
12896        Model               = NBGattling_E
12897        Animation           = NBGattling_A2.NBGattling_A2
12898        AnimationMode       = LOOP
12899        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12900      End
12901      
12902      
12903      
12904      ;NIGHT     ---------------------------------------------------------------
12905      ConditionState        = CONTINUOUS_FIRE_SLOW NIGHT ATTACKING
12906        Model               = NBGattling_N
12907        Animation           = NBGattling_A2.NBGattling_A2
12908        AnimationMode       = LOOP
12909        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12910      End
12911      
12912      ConditionState        = CONTINUOUS_FIRE_SLOW DAMAGED NIGHT ATTACKING
12913        Model               = NBGattling_DN
12914        Animation           = NBGattling_A2.NBGattling_A2
12915        AnimationMode       = LOOP
12916        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12917      End
12918      
12919      ConditionState        = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT ATTACKING
12920        Model               = NBGattling_EN
12921        Animation           = NBGattling_A2.NBGattling_A2
12922        AnimationMode       = LOOP
12923        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12924      End
12925      
12926      
12927      
12928      
12929      ;SNOW     ---------------------------------------------------------------
12930      ConditionState        = CONTINUOUS_FIRE_SLOW SNOW ATTACKING
12931        Model               = NBGattling_S
12932        Animation           = NBGattling_A2.NBGattling_A2
12933        AnimationMode       = LOOP
12934        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12935      End
12936      
12937      ConditionState        = CONTINUOUS_FIRE_SLOW DAMAGED SNOW ATTACKING
12938        Model               = NBGattling_DS
12939        Animation           = NBGattling_A2.NBGattling_A2
12940        AnimationMode       = LOOP
12941        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12942      End
12943      
12944      ConditionState        = CONTINUOUS_FIRE_SLOW REALLYDAMAGED SNOW ATTACKING
12945        Model               = NBGattling_ES
12946        Animation           = NBGattling_A2.NBGattling_A2
12947        AnimationMode       = LOOP
12948        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12949      End
12950      
12951      
12952      
12953      ;SNOW NIGHT  ---------------------------------------------------------------
12954      ConditionState        = CONTINUOUS_FIRE_SLOW NIGHT SNOW ATTACKING
12955        Model               = NBGattling_NS
12956        Animation           = NBGattling_A2.NBGattling_A2
12957        AnimationMode       = LOOP
12958        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12959      End
12960      
12961      ConditionState        = CONTINUOUS_FIRE_SLOW DAMAGED SNOW NIGHT ATTACKING
12962        Model               = NBGattling_DNS
12963        Animation           = NBGattling_A2.NBGattling_A2
12964        AnimationMode       = LOOP
12965        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12966      End
12967      
12968      ConditionState        = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT SNOW ATTACKING
12969        Model               = NBGattling_ENS
12970        Animation           = NBGattling_A2.NBGattling_A2
12971        AnimationMode       = LOOP
12972        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
12973      End
12974      
12975      
12976      
12977      
12978  ;------------- CONTINUOUS_FIRE_MEAN ------------------------
12979  ;-----------------------------------------------------------
12980      ;DAY
12981      ConditionState       = CONTINUOUS_FIRE_MEAN ATTACKING
12982        Model               = NBGattling
12983        Animation           = NBGattling_A2.NBGattling_A2
12984        AnimationMode       = LOOP
12985        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
12986      End
12987       ConditionState       = CONTINUOUS_FIRE_MEAN DAMAGED ATTACKING
12988        Model               = NBGattling_D
12989        Animation           = NBGattling_A2.NBGattling_A2
12990        AnimationMode       = LOOP
12991        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
12992      End
12993      ConditionState       = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING
12994        Model               = NBGattling_E
12995        Animation           = NBGattling_A2.NBGattling_A2
12996        AnimationMode       = LOOP
12997        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
12998      End
12999      
13000      
13001      
13002      ;NIGHT    ---------------------------------------------------------------
13003      ConditionState       = CONTINUOUS_FIRE_MEAN NIGHT ATTACKING
13004        Model               = NBGattling_N
13005        Animation           = NBGattling_A2.NBGattling_A2
13006        AnimationMode       = LOOP
13007        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13008      End
13009      ConditionState       = CONTINUOUS_FIRE_MEAN DAMAGED NIGHT ATTACKING
13010        Model               = NBGattling_DN
13011        Animation           = NBGattling_A2.NBGattling_A2
13012        AnimationMode       = LOOP
13013        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13014      End
13015      ConditionState        = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT ATTACKING
13016        Model               = NBGattling_EN
13017        Animation           = NBGattling_A2.NBGattling_A2
13018        AnimationMode       = LOOP
13019        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  vryfst
13020        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13021        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13022      End
13023      
13024      
13025      ;SNOW    ---------------------------------------------------------------
13026      ConditionState       = CONTINUOUS_FIRE_MEAN SNOW ATTACKING
13027        Model               = NBGattling_S
13028        Animation           = NBGattling_A2.NBGattling_A2
13029        AnimationMode       = LOOP
13030        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13031      End
13032      ConditionState       = CONTINUOUS_FIRE_MEAN DAMAGED SNOW ATTACKING
13033        Model               = NBGattling_DS
13034        Animation           = NBGattling_A2.NBGattling_A2
13035        AnimationMode       = LOOP
13036        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13037      End
13038      ConditionState        = CONTINUOUS_FIRE_FAST REALLYDAMAGED SNOW ATTACKING
13039        Model               = NBGattling_ES
13040        Animation           = NBGattling_A2.NBGattling_A2
13041        AnimationMode       = LOOP
13042        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  vryfst
13043        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13044        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13045      End
13046        
13047      
13048      ;NIGHT SNOW ---------------------------------------------------------------
13049      ConditionState       = CONTINUOUS_FIRE_MEAN NIGHT SNOW ATTACKING
13050        Model               = NBGattling_NS
13051        Animation           = NBGattling_A2.NBGattling_A2
13052        AnimationMode       = LOOP
13053        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13054      End
13055      ConditionState       = CONTINUOUS_FIRE_MEAN DAMAGED SNOW NIGHT ATTACKING
13056        Model               = NBGattling_DNS
13057        Animation           = NBGattling_A2.NBGattling_A2
13058        AnimationMode       = LOOP
13059        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13060      End
13061      ConditionState       = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT SNOW ATTACKING
13062        Model               = NBGattling_ENS
13063        Animation           = NBGattling_A2.NBGattling_A2
13064        AnimationMode       = LOOP
13065        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
13066      End
13067      
13068  
13069  
13070  
13071  
13072  
13073  ;------------- CONTINUOUS_FIRE_FAST ------------------------
13074      ;DAY  
13075      ConditionState        = CONTINUOUS_FIRE_FAST ATTACKING
13076        Model               = NBGattling
13077        Animation           = NBGattling_A2.NBGattling_A2
13078        AnimationMode       = LOOP
13079        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13080        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13081        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13082      End
13083      ConditionState        = CONTINUOUS_FIRE_FAST DAMAGED ATTACKING
13084        Model               = NBGattling_D
13085        Animation           = NBGattling_A2.NBGattling_A2
13086        AnimationMode       = LOOP
13087        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13088        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13089        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13090      End
13091      ConditionState        = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING
13092        Model               = NBGattling_E
13093        Animation           = NBGattling_A2.NBGattling_A2
13094        AnimationMode       = LOOP
13095        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13096        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13097        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13098      End
13099      
13100      
13101      
13102      ;NIGHT     ---------------------------------------------------------------
13103      ConditionState        = CONTINUOUS_FIRE_FAST NIGHT ATTACKING
13104        Model               = NBGattling_N
13105        Animation           = NBGattling_A2.NBGattling_A2
13106        AnimationMode       = LOOP
13107        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13108        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13109        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13110      End
13111      ConditionState        = CONTINUOUS_FIRE_FAST DAMAGED NIGHT ATTACKING
13112        Model               = NBGattling_DN
13113        Animation           = NBGattling_A2.NBGattling_A2
13114        AnimationMode       = LOOP
13115        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13116        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13117        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13118      End
13119       ConditionState       = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT ATTACKING
13120        Model               = NBGattling_EN
13121        Animation           = NBGattling_A2.NBGattling_A2
13122        AnimationMode       = LOOP
13123        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13124        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13125        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13126      End
13127      
13128      
13129      ;SNOW      ---------------------------------------------------------------
13130      ConditionState        = CONTINUOUS_FIRE_FAST SNOW ATTACKING
13131        Model               = NBGattling_S
13132        Animation           = NBGattling_A2.NBGattling_A2
13133        AnimationMode       = LOOP
13134        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13135        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13136        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13137      End
13138      ConditionState        = CONTINUOUS_FIRE_FAST DAMAGED SNOW ATTACKING
13139        Model               = NBGattling_NS
13140        Animation           = NBGattling_A2.NBGattling_A2
13141        AnimationMode       = LOOP
13142        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13143        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13144        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13145      End
13146      ConditionState       = CONTINUOUS_FIRE_MEAN REALLYDAMAGED SNOW ATTACKING
13147        Model               = NBGattling_ES
13148        Animation           = NBGattling_A2.NBGattling_A2
13149        AnimationMode       = LOOP
13150        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13151      End
13152      
13153      
13154      ;NIGHT SNOW ---------------------------------------------------------------
13155      ConditionState        = CONTINUOUS_FIRE_FAST NIGHT SNOW ATTACKING
13156        Model               = NBGattling_NS
13157        Animation           = NBGattling_A2.NBGattling_A2
13158  
13159        AnimationMode       = LOOP
13160        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13161        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13162        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13163      End
13164      ConditionState        = CONTINUOUS_FIRE_FAST DAMAGED SNOW NIGHT ATTACKING
13165        Model               = NBGattling_DNS
13166        Animation           = NBGattling_A2.NBGattling_A2
13167        AnimationMode       = LOOP
13168        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13169        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13170        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke
13171      End
13172      ConditionState        = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT SNOW ATTACKING
13173        Model               = NBGattling_ENS
13174        Animation           = NBGattling_A2.NBGattling_A2
13175        AnimationMode       = LOOP
13176        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
13177        ParticleSysBone    = Muzzle01 GattlingMuzzleSmoke
13178        ParticleSysBone    = Muzzle02 GattlingMuzzleSmoke  
13179      End
13180      
13181  
13182  
13183      
13184         ;**************************************************************************************************************************
13185      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13186      ;for this draw module
13187      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13188        Model              = NBGattling
13189        Animation          = NBGattling_A2.NBGattling_A2
13190        AnimationMode      = LOOP
13191        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13192      End
13193      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13194        Model              = NBGattling_D
13195        Animation          = NBGattling_A2.NBGattling_A2
13196        AnimationMode      = LOOP
13197        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13198      End
13199      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13200        Model              = NBGattling_E
13201        Animation          = NBGattling_A2.NBGattling_A2
13202        AnimationMode      = LOOP
13203        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13204      End
13205      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13206        Model              = NBGattling_N
13207        Animation          = NBGattling_A2.NBGattling_A2
13208        AnimationMode      = LOOP
13209        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13210      End
13211      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13212        Model              = NBGattling_DN
13213        Animation          = NBGattling_A2.NBGattling_A2
13214        AnimationMode      = LOOP
13215        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13216      End
13217      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13218        Model              = NBGattling_EN
13219        Animation          = NBGattling_A2.NBGattling_A2
13220        AnimationMode      = LOOP
13221        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13222      End
13223      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13224        Model              = NBGattling_S
13225        Animation          = NBGattling_A2.NBGattling_A2
13226        AnimationMode      = LOOP
13227        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13228      End
13229      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13230        Model              = NBGattling_DS
13231        Animation          = NBGattling_A2.NBGattling_A2
13232        AnimationMode      = LOOP
13233        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13234      End
13235      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13236        Model              = NBGattling_ES
13237        Animation          = NBGattling_A2.NBGattling_A2
13238        AnimationMode      = LOOP
13239        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13240      End
13241      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13242        Model              = NBGattling_NS
13243        Animation          = NBGattling_A2.NBGattling_A2
13244        AnimationMode      = LOOP
13245        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13246      End
13247      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13248        Model              = NBGattling_DNS
13249        Animation          = NBGattling_A2.NBGattling_A2
13250        AnimationMode      = LOOP
13251        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13252      End
13253      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13254        Model              = NBGattling_ENS
13255        Animation          = NBGattling_A2.NBGattling_A2
13256        AnimationMode      = LOOP
13257        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13258      End
13259  
13260      ConditionState       = AWAITING_CONSTRUCTION 
13261        Model              = NONE
13262      End
13263      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13264      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13265      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13266      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13267      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13268      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13269      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13270      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13271      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13272      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13273      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13274      AliasConditionState  = SOLD 
13275      AliasConditionState  = SOLD DAMAGED
13276      AliasConditionState  = SOLD REALLYDAMAGED
13277      AliasConditionState  = SOLD NIGHT
13278      AliasConditionState  = SOLD NIGHT DAMAGED
13279      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13280      AliasConditionState  = SOLD SNOW
13281      AliasConditionState  = SOLD SNOW DAMAGED
13282      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13283      AliasConditionState  = SOLD NIGHT SNOW
13284      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13285      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13286      ;**************************************************************************************************************************
13287     
13288    End
13289    
13290    
13291  
13292  
13293    ; ------------ construction-zone fence -----------------
13294    Draw = W3DModelDraw ModuleTag_02
13295    AnimationsRequirePower = No
13296  
13297      DefaultConditionState
13298        Model           = None
13299        TransitionKey   = DOWN_DEFAULT
13300      End
13301      ConditionState    = NIGHT
13302        Model           = None
13303        TransitionKey   = DOWN_DEFAULT
13304      End
13305      ConditionState    = SNOW
13306        Model           = None
13307        TransitionKey   = DOWN_DEFAULT
13308      End
13309      ConditionState    = SNOW NIGHT
13310        Model           = None
13311        TransitionKey   = DOWN_DEFAULT
13312      End
13313      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13314        Model           = NBGattling_A4
13315        Animation       = NBGattling_A4.NBGattling_A4
13316        AnimationMode   = MANUAL
13317        Flags           = START_FRAME_LAST
13318        TransitionKey   = UP_DAY
13319      End
13320      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13321        Model           = NBGattling_A4N
13322        Animation       = NBGattling_A4N.NBGattling_A4N
13323        AnimationMode   = MANUAL
13324        Flags           = START_FRAME_LAST
13325        TransitionKey   = UP_NIGHT
13326      End
13327      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13328        Model           = NBGattling_A4S
13329        Animation       = NBGattling_A4S.NBGattling_A4S
13330        AnimationMode   = MANUAL
13331        Flags           = START_FRAME_LAST
13332        TransitionKey   = UP_SNOW
13333      End
13334      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13335        Model           = NBGattling_A4SN
13336        Animation       = NBGattling_A4SN.NBGattling_A4SN
13337        AnimationMode   = MANUAL
13338        Flags           = START_FRAME_LAST
13339        TransitionKey   = UP_SNOWNIGHT
13340      End
13341      TransitionState   = DOWN_DEFAULT UP_DAY
13342        Model           = NBGattling_A4
13343        Animation       = NBGattling_A4.NBGattling_A4
13344        AnimationMode   = ONCE
13345        AnimationSpeedFactorRange = 1.0 1.0
13346        Flags           = START_FRAME_FIRST
13347      End
13348      TransitionState   = DOWN_DEFAULT UP_NIGHT
13349        Model           = NBGattling_A4N
13350        Animation       = NBGattling_A4N.NBGattling_A4N
13351        AnimationMode   = ONCE
13352        AnimationSpeedFactorRange = 1.0 1.0
13353        Flags           = START_FRAME_FIRST
13354      End
13355      TransitionState   = DOWN_DEFAULT UP_SNOW
13356        Model           = NBGattling_A4S
13357        Animation       = NBGattling_A4S.NBGattling_A4S
13358        AnimationMode   = ONCE
13359        AnimationSpeedFactorRange = 1.0 1.0
13360        Flags           = START_FRAME_FIRST
13361      End
13362      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13363        Model           = NBGattling_A4SN
13364        Animation       = NBGattling_A4SN.NBGattling_A4SN
13365        AnimationMode   = ONCE
13366        AnimationSpeedFactorRange = 1.0 1.0
13367        Flags           = START_FRAME_FIRST
13368      End
13369      TransitionState   = UP_DAY DOWN_DEFAULT
13370        Model           = NBGattling_A4
13371        Animation       = NBGattling_A4.NBGattling_A4
13372        AnimationMode   = ONCE_BACKWARDS
13373        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13374        Flags           = START_FRAME_LAST
13375      End
13376      TransitionState   = UP_NIGHT DOWN_DEFAULT
13377        Model           = NBGattling_A4N
13378        Animation       = NBGattling_A4N.NBGattling_A4N
13379        AnimationMode   = ONCE_BACKWARDS
13380        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13381        Flags           = START_FRAME_LAST
13382      End
13383      TransitionState   = UP_SNOW DOWN_DEFAULT
13384        Model           = NBGattling_A4S
13385        Animation       = NBGattling_A4S.NBGattling_A4S
13386        AnimationMode   = ONCE_BACKWARDS
13387        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13388        Flags           = START_FRAME_LAST
13389      End
13390      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13391        Model           = NBGattling_A4SN
13392        Animation       = NBGattling_A4SN.NBGattling_A4SN
13393        AnimationMode   = ONCE_BACKWARDS
13394        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13395        Flags           = START_FRAME_LAST
13396      End
13397    End
13398  
13399    ; ------------ under-construction scaffolding -----------------
13400    Draw = W3DModelDraw ModuleTag_03
13401    AnimationsRequirePower = No
13402      MinLODRequired = MEDIUM
13403      DefaultConditionState
13404        Model           = None
13405        TransitionKey   = DOWN_DEFAULT
13406      End
13407      ConditionState    = NIGHT
13408        Model           = None
13409        TransitionKey   = DOWN_DEFAULT
13410      End
13411      ConditionState    = SNOW
13412        Model           = None
13413        TransitionKey   = DOWN_DEFAULT
13414      End
13415      ConditionState    = SNOW NIGHT
13416        Model           = None
13417        TransitionKey   = DOWN_DEFAULT
13418      End
13419      ConditionState    = PARTIALLY_CONSTRUCTED
13420        Model           = NBGattling_A6
13421        Animation       = NBGattling_A6.NBGattling_A6
13422        AnimationMode   = MANUAL
13423        Flags           = START_FRAME_LAST
13424        TransitionKey   = UP_DAY
13425        ParticleSysBone = Smoke01 BuildUpSmokeChina
13426        ParticleSysBone = Smoke02 BuildUpSmokeChina
13427        ParticleSysBone = Smoke03 BuildUpSmokeChina
13428      End
13429      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
13430        Model           = NBGattling_A6N
13431        Animation       = NBGattling_A6N.NBGattling_A6N
13432        AnimationMode   = MANUAL
13433        Flags           = START_FRAME_LAST
13434        TransitionKey   = UP_NIGHT
13435        ParticleSysBone = Smoke01 BuildUpSmokeChina
13436        ParticleSysBone = Smoke02 BuildUpSmokeChina
13437        ParticleSysBone = Smoke03 BuildUpSmokeChina
13438      End
13439      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
13440        Model           = NBGattling_A6S
13441        Animation       = NBGattling_A6S.NBGattling_A6S
13442        AnimationMode   = MANUAL
13443        Flags           = START_FRAME_LAST
13444        TransitionKey   = UP_SNOW
13445        ParticleSysBone = Smoke01 BuildUpSnowSmoke
13446        ParticleSysBone = Smoke02 BuildUpSnowSmoke
13447        ParticleSysBone = Smoke03 BuildUpSnowSmoke
13448      End
13449      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
13450        Model           = NBGattling_A6SN
13451        Animation       = NBGattling_A6SN.NBGattling_A6SN
13452        AnimationMode   = MANUAL
13453        Flags           = START_FRAME_LAST
13454        TransitionKey   = UP_SNOWNIGHT
13455        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
13456        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
13457        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
13458      End
13459      TransitionState   = DOWN_DEFAULT UP_DAY
13460       Model            = NBGattling_A6
13461        Animation       = NBGattling_A6.NBGattling_A6
13462        AnimationMode   = ONCE
13463        AnimationSpeedFactorRange = 1.0 1.0
13464        Flags           = START_FRAME_FIRST
13465      End
13466      TransitionState   = DOWN_DEFAULT UP_NIGHT
13467       Model            = NBGattling_A6N
13468        Animation       = NBGattling_A6N.NBGattling_A6N
13469        AnimationMode   = ONCE
13470        AnimationSpeedFactorRange = 1.0 1.0
13471        Flags           = START_FRAME_FIRST
13472      End
13473      TransitionState   = DOWN_DEFAULT UP_SNOW
13474       Model            = NBGattling_A6S
13475        Animation       = NBGattling_A6S.NBGattling_A6S
13476        AnimationMode   = ONCE
13477        AnimationSpeedFactorRange = 1.0 1.0
13478        Flags           = START_FRAME_FIRST
13479      End
13480      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13481       Model            = NBGattling_A6SN
13482        Animation       = NBGattling_A6SN.NBGattling_A6SN
13483        AnimationMode   = ONCE
13484        AnimationSpeedFactorRange = 1.0 1.0
13485        Flags           = START_FRAME_FIRST
13486      End
13487      TransitionState   = UP_DAY DOWN_DEFAULT
13488        Model           = NBGattling_A6
13489        Animation       = NBGattling_A6.NBGattling_A6
13490        AnimationMode   = ONCE_BACKWARDS
13491        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13492        Flags           = START_FRAME_LAST
13493      End
13494      TransitionState   = UP_NIGHT DOWN_DEFAULT
13495        Model           = NBGattling_A6N
13496        Animation       = NBGattling_A6N.NBGattling_A6N
13497        AnimationMode   = ONCE_BACKWARDS
13498        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13499        Flags           = START_FRAME_LAST
13500      End
13501      TransitionState   = UP_SNOW DOWN_DEFAULT
13502        Model           = NBGattling_A6S
13503        Animation       = NBGattling_A6S.NBGattling_A6S
13504        AnimationMode   = ONCE_BACKWARDS
13505        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13506        Flags           = START_FRAME_LAST
13507      End
13508      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13509        Model           = NBGattling_A6SN
13510        Animation       = NBGattling_A6SN.NBGattling_A6SN
13511        AnimationMode   = ONCE_BACKWARDS
13512        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13513        Flags           = START_FRAME_LAST
13514      End
13515    End
13516  
13517    PlacementViewAngle = -45
13518  
13519    ; ***DESIGN parameters ***
13520    DisplayName      = OBJECT:GattlingCannon
13521    Side             = Boss
13522    EditorSorting    = STRUCTURE
13523    Prerequisites
13524      Object         = Boss_Barracks
13525    End
13526    BuildCost        = 1200
13527    BuildTime        = 25.0           ; in seconds
13528    EnergyProduction = -3
13529  
13530    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
13531  
13532    WeaponSet
13533      Conditions          = None 
13534      Weapon              = PRIMARY GattlingBuildingGun
13535      AutoChooseSources   = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT
13536      Weapon              = SECONDARY GattlingBuildingGunAir
13537      AutoChooseSources   = SECONDARY FROM_PLAYER FROM_AI FROM_SCRIPT
13538      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
13539    End
13540    
13541    VisionRange      = 360.0           ; Shroud clearing distance AND targeting range
13542    ShroudClearingRange = 360
13543    
13544    ArmorSet
13545      Conditions     = None
13546      Armor          = BaseDefenseArmor
13547      DamageFX       = StructureDamageFXNoShake
13548    End
13549    CommandSet       = ChinaGattlingCannonCommandSet
13550  
13551    ;Behavior = AIUpdateInterface ModuleTag_20
13552    ;  AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
13553    ;  MoodAttackCheckRate        = 250
13554    ;End
13555  
13556    ; *** AUDIO Parameters ***
13557    VoiceSelect      = GattlingCannonSelect
13558    SoundOnDamaged        = BuildingDamagedStateLight
13559    SoundOnReallyDamaged  = BuildingDestroy
13560  
13561    UnitSpecificSounds
13562      UnderConstruction     = UnderConstructionLoop
13563      VoiceRapidFire        = NoSound
13564    End
13565  
13566    UnitSpecificSounds
13567      TurretMoveStart = NoSound
13568      TurretMoveLoop  = NoSound ;These aren't playing properly (mdp) TurretMoveLoopLoud
13569    End
13570  
13571    ; *** ENGINEERING Parameters ***
13572    RadarPriority     = STRUCTURE
13573    KindOf            = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE
13574    Body              = StructureBody ModuleTag_05
13575      MaxHealth       = 1000.0
13576      InitialHealth   = 1000.0
13577  
13578      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
13579      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
13580      SubdualDamageCap = 1200
13581      SubdualDamageHealRate = 500
13582      SubdualDamageHealAmount = 100
13583    End
13584  
13585    Behavior = StealthDetectorUpdate ModuleTag_13
13586      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
13587      DetectionRange   = 200   ;Dustin, enable this for independant balancing!
13588      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
13589      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
13590    End
13591  
13592    Behavior = GenerateMinefieldBehavior     ModuleTag_04
13593      TriggeredBy           = Upgrade_ChinaMines
13594      MineName              = ChinaStandardMine
13595      SmartBorder           = Yes
13596      AlwaysCircular        = Yes
13597  
13598      Upgradable            = Yes
13599      UpgradedTriggeredBy   = Upgrade_ChinaEMPMines
13600      UpgradedMineName      = ChinaEMPMine
13601    End
13602  
13603    Behavior = AIUpdateInterface ModuleTag_06
13604      Turret
13605        ControlledWeaponSlots = PRIMARY SECONDARY
13606        TurretTurnRate      = 180   // turn rate, in degrees per sec
13607        TurretPitchRate     = 180
13608        AllowsPitch         = Yes
13609        FiresWhileTurning   = Yes
13610        NaturalTurretPitch  = 45 ; this keeps it aimed half way between land and sky
13611        MinIdleScanInterval   = 250    ; in milliseconds
13612        MaxIdleScanInterval   = 250   ; in milliseconds
13613        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
13614        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
13615      End
13616      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
13617      MoodAttackCheckRate        = 250
13618    End
13619  
13620    Behavior = ProductionUpdate ModuleTag_07
13621      ; nothing, but is required if we have any Object-level Upgrades!
13622    End
13623  
13624    Behavior             = DestroyDie ModuleTag_08
13625      ;nothing
13626    End
13627    Behavior             = FXListDie ModuleTag_09
13628      DeathFX       = FX_StructureTinyDeath
13629    End
13630  
13631    Behavior = ProductionUpdate ModuleTag_10
13632      ; nothing
13633    End
13634    
13635    Behavior        = CreateObjectDie ModuleTag_11
13636      CreationList  = OCL_LargeStructureDebris
13637    End
13638  
13639    Behavior = FlammableUpdate ModuleTag_12
13640      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
13641      AflameDamageAmount = 5       ; taking this much damage...
13642      AflameDamageDelay = 500       ; this often.
13643    End
13644  
13645    Behavior = TransitionDamageFX ModuleTag_14
13646      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
13647      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
13648      ;---------------------------------------------------------------------------------------
13649      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
13650      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
13651      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
13652    End
13653  
13654    Behavior = WeaponBonusUpgrade ModuleTag_15
13655      TriggeredBy = Upgrade_ChinaChainGuns
13656    End
13657  
13658    Behavior = CommandSetUpgrade ModuleTag_25
13659      CommandSet = ChinaGattlingCannonCommandSetUpgrade
13660      TriggeredBy = Upgrade_ChinaMines
13661    End
13662  
13663    Behavior = ArmorUpgrade ModuleTag_26
13664      TriggeredBy = Upgrade_ChinaEMPMines
13665    End
13666    
13667  
13668    Geometry            = BOX
13669    GeometryMajorRadius = 8.0
13670    GeometryMinorRadius = 8.0
13671    GeometryHeight      = 20.0
13672    GeometryIsSmall     = No      
13673    Shadow              = SHADOW_VOLUME
13674    BuildCompletion     = PLACED_BY_PLAYER
13675  
13676  End
13677  
13678  
13679  
13680  
13681  ;------------------------------------------------------------------------------
13682  ;China Supply Truck
13683  Object Boss_VehicleSupplyTruck
13684  
13685    ; *** ART Parameters ***
13686    
13687    SelectPortrait         = SNSupplyTruck_L
13688    ButtonImage            = SNSupplyTruck
13689    
13690    ;UpgradeCameo1 = NONE
13691    ;UpgradeCameo2 = NONE
13692    ;UpgradeCameo3 = NONE
13693    ;UpgradeCameo4 = NONE
13694    ;UpgradeCameo5 = NONE
13695    
13696    Draw = W3DTruckDraw ModuleTag_01
13697      OkToChangeModelColor = Yes
13698      
13699      DefaultConditionState
13700        Model           = NVSSUPPLYTK
13701        HideSubObject   = Cargo01
13702      End
13703      
13704      ConditionState    = REALLYDAMAGED
13705        Model           = NVSSUPPLYTK_D
13706      End
13707      
13708      ConditionState    = RUBBLE
13709        Model           = NVSSUPPLYTK_D
13710      End
13711      
13712      ConditionState    = CARRYING
13713        ShowSubObject   = Cargo01
13714      End
13715      
13716      ConditionState    = REALLYDAMAGED CARRYING
13717        Model           = NVSSUPPLYTK_D
13718        ShowSubObject   = Cargo01
13719      End
13720      
13721      ConditionState    = RUBBLE CARRYING
13722        Model           = NVSSUPPLYTK_D
13723        ShowSubObject   = Cargo01
13724      End
13725      
13726      TrackMarks              = EXTireTrack.tga
13727  
13728      LeftFrontTireBone           = Tire01
13729      RightFrontTireBone          = Tire02
13730      MidLeftRearTireBone         = Tire03
13731      MidRightRearTireBone        = Tire04
13732      LeftRearTireBone            = Tire05
13733      RightRearTireBone           = Tire06
13734      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
13735      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
13736  
13737      Dust                    = RocketBuggyDust
13738      DirtSpray               = RocketBuggyDirtSpray
13739      PowerslideSpray         = RocketBuggyDirtPowerSlide
13740  
13741    End
13742  
13743    ; ***DESIGN parameters ***
13744    DisplayName         = OBJECT:SupplyTruck
13745    Side                = Boss
13746    EditorSorting       = VEHICLE
13747    TransportSlotCount  = 2                 ;how many "slots" we take in a transport (0 == not transportable)
13748    BuildCost           = 600
13749    BuildTime           = 10.0      ;in seconds
13750    VisionRange         = 150
13751    ShroudClearingRange = 300
13752    Prerequisites
13753      Object = Boss_SupplyCenter
13754    End
13755  
13756    ArmorSet
13757      Conditions      = None
13758      Armor           = TruckArmor
13759      DamageFX        = TankDamageFX
13760    End
13761    CrusherLevel            = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
13762    CrushableLevel          = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
13763    CommandSet              = ChinaSupplyTruckCommandSet
13764    ; *** AUDIO Parameters ***
13765    VoiceSelect             = SupplyTruckVoiceSelect
13766    VoiceMove               = SupplyTruckVoiceMove
13767    VoiceAttack             = NoSound
13768    SoundMoveStart          = SupplyTruckMoveStart
13769    SoundMoveStartDamaged = SupplyTruckMoveStart
13770    UnitSpecificSounds
13771      VoiceCreate           = SupplyTruckVoiceCreate
13772      TruckLandingSound     = NoSound
13773      TruckPowerslideSound  = NoSound
13774      VoiceSupply           = SupplyTruckVoiceSupply
13775      VoiceCrush            = SupplyTruckVoiceCrush
13776      VoiceEnter            = SupplyTruckVoiceMove
13777  
13778    End
13779  
13780    ; *** ENGINEERING Parameters ***
13781    RadarPriority = UNIT
13782    ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok?
13783    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE HARVESTER SCORE
13784    
13785    Body = ActiveBody ModuleTag_02
13786      MaxHealth       = 300.0
13787      InitialHealth   = 300.0
13788  
13789      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
13790      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
13791      SubdualDamageCap = 600
13792      SubdualDamageHealRate = 500
13793      SubdualDamageHealAmount = 50
13794    End
13795    Behavior = SupplyTruckAIUpdate ModuleTag_03
13796      MaxBoxes = 4
13797      SupplyCenterActionDelay = 400     ; ms for whole thing (one transaction)
13798      SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions)
13799      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)
13800      SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted
13801    End
13802    Locomotor = SET_NORMAL SupplyTruckLocomotor
13803    Behavior = PhysicsBehavior ModuleTag_04
13804      Mass = 5.0
13805    End
13806  
13807    ExperienceValue    = 50 50 50 50 ;Experience point value at each level
13808  
13809    Behavior = SlowDeathBehavior ModuleTag_05
13810      DeathTypes = ALL -CRUSHED -SPLATTED
13811      DestructionDelay = 200
13812      DestructionDelayVariance = 100
13813      FX  = FINAL    FX_SupplyTruckExplosionOneFinal
13814      OCL = FINAL    OCL_ChinaSupplyTruckDeathEffect
13815    End
13816      
13817    Behavior = FXListDie ModuleTag_06
13818      DeathTypes = NONE +CRUSHED +SPLATTED
13819      DeathFX = FX_CarCrush
13820    End
13821    
13822    Behavior = CreateObjectDie ModuleTag_07
13823      DeathTypes = NONE +CRUSHED +SPLATTED
13824      CreationList = OCL_ChinaSupplyTruck_CrushEffect
13825    End
13826  
13827    Behavior                       = TransitionDamageFX ModuleTag_08
13828      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
13829      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition
13830    End
13831  
13832    Behavior = FlammableUpdate ModuleTag_10
13833      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
13834      AflameDamageAmount = 3       ; taking this much damage...
13835      AflameDamageDelay = 500       ; this often.
13836    End
13837  
13838    ; A crushing defeat
13839    Behavior = DestroyDie ModuleTag_11
13840      DeathTypes = NONE +CRUSHED +SPLATTED
13841    End
13842  
13843    Behavior        = CreateCrateDie ModuleTag_12
13844      CrateData     = SalvageCrateData
13845    End
13846  
13847    Geometry = BOX
13848    GeometryMajorRadius = 17.0
13849    GeometryMinorRadius = 7.0
13850    GeometryHeight = 14.0     
13851    GeometryIsSmall = No
13852    Shadow = SHADOW_VOLUME
13853    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
13854  
13855  End
13856  
13857  
13858  
13859  
13860  
13861  
13862  
13863  
13864  
13865  
13866  
13867  
13868  
13869  
13870  
13871  
13872  
13873  
13874  
13875  
13876  
13877  
13878  
13879  
13880  
13881  
13882  
13883  
13884  
13885  
13886  
13887  
13888  
13889  
13890  
13891  
13892  
13893  
13894  
13895  
13896  
13897  
13898  
13899  
13900  
13901  
13902  
13903  
13904  
13905  
13906  ;--------------------------------
13907  Object Boss_JetSpectreGunship
13908  
13909    ; *** ART Parameters ***
13910  
13911    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
13912  
13913  
13914  
13915      ;----NORMAL-------------
13916      DefaultConditionState
13917        Model           = AVSGunship
13918        WeaponFireFXBone    = PRIMARY MUZZLE
13919        WeaponFireFXBone    = SECONDARY MUZZLE
13920        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
13921        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
13922      End
13923  
13924      ConditionState    = DOOR_1_OPENING
13925        Model           = AVSGunship                 
13926        Animation       = AVSGunship.AVSGunship    
13927        AnimationMode   = ONCE
13928        Flags           = MAINTAIN_FRAME_ACROSS_STATES
13929        ParticleSysBone = WingTip01 SpectreContrail
13930        ParticleSysBone = WingTip02 SpectreContrail
13931      End
13932  
13933      ConditionState    = DOOR_1_CLOSING
13934        Model           = AVSGunship                 
13935        Animation       = AVSGunship.AVSGunship    
13936        AnimationMode   = ONCE_BACKWARDS
13937        Flags           = MAINTAIN_FRAME_ACROSS_STATES
13938        ParticleSysBone = WingTip01 JetContrailThin
13939        ParticleSysBone = WingTip02 JetContrailThin
13940        ParticleSysBone = Engine01 SpectreAfterburnerTrail
13941        ParticleSysBone = Engine02 SpectreAfterburnerTrail
13942        ParticleSysBone = Engine01 SpectreEngineFlare
13943        ParticleSysBone = Engine02 SpectreEngineFlare
13944      End
13945  
13946  
13947      ;----DAMAGED-------------
13948      ConditionState    = DOOR_1_OPENING DAMAGED
13949        Model           = AVSGunship_D                 
13950        Animation       = AVSGunship_D.AVSGunship_D    
13951        AnimationMode   = ONCE
13952        Flags           = MAINTAIN_FRAME_ACROSS_STATES
13953        ParticleSysBone = WingTip01 SpectreContrail
13954        ParticleSysBone = WingTip02 SpectreContrail
13955        ParticleSysBone = Smoke01 JetFireLarge
13956        ParticleSysBone = Smoke02 JetFireLarge
13957        ParticleSysBone = Smoke01 JetSmokeLarge
13958        ParticleSysBone = Smoke02 JetSmokeLarge
13959      End
13960  
13961      ConditionState    = DOOR_1_CLOSING DAMAGED
13962        Model           = AVSGunship_D                 
13963        Animation       = AVSGunship_D.AVSGunship_D    
13964        AnimationMode   = ONCE_BACKWARDS
13965        Flags           = MAINTAIN_FRAME_ACROSS_STATES
13966        ParticleSysBone = WingTip01 JetContrailThin
13967        ParticleSysBone = WingTip02 JetContrailThin
13968        ParticleSysBone = Engine01 SpectreAfterburnerTrail
13969        ParticleSysBone = Engine02 SpectreAfterburnerTrail
13970        ParticleSysBone = Engine01 SpectreEngineFlare
13971        ParticleSysBone = Engine02 SpectreEngineFlare
13972        ParticleSysBone = Smoke01 JetFireLarge
13973        ParticleSysBone = Smoke02 JetFireLarge
13974        ParticleSysBone = Smoke01 JetSmokeLarge
13975        ParticleSysBone = Smoke02 JetSmokeLarge
13976      End
13977  
13978  
13979      ;----REALLY DAMAGED-------------
13980      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
13981        Model           = AVSGunship_D                 
13982        Animation       = AVSGunship_D.AVSGunship_D    
13983        AnimationMode   = ONCE
13984        Flags           = MAINTAIN_FRAME_ACROSS_STATES
13985        ParticleSysBone = WingTip01 SpectreContrail
13986        ParticleSysBone = WingTip02 SpectreContrail
13987        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
13988        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
13989        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
13990        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
13991        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
13992        ParticleSysBone = Smoke01 JetSmokeLarge
13993        ParticleSysBone = Smoke02 SpectreSmokeLarge
13994        ParticleSysBone = Smoke03 JetSmokeLarge
13995        ParticleSysBone = Smoke04 SpectreSmokeLarge
13996      End
13997  
13998      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
13999        Model           = AVSGunship_D                 
14000        Animation       = AVSGunship_D.AVSGunship_D    
14001        AnimationMode   = ONCE_BACKWARDS
14002        Flags           = MAINTAIN_FRAME_ACROSS_STATES
14003        ParticleSysBone = WingTip01 JetContrailThin
14004        ParticleSysBone = WingTip02 JetContrailThin
14005        ParticleSysBone = Engine01 SpectreAfterburnerTrail
14006        ParticleSysBone = Engine02 SpectreAfterburnerTrail
14007        ParticleSysBone = Engine01 SpectreEngineFlare
14008        ParticleSysBone = Engine02 SpectreEngineFlare
14009        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
14010        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
14011        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
14012        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
14013        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
14014        ParticleSysBone = Smoke01 JetSmokeLarge
14015        ParticleSysBone = Smoke02 SpectreSmokeLarge
14016        ParticleSysBone = Smoke03 JetSmokeLarge
14017        ParticleSysBone = Smoke04 SpectreSmokeLarge
14018      End
14019  
14020  
14021      ConditionState = RUBBLE
14022        Model           = AVSGunship_D1
14023        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
14024        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
14025        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
14026        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
14027        ParticleSysBone = Smoke01 SpectreSmokeLarge
14028        ParticleSysBone = Smoke03 SpectreSmokeLarge
14029        ParticleSysBone = Smoke02 SpectreSmokeLarge
14030        ParticleSysBone = Smoke05 SpectreSmokeLarge
14031      End
14032      AliasConditionState = REALLYDAMAGED RUBBLE
14033      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
14034      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
14035    
14036  
14037  
14038     OkToChangeModelColor = Yes
14039  
14040     ParticlesAttachedToAnimatedBones = Yes 
14041  
14042  
14043   End
14044  
14045  
14046  
14047    ; ***DESIGN parameters ***
14048    DisplayName         = OBJECT:SpectreGunship
14049    EditorSorting       = VEHICLE
14050    Side                = Boss
14051    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
14052    VisionRange         = 300.0 
14053    ShroudClearingRange = 300
14054    Prerequisites
14055      Object = Boss_Airfield
14056    End
14057  
14058    ArmorSet
14059      Conditions      = None
14060      Armor           = SpectreGunshipArmor
14061      DamageFX        = None
14062    End
14063    ArmorSet
14064      Conditions            = PLAYER_UPGRADE
14065      Armor                 = CountermeasuresSpectreGunshipArmor
14066      DamageFX              = None
14067    End
14068  
14069  
14070    WeaponSet
14071      Conditions          = None 
14072      Weapon              = PRIMARY   SpectreHowitzerGun
14073    End
14074  
14075    ExperienceValue = 50 100 150 400    ;Experience point value at each level
14076    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
14077    IsTrainable = No             ;Not Player built, so no veterancy..............................
14078  
14079    ; *** AUDIO Parameters ***
14080    VoiceSelect         = SpectreGunshipVoiceSelect
14081    VoiceAttack         = SpectreGunshipVoiceAttack
14082    VoiceMove         = SpectreGunshipVoiceMove
14083    SoundAmbient = SpectreGunshipAmbientLoop
14084    SoundAmbientRubble    = NoSound
14085    UnitSpecificSounds
14086      Afterburner    = SpectreGunshipAfterburnerLoop
14087      HowitzerFire   = SpectreHowitzerWeapon
14088    End
14089  
14090  
14091    ; *** ENGINEERING Parameters ***
14092    RadarPriority = UNIT
14093    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
14094  
14095    Body = ActiveBody ModuleTag_03
14096      MaxHealth       = 600.0
14097      InitialHealth   = 600.0
14098    End
14099  
14100    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
14101  
14102    Behavior                          = JetSlowDeathBehavior ModuleTag_04
14103      DestructionDelay                = 99999999  ; destruction will happen when we
14104      RollRate                        = 0.0
14105      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
14106      PitchRate                       = 0.0
14107      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
14108      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
14109      OCLInitialDeath                 = None
14110      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
14111      FXSecondary                     = FX_spectreDeathExplosion
14112      OCLSecondary                    = None
14113      FXHitGround                     = FX_spectreGunshipDeathExplosion
14114      OCLHitGround                    = OCL_A10DeathHitGround
14115      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
14116    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
14117      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
14118    End
14119  
14120    Behavior = PhysicsBehavior ModuleTag_05
14121      Mass = 500.0
14122    End
14123  
14124    ;SCRIPTED SUPPORT: These special power is triggered directly 
14125    ;from the transport without creating a transport. This is done 
14126    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
14127    ;which also prevents creating the payload transport.
14128  
14129    Behavior = AIUpdateInterface ModuleTag_07
14130      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
14131    End
14132    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
14133    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
14134  
14135    Behavior = SpecialAbility ModuleTag_32 
14136      SpecialPowerTemplate = SuperweaponSpectreGunship
14137      UpdateModuleStartsAttack = Yes
14138    End
14139  
14140  
14141    Behavior = SpectreGunshipUpdate ModuleTag_10
14142      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
14143      SpecialPowerTemplate            = SuperweaponSpectreGunship
14144      HowitzerWeaponTemplate          = SpectreHowitzerGun
14145      GattlingTemplateName            = SpectreGunshipGattlingCannon 
14146      RandomOffsetForHowitzer = 20     
14147      TargetingReticleRadius  = 25
14148      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
14149      GunshipOrbitRadius      = 250
14150      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
14151      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
14152      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
14153      AttackAreaRadius        = 200
14154      OrbitTime               = 15000 ;20000 ;32000 ; thirty-two seconds
14155  
14156      AttackAreaDecal
14157        Texture           = SCCSpecTarg
14158        Style             = SHADOW_ALPHA_DECAL
14159        OpacityMin        = 25%
14160        OpacityMax        = 50%
14161        OpacityThrobTime  = 1500
14162        Color             = R:127 G:177 B:222 A:255 
14163        OnlyVisibleToOwningPlayer = Yes
14164      End
14165      TargetingReticleDecal
14166        Texture           = SCCSpecRet
14167        Style             = SHADOW_ALPHA_DECAL
14168        OpacityMin        = 50%
14169        OpacityMax        = 100%
14170        OpacityThrobTime  = 300
14171        Color             = R:127 G:177 B:222 A:255 
14172        OnlyVisibleToOwningPlayer = Yes
14173      End
14174    End
14175  
14176  
14177  
14178  
14179  
14180    Behavior = HelixContain ModuleTag_09
14181      Slots                     = 1
14182      DamagePercentToUnits      = 100%
14183      AllowInsideKindOf         = PORTABLE_STRUCTURE
14184      PassengersAllowedToFire   = Yes
14185    End
14186  
14187  
14188    Behavior = FlammableUpdate ModuleTag_08
14189      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14190      AflameDamageAmount = 3       ; taking this much damage...
14191      AflameDamageDelay = 500       ; this often.
14192    End
14193  
14194    Behavior                = ArmorUpgrade ModuleTag_Armor01
14195      TriggeredBy           = Upgrade_AmericaCountermeasures
14196    End
14197  
14198    Behavior                = CountermeasuresBehavior ModuleTag_11
14199      TriggeredBy           = Upgrade_AmericaCountermeasures
14200      FlareTemplateName     = CountermeasureFlare
14201      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
14202      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
14203      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
14204      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
14205      DelayBetweenVolleys   = 1000  ; Time between flare volleys
14206      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
14207      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
14208      EvasionRate           = 50%   ; With active flares, the specified percentage will be diverted.
14209      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
14210      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
14211    End
14212  
14213  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
14214  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
14215    
14216  
14217    Geometry = Box
14218    GeometryIsSmall = No
14219    GeometryMajorRadius = 40.0
14220    GeometryMinorRadius = 10.0
14221    GeometryHeight = 10.0
14222    Shadow = SHADOW_VOLUME
14223    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
14224  
14225  End
14226  
14227  
14228  
14229  
14230  
14231  
14232  
14233  
14234  
14235  
14236  
14237  
14238  
14239  
14240  
14241  
14242  
14243  
14244  
14245  
14246  
14247  
14248  
14249  
14250  
14251  
14252  
14253  
14254  
14255  
14256  
14257  
14258  
14259  
14260  
14261  
14262  
14263  
14264  
14265  
14266  
14267  
14268  ;------------------------------------------------------------------------------
14269  Object Boss_JetAurora
14270  
14271    ; *** ART Parameters ***
14272    SelectPortrait         = SAAurora_L
14273    ButtonImage            = SAAurora
14274    
14275    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
14276    UpgradeCameo2 = Upgrade_AmericaCountermeasures
14277    ;UpgradeCameo3 = NONE
14278    ;UpgradeCameo4 = NONE
14279    ;UpgradeCameo5 = NONE
14280    
14281    Draw = W3DModelDraw ModuleTag_01
14282  
14283      DefaultConditionState
14284        Model               = AVAurora
14285        HideSubObject       = BurnerFX03 BurnerFX04
14286        WeaponLaunchBone = PRIMARY WeaponA
14287      End
14288  
14289      ConditionState        = JETEXHAUST
14290        ; exhaust
14291        ParticleSysBone     = Wingtip01 JetContrail
14292        ParticleSysBone     = Wingtip02 JetContrail
14293      End
14294  
14295      ConditionState        = JETEXHAUST JETAFTERBURNER
14296        ; exhaust
14297        ParticleSysBone     = Wingtip01 JetContrail
14298        ParticleSysBone     = Wingtip02 JetContrail
14299        ; afterburner
14300        ShowSubObject       = BurnerFX03 BurnerFX04
14301        ParticleSysBone     = Engine01 JetLenzflare
14302        ParticleSysBone     = Engine02 JetLenzflare
14303      End
14304  
14305      ConditionState        = REALLYDAMAGED
14306        Model               = AVAurora_D
14307        ; damage
14308        ParticleSysBone     = Smoke01 JetSmoke
14309        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
14310      End
14311      
14312      ConditionState        = REALLYDAMAGED JETEXHAUST
14313        Model               = AVAurora_D
14314        ; damage
14315        ParticleSysBone     = Smoke01 JetSmoke
14316        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
14317        ; exhaust
14318        ParticleSysBone     = Wingtip01 JetContrail
14319        ParticleSysBone     = Wingtip02 JetContrail
14320      End
14321  
14322      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
14323        Model               = AVAurora_D
14324        ; damage
14325        ParticleSysBone     = Smoke01 JetSmoke
14326        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
14327        ; afterburner
14328        ShowSubObject       = BurnerFX03 BurnerFX04
14329        ParticleSysBone     = Engine01 JetLenzflare
14330        ParticleSysBone     = Engine02 JetLenzflare
14331        ; exhaust
14332        ParticleSysBone     = Wingtip01 JetContrail
14333        ParticleSysBone     = Wingtip02 JetContrail
14334      End
14335  
14336      ConditionState        = RUBBLE
14337        Model               = AVAurora_D1
14338        HideSubObject       = None 
14339        ShowSubObject       = None
14340      End
14341  
14342      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
14343        Model               = AVAurora_D1
14344        ;HideSubObject is needed cause there're inherited from default condition state      
14345        HideSubObject       = None 
14346        ShowSubObject       = None
14347        ParticleSysBone     = Engine01 JetExhaust
14348        ParticleSysBone     = Engine02 JetExhaust
14349        ; exhaust
14350        ParticleSysBone     = Wingtip01 JetContrail
14351        ParticleSysBone     = Wingtip02 JetContrail
14352      End
14353  
14354      OkToChangeModelColor = Yes
14355    End
14356  
14357    ; ***DESIGN parameters ***
14358    DisplayName         = OBJECT:Aurora
14359    EditorSorting       = VEHICLE
14360    Side                = Boss
14361    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
14362    VisionRange         = 180.0 
14363    ShroudClearingRange = 600
14364    Prerequisites
14365      Object = Boss_Airfield
14366    End
14367    BuildCost           = 2500
14368    BuildTime           = 30.0          ;in seconds     
14369    WeaponSet
14370      Conditions = None 
14371      Weapon = PRIMARY AuroraBombWeapon
14372    End
14373    ArmorSet
14374      Conditions      = None
14375      Armor           = AirplaneArmor
14376      DamageFX        = None
14377    End
14378    ArmorSet
14379      Conditions            = PLAYER_UPGRADE
14380      Armor                 = CountermeasuresAirplaneArmor
14381      DamageFX              = None
14382    End
14383  
14384    ExperienceValue = 200 200 400 400   ;Experience point value at each level
14385    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
14386    IsTrainable = Yes                   ;Can gain experience
14387    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
14388    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14389    CommandSet        = AmericaJetAuroraCommandSet
14390  
14391    ; *** AUDIO Parameters ***
14392    VoiceSelect = AuroraBomberVoiceSelect
14393    VoiceMove = AuroraBomberVoiceMove
14394    VoiceGuard = AuroraBomberVoiceMove
14395    VoiceAttack = AuroraBomberVoiceAttack
14396    SoundAmbient = AuroraBomberAmbientLoop
14397    SoundAmbientRubble    = NoSound
14398    UnitSpecificSounds
14399      VoiceCreate          = AuroraBomberVoiceCreate
14400      SoundEject           = PilotSoundEject
14401      VoiceEject           = PilotVoiceEject
14402      Afterburner          = RaptorAfterburner
14403      VoiceLowFuel         = AuroraBomberVoiceLowFuel
14404      VoiceGarrison        = AuroraBomberVoiceMove
14405    End
14406  
14407    ; *** ENGINEERING Parameters ***
14408    RadarPriority = UNIT
14409    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
14410    Body = ActiveBody ModuleTag_02
14411      MaxHealth       = 80.0
14412      InitialHealth   = 80.0
14413    End
14414  
14415    Behavior                          = JetSlowDeathBehavior ModuleTag_03
14416      FXOnGroundDeath                 = FX_JetOnGroundDeath
14417      OCLOnGroundDeath                = OCL_AuroraDeathFinalBlowUp
14418      DestructionDelay                = 99999999; destruction will happen when we
14419      RollRate                        = 0.2
14420      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
14421      PitchRate                       = 0.0
14422      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
14423      FXInitialDeath                  = FX_AuroraDeathInitial
14424      ;OCLInitialDeath                = None
14425      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
14426      FXSecondary                     = FX_JetDeathSecondary
14427      ;OCLSecondary                   = None
14428      FXHitGround                     = FX_JetDeathHitGround
14429      ;OCLHitGround                   = None
14430      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
14431      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
14432      OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
14433  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
14434    End
14435    Behavior = EjectPilotDie ModuleTag_04
14436      GroundCreationList = OCL_EjectPilotOnGround
14437      AirCreationList = OCL_EjectPilotViaParachute
14438      ExemptStatus = HIJACKED
14439      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
14440    End
14441  
14442    Behavior = PhysicsBehavior ModuleTag_05
14443      Mass = 500.0
14444    End
14445  
14446    Behavior = ExperienceScalarUpgrade ModuleTag_06
14447      TriggeredBy = Upgrade_AmericaAdvancedTraining
14448      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
14449    End
14450  
14451    Behavior = JetAIUpdate ModuleTag_07
14452      OutOfAmmoDamagePerSecond    = 10%    ; amount of damage to take per SEC (not per frame) when out of ammo
14453                                           ; note that it's expressed as a percent of max health, not an absolute
14454      TakeoffDistForMaxLift       = 0%   ; larger numbers give more lift sooner when taking off
14455      TakeoffPause                = 500
14456      MinHeight                   = 5
14457      SneakyOffsetWhenAttacking   = -20.0  ; this is how far behind us people aim when we are in attack mode
14458      AttackLocomotorType         = SET_SUPERSONIC
14459      AttackLocomotorPersistTime  = 100    ; we start slowing down almost immediately
14460      AttackersMissPersistTime    = 2000   ; but remain untargetable fer a bit longer
14461      ReturnForAmmoLocomotorType  = SET_SLUGGISH
14462      ReturnToBaseIdleTime        = 10000         ; if idle for this long, return to base, even if not out of ammo
14463    End
14464    Locomotor = SET_NORMAL      AuroraJetLocomotor
14465    Locomotor = SET_SUPERSONIC  AuroraJetSupersonicLocomotor
14466    Locomotor = SET_SLUGGISH    AuroraJetSluggishLocomotor
14467    Locomotor = SET_TAXIING     BasicJetTaxiLocomotor
14468  
14469    Behavior                = ArmorUpgrade ModuleTag_Armor01
14470      TriggeredBy           = Upgrade_AmericaCountermeasures
14471    End
14472  
14473    Behavior                = CountermeasuresBehavior ModuleTag_10
14474      TriggeredBy           = Upgrade_AmericaCountermeasures
14475      FlareTemplateName     = CountermeasureFlare
14476      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
14477      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
14478      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
14479      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
14480      DelayBetweenVolleys   = 1000  ; Time between flare volleys
14481      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
14482      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
14483      EvasionRate           = 50%   ; With active flares, the specified percentage will be diverted.
14484      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
14485      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
14486    End
14487  
14488    Behavior = FlammableUpdate ModuleTag_21
14489      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14490      AflameDamageAmount = 3       ; taking this much damage...
14491      AflameDamageDelay = 500       ; this often.
14492    End
14493  
14494    Behavior                 = TransitionDamageFX ModuleTag_22
14495      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
14496      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
14497    End
14498  
14499  
14500    Geometry                 = Box
14501    GeometryIsSmall          = Yes
14502    GeometryMajorRadius      = 14.0
14503    GeometryMinorRadius      = 7.0
14504    GeometryHeight           = 5.0
14505    Shadow                   = SHADOW_VOLUME
14506    ShadowSizeX              = 89  ; minimum elevation angle above horizon. Used to limit shadow length
14507  
14508  End
14509  
14510  
14511  
14512  
14513  
14514  
14515  
14516  
14517  
14518  
14519  
14520  
14521  
14522  
14523  
14524  
14525  
14526  
14527  
14528  ;----------------------------------------------------------------------------------------------------------
14529  Object Boss_VehicleHelix
14530  
14531    ; *** ART Parameters ***
14532    SelectPortrait         = SNHelix_L
14533    ButtonImage            = SNHelix
14534    
14535    UpgradeCameo3 = Upgrade_ChinaHelixGattlingCannon
14536    UpgradeCameo4 = Upgrade_ChinaHelixPropagandaTower
14537    UpgradeCameo5 = Upgrade_ChinaHelixBattleBunker
14538  
14539      Draw = W3DOverlordAircraftDraw  ModuleTag_01; Works with the dependencyModelDraw of the upgrade portable structures 
14540  
14541        ParticlesAttachedToAnimatedBones = Yes
14542  
14543      DefaultConditionState
14544        Model = NVHELIX
14545        Animation = NVHELIX.NVHELIX
14546        AnimationMode = LOOP
14547        WeaponFireFXBone    = PRIMARY Muzzle03
14548        WeaponMuzzleFlash   = PRIMARY TurretFX03
14549        HideSubObject       = BombWing
14550      End
14551  
14552      ConditionState = MOVING
14553        ParticleSysBone = SMOKE01 HelixExhaust
14554        ParticleSysBone = SMOKE02 HelixExhaust
14555      End
14556  
14557      ConditionState = REALLYDAMAGED
14558        Model = NVHELIX_d
14559        Animation = NVHELIX_d.NVHELIX_d
14560        AnimationMode = LOOP
14561      End
14562      ConditionState = REALLYDAMAGED MOVING
14563        Model = NVHELIX_d
14564        Animation = NVHELIX_d.NVHELIX_d
14565        AnimationMode = LOOP
14566        ParticleSysBone = SMOKE01 HelixExhaust
14567        ParticleSysBone = SMOKE02 HelixExhaust
14568      End
14569  
14570      ConditionState = RUBBLE
14571        Model = NVHELIX_d
14572        Animation = NVHELIX_d.NVHELIX_d
14573        AnimationMode = LOOP
14574      End
14575      ConditionState = RUBBLE MOVING
14576        Model = NVHELIX_d
14577        Animation = NVHELIX_d.NVHELIX_d
14578        AnimationMode = LOOP
14579        ParticleSysBone = SMOKE01 HelixExhaust
14580        ParticleSysBone = SMOKE02 HelixExhaust
14581      End
14582  
14583      ConditionState = RUBBLE SPECIAL_DAMAGED
14584        Model = NVHELIX_d 
14585      End
14586  
14587      OkToChangeModelColor = Yes
14588    End
14589  
14590  
14591    ; ***DESIGN parameters ***
14592    DisplayName         = OBJECT:Helix
14593    EditorSorting       = VEHICLE
14594    Side                = Boss
14595    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
14596    VisionRange         = 300.0 
14597    ShroudClearingRange = 600
14598    BuildCost           = 1200
14599    BuildTime           = 10.0          ;in seconds  
14600    Prerequisites
14601      Object = Boss_Airfield
14602    End
14603    ExperienceValue     = 50 100 150 200 ;Experience point value at each level
14604    ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
14605    IsTrainable         = Yes  
14606    CommandSet          = ChinaVehicleHelixCommandSet
14607  
14608  
14609    ArmorSet
14610      Conditions      = None
14611      Armor           = ChinookArmor
14612      DamageFX        = None
14613    End
14614  
14615  
14616    WeaponSet
14617      Conditions          = None 
14618      ;----------------------------
14619      Weapon              = PRIMARY     HelixMinigunWeapon
14620      PreferredAgainst    = PRIMARY     INFANTRY
14621      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
14622      ;----------------------------
14623    End
14624  
14625    WeaponSet
14626      Conditions          = PLAYER_UPGRADE 
14627      ;----------------------------
14628      Weapon              = PRIMARY     HelixMinigunWeapon
14629      PreferredAgainst    = PRIMARY     INFANTRY
14630      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
14631      ;----------------------------
14632    End
14633  
14634  
14635  
14636    ; *** AUDIO Parameters ***
14637    VoiceSelect     = HelixVoiceSelect
14638    VoiceMove       = HelixVoiceMove
14639    VoiceAttack     = HelixVoiceAttack
14640    SoundAmbient    = HelixAmbientLoop
14641    SoundEnter      = HumveeEnter
14642    SoundExit       = HumveeExit
14643    UnitSpecificSounds
14644      VoiceCreate         = HelixVoiceCreate
14645      VoiceUnload         = HelixVoiceUnload
14646      VoiceGarrison       = HelixVoiceMove
14647    End
14648  
14649  
14650  
14651    ; *** ENGINEERING Parameters ***
14652    RadarPriority   = UNIT
14653    ; note that, although Helixes aren't produced at helipads, we want to set this KINDOF so that they can land at
14654    ; (well, "near" actually) an Airfield to get healed...
14655    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE HUGE_VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK 
14656  
14657    Body = ActiveBody ModuleTag_03
14658      MaxHealth       = 300.0
14659      InitialHealth   = 300.0
14660    End
14661  
14662    Behavior = FXListDie ModuleTag_05
14663      DeathFX = FX_HelicopterStartDeath
14664    End
14665  
14666    Behavior                       = TransitionDamageFX ModuleTag_06
14667      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
14668      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
14669    End
14670  
14671    Behavior = ChinookAIUpdate ModuleTag_07
14672       AutoAcquireEnemiesWhenIdle = Yes 
14673       RotorWashParticleSystem = HelixRotorWashRing
14674    End
14675    Locomotor = SET_NORMAL    HelixLocomotor
14676    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
14677  
14678  
14679    Behavior = PhysicsBehavior ModuleTag_09
14680      Mass = 50.0
14681    End
14682  
14683    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
14684      DestructionDelay                = 99999999        ; the destruction delay
14685      SpiralOrbitTurnRate             = 80.0           ; in degrees per second, bigger # = tighter spiral
14686      SpiralOrbitForwardSpeed         = 110.0           ; bigger # = larger spiral
14687      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
14688      MaxBraking                      = 210   ; max braking we can use during death spiral (lower num = wilder spiral)    
14689      SoundDeathLoop                  = ComancheDamagedLoop
14690      MinSelfSpin                     = 40                     ; in degrees per second
14691      MaxSelfSpin                     = 120                     ; in degrees per second
14692      SelfSpinUpdateDelay             = 300                     ; in milliseconds
14693      SelfSpinUpdateAmount            = 5                      ; in degrees   
14694      FallHowFast                     = 8.0%                   ; fraction of gravity, lower = take longer to fall
14695      MinBladeFlyOffDelay             = 1000                    ; in milliseconds
14696      MaxBladeFlyOffDelay             = 1000                    ; in milliseconds
14697      AttachParticle                  = SootySmokeTrail
14698      AttachParticleBone              = Propeller02
14699      BladeObjectName                 = HelixBlades
14700      BladeBoneName                   = Propeller01    
14701      FXBlade                         = FX_HelicopterBladeExplosion
14702      OCLBlade                        = OCL_HelicopterBladeExplosion
14703      FXHitGround                     = FX_HelicopterHitGround
14704      OCLHitGround                    = OCL_HelicopterHitGround
14705      FXFinalBlowUp                   = FX_HelixHelicopterBlowUpBig
14706      OCLFinalBlowUp                  = OCL_HelixBlades
14707      DelayFromGroundToFinalDeath     = 30
14708      FinalRubbleObject               = HelixRubbleHull
14709    End
14710  
14711    Behavior = FlammableUpdate ModuleTag_21
14712      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14713      AflameDamageAmount = 3        ; taking this much damage...
14714      AflameDamageDelay = 500       ; this often.
14715    End
14716  
14717  
14718  
14719    Behavior = ProductionUpdate ModuleTag_25
14720      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
14721    End
14722  
14723  
14724  
14725  
14726  
14727    ;--------------------------
14728    Behavior = ObjectCreationUpgrade ModuleTag_22
14729      UpgradeObject = OCL_HelixGattlingCannon
14730      TriggeredBy   = Upgrade_ChinaHelixGattlingCannon
14731      ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
14732    End
14733    Behavior = CommandSetUpgrade ModuleTag_26
14734      CommandSet = ChinaHelixGattlingCannonCommandSet
14735      TriggeredBy   = Upgrade_ChinaHelixGattlingCannon
14736      ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
14737    End
14738    Behavior = WeaponSetUpgrade ModuleTag_35
14739      TriggeredBy = Upgrade_ChinaHelixGattlingCannon
14740    End
14741  ; lorenzen commented out 8/4... the helix now keeps its minigun, even when upgraded to gattling
14742  ;  Behavior = SubObjectsUpgrade ModuleTag_36
14743  ;    TriggeredBy    = Upgrade_ChinaHelixGattlingCannon 
14744  ;    ConflictsWith  = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker
14745  ;    HideSubObjects = MINIGUN 
14746  ;  End
14747    ;--------------------------
14748    Behavior = ObjectCreationUpgrade ModuleTag_23
14749      UpgradeObject = OCL_HelixPropagandaTower
14750      TriggeredBy   = Upgrade_ChinaHelixPropagandaTower
14751      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker
14752    End
14753    Behavior = CommandSetUpgrade ModuleTag_27
14754      CommandSet = ChinaHelixPropagandaTowerCommandSet
14755      TriggeredBy   = Upgrade_ChinaHelixPropagandaTower
14756      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker
14757    End
14758    ;--------------------------
14759    Behavior = ObjectCreationUpgrade ModuleTag_24
14760      UpgradeObject = OCL_HelixBattleBunker
14761      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
14762      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower
14763    End
14764    Behavior = CommandSetUpgrade ModuleTag_28
14765      CommandSet = ChinaHelixBattleBunkerCommandSet
14766      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
14767      ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower
14768    End
14769    Behavior = PassengersFireUpgrade ModuleTag_34
14770      TriggeredBy   = Upgrade_ChinaHelixBattleBunker
14771    End
14772    ;--------------------------
14773  
14774    Behavior = HelixContain ModuleTag_29
14775      Slots                   = 5
14776      DamagePercentToUnits    = 100%
14777      AllowInsideKindOf       = INFANTRY VEHICLE PORTABLE_STRUCTURE
14778      ForbidInsideKindOf      = AIRCRAFT 
14779      ExitDelay               = 100
14780      NumberOfExitPaths       = 1
14781      PassengersAllowedToFire = No ; the 
14782    End
14783  
14784  
14785    Behavior = WeaponSetUpgrade ModuleTag_30
14786      TriggeredBy = Upgrade_ChinaBlackNapalm
14787    End
14788  
14789  
14790    Behavior = SpecialAbility ModuleTag_32
14791      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
14792      UpdateModuleStartsAttack = Yes
14793      StartsPaused              = Yes; so the UnpauseSpecialPowerUpgrade, below can turn it on
14794      InitiateSound             = DragonTankVoiceFireStorm ;;;; should get a new voice,. here
14795    End
14796    Behavior = SpecialAbilityUpdate ModuleTag_33
14797      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
14798      StartAbilityRange = 3.0
14799      PreparationTime = 0
14800      SpecialObject = NapalmBomb
14801      MaxSpecialObjects = 1
14802      SpecialObjectsPersistWhenOwnerDies = Yes 
14803      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
14804      UniqueSpecialObjectTargets = No        ;This would prevent multiple charges placed on the same object.
14805      UnpackTime              = 500     ;slight delay to drop bomb
14806      FlipOwnerAfterUnpacking = No
14807      FleeRangeAfterCompletion = 0.0         ;DOes not run away after finishing ability
14808      UnpackSound               = DragonTankVoiceFireStorm ;;;; should get a new voice,. here
14809      LoseStealthOnTrigger      = No
14810      ApproachRequiresLOS       = No ; we are a helicopter, we can see everything
14811      NeedToFaceTarget          = No ; can drop the bomb at any angle to target
14812  
14813      PersistentPrepTime        = 100
14814      PersistenceRequiresRecharge = Yes
14815  
14816    End
14817    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38
14818      SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb
14819      TriggeredBy = Upgrade_HelixNapalmBomb
14820    End
14821    Behavior = SubObjectsUpgrade ModuleTag_39
14822      TriggeredBy    = Upgrade_HelixNapalmBomb 
14823      ShowSubObjects = BombWing 
14824    End
14825  
14826  
14827  
14828  
14829  
14830    Geometry              = CYLINDER
14831    GeometryMajorRadius   = 35.0
14832    GeometryHeight        = 30.0     
14833    GeometryIsSmall       = No
14834    Shadow                = SHADOW_VOLUME    
14835    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
14836  
14837  End
14838  
14839  
14840  
14841  
14842  
14843  
14844  
14845  
14846  
14847  
14848  
14849  
14850  
14851  
14852  
14853  
14854  
14855  
14856  
14857  ;------------------------------------------------------------------------------
14858  Object Boss_JetMIG
14859  
14860    ; *** ART Parameters ***
14861    SelectPortrait         = T30
14862    ButtonImage            = T30
14863    
14864    UpgradeCameo1 = Upgrade_ChinaAircraftArmor
14865    UpgradeCameo2 = Upgrade_ChinaBlackNapalm
14866    UpgradeCameo3 = Upgrade_GLACamouflage
14867    ;UpgradeCameo4 = NONE
14868    ;UpgradeCameo5 = NONE
14869    
14870    Draw = W3DModelDraw ModuleTag_01
14871  
14872      OkToChangeModelColor = Yes
14873  
14874      DefaultConditionState
14875        Model               = Su-47
14876        HideSubObject       = BurnerFX01 BurnerFX02
14877        WeaponLaunchBone    = PRIMARY WeaponA
14878      End
14879  
14880      ConditionState        = JETEXHAUST
14881        ParticleSysBone     = Wingtip01 JetContrail
14882        ParticleSysBone     = Wingtip02 JetContrail
14883      End
14884  
14885      ConditionState       = JETEXHAUST JETAFTERBURNER
14886        ShowSubObject      = BurnerFX01 BurnerFX02
14887        ParticleSysBone     = Exhaust01 JetExhaust
14888        ParticleSysBone     = Exhaust02 JetExhaust
14889        ParticleSysBone     = Wingtip01 JetContrail
14890        ParticleSysBone     = Wingtip02 JetContrail
14891      End
14892  
14893      ConditionState        = REALLYDAMAGED
14894        Model               = Su-47
14895        ParticleSysBone     = Wingtip01 JetContrail
14896        ParticleSysBone     = Wingtip02 JetContrail
14897      End
14898  
14899      ConditionState        = RUBBLE
14900        Model               = Su-47
14901      End
14902  
14903      ConditionState        = REALLYDAMAGED JETEXHAUST
14904        Model               = Su-47
14905        ParticleSysBone     = Wingtip01 JetContrail
14906        ParticleSysBone     = Wingtip02 JetContrail
14907      End
14908  
14909      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
14910        Model               = Su-47
14911        ShowSubObject       = BurnerFX01 BurnerFX02
14912        ParticleSysBone     = Engine01 JetExhaust
14913        ParticleSysBone     = Engine02 JetExhaust
14914        ParticleSysBone     = Wingtip01 JetContrail
14915        ParticleSysBone     = Wingtip02 JetContrail
14916      End
14917  
14918      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
14919        ; @todo srj -- model missing
14920        ;Model              = Su-47
14921        Model               = Su-47
14922        ;HideSubObject is needed cause there're inherited from default condition state      
14923        HideSubObject       = None 
14924        ShowSubObject       = None
14925        ParticleSysBone     = Engine01 JetExhaust
14926        ParticleSysBone     = Engine02 JetExhaust
14927        ParticleSysBone     = Wingtip01 JetContrail
14928        ParticleSysBone     = Wingtip02 JetContrail
14929      End
14930  
14931    End
14932  
14933    ; ***DESIGN parameters ***
14934    DisplayName             = OBJECT:MIG
14935    EditorSorting           = VEHICLE
14936    Side                    = Boss
14937    TransportSlotCount      = 0          ;how many "slots" we take in a transport (0 == not transportable)
14938    VisionRange             = 200.0 
14939    ShroudClearingRange     = 300.0
14940  
14941    Prerequisites
14942      Object                = Boss_Airfield
14943    End
14944  
14945    WeaponSet
14946      Conditions        = None 
14947      Weapon            = PRIMARY     NapalmMissileWeapon
14948      Weapon            = SECONDARY   SupW_PatriotMissileAssistWeapon2
14949  ;    AutoChooseSources = PRIMARY     NONE
14950       PreferredAgainst    = SECONDARY   BALLISTIC_MISSILE AIRCRAFT
14951    End
14952    WeaponSet
14953      Conditions = PLAYER_UPGRADE 
14954      Weapon            = PRIMARY     BlackNapalmMissileWeapon
14955      Weapon            = SECONDARY   SupW_PatriotMissileAssistWeapon2
14956  ;    AutoChooseSources = PRIMARY     NONE
14957       PreferredAgainst    = SECONDARY   BALLISTIC_MISSILE AIRCRAFT
14958    End
14959  
14960    ArmorSet
14961      Conditions           = None
14962      Armor                = AirplaneArmor
14963      DamageFX             = None
14964    End
14965  
14966    BuildCost               = 1200
14967    BuildTime               = 10   
14968    ExperienceValue         = 50 50 100 150   ;Experience point value at each level
14969    ExperienceRequired      = 0 100 200 400  ;Experience points needed to gain each level
14970    IsTrainable = Yes             ;Can gain experience
14971    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
14972    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14973    CommandSet             = ChinaJetMIGCommandSet
14974  
14975    ; *** AUDIO Parameters ***
14976    VoiceSelect             = MigVoiceSelect
14977    VoiceMove               = MigVoiceMove
14978    VoiceAttack             = MigVoiceAttack
14979    VoiceAttackAir          = MigVoiceAttackAir
14980    VoiceGuard              = MigVoiceAirPatrol
14981    SoundAmbient            = MigAmbientLoop
14982    UnitSpecificSounds
14983      VoiceCreate           = MigVoiceCreate
14984      Afterburner           = RaptorAfterburner
14985      VoiceGarrison         = MigVoiceMove
14986    End
14987  
14988    ; *** ENGINEERING Parameters ***
14989    RadarPriority          = UNIT
14990    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
14991    Body                   = ActiveBody ModuleTag_02
14992      MaxHealth            = 160.0
14993      InitialHealth        = 160.0
14994    End
14995  
14996    Behavior                          = JetSlowDeathBehavior ModuleTag_03
14997      FXOnGroundDeath                 = FX_JetOnGroundDeath
14998      OCLOnGroundDeath                = OCL_MIGDeathFinalBlowUp
14999      DestructionDelay                = 99999999  ; destruction will happen when we
15000      RollRate                        = 0.2
15001      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
15002      PitchRate                       = 0.0
15003      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
15004      FXInitialDeath                  = FX_MigDeathInitial
15005      OCLInitialDeath                 = OCL_MIGDeathInitial
15006      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
15007      FXSecondary                     = FX_JetDeathSecondary
15008      OCLSecondary                    = OCL_MIGDeathSecondary
15009      FXHitGround                     = FX_JetDeathHitGround
15010      OCLHitGround                    = OCL_MIGDeathHitGround
15011      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
15012      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
15013      OCLFinalBlowUp                  = OCL_MIGDeathFinalBlowUp
15014    End
15015  
15016    Behavior = WeaponSetUpgrade ModuleTag_04
15017      TriggeredBy = Upgrade_ChinaBlackNapalm
15018    End
15019  
15020    Behavior = PhysicsBehavior ModuleTag_05
15021      Mass = 500.0
15022    End
15023  
15024    Behavior = JetAIUpdate ModuleTag_06
15025      OutOfAmmoDamagePerSecond  = 10%     ; amount of damage to take per SEC (not per frame) when out of ammo
15026                                          ; note that it's expressed as a percent of max health, not an absolute
15027      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
15028      TakeoffPause              = 500
15029      MinHeight                 = 5
15030      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
15031    End
15032  
15033    Locomotor = SET_NORMAL MIGLocomotor
15034    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
15035  
15036  
15037    Behavior = FlammableUpdate ModuleTag_08
15038      AflameDuration = 5000        ; If I catch fire, I'll burn for this long...
15039      AflameDamageAmount = 3       ; taking this much damage...
15040      AflameDamageDelay = 500      ; this often.
15041    End
15042  
15043    Behavior                       = TransitionDamageFX ModuleTag_09
15044      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
15045      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
15046    End
15047  
15048    Behavior        = MaxHealthUpgrade ModuleTag_10
15049      TriggeredBy   = Upgrade_ChinaAircraftArmor
15050      AddMaxHealth  = 40.0
15051      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
15052    End
15053      Behavior = StealthUpdate ModuleTag_07
15054      StealthDelay                = 2500 ; msec
15055      StealthForbiddenConditions  = ATTACKING USING_ABILITY
15056      MoveThresholdSpeed          = 3
15057      InnateStealth               = No ;Requires upgrade first
15058      OrderIdleEnemiesToAttackMeUponReveal  = Yes
15059    End
15060  
15061    Behavior = StealthUpgrade ModuleTag_08
15062      TriggeredBy = Upgrade_GLACamouflage
15063    End
15064  
15065        Scale = 1.10                           ;Scaling
15066    GeometryMajorRadius = 1.0
15067    GeometryMinorRadius = 1.0
15068    GeometryHeight = 8.0
15069  
15070    Geometry                 = Box
15071    GeometryIsSmall          = Yes
15072    GeometryMajorRadius      = 14.0
15073    GeometryMinorRadius      = 7.0
15074    GeometryHeight           = 5.0
15075    Shadow                   = SHADOW_VOLUME
15076    
15077    Shadow = SHADOW_VOLUME
15078    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
15079  
15080  End
15081  
15082  
15083  
15084  
15085  
15086  
15087  
15088  
15089  
15090  
15091  
15092  
15093  
15094  
15095  
15096  
15097  
15098  
15099  
15100  
15101  
15102  
15103  
15104  
15105  
15106  
15107  
15108  
15109  
15110  
15111  
15112  
15113  
15114  
15115  
15116  ;------------------------------------------------------------------------------
15117  Object Boss_JetRaptor
15118  
15119    ; *** ART Parameters ***
15120    SelectPortrait         = SAKingRap_L
15121    ButtonImage            = SAKingRap
15122    
15123    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
15124    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
15125    UpgradeCameo3 = Upgrade_GLACamouflage
15126    ;UpgradeCameo4 = NONE
15127    ;UpgradeCameo5 = NONE
15128    
15129    Draw                   = W3DModelDraw ModuleTag_01
15130      ExtraPublicBone = WeaponA01
15131      DefaultConditionState
15132        Model               = AVRaptorAG
15133        HideSubObject       = BurnerFX01 BurnerFX02
15134        WeaponLaunchBone = PRIMARY WeaponA
15135      End
15136  
15137      ConditionState        = JETEXHAUST
15138        ; exhaust
15139        ParticleSysBone     = Wingtip01 JetContrail
15140        ParticleSysBone     = Wingtip02 JetContrail
15141      End
15142  
15143      ConditionState        = JETEXHAUST JETAFTERBURNER
15144        ; exhaust
15145        ParticleSysBone     = Wingtip01 JetContrail
15146        ParticleSysBone     = Wingtip02 JetContrail
15147        ; afterburner
15148        ShowSubObject       = BurnerFX01 BurnerFX02
15149        ParticleSysBone     = Engine01 JetLenzflare
15150        ParticleSysBone     = Engine02 JetLenzflare
15151      End
15152  
15153      ConditionState        = REALLYDAMAGED
15154        Model               = AVRaptorAG_D
15155        ; damage
15156        ParticleSysBone     = Smoke01 JetSmoke
15157        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
15158      End
15159      
15160      ConditionState        = REALLYDAMAGED JETEXHAUST
15161        Model               = AVRaptorAG_D
15162        ; damage
15163        ParticleSysBone     = Smoke01 JetSmoke
15164        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
15165        ; exhaust
15166        ParticleSysBone     = Wingtip01 JetContrail
15167        ParticleSysBone     = Wingtip02 JetContrail
15168      End
15169  
15170      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
15171        Model               = AVRaptorAG_D
15172        ; damage
15173        ParticleSysBone     = Smoke01 JetSmoke
15174        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
15175        ; afterburner
15176        ShowSubObject       = BurnerFX01 BurnerFX02
15177        ParticleSysBone     = Engine01 JetLenzflare
15178        ParticleSysBone     = Engine02 JetLenzflare
15179        ; exhaust
15180        ParticleSysBone     = Wingtip01 JetContrail
15181        ParticleSysBone     = Wingtip02 JetContrail
15182      End
15183  
15184      ConditionState        = RUBBLE
15185        Model               = AVRaptor_D1B
15186        HideSubObject       = None 
15187        ShowSubObject       = None
15188      End
15189  
15190      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
15191        Model               = AVRaptor_D1B
15192        ;HideSubObject is needed cause there're inherited from default condition state      
15193        HideSubObject       = None 
15194        ShowSubObject       = None
15195        ParticleSysBone     = Engine01 JetExhaust
15196        ParticleSysBone     = Engine02 JetExhaust
15197        ; exhaust
15198        ParticleSysBone     = Wingtip01 JetContrail
15199        ParticleSysBone     = Wingtip02 JetContrail
15200      End
15201  
15202      OkToChangeModelColor = Yes
15203  
15204    End
15205  
15206    ; ***DESIGN parameters ***
15207    DisplayName             = OBJECT:KingRaptor
15208    EditorSorting           = VEHICLE
15209    Side                    = Boss
15210    TransportSlotCount      = 0 ;how many "slots" we take in a transport (0 == not transportable)
15211    VisionRange             = 180.0 
15212    ShroudClearingRange     = 400
15213    Prerequisites
15214      Object                = Boss_Airfield
15215    End
15216  
15217    WeaponSet
15218      Conditions            = None 
15219      Weapon                = PRIMARY AirF_RaptorJetMissileWeapon
15220    End
15221    WeaponSet
15222      Conditions            = PLAYER_UPGRADE 
15223      Weapon                = PRIMARY AirF_RaptorJetLaserGuidedMissileWeapon
15224    End
15225    ArmorSet
15226      Conditions            = None
15227      Armor                 = AirplaneArmor
15228      DamageFX              = None
15229    End
15230  
15231    BuildCost               = 1100
15232    BuildTime               = 20   
15233    ExperienceValue         = 50 50 100 150  ;Experience point value at each level
15234    ExperienceRequired      = 0 100 200 400   ;Experience points needed to gain each level
15235    IsTrainable             = Yes             ;Can gain experience
15236    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
15237    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15238    CommandSet              = AmericaJetRaptorCommandSet
15239  
15240    ; *** AUDIO Parameters ***
15241    VoiceSelect            = RaptorVoiceSelect
15242    VoiceMove              = RaptorVoiceMove
15243    VoiceAttack            = RaptorVoiceAttack
15244    VoiceAttackAir         = RaptorVoiceAttackAir
15245    VoiceGuard             = RaptorVoiceAirPatrol
15246    SoundAmbient           = RaptorAmbientLoop
15247    SoundAmbientRubble     = NoSound
15248    ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
15249    ; SoundAmbient           = NoSound
15250    UnitSpecificSounds
15251      VoiceCreate          = RaptorVoiceCreate
15252      SoundEject           = PilotSoundEject
15253      VoiceEject           = PilotVoiceEject
15254      Afterburner          = RaptorAfterburner
15255      VoiceLowFuel         = RaptorVoiceLowFuel
15256      VoiceGarrison        = RaptorVoiceMove
15257    End
15258  
15259    ; *** ENGINEERING Parameters ***
15260    RadarPriority          = UNIT
15261    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
15262    Body                   = ActiveBody ModuleTag_02
15263      MaxHealth            = 160.0
15264      InitialHealth        = 160.0
15265    End
15266  
15267    Behavior                = WeaponSetUpgrade ModuleTag_03
15268      TriggeredBy          = Upgrade_AmericaLaserMissiles
15269    End
15270    Behavior = ExperienceScalarUpgrade ModuleTag_04
15271      TriggeredBy = Upgrade_AmericaAdvancedTraining
15272      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
15273    End
15274  
15275    Behavior                          = JetSlowDeathBehavior ModuleTag_05
15276      FXOnGroundDeath                 = FX_JetOnGroundDeath
15277      OCLOnGroundDeath                = OCL_RaptorDeathFinalBlowUp
15278      DestructionDelay                = 99999999; destruction will happen when we
15279      RollRate                        = 0.2
15280      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
15281      PitchRate                       = 0.0
15282      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
15283      FXInitialDeath                  = FX_RaptorDeathInitial
15284      OCLInitialDeath                 = OCL_RaptorDeathInitial
15285      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
15286      FXSecondary                     = FX_JetDeathSecondary
15287      OCLSecondary                    = OCL_RaptorDeathSecondary
15288      FXHitGround                     = FX_JetDeathHitGround
15289      OCLHitGround                    = OCL_RaptorDeathHitGround
15290      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
15291      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
15292      OCLFinalBlowUp                  = OCL_RaptorDeathFinalBlowUp
15293  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
15294    End
15295    Behavior                    = EjectPilotDie ModuleTag_06
15296      ExemptStatus         = HIJACKED
15297      GroundCreationList = OCL_EjectPilotOnGround
15298      AirCreationList = OCL_EjectPilotViaParachute
15299      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
15300    End
15301    
15302    Behavior               = PhysicsBehavior ModuleTag_07
15303      Mass                 = 500.0
15304    End
15305  
15306    Behavior                 = TransitionDamageFX ModuleTag_08
15307      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
15308      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
15309    End
15310  
15311    Behavior = JetAIUpdate ModuleTag_09
15312      OutOfAmmoDamagePerSecond  = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
15313                                      ; note that it's expressed as a percent of max health, not an absolute
15314      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
15315      TakeoffPause              = 500
15316      MinHeight                 = 5
15317      ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
15318      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
15319    End
15320    Locomotor = SET_NORMAL RaptorJetLocomotor
15321    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
15322  
15323    Behavior = FlammableUpdate ModuleTag_21
15324      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15325      AflameDamageAmount = 3       ; taking this much damage...
15326      AflameDamageDelay = 500       ; this often.
15327    End
15328    Behavior = PointDefenseLaserUpdate ModuleTag_22
15329      WeaponTemplate        = AirF_RaptorPointDefenseLaser
15330      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
15331      ScanRate              = 10
15332      ScanRange             = 200.0
15333      PredictTargetVelocityFactor = 2.0
15334    End
15335    Behavior = StealthDetectorUpdate ModuleTag_24
15336      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
15337      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
15338      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
15339      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
15340    End
15341      Behavior = StealthUpdate ModuleTag_07
15342      StealthDelay                = 2500 ; msec
15343      StealthForbiddenConditions  = ATTACKING USING_ABILITY
15344      MoveThresholdSpeed          = 3
15345      InnateStealth               = No ;Requires upgrade first
15346      OrderIdleEnemiesToAttackMeUponReveal  = Yes
15347    End
15348  
15349    Behavior = StealthUpgrade ModuleTag_08
15350      TriggeredBy = Upgrade_GLACamouflage
15351    End
15352  
15353    Geometry                 = Box
15354    GeometryIsSmall          = Yes
15355    GeometryMajorRadius      = 14.0
15356    GeometryMinorRadius      = 7.0
15357    GeometryHeight           = 5.0
15358    Shadow                   = SHADOW_VOLUME
15359    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length.
15360  
15361  End
15362  
15363  
15364  
15365  
15366  
15367  
15368  
15369  
15370  
15371  
15372  
15373  
15374  
15375  
15376  
15377  
15378  
15379  
15380  
15381  
15382  ;------------------------------------------------------------------------------
15383  Object Boss_InfantryColonelBurton
15384  
15385    ; *** ART Parameters ***
15386    SelectPortrait         = SABurton_L
15387    ButtonImage            = SABurton
15388    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
15389    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
15390  
15391    Draw = W3DModelDraw ModuleTag_01
15392    OkToChangeModelColor = Yes
15393  
15394      ; idle
15395      DefaultConditionState
15396        Model               = AIHERO_SKN
15397        IdleAnimation       = AIHERO_SKL.AIHERO_STA 0 25
15398        IdleAnimation       = AIHERO_SKL.AIHERO_IDA
15399        IdleAnimation       = AIHERO_SKL.AIHERO_IDB
15400        AnimationMode       = ONCE
15401        TransitionKey       = TRANS_Stand
15402        WeaponFireFXBone    = PRIMARY Muzzle
15403        WeaponMuzzleFlash   = PRIMARY MuzzleFX
15404        WeaponMuzzleFlash   = SECONDARY NONE
15405        HideSubObject     = MUZZLEFX01
15406      End
15407   
15408      
15409      ; injured idle
15410      ConditionState        = REALLYDAMAGED
15411        IdleAnimation       = AIHERO_SKL.AIHERO_ISTA 0 30
15412        IdleAnimation       = AIHERO_SKL.AIHERO_IIDA
15413        IdleAnimation       = AIHERO_SKL.AIHERO_IIDB
15414        AnimationMode       = ONCE
15415        TransitionKey       = TRANS_StandInjured
15416      End
15417  
15418  
15419      TransitionState     = TRANS_Stand TRANS_StandInjured
15420        Animation         = AIHERO_SKL.AIHERO_ISTAHIT
15421        AnimationMode     = ONCE
15422      End
15423      
15424      ; moving
15425      ConditionState        = MOVING
15426        Animation           = AIHERO_SKL.AIHERO_RNA 26
15427        AnimationMode       = LOOP
15428        Flags               = RANDOMSTART
15429        TransitionKey       = TRANS_Walking
15430        ParticleSysBone     = None InfantryDustTrails
15431        HideSubObject     = MUZZLEFX01
15432      End
15433      AliasConditionState = MOVING FIRING_A
15434      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
15435      AliasConditionState = MOVING RELOADING_A
15436      AliasConditionState = MOVING FIRING_B
15437      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B
15438      AliasConditionState = MOVING RELOADING_B
15439  
15440      ; injured moving
15441      ConditionState     = MOVING REALLYDAMAGED
15442        Animation        = AIHERO_SKL.AIHERO_IRNA 26
15443        AnimationMode    = LOOP
15444        Flags            = RANDOMSTART
15445        TransitionKey    = TRANS_WalkingInjured
15446        ParticleSysBone  = None InfantryDustTrails
15447        HideSubObject     = MUZZLEFX01
15448      End
15449      AliasConditionState = MOVING FIRING_A REALLYDAMAGED
15450      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
15451      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
15452      AliasConditionState = MOVING FIRING_B REALLYDAMAGED
15453      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
15454      AliasConditionState = MOVING RELOADING_B REALLYDAMAGED
15455  
15456      ; Firing animation
15457      ConditionState      = FIRING_A
15458        Animation         = AIHERO_SKL.AIHERO_ATA
15459        AnimationMode     = ONCE
15460        AnimationSpeedFactorRange = 1.5 1.5
15461        TransitionKey     = TRANS_FiringA
15462      End
15463  
15464      ConditionState      = BETWEEN_FIRING_SHOTS_A
15465        Animation         = AIHERO_SKL.AIHERO_ATA
15466        AnimationMode     = MANUAL
15467        Flags             = START_FRAME_LAST
15468        WaitForStateToFinishIfPossible = TRANS_FiringA
15469      End
15470      AliasConditionState = RELOADING_A
15471  
15472      ; Injured Firing animation
15473      ConditionState      = FIRING_A REALLYDAMAGED
15474        Animation         = AIHERO_SKL.AIHERO_IATA
15475        AnimationMode     = ONCE
15476        AnimationSpeedFactorRange = 1.5 1.5
15477        TransitionKey     = TRANS_FiringAInjured
15478      End
15479  
15480      ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
15481        Animation         = AIHERO_SKL.AIHERO_IATA
15482        AnimationMode     = MANUAL
15483        Flags             = START_FRAME_LAST
15484        WaitForStateToFinishIfPossible = TRANS_FiringAInjured
15485      End
15486      AliasConditionState = RELOADING_A REALLYDAMAGED
15487  
15488      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
15489        Animation         = AIHERO_SKL.AIHERO_IATAHIT
15490        AnimationMode     = ONCE
15491      End
15492  
15493      ; Placing charge animation
15494      ConditionState      = UNPACKING
15495        Animation         = AIHERO_SKL.AIHERO_ATB1
15496        AnimationMode     = ONCE
15497      End
15498      AliasConditionState = MOVING UNPACKING
15499  
15500      ; Injured Placing charge animation
15501      ConditionState      = UNPACKING REALLYDAMAGED
15502        Animation         = AIHERO_SKL.AIHERO_IATB1
15503        AnimationMode     = ONCE
15504      End
15505      AliasConditionState = MOVING UNPACKING REALLYDAMAGED
15506  
15507      ; Stab animations
15508      ConditionState      = PREATTACK_B 
15509        Animation         = AIHERO_SKL.AIHERO_ATC
15510        AnimationMode     = ONCE
15511        TransitionKey     = TRANS_Stabbing
15512        HideSubObject     = MUZZLEFX01
15513      End
15514      AliasConditionState = PREATTACK_B MOVING
15515      AliasConditionState = PREATTACK_B FIRING_B
15516      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
15517  
15518      ConditionState      = FIRING_B
15519        Animation         = AIHERO_SKL.AIHERO_ATC
15520        AnimationMode     = MANUAL
15521        Flags             = START_FRAME_LAST
15522        TransitionKey     = TRANS_Stabbing
15523        HideSubObject     = MUZZLEFX01
15524      End
15525      AliasConditionState = BETWEEN_FIRING_SHOTS_B
15526      AliasConditionState = RELOADING_B
15527  
15528      TransitionState     = TRANS_Stabbing TRANS_Stand
15529        Animation         = AIHERO_SKL.AIHERO_ATC2
15530        AnimationMode     = ONCE
15531      End
15532  
15533      ; Injured Stab animations
15534      ConditionState      = PREATTACK_B REALLYDAMAGED 
15535        Animation         = AIHERO_SKL.AIHERO_IATC1
15536        AnimationMode     = ONCE
15537        TransitionKey     = TRANS_StabbingInjured
15538        HideSubObject     = MUZZLEFX01
15539      End
15540      AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
15541      AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
15542      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
15543  
15544      ConditionState      = FIRING_B REALLYDAMAGED
15545        Animation         = AIHERO_SKL.AIHERO_IATC2
15546        AnimationMode     = MANUAL
15547        Flags             = START_FRAME_LAST
15548        TransitionKey     = TRANS_StabbingInjured
15549        HideSubObject     = MUZZLEFX01
15550      End
15551      AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
15552      AliasConditionState = RELOADING_B REALLYDAMAGED
15553  
15554      TransitionState     = TRANS_StabbingInjured TRANS_StandInjured
15555        Animation         = AIHERO_SKL.AIHERO_IATC2
15556        AnimationMode     = ONCE
15557      End
15558  
15559      ; cheering
15560      ConditionState      = SPECIAL_CHEERING
15561        Animation         = AIHERO_SKL.AIHERO_CHA
15562        AnimationMode     = ONCE
15563      End
15564      
15565      ; injured cheering
15566      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
15567        Animation         = AIHERO_SKL.AIHERO_ICHA
15568        AnimationMode     = ONCE
15569      End
15570      
15571      ; climbing
15572      ConditionState      = CLIMBING
15573        Animation         = AIHERO_SKL.AIHERO_CLMID
15574        AnimationMode     = LOOP
15575        TransitionKey     = TRANS_Climbing
15576      End
15577      AliasConditionState = RAPPELLING
15578      AliasConditionState = CLIMBING REALLYDAMAGED
15579      AliasConditionState = RAPPELLING REALLYDAMAGED
15580  
15581      ConditionState      = CLIMBING MOVING
15582        Animation         = AIHERO_SKL.AIHERO_CLMUP
15583        AnimationMode     = LOOP
15584        TransitionKey     = TRANS_Climbing
15585      End
15586      AliasConditionState = CLIMBING MOVING REALLYDAMAGED
15587  
15588      ConditionState      = RAPPELLING MOVING
15589        Animation         = AIHERO_SKL.AIHERO_CLMUP
15590        AnimationMode     = LOOP_BACKWARDS
15591        TransitionKey     = TRANS_Climbing
15592      End
15593      AliasConditionState = RAPPELLING MOVING REALLYDAMAGED
15594  
15595  ; these transitions don't really work well with our code. leave 'em out.
15596  ;    TransitionState     = TRANS_Climbing TRANS_Stand
15597  ;      Animation         = AIHERO_SKL.AIHERO_CLMST
15598  ;      AnimationMode     = ONCE
15599  ;    End
15600  ;
15601  ;    TransitionState     = TRANS_Stand TRANS_Climbing
15602  ;      Animation         = AIHERO_SKL.AIHERO_CLMST
15603  ;      AnimationMode     = ONCE_BACKWARDS
15604  ;    End
15605  
15606      ; dying anims
15607      ConditionState      = DYING
15608        Animation         = AIHERO_SKL.AIHERO_DTA
15609        Animation         = AIHERO_SKL.AIHERO_DTB
15610        Animation         = AIHero_SKL.AIHero_IDTA
15611        Animation         = AIHero_SKL.AIHero_IDTB
15612        AnimationMode     = ONCE
15613        TransitionKey     = TRANS_Dying
15614      End
15615      AliasConditionState = RAPPELLING DYING
15616      AliasConditionState = CLIMBING DYING
15617  
15618      TransitionState     = TRANS_Dying TRANS_Flailing
15619        Animation         = AIHERO_SKL.AIHERO_ADTG21
15620        AnimationMode     = ONCE
15621      End
15622  
15623      ConditionState      = DYING EXPLODED_FLAILING
15624        Animation         = AIHERO_SKL.AIHERO_ADTG22
15625        AnimationMode     = LOOP
15626        TransitionKey     = TRANS_Flailing
15627      End
15628  
15629      ConditionState      = DYING EXPLODED_BOUNCING
15630        Animation         = AIHERO_SKL.AIHERO_ADTG23
15631        AnimationMode     = ONCE
15632        TransitionKey     = None
15633      End
15634  
15635      ; misc anims
15636      ConditionState      = FREEFALL
15637        Animation         = AIHERO_SKL.AIHERO_PFL
15638        AnimationMode     = LOOP
15639        TransitionKey     = TRANS_Falling
15640      End
15641      AliasConditionState = FREEFALL REALLYDAMAGED
15642      AliasConditionState = FREEFALL DYING
15643  
15644      ConditionState      = PARACHUTING
15645        Animation         = AIHERO_SKL.AIHERO_PHG
15646        AnimationMode     = LOOP
15647        TransitionKey     = TRANS_Chute
15648      End
15649      AliasConditionState = PARACHUTING REALLYDAMAGED
15650      AliasConditionState = PARACHUTING DYING
15651  
15652      TransitionState     = TRANS_Falling TRANS_Chute
15653        Animation         = AIHERO_SKL.AIHERO_POP
15654        AnimationMode     = ONCE
15655        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
15656      End
15657  
15658      TransitionState     = TRANS_Chute TRANS_Stand
15659        Animation         = AIHERO_SKL.AIHERO_PTD
15660        AnimationMode     = ONCE
15661      End
15662  
15663      TransitionState     = TRANS_Chute TRANS_StandInjured
15664        Animation         = AIHERO_SKL.AIHERO_PTD
15665        AnimationMode     = ONCE
15666      End
15667  
15668    End
15669  
15670    ; ***DESIGN parameters ***
15671    DisplayName         = OBJECT:ColonelBurton
15672    Side                = Boss
15673    EditorSorting       = INFANTRY
15674    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
15675    WeaponSet
15676      Conditions          = None 
15677      Weapon              = PRIMARY     ColonelBurtonSniperRifleWeapon
15678      Weapon              = SECONDARY   ColonelBurtonKnifeWeapon
15679      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
15680      AutoChooseSources   = SECONDARY   NONE
15681    End
15682    ArmorSet
15683      Conditions      = None
15684      Armor           = HumanArmor
15685      DamageFX        = InfantryDamageFX
15686    End
15687    ArmorSet
15688      Conditions      = PLAYER_UPGRADE
15689      Armor           = ChemSuitHumanArmor
15690      DamageFX        = InfantryDamageFX
15691    End
15692  
15693    VisionRange         = 150
15694    ShroudClearingRange = 500
15695    Prerequisites
15696      Object = Boss_Barracks
15697      Object = Boss_ParticleCannonUplink
15698    End
15699    BuildCost = 1500
15700    BuildTime = 20.0          ;in seconds  
15701  
15702    ExperienceValue     = 50 100 100 150  ; Experience point value at each level
15703    ExperienceRequired  = 0 200 300 600   ; Experience points needed to gain each level
15704    IsTrainable         = Yes             ; Can gain experience
15705    CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15706    CommandSet          = AmericaInfantryColonelBurtonCommandSet
15707  
15708    MaxSimultaneousOfType = 1
15709  
15710    ; *** AUDIO Parameters ***
15711    VoiceSelect = ColonelBurtonVoiceSelect
15712    VoiceMove = ColonelBurtonVoiceMove
15713    VoiceAttack = ColonelBurtonVoiceAttack
15714    VoiceFear = ColonelBurtonVoiceFear
15715    VoiceGuard = ColonelBurtonVoiceMove
15716    SoundStealthOn = StealthOn
15717    SoundStealthOff = StealthOff
15718    
15719    UnitSpecificSounds
15720      VoiceMelee = ColonelBurtonVoiceAttackKnife
15721      VoiceCreate           = ColonelBurtonVoiceCreate
15722      VoiceGarrison         = ColonelBurtonVoiceGarrison
15723      VoiceEnter            = ColonelBurtonVoiceMove
15724      VoiceEnterHostile     = ColonelBurtonVoiceMove
15725      VoiceGetHealed        = ColonelBurtonVoiceMove
15726    End
15727  
15728    ; *** ENGINEERING Parameters ***
15729    RadarPriority = UNIT
15730    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE
15731  
15732    Body = ActiveBody ModuleTag_02
15733      MaxHealth       = 200.0
15734      InitialHealth   = 200.0
15735    End
15736  
15737    Behavior                = ArmorUpgrade ModuleTag_Armor01
15738      TriggeredBy           = Upgrade_AmericaChemicalSuits
15739    End
15740  
15741    Behavior = AIUpdateInterface ModuleTag_03
15742      AutoAcquireEnemiesWhenIdle = Yes
15743    End
15744  
15745    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
15746    End
15747  
15748    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
15749      ScanRate = 1000 ; once a second.
15750      ScanRange = 300 ;
15751      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
15752      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
15753    End
15754  
15755    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor
15756  
15757    Behavior = PhysicsBehavior ModuleTag_06
15758      Mass = 5.0
15759    End
15760  
15761    Behavior = StealthUpdate ModuleTag_07
15762      StealthDelay                = 2000 ; msec
15763      StealthForbiddenConditions  = FIRING_PRIMARY
15764      HintDetectableConditions    = IS_FIRING_WEAPON 
15765      FriendlyOpacityMin          = 50.0%
15766      FriendlyOpacityMax          = 100.0%
15767      InnateStealth               = Yes
15768      OrderIdleEnemiesToAttackMeUponReveal  = Yes
15769      EnemyDetectionEvaEvent      = EnemyColonelBurtonDetected
15770      OwnDetectionEvaEvent        = OwnColonelBurtonDetected
15771    End
15772  
15773    Behavior = SpecialAbility ModuleTag_08
15774      SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges
15775      UpdateModuleStartsAttack = Yes
15776      InitiateSound             = ColonelBurtonVoicePlantRemoteCharge
15777    End
15778    Behavior = SpecialAbilityUpdate ModuleTag_09
15779      SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges
15780      StartAbilityRange = 0.0
15781      PreparationTime = 0
15782      SpecialObject = RemoteC4Charge
15783      MaxSpecialObjects = 8
15784      SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate).
15785      AlwaysValidateSpecialObjects = Yes      ;Coupled with the above setting, this one is necessary for code optimization.
15786      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
15787      UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
15788      UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
15789      PackTime                = 0
15790      SkipPackingWithNoTarget = Yes           ;When yes, the packing/unpacking will be ignored when detonating charges.
15791      FlipOwnerAfterUnpacking = Yes
15792      FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
15793      UnpackSound               = ColonelBurtonPlantCharge
15794      LoseStealthOnTrigger      = Yes
15795      PreTriggerUnstealthTime   = 5000 ; in milliseconds
15796    End
15797  
15798    Behavior = SpecialAbility ModuleTag_10
15799      SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges
15800      UpdateModuleStartsAttack = Yes
15801      InitiateSound             = ColonelBurtonVoicePlantTimedCharge
15802    End
15803    Behavior = SpecialAbilityUpdate ModuleTag_11
15804      SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges
15805      StartAbilityRange = 0.0
15806      PreparationTime = 0
15807      SpecialObject = TimedC4Charge
15808      MaxSpecialObjects = 10
15809      SpecialObjectsPersistWhenOwnerDies = Yes 
15810      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
15811      UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
15812      UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
15813      FlipOwnerAfterUnpacking = Yes
15814      FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
15815      UnpackSound               = ColonelBurtonPlantCharge
15816      LoseStealthOnTrigger      = Yes
15817      PreTriggerUnstealthTime   = 5000 ; in milliseconds
15818  
15819    End
15820   
15821    Behavior = ExperienceScalarUpgrade ModuleTag_12
15822      TriggeredBy   = Upgrade_AmericaAdvancedTraining
15823      AddXPScalar   = 1.0 ;Increases experience gained by an additional 100%
15824    End
15825   
15826    ;Hero units can't be squished!
15827    ;Behavior = SquishCollide ModuleTag_13
15828    ;  ;nothing
15829    ;End
15830  
15831  
15832  ; --- begin Death modules ---
15833    Behavior = SlowDeathBehavior ModuleTag_Death01
15834      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
15835      SinkDelay           = 3000
15836      SinkRate            = 0.5     ; in Dist/Sec
15837      DestructionDelay    = 8000
15838      FX                  = INITIAL FX_ColonelBurtonDie
15839    End
15840    Behavior = SlowDeathBehavior ModuleTag_Death02
15841      DeathTypes          = NONE +CRUSHED +SPLATTED
15842      SinkDelay           = 3000
15843      SinkRate            = 0.5     ; in Dist/Sec
15844      DestructionDelay    = 8000
15845      FX                  = INITIAL FX_GIDieCrushed
15846    End
15847    Behavior = SlowDeathBehavior ModuleTag_Death03
15848      DeathTypes          = NONE +EXPLODED
15849      SinkDelay           = 3000
15850      SinkRate            = 0.5     ; in Dist/Sec
15851      DestructionDelay    = 8000
15852      FX                  = INITIAL FX_ColonelBurtonDie
15853      FlingForce          = 8
15854      FlingForceVariance  = 3
15855      FlingPitch          = 60
15856      FlingPitchVariance  = 10
15857    End
15858    Behavior = SlowDeathBehavior ModuleTag_Death04
15859      DeathTypes          = NONE +BURNED
15860      DestructionDelay    = 0
15861      FX                  = INITIAL FX_DieByFireUSA
15862      OCL                 = INITIAL OCL_FlamingInfantry
15863    End
15864    Behavior = SlowDeathBehavior ModuleTag_Death05
15865      DeathTypes          = NONE +POISONED
15866      DestructionDelay    = 0
15867      FX                  = INITIAL FX_DieByToxinUSA
15868      OCL                 = INITIAL OCL_ToxicInfantry
15869    End
15870      Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
15871      DeathTypes          = NONE +POISONED_BETA
15872      DestructionDelay    = 0
15873      FX                  = INITIAL FX_DieByToxinUSA
15874      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
15875    End
15876  
15877    Behavior = SlowDeathBehavior ModuleTag_Death07
15878      DeathTypes          = NONE +POISONED_GAMMA
15879      DestructionDelay    = 0
15880      FX                  = INITIAL FX_DieByToxinUSA
15881      OCL                 = INITIAL OCL_ToxicInfantryGamma
15882    End
15883  ; --- end Death modules ---
15884  
15885    Behavior = PoisonedBehavior ModuleTag_18
15886      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
15887      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
15888    End
15889   
15890    Geometry = CYLINDER
15891    GeometryMajorRadius = 10.0
15892    GeometryMinorRadius = 10.0
15893    GeometryHeight = 12.0
15894    GeometryIsSmall = Yes
15895    Shadow = SHADOW_DECAL
15896    ShadowSizeX = 14
15897    ShadowSizeY = 14
15898    ShadowTexture = ShadowI
15899    BuildCompletion = APPEARS_AT_RALLY_POINT
15900  
15901  End
15902  
15903  
15904  
15905  
15906  
15907  
15908  
15909  
15910  
15911  
15912  
15913  
15914  
15915  
15916  
15917  
15918  
15919  
15920  
15921  
15922  
15923  
15924  
15925  
15926  
15927  
15928  ;------------------------------------------------------------------------------
15929  Object Boss_InfantryRanger
15930  
15931    ; *** ART Parameters ***
15932    SelectPortrait          = SARanger_L
15933    ButtonImage            = SARanger
15934    
15935    UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade
15936    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
15937    UpgradeCameo3 = Upgrade_InfantryCaptureBuilding
15938    UpgradeCameo4 = Upgrade_AmericaChemicalSuits
15939    ;UpgradeCameo5 = NONE
15940    
15941    Draw = W3DModelDraw ModuleTag_01
15942  
15943      OkToChangeModelColor = Yes
15944  
15945      ; this says "we don't use these condition states at all, so completely
15946      ; ignore them for purposes of matchmaking"... this is useful to help
15947      ; reduce the number of AliasConditionState clauses you must add in
15948      ; order to avoid ambiguity in some cases.
15949      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
15950  
15951      ; --- Idle
15952      DefaultConditionState
15953        Model             = AIRngr_SKN
15954        IdleAnimation     = AIRngr_SKL.AIRngr_STA 0 35
15955        IdleAnimation     = AIRngr_SKL.AIRngr_IDA
15956        IdleAnimation     = AIRngr_SKL.AIRngr_IDB
15957        AnimationMode     = ONCE
15958        WeaponFireFXBone  = PRIMARY Muzzle
15959        WeaponMuzzleFlash = PRIMARY MuzzleFX
15960        WeaponFireFXBone  = SECONDARY Muzzle
15961        WeaponLaunchBone  = SECONDARY Muzzle
15962        TransitionKey     = TRANS_Stand
15963  
15964      End
15965  
15966      ConditionState      = REALLYDAMAGED
15967        IdleAnimation     = AIRngr_SKL.AIRngr_STB 0 35
15968        IdleAnimation     = AIRngr_SKL.AIRngr_IDC
15969        IdleAnimation     = AIRngr_SKL.AIRngr_IDD
15970        AnimationMode     = ONCE
15971        TransitionKey     = TRANS_StandInjured
15972      End
15973  
15974      TransitionState     = TRANS_Stand TRANS_StandInjured
15975        Animation         = AIRngr_SKL.AIRngr_SA2SB
15976        AnimationMode     = ONCE
15977      End
15978  
15979      ; --- attacking (Machine Gun)
15980      ConditionState      = USING_WEAPON_A
15981        Animation         = AIRngr_SKL.AIRngr_ATA
15982        AnimationMode     = LOOP
15983        TransitionKey     = TRANS_FiringA
15984      End
15985  
15986      ConditionState      = USING_WEAPON_A REALLYDAMAGED
15987        Animation         = AIRngr_SKL.AIRngr_ATA2
15988        AnimationMode     = LOOP
15989        TransitionKey     = TRANS_FiringAInjured
15990      End
15991  
15992      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
15993        Animation         = AIRngr_SKL.AIRngr_A2WAA
15994        AnimationMode     = ONCE
15995      End
15996  
15997      TransitionState     = TRANS_Stand TRANS_FiringA
15998        Animation         = AIRngr_SKL.AIRngr_ATAST
15999        AnimationMode     = ONCE
16000        AnimationSpeedFactorRange = 4 4
16001      End
16002  
16003      TransitionState     = TRANS_FiringA TRANS_Stand
16004        Animation         = AIRngr_SKL.AIRngr_ATAED
16005        AnimationMode     = ONCE
16006        AnimationSpeedFactorRange = 4 4
16007      End
16008  
16009      TransitionState     = TRANS_StandInjured TRANS_FiringAInjured
16010        Animation         = AIRngr_SKL.AIRngr_S2WAA
16011        AnimationMode     = ONCE
16012        AnimationSpeedFactorRange = 4 4
16013      End
16014  
16015      TransitionState     = TRANS_FiringAInjured TRANS_StandInjured
16016        Animation         = AIRngr_SKL.AIRngr_WAA2S
16017        AnimationMode     = ONCE
16018        AnimationSpeedFactorRange = 4 4
16019      End
16020      
16021      TransitionState     = TRANS_Stand TRANS_Move
16022        Animation         = AIRngr_SKL.AIRngr_STA2RNA
16023        AnimationMode     = ONCE
16024      End
16025  
16026      ; --- attacking (Grenade Launcher)
16027      ConditionState      = PREATTACK_B 
16028        Animation         = AIRngr_SKL.AIRngr_ATBA
16029        AnimationMode     = ONCE
16030        TransitionKey     = TRANS_FiringB
16031      End
16032      AliasConditionState = PREATTACK_B MOVING
16033      AliasConditionState = PREATTACK_B FIRING_B
16034      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
16035  
16036      ConditionState      = FIRING_B
16037        Animation         = AIRngr_SKL.AIRngr_ATBB
16038        AnimationMode     = ONCE
16039        TransitionKey     = TRANS_FiringB
16040      End
16041  
16042      ConditionState      = BETWEEN_FIRING_SHOTS_B
16043        Animation         = AIRngr_SKL.AIRngr_ATBB
16044        AnimationMode     = MANUAL
16045        Flags             = START_FRAME_LAST
16046        TransitionKey     = TRANS_FiringB
16047        WaitForStateToFinishIfPossible = TRANS_FiringB
16048      End
16049      AliasConditionState = RELOADING_B
16050  
16051      TransitionState     = TRANS_Stand TRANS_FiringB
16052        Animation         = AIRngr_SKL.AIRngr_ATBST1
16053        AnimationMode     = ONCE
16054      End
16055  
16056      TransitionState     = TRANS_FiringB TRANS_Stand
16057        Animation         = AIRngr_SKL.AIRngr_ATBST2
16058        AnimationMode     = ONCE
16059      End
16060  
16061      ConditionState      = PREATTACK_B REALLYDAMAGED
16062        Animation         = AIRngr_SKL.AIRngr_ATB2A
16063        AnimationMode     = ONCE
16064        TransitionKey     = TRANS_FiringBInjured
16065      End
16066      AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
16067      AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
16068      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
16069  
16070      ConditionState      = FIRING_B REALLYDAMAGED
16071        Animation         = AIRngr_SKL.AIRngr_ATB2B
16072        AnimationMode     = ONCE
16073        TransitionKey     = TRANS_FiringBInjured
16074      End
16075  
16076      ConditionState      = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
16077        Animation         = AIRngr_SKL.AIRngr_ATB2B
16078        AnimationMode     = MANUAL
16079        Flags             = START_FRAME_LAST
16080        TransitionKey     = TRANS_FiringBInjured
16081        WaitForStateToFinishIfPossible = TRANS_FiringBInjured
16082      End
16083      AliasConditionState = RELOADING_B REALLYDAMAGED
16084  
16085      TransitionState     = TRANS_StandInjured TRANS_FiringBInjured
16086        Animation         = AIRngr_SKL.AIRngr_ATB2ST1
16087        AnimationMode     = ONCE
16088      End
16089  
16090      TransitionState     = TRANS_FiringBInjured TRANS_StandInjured
16091        Animation         = AIRngr_SKL.AIRngr_ATB2ST2
16092        AnimationMode     = ONCE
16093      End
16094  
16095      ; -- cross-attack transitions
16096  
16097      TransitionState     = TRANS_FiringA TRANS_FiringB
16098        Animation         = AIRngr_SKL.AIRngr_ATA2AB
16099        AnimationMode     = ONCE
16100        AnimationSpeedFactorRange = 4 4
16101      End
16102  
16103      TransitionState     = TRANS_FiringB TRANS_FiringA
16104        Animation         = AIRngr_SKL.AIRngr_ATA2AB
16105        AnimationMode     = ONCE_BACKWARDS
16106        AnimationSpeedFactorRange = 4 4
16107      End
16108  
16109  
16110      ; --- moving
16111      ConditionState      = MOVING
16112        Animation         = AIRngr_SKL.AIRngr_RNA 30
16113        AnimationMode     = LOOP
16114        Flags             = RANDOMSTART
16115        TransitionKey     = TRANS_Move
16116        ParticleSysBone   = None InfantryDustTrails
16117      End
16118      AliasConditionState = MOVING ATTACKING
16119  
16120      ConditionState      = MOVING REALLYDAMAGED
16121        Animation         = AIRngr_SKL.AIRngr_RNB 30
16122        AnimationMode     = LOOP
16123        Flags             = RANDOMSTART
16124        TransitionKey     = TRANS_Move
16125      End
16126      AliasConditionState = MOVING REALLYDAMAGED ATTACKING
16127      
16128      ; --- dying anims
16129      ConditionState      = DYING
16130        Animation         = AIRngr_SKL.AIRngr_DTA
16131        Animation         = AIRngr_SKL.AIRngr_DTB
16132        AnimationMode     = ONCE
16133        TransitionKey     = None
16134      End
16135  
16136      TransitionState     = TRANS_Dying TRANS_Flailing
16137        Animation         = AIRngr_SKL.AIRngr_ADTF1
16138        AnimationMode     = ONCE
16139      End
16140  
16141      ConditionState      = DYING EXPLODED_FLAILING
16142        Animation         = AIRngr_SKL.AIRngr_ADTF2
16143        AnimationMode     = LOOP
16144        TransitionKey     = TRANS_Flailing
16145      End
16146  
16147      ConditionState      = DYING EXPLODED_BOUNCING
16148        Animation         = AIRngr_SKL.AIRngr_ADTF3
16149        AnimationMode     = ONCE
16150        TransitionKey     = None
16151      End
16152      AliasConditionState = DYING SPLATTED
16153  
16154      ; --- cheering
16155      ConditionState      = SPECIAL_CHEERING
16156        Animation         = AIRngr_SKL.AIRngr_CHA
16157        AnimationMode     = LOOP
16158      End
16159  
16160      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
16161        Animation         = AIRngr_SKL.AIRngr_CHB
16162        AnimationMode     = LOOP
16163      End
16164  
16165      ; ----- PARACHUTING ANIMATIONS
16166      ConditionState      = FREEFALL
16167        Animation         = AIRngr_SKL.AIRngr_PFL
16168        AnimationMode     = LOOP
16169        TransitionKey     = TRANS_Falling
16170      End
16171      AliasConditionState = FREEFALL REALLYDAMAGED
16172      AliasConditionState = FREEFALL DYING
16173      ConditionState      = PARACHUTING
16174        Animation         = AIRngr_SKL.AIRngr_PHG
16175        AnimationMode     = LOOP
16176        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
16177        TransitionKey     = TRANS_Chute
16178      End
16179      AliasConditionState = PARACHUTING REALLYDAMAGED
16180      AliasConditionState = PARACHUTING DYING
16181      TransitionState     = TRANS_Falling TRANS_Chute
16182        Animation         = AIRngr_SKL.AIRngr_POP
16183        AnimationMode     = ONCE
16184        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
16185      End
16186      TransitionState     = TRANS_Chute TRANS_Stand
16187        Animation         = AIRngr_SKL.AIRngr_PTD
16188        AnimationMode     = ONCE
16189      End
16190      TransitionState     = TRANS_Chute TRANS_StandInjured
16191        Animation         = AIRngr_SKL.AIRngr_PTD
16192        AnimationMode     = ONCE
16193      End
16194  
16195      ; ------- Bldg-capture
16196  
16197      ConditionState      = UNPACKING
16198        Model             = AIRngr_F_SKN
16199        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
16200        AnimationMode     = ONCE
16201      End
16202      AliasConditionState = UNPACKING REALLYDAMAGED
16203  
16204  
16205      ConditionState      = RAISING_FLAG
16206        Model             = AIRngr_F_SKN
16207        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
16208        AnimationMode     = ONCE
16209        TransitionKey     = TRANS_Raising
16210      End
16211      AliasConditionState = RAISING_FLAG REALLYDAMAGED
16212  
16213      ConditionState      = PACKING
16214        Model             = AIRngr_F_SKN
16215        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
16216        AnimationMode     = ONCE_BACKWARDS
16217        Flags             = START_FRAME_LAST
16218        TransitionKey     = TRANS_Packing
16219      End
16220      AliasConditionState = PACKING REALLYDAMAGED
16221  
16222      TransitionState     = TRANS_Raising TRANS_Packing
16223        Model             = AIRngr_F_SKN
16224        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
16225        AnimationMode     = ONCE_BACKWARDS
16226        Flags             = START_FRAME_LAST
16227      End
16228  
16229      ; --- RAPPELLING ANIMATIONS
16230      ConditionState      = RAPPELLING
16231        Animation         = AIRngr_SKL.AIRngr_RPL1 ;30
16232        AnimationMode     = LOOP
16233        Flags             = RANDOMSTART
16234        TransitionKey     = TRANS_Rappelling
16235      End
16236      AliasConditionState = MOVING RAPPELLING
16237  
16238      TransitionState     = TRANS_Rappelling TRANS_Stand
16239        Animation         = AIRngr_SKL.AIRngr_RPL2
16240        AnimationMode     = ONCE
16241      End
16242  
16243      TransitionState     = TRANS_Rappelling TRANS_StandInjured
16244        Animation         = AIRngr_SKL.AIRngr_RPL2
16245        AnimationMode     = ONCE
16246      End
16247  
16248    End
16249  
16250    ; ***DESIGN parameters ***
16251    DisplayName         = OBJECT:Ranger
16252    Side                = Boss
16253    EditorSorting       = INFANTRY
16254    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
16255    
16256    WeaponSet
16257      Conditions = None 
16258      Weapon = PRIMARY RangerAdvancedCombatRifle
16259    End
16260    WeaponSet
16261      Conditions = PLAYER_UPGRADE 
16262      Weapon = PRIMARY RangerAdvancedCombatRifle
16263      Weapon = SECONDARY RangerFlashBangGrenadeWeapon
16264      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
16265      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
16266      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
16267    End
16268    ArmorSet
16269      Conditions      = None
16270      Armor           = HumanArmor
16271      DamageFX        = InfantryDamageFX
16272    End
16273    ArmorSet
16274      Conditions            = PLAYER_UPGRADE
16275      Armor                 = ChemSuitHumanArmor
16276      DamageFX              = None
16277    End
16278    VisionRange = 100
16279    ShroudClearingRange = 400
16280    Prerequisites
16281      Object = Boss_Barracks
16282    End
16283    BuildCost = 225
16284    BuildTime = 5.0          ;in seconds  
16285    
16286    ExperienceValue = 20 20 40 60    ;Experience point value at each level
16287    ExperienceRequired = 0 40 60 120  ;Experience points needed to gain each level
16288    IsTrainable = Yes             ;Can gain experience
16289    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16290    CommandSet          = AmericaInfantryRangerCommandSet
16291  
16292    ; *** AUDIO Parameters ***
16293    VoiceSelect = RangerVoiceSelect
16294    VoiceMove = RangerVoiceMove
16295    VoiceGuard = RangerVoiceMove
16296    VoiceAttack = RangerVoiceAttack
16297    VoiceFear = RangerVoiceFear
16298    VoiceTaskComplete = RangerVoiceCaptureComplete
16299  
16300    UnitSpecificSounds
16301      VoiceEnter = RangerVoiceMove
16302      VoiceEnterHostile = RangerVoiceMove
16303      VoiceGarrison = RangerVoiceGarrison
16304      VoiceCreate         = RangerVoiceCreate
16305      VoiceSubdue         = RangerVoiceSubdue
16306      VoiceClearBuilding  = RangerVoiceClearBuilding
16307      VoiceGetHealed      = RangerVoiceMove
16308      VoicePrimaryWeaponMode = RangerVoiceModeGun
16309      VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang
16310    End
16311  
16312    UnitSpecificFX
16313      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16314      CombatDropKillFX = FX_RangerCombatDropKill
16315    End
16316  
16317    ; *** ENGINEERING Parameters ***
16318    RadarPriority = UNIT
16319    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE
16320  
16321    Behavior = CommandButtonHuntUpdate ModuleTag_02
16322    End
16323  
16324    Body = ActiveBody ModuleTag_03
16325      MaxHealth       = 180.0
16326      InitialHealth   = 180.0
16327    End
16328  
16329    Behavior = ExperienceScalarUpgrade ModuleTag_04
16330      TriggeredBy = Upgrade_AmericaAdvancedTraining
16331      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
16332    End
16333  
16334    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
16335      ScanRate = 1000 ; once a second.
16336      ScanRange = 300 ;
16337      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
16338      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
16339    End
16340  
16341    Behavior = AIUpdateInterface ModuleTag_06
16342      AutoAcquireEnemiesWhenIdle = Yes
16343    End
16344    Locomotor = SET_NORMAL BasicHumanLocomotor
16345  
16346    Behavior = PhysicsBehavior ModuleTag_07
16347      Mass = 5.0
16348    End
16349  
16350    Behavior = ProductionUpdate ModuleTag_08
16351      ; nothing
16352    End
16353  
16354    Behavior = CommandButtonHuntUpdate  ModuleTag_09 ; allows use of command button hunt script with this unit. 
16355    End
16356  
16357    Behavior = WeaponSetUpgrade ModuleTag_10
16358      TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade
16359    End
16360    
16361  
16362  ; --- begin Death modules ---
16363    Behavior = SlowDeathBehavior ModuleTag_Death01
16364      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
16365      SinkDelay           = 3000
16366      SinkRate            = 0.5     ; in Dist/Sec
16367      DestructionDelay    = 8000
16368      FX                  = INITIAL FX_RangerDie
16369    End
16370    Behavior = SlowDeathBehavior ModuleTag_Death02
16371      DeathTypes          = NONE +CRUSHED +SPLATTED
16372      SinkDelay           = 3000
16373      SinkRate            = 0.5     ; in Dist/Sec
16374      DestructionDelay    = 8000
16375      FX                  = INITIAL FX_GIDieCrushed
16376    End
16377    Behavior = SlowDeathBehavior ModuleTag_Death03
16378      DeathTypes          = NONE +EXPLODED
16379      SinkDelay           = 3000
16380      SinkRate            = 0.5     ; in Dist/Sec
16381      DestructionDelay    = 8000
16382      FX                  = INITIAL FX_RangerDie
16383      FlingForce          = 8
16384      FlingForceVariance  = 3
16385      FlingPitch          = 60
16386      FlingPitchVariance  = 10
16387    End
16388    Behavior = SlowDeathBehavior ModuleTag_Death04
16389      DeathTypes          = NONE +BURNED
16390      DestructionDelay    = 0
16391      FX                  = INITIAL FX_DieByFireUSA
16392      OCL                 = INITIAL OCL_FlamingInfantry
16393    End
16394    Behavior = SlowDeathBehavior ModuleTag_Death05
16395      DeathTypes          = NONE +POISONED
16396      DestructionDelay    = 0
16397      FX                  = INITIAL FX_DieByToxinUSA
16398      OCL                 = INITIAL OCL_ToxicInfantry
16399    End
16400    
16401    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
16402      DeathTypes          = NONE +POISONED_BETA
16403      DestructionDelay    = 0
16404      FX                  = INITIAL FX_DieByToxinUSA
16405      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
16406    End
16407  
16408    Behavior = SlowDeathBehavior ModuleTag_Death07
16409      DeathTypes          = NONE +POISONED_GAMMA
16410      DestructionDelay    = 0
16411      FX                  = INITIAL FX_DieByToxinUSA
16412      OCL                 = INITIAL OCL_ToxicInfantryGamma
16413    End
16414  ; --- end Death modules ---
16415  
16416    Behavior = SquishCollide ModuleTag_12
16417      ;nothing
16418    End
16419    Behavior                = ArmorUpgrade ModuleTag_Armor01
16420      TriggeredBy           = Upgrade_AmericaChemicalSuits
16421    End
16422  
16423    Behavior = PoisonedBehavior ModuleTag_17
16424      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
16425      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
16426    End
16427   
16428    Behavior = SpecialAbility ModuleTag_18
16429      SpecialPowerTemplate      = SpecialAbilityRangerCaptureBuilding
16430      UpdateModuleStartsAttack  = Yes
16431      StartsPaused              = Yes ; Unpaused by upgrade module
16432      InitiateSound         = RangerVoiceCapture
16433    End
16434    Behavior = SpecialAbilityUpdate ModuleTag_19
16435      SpecialPowerTemplate  = SpecialAbilityRangerCaptureBuilding
16436      StartAbilityRange  = 5.0
16437      UnpackTime            = 3000  ; (changing this will scale anim speed)
16438      PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
16439      PackTime              = 2000  ; (changing this will scale anim speed)
16440      DoCaptureFX           = Yes
16441      AwardXPForTriggering  = 15
16442      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
16443    End
16444  
16445    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20
16446      SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
16447      TriggeredBy = Upgrade_InfantryCaptureBuilding
16448    End
16449  
16450    Behavior = LockWeaponCreate ModuleTag_21
16451      SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack.
16452    End
16453  
16454    Geometry = CYLINDER
16455    GeometryMajorRadius = 7.0
16456    GeometryMinorRadius = 7.0
16457    GeometryHeight = 13.0
16458  
16459    GeometryIsSmall = Yes
16460    Shadow = SHADOW_DECAL
16461    ShadowSizeX = 14;
16462    ShadowSizeY = 14;
16463    ShadowTexture = ShadowI;
16464    BuildCompletion = APPEARS_AT_RALLY_POINT
16465  
16466  End
16467  
16468  
16469  
16470  
16471  
16472  
16473  
16474  
16475  
16476  
16477  
16478  
16479  
16480  
16481  
16482  
16483  
16484  
16485  
16486  
16487  
16488  
16489  
16490  
16491  
16492  
16493  
16494  ;------------------------------------------------------------------------------
16495  Object Boss_InfantryPathfinder
16496  
16497      ; *** ART Parameters ***
16498    SelectPortrait         = SAPathfinder1_L
16499    ButtonImage            = SAPathfinder1
16500    
16501    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
16502    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
16503    ;UpgradeCameo3 = NONE
16504    ;UpgradeCameo4 = NONE
16505    ;UpgradeCameo5 = NONE
16506    
16507    Draw = W3DModelDraw ModuleTag_01
16508  
16509      OkToChangeModelColor = Yes
16510  
16511      DefaultConditionState
16512        Model = AIPFDR_SKN
16513        IdleAnimation = AIPFDR_SKL.AIPFDR_STA 
16514        IdleAnimation = AIPFDR_SKL.AIPFDR_IDA
16515        AnimationMode = ONCE
16516        WeaponFireFXBone = PRIMARY Muzzle
16517        WeaponMuzzleFlash = PRIMARY MuzzleFX
16518        TransitionKey = TRANS_Standing
16519      End
16520      AliasConditionState = REALLYDAMAGED
16521  
16522      ConditionState = MOVING
16523        Animation = AIPFDR_SKL.AIPFDR_RNA 25
16524        AnimationMode = LOOP
16525        Flags = RANDOMSTART
16526        TransitionKey = TRANS_Standing
16527        ParticleSysBone   = None InfantryDustTrails
16528      End
16529      AliasConditionState = MOVING REALLYDAMAGED
16530  
16531      ConditionState  = FIRING_A 
16532        Animation     = AIPFDR_SKL.AIPFDR_ATB                 ; recoil in standing position
16533        AnimationMode = ONCE
16534        TransitionKey = TRANS_FiringA
16535      End
16536      AliasConditionState = FIRING_A MOVING
16537      AliasConditionState = FIRING_A MOVING REALLYDAMAGED
16538      AliasConditionState = FIRING_A REALLYDAMAGED
16539  
16540      ConditionState  = BETWEEN_FIRING_SHOTS_A
16541        Animation     = AIPFDR_SKL.AIPFDR_ATBST               ; motionless in standing position
16542        AnimationMode = ONCE
16543        WaitForStateToFinishIfPossible = TRANS_FiringA
16544      End
16545      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
16546      AliasConditionState = RELOADING_A
16547      AliasConditionState = RELOADING_A REALLYDAMAGED
16548  
16549      ConditionState = DYING
16550        Animation = AIPFDR_SKL.AIPFDR_DTA
16551        AnimationMode = ONCE
16552        TransitionKey = TRANS_Dying
16553      End
16554      
16555      TransitionState = TRANS_Dying TRANS_Flailing
16556        Animation = AIPFDR_SKL.AIPFDR_ADTA1
16557        AnimationMode = ONCE
16558      End
16559  
16560      ConditionState = DYING EXPLODED_FLAILING
16561        Animation = AIPFDR_SKL.AIPFDR_ADTA2
16562        AnimationMode = LOOP
16563        TransitionKey = TRANS_Flailing
16564      End
16565  
16566      ConditionState = DYING EXPLODED_BOUNCING
16567        Animation = AIPFDR_SKL.AIPFDR_ADTA3
16568        AnimationMode = ONCE
16569        TransitionKey = None
16570      End
16571  
16572      ConditionState = FREEFALL
16573        Animation = AIPFDR_SKL.AIPFDR_PFL
16574        AnimationMode = LOOP
16575        TransitionKey = TRANS_Falling
16576      End
16577      AliasConditionState = FREEFALL DYING
16578  
16579      ConditionState = PARACHUTING
16580        Animation = AIPFDR_SKL.AIPFDR_PHG
16581        AnimationMode = LOOP
16582        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
16583        ;our bone positions should come from the last frame, rather than the first
16584        TransitionKey = TRANS_Chute
16585      End
16586      AliasConditionState = PARACHUTING DYING
16587  
16588  
16589      TransitionState = TRANS_Falling TRANS_Chute
16590        Animation = AIPFDR_SKL.AIPFDR_POP
16591        AnimationMode = ONCE
16592        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
16593        ;our bone positions should come from the last frame, rather than the first
16594      End
16595  
16596      TransitionState = TRANS_Chute TRANS_Standing
16597        Animation = AIPFDR_SKL.AIPFDR_PTD
16598        AnimationMode = ONCE
16599      End
16600    End
16601  
16602    
16603    ; ***DESIGN parameters ***
16604    DisplayName      = OBJECT:Pathfinder
16605    Side = Boss
16606    EditorSorting = INFANTRY
16607    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
16608    
16609    WeaponSet
16610      Conditions = None 
16611      Weapon = PRIMARY USAPathfinderSniperRifle
16612    End
16613    ArmorSet
16614      Conditions      = None
16615      Armor           = HumanArmor
16616      DamageFX        = InfantryDamageFX
16617    End
16618    ArmorSet
16619      Conditions      = PLAYER_UPGRADE
16620      Armor           = ChemSuitHumanArmor
16621      DamageFX        = InfantryDamageFX
16622    End
16623  
16624    VisionRange = 200
16625    ShroudClearingRange = 400
16626    Prerequisites
16627      Object = Boss_Barracks
16628      Science = SCIENCE_Pathfinder
16629    End
16630    BuildCost = 600
16631    BuildTime = 10.0          ;in seconds  
16632    
16633    ExperienceValue = 40 40 60 80    ;Experience point value at each level
16634    ExperienceRequired = 0 50 100 200  ;Experience points needed to gain each level
16635    IsTrainable = Yes             ;Can gain experience
16636    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16637    CommandSet      = AmericaInfantryPathfinderCommandSet
16638  
16639    ; *** AUDIO Parameters ***
16640    VoiceSelect = PathfinderVoiceSelect
16641    VoiceMove = PathfinderVoiceMove
16642    VoiceGuard = PathfinderVoiceMove
16643    VoiceAttack = PathfinderVoiceAttack
16644    VoiceFear = PathfinderVoiceFear
16645    SoundStealthOn = StealthOn
16646    SoundStealthOff = StealthOff
16647    VoiceFear = PathfinderVoiceFear
16648    
16649    UnitSpecificSounds
16650      VoiceCreate          = PathfinderVoiceCreate
16651      VoiceGarrison = PathfinderVoiceGarrison
16652      VoiceEnter = PathfinderVoiceMove
16653      VoiceEnterHostile =  PathfinderVoiceMove
16654      VoiceGetHealed      = PathfinderVoiceMove
16655    End
16656  
16657    ; *** ENGINEERING Parameters ***
16658    RadarPriority = UNIT
16659    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE
16660  
16661    Body = ActiveBody ModuleTag_02
16662      MaxHealth       = 120.0
16663      InitialHealth   = 120.0
16664    End
16665  
16666    Behavior                = ArmorUpgrade ModuleTag_Armor01
16667      TriggeredBy           = Upgrade_AmericaChemicalSuits
16668    End
16669  
16670    Behavior = AIUpdateInterface ModuleTag_03
16671      AutoAcquireEnemiesWhenIdle = Yes Stealthed
16672      MoodAttackCheckRate        = 250
16673    End
16674  
16675    Behavior = AutoFindHealingUpdate   ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 
16676      ScanRate = 1000 ; once a second.
16677      ScanRange = 300 ;
16678      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
16679      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
16680    End
16681  
16682    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor
16683  
16684    Behavior = ExperienceScalarUpgrade ModuleTag_05
16685      TriggeredBy = Upgrade_AmericaAdvancedTraining
16686      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
16687    End
16688  
16689    Behavior = PhysicsBehavior ModuleTag_06
16690      Mass = 5.0
16691    End
16692    Behavior = StealthDetectorUpdate ModuleTag_08
16693      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
16694      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
16695      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
16696      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
16697    End
16698    Behavior = StealthUpdate ModuleTag_09
16699      StealthDelay                = 0           ; msec
16700      StealthForbiddenConditions  = MOVING ; stays stealthy while attacking
16701      FriendlyOpacityMin          = 30.0%
16702      FriendlyOpacityMax          = 80.0%
16703      PulseFrequency              = 500   ; msec
16704      MoveThresholdSpeed          = 3
16705      InnateStealth               = Yes
16706      OrderIdleEnemiesToAttackMeUponReveal  = Yes
16707    End
16708   
16709    Behavior = SquishCollide ModuleTag_10
16710      ;nothing
16711    End
16712  
16713  
16714  ; --- begin Death modules ---
16715    Behavior = SlowDeathBehavior ModuleTag_Death01
16716      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
16717      SinkDelay           = 3000
16718      SinkRate            = 0.5     ; in Dist/Sec
16719      DestructionDelay    = 8000
16720      FX                  = INITIAL FX_PathfinderDie
16721    End
16722    Behavior = SlowDeathBehavior ModuleTag_Death02
16723      DeathTypes          = NONE +CRUSHED +SPLATTED
16724      SinkDelay           = 3000
16725      SinkRate            = 0.5     ; in Dist/Sec
16726      DestructionDelay    = 8000
16727      FX                  = INITIAL FX_GIDieCrushed
16728    End
16729    Behavior = SlowDeathBehavior ModuleTag_Death03
16730      DeathTypes          = NONE +EXPLODED
16731      SinkDelay           = 3000
16732      SinkRate            = 0.5     ; in Dist/Sec
16733      DestructionDelay    = 8000
16734      FX                  = INITIAL FX_PathfinderDie
16735      FlingForce          = 8
16736      FlingForceVariance  = 3
16737      FlingPitch          = 60
16738      FlingPitchVariance  = 10
16739    End
16740    Behavior = SlowDeathBehavior ModuleTag_Death04
16741      DeathTypes          = NONE +BURNED
16742      DestructionDelay    = 0
16743      FX                  = INITIAL FX_DieByFireUSA
16744      OCL                 = INITIAL OCL_FlamingInfantry
16745    End
16746    Behavior = SlowDeathBehavior ModuleTag_Death05
16747      DeathTypes          = NONE +POISONED
16748      DestructionDelay    = 0
16749      FX                  = INITIAL FX_DieByToxinUSA
16750      OCL                 = INITIAL OCL_ToxicInfantry
16751    End
16752    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
16753      DeathTypes          = NONE +POISONED_BETA
16754      DestructionDelay    = 0
16755      FX                  = INITIAL FX_DieByToxinUSA
16756      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
16757    End
16758  
16759    Behavior = SlowDeathBehavior ModuleTag_Death07
16760      DeathTypes          = NONE +POISONED_GAMMA
16761      DestructionDelay    = 0
16762      FX                  = INITIAL FX_DieByToxinUSA
16763      OCL                 = INITIAL OCL_ToxicInfantryGamma
16764    End
16765  ; --- end Death modules ---
16766  
16767    Behavior = PoisonedBehavior ModuleTag_13
16768      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
16769      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
16770    End
16771   
16772    Geometry = CYLINDER
16773    GeometryMajorRadius = 10.0
16774    GeometryMinorRadius = 10.0
16775    GeometryHeight = 12.0
16776    GeometryIsSmall = Yes
16777    Shadow = SHADOW_DECAL
16778    ShadowSizeX = 14;
16779    ShadowSizeY = 14;
16780    ShadowTexture = ShadowI;
16781    BuildCompletion = APPEARS_AT_RALLY_POINT
16782  
16783  End
16784  
16785  
16786  
16787  
16788  
16789  
16790  
16791  
16792  
16793  
16794  
16795  
16796  
16797  
16798  
16799  
16800  
16801  
16802  
16803  
16804  
16805  
16806  
16807  
16808  
16809  
16810  
16811  
16812  
16813  
16814  
16815  
16816  ;------------------------------------------------------------------------------
16817  Object Boss_InfantryBlackLotus
16818  
16819    ; *** ART Parameters ***
16820    SelectPortrait         = SNSprLotus_L
16821    ButtonImage            = SNSprLotus
16822    
16823    ;UpgradeCameo1 = NONE
16824    ;UpgradeCameo2 = NONE
16825    ;UpgradeCameo3 = NONE
16826    ;UpgradeCameo4 = NONE
16827    ;UpgradeCameo5 = NONE
16828    
16829    Draw = W3DModelDraw ModuleTag_01
16830  
16831      OkToChangeModelColor = Yes
16832      
16833      ; --- idle
16834      DefaultConditionState
16835        Model             = NIHERO_SKN
16836        IdleAnimation     = NIHERO_SKL.NIHERO_STA 0 17
16837        IdleAnimation     = NIHERO_SKL.NIHero_IDA
16838        IdleAnimation     = NIHERO_SKL.NIHero_IDB
16839        AnimationMode     = ONCE
16840        TransitionKey     = TRANS_Stand
16841      End
16842  
16843      ConditionState      = REALLYDAMAGED
16844        IdleAnimation     = NIHERO_SKL.NIHERO_ISTA 0 30
16845        IdleAnimation     = NIHERO_SKL.NIHero_IIDA
16846        AnimationMode     = ONCE
16847        TransitionKey     = TRANS_StandInjured
16848      End
16849  
16850      TransitionState     = TRANS_Stand TRANS_StandInjured
16851        Animation         = NIHero_SKL.NIHero_ISTAHIT
16852        AnimationMode     = ONCE
16853      End
16854  
16855      ; --- moving
16856      ConditionState      = MOVING
16857        Animation         = NIHero_SKL.NIHero_RNA
16858        AnimationMode     = LOOP
16859        Flags             = RANDOMSTART
16860        TransitionKey     = None
16861        ParticleSysBone   = None InfantryDustTrails
16862      End
16863      AliasConditionState = MOVING UNPACKING
16864  
16865      ConditionState      = MOVING REALLYDAMAGED
16866        Animation         = NIHero_SKL.NIHero_IRNA
16867        AnimationMode     = LOOP
16868        Flags             = RANDOMSTART
16869        TransitionKey     = None
16870        ParticleSysBone   = None InfantryDustTrails
16871      End
16872      AliasConditionState = MOVING UNPACKING REALLYDAMAGED
16873  
16874      ; --- packing states
16875      ConditionState      = UNPACKING
16876        ;Preparing to attack (unpacking gear)
16877        Animation         = NIHero_SKL.NIHero_ATA1
16878        AnimationMode     = ONCE
16879      End
16880      AliasConditionState = UNPACKING FIRING_A
16881  
16882      ConditionState      = FIRING_A
16883        ;Processing attack (hacking)
16884        Animation         = NIHero_SKL.NIHero_ATA2
16885        AnimationMode     = LOOP
16886        TransitionKey     = TRANS_FiringA
16887      End
16888  
16889      ConditionState      = PACKING
16890        ;Completing attack (packing gear)
16891        Animation         = NIHero_SKL.NIHero_ATA3
16892        AnimationMode     = ONCE
16893      End
16894      AliasConditionState = FIRING_A PACKING 
16895  
16896      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
16897        Animation         = NIHero_SKL.NIHero_IATAHIT
16898        AnimationMode     = ONCE
16899      End
16900  
16901      ; --- injured-packing states
16902      ConditionState      = UNPACKING REALLYDAMAGED
16903        ;Preparing to attack (unpacking gear)
16904        Animation         = NIHero_SKL.NIHero_IATA1
16905        AnimationMode     = ONCE
16906      End
16907      AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED
16908  
16909      ConditionState      = FIRING_A REALLYDAMAGED
16910        ;Processing attack (hacking)
16911        Animation         = NIHero_SKL.NIHero_IATA2
16912        AnimationMode     = LOOP
16913        TransitionKey     = TRANS_FiringAInjured
16914      End
16915  
16916      ConditionState      = PACKING REALLYDAMAGED
16917        ;Completing attack (packing gear)
16918        Animation         = NIHero_SKL.NIHero_IATA3
16919        AnimationMode     = ONCE
16920      End
16921      AliasConditionState = FIRING_A PACKING REALLYDAMAGED
16922  
16923      ; --- packing-dying states
16924  ; code doesn't really support this. Oh well.
16925  ;    ConditionState      = DYING RAISING_FLAG
16926  ;      Animation         = NIHero_SKL.NIHero_IDTA
16927  ;      Animation         = NIHero_SKL.NIHero_IDTB
16928  ;      AnimationMode     = ONCE
16929  ;    End
16930  ;    AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING
16931  
16932      ; --- normal-dying states
16933      ConditionState      = DYING
16934        Animation         = NIHero_SKL.NIHero_DTA
16935        Animation         = NIHero_SKL.NIHero_DTB
16936        AnimationMode     = ONCE
16937        TransitionKey     = TRANS_Dying
16938      End
16939  
16940      TransitionState     = TRANS_Dying TRANS_Flailing
16941        Animation         = NIHero_SKL.NIHero_ADTF1
16942        AnimationMode     = ONCE
16943      End
16944  
16945      ConditionState      = DYING EXPLODED_FLAILING
16946        Animation         = NIHero_SKL.NIHero_ADTF2
16947        AnimationMode     = LOOP
16948        TransitionKey     = TRANS_Flailing
16949      End
16950  
16951      ConditionState      = DYING EXPLODED_BOUNCING
16952        Animation         = NIHero_SKL.NIHero_ADTF3
16953        AnimationMode     = ONCE
16954        TransitionKey     = None
16955      End
16956  
16957      ; --- cheering states
16958      ConditionState      = SPECIAL_CHEERING
16959        Animation         = NIHERO_SKL.NIHERO_CHA
16960        AnimationMode     = ONCE
16961      End
16962  
16963      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
16964        Animation         = NIHERO_SKL.NIHERO_ICHA
16965        AnimationMode     = ONCE
16966      End
16967  
16968      ; --- falling states
16969      ConditionState      = FREEFALL
16970        Animation         = NIHero_SKL.NIHero_PFL
16971        AnimationMode     = LOOP
16972        TransitionKey     = TRANS_Falling
16973      End
16974      AliasConditionState = FREEFALL REALLYDAMAGED
16975      AliasConditionState = FREEFALL DYING
16976  
16977      ConditionState      = PARACHUTING
16978        Animation         = NIHero_SKL.NIHero_PHG
16979        AnimationMode     = LOOP
16980        TransitionKey     = TRANS_Chute
16981      End
16982      AliasConditionState = PARACHUTING REALLYDAMAGED
16983      AliasConditionState = PARACHUTING DYING
16984  
16985      TransitionState     = TRANS_Falling TRANS_Chute
16986        Animation         = NIHero_SKL.NIHero_POP
16987        AnimationMode     = ONCE
16988        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
16989      End
16990  
16991      TransitionState     = TRANS_Chute TRANS_Stand
16992        Animation         = NIHero_SKL.NIHero_PTD
16993        AnimationMode     = ONCE
16994      End
16995  
16996      TransitionState     = TRANS_Chute TRANS_StandInjured
16997        Animation         = NIHero_SKL.NIHero_PTD
16998        AnimationMode     = ONCE
16999      End
17000  
17001    End
17002  
17003    ; ***DESIGN parameters ***
17004    DisplayName         = OBJECT:BlackLotus
17005    Side                = Boss
17006    EditorSorting       = INFANTRY
17007    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
17008    WeaponSet
17009      Conditions        = None 
17010      Weapon            = PRIMARY None
17011    End
17012    ArmorSet
17013      Conditions      = None
17014      Armor           = HumanArmor
17015      DamageFX        = InfantryDamageFX
17016    End
17017    ArmorSet
17018      Conditions      = PLAYER_UPGRADE
17019      Armor           = ChemSuitHumanArmor
17020      DamageFX        = InfantryDamageFX
17021    End
17022  
17023    VisionRange         = 300
17024    ShroudClearingRange = 400
17025    Prerequisites
17026      Object = Boss_Barracks
17027      Object = Boss_NuclearMissileLauncher
17028    End
17029    BuildCost             = 1500
17030    BuildTime             = 20.0          ;in seconds    
17031    MaxSimultaneousOfType = 1
17032    CommandSet            = ChinaInfantryBlackLotusCommandSet
17033  
17034    ExperienceValue       = 50 100 150 400    ;Experience point value at each level
17035    ExperienceRequired    = 0 150 450 900  ;Experience points needed to gain each level
17036    IsTrainable           = Yes             ;Can gain experience
17037    CrushableLevel        = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17038    CommandSet            = ChinaInfantryBlackLotusCommandSet
17039  
17040    ; *** AUDIO Parameters ***
17041    VoiceSelect = BlackLotusVoiceSelect
17042    VoiceMove = BlackLotusVoiceMove
17043    VoiceAttack = NoSound
17044    VoiceGuard = BlackLotusVoiceMove
17045    VoiceFear = BlackLotusVoiceFear
17046    VoiceTaskComplete = BlackLotusVoiceCaptureComplete
17047    SoundStealthOn = StealthOn
17048    SoundStealthOff = StealthOff
17049    
17050    UnitSpecificSounds
17051      VoiceCreate          = BlackLotusVoiceCreate
17052      VoiceGarrison = BlackLotusVoiceMove
17053      VoiceEnter = BlackLotusVoiceMove
17054      VoiceEnterHostile = BlackLotusVoiceMove
17055      VoiceStealCashComplete = BlackLotusVoiceCashComplete
17056      VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete
17057      VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete
17058      VoiceGetHealed      = BlackLotusVoiceMove
17059    End
17060  
17061    ; *** ENGINEERING Parameters ***
17062    RadarPriority = UNIT
17063    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE
17064  
17065    Body = ActiveBody ModuleTag_02
17066      MaxHealth       = 150.0
17067      InitialHealth   = 150.0
17068    End
17069  
17070    Behavior                = ArmorUpgrade ModuleTag_Armor01
17071      TriggeredBy           = Upgrade_AmericaChemicalSuits
17072    End
17073  
17074    Behavior = CommandButtonHuntUpdate  ModuleTag_03 ; allows use of command button hunt script with this unit. 
17075    End
17076  
17077    Behavior = AIUpdateInterface ModuleTag_04
17078      AutoAcquireEnemiesWhenIdle = No
17079    End
17080    Locomotor = SET_NORMAL BlackLotusLocomotor
17081    Locomotor = SET_FREEFALL FreeFallLocomotor
17082    Behavior = PhysicsBehavior ModuleTag_05
17083      Mass = 5.0
17084    End
17085    Behavior = StealthUpdate ModuleTag_07
17086      StealthDelay                = 2500 ; msec
17087      StealthForbiddenConditions  = USING_ABILITY
17088      HintDetectableConditions    = USING_ABILITY
17089      InnateStealth               = Yes
17090      OrderIdleEnemiesToAttackMeUponReveal  = Yes
17091      EnemyDetectionEvaEvent      = EnemyBlackLotusDetected
17092      OwnDetectionEvaEvent        = OwnBlackLotusDetected
17093    End
17094  
17095    Behavior = StealthDetectorUpdate ModuleTag_44
17096      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
17097      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
17098      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
17099      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
17100    End
17101  
17102    Behavior = SpecialAbility ModuleTag_08
17103      SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding
17104      UpdateModuleStartsAttack = Yes
17105      InitiateSound         = BlackLotusVoiceHackBuilding
17106    End
17107    Behavior = SpecialAbilityUpdate ModuleTag_09
17108      SpecialPowerTemplate  = SpecialAbilityBlackLotusCaptureBuilding
17109      StartAbilityRange     = 150.0
17110      UnpackTime            = 6730 ;animation time is 6730 (changing this will scale anim speed)
17111      PackTime              = 2800 ;animation time is 5800 (changing this will scale anim speed)
17112      PreparationTime       = 6000 ;time to complete hack once prepared (unpacked)
17113      SpecialObject         = BinaryDataStream
17114      DoCaptureFX           = Yes
17115      PackSound             = BlackLotusPack
17116      UnpackSound           = BlackLotusUnpack
17117      TriggerSound          = BlackLotusTrigger
17118      PrepSoundLoop         = BlackLotusPrepLoop
17119      AwardXPForTriggering  = 20
17120      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
17121    End
17122    Behavior = SpecialAbility ModuleTag_10
17123      SpecialPowerTemplate      = SpecialAbilityBlackLotusDisableVehicleHack
17124      UpdateModuleStartsAttack  = Yes
17125      InitiateSound           = BlackLotusVoiceHackVehicle
17126    End
17127    Behavior = SpecialAbilityUpdate ModuleTag_11
17128      SpecialPowerTemplate    = SpecialAbilityBlackLotusDisableVehicleHack
17129      StartAbilityRange       = 150.0
17130      UnpackTime              = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed)
17131      PackTime                = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed)
17132      PreparationTime         = 2000 ;time to complete hack once prepared (unpacked)
17133      EffectDuration          = 15000 ;duration vehicle is disabled  (30 seconds)
17134      DisableFXParticleSystem = DisabledEffectBinaryShower0
17135      SpecialObject           = BinaryDataStream
17136      PackSound               = BlackLotusPack
17137      UnpackSound             = BlackLotusUnpack
17138      TriggerSound            = BlackLotusTrigger
17139      PrepSoundLoop           = BlackLotusPrepLoop
17140      AwardXPForTriggering    = 0
17141      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
17142    End
17143    Behavior = SpecialAbility ModuleTag_12
17144      SpecialPowerTemplate      = SpecialAbilityBlackLotusStealCashHack
17145      UpdateModuleStartsAttack  = Yes
17146      InitiateSound         = BlackLotusVoiceHackCash
17147    End
17148    Behavior = SpecialAbilityUpdate ModuleTag_13
17149      SpecialPowerTemplate  = SpecialAbilityBlackLotusStealCashHack
17150      StartAbilityRange     = 150.0
17151      UnpackTime            = 6730 ;animation time is 6730 (changing this will scale anim speed)
17152      PackTime              = 5800 ;animation time is 5800 (changing this will scale anim speed)
17153      PreparationTime       = 6000 ;time to complete hack once prepared (unpacked)
17154      EffectValue           = 1000 ;amount of cash stolen
17155      SpecialObject         = BinaryDataStream
17156      PackSound             = BlackLotusPack
17157      UnpackSound           = BlackLotusUnpack
17158      TriggerSound          = BlackLotusTrigger
17159      PrepSoundLoop         = BlackLotusPrepLoop
17160      AwardXPForTriggering  = 20
17161      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
17162    End
17163   
17164    ;Hero units can't be squished!
17165    ;Behavior = SquishCollide ModuleTag_14
17166    ;  ;nothing
17167    ;End
17168  
17169  
17170  ; --- begin Death modules ---
17171    Behavior = SlowDeathBehavior ModuleTag_Death01
17172      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
17173      SinkDelay           = 3000
17174      SinkRate            = 0.5     ; in Dist/Sec
17175      DestructionDelay    = 8000
17176      FX                  = INITIAL FX_BlackLotusDie
17177    End
17178    Behavior = SlowDeathBehavior ModuleTag_Death02
17179      DeathTypes          = NONE +CRUSHED +SPLATTED
17180      SinkDelay           = 3000
17181      SinkRate            = 0.5     ; in Dist/Sec
17182      DestructionDelay    = 8000
17183      FX                  = INITIAL FX_GIDieCrushed
17184    End
17185    Behavior = SlowDeathBehavior ModuleTag_Death03
17186      DeathTypes          = NONE +EXPLODED
17187      SinkDelay           = 3000
17188      SinkRate            = 0.5     ; in Dist/Sec
17189      DestructionDelay    = 8000
17190      FX                  = INITIAL FX_BlackLotusDie
17191      FlingForce          = 8
17192      FlingForceVariance  = 3
17193      FlingPitch          = 60
17194      FlingPitchVariance  = 10
17195    End
17196    Behavior = SlowDeathBehavior ModuleTag_Death04
17197      DeathTypes          = NONE +BURNED
17198      DestructionDelay    = 0
17199      FX                  = INITIAL FX_DieByFireFemale
17200      OCL                 = INITIAL OCL_FlamingInfantry
17201    End
17202    Behavior = SlowDeathBehavior ModuleTag_Death05
17203      DeathTypes          = NONE +POISONED
17204      DestructionDelay    = 0
17205      FX                  = INITIAL FX_DieByToxinFemale
17206      OCL                 = INITIAL OCL_ToxicInfantry
17207    End
17208    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
17209      DeathTypes          = NONE +POISONED_BETA
17210      DestructionDelay    = 0
17211      FX                  = INITIAL FX_DieByToxinFemale
17212      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
17213    End
17214  
17215    Behavior = SlowDeathBehavior ModuleTag_Death07
17216      DeathTypes          = NONE +POISONED_GAMMA
17217      DestructionDelay    = 0
17218      FX                  = INITIAL FX_DieByToxinFemale
17219      OCL                 = INITIAL OCL_ToxicInfantryGamma
17220    End
17221  ; --- end Death modules ---
17222  
17223    Behavior = PoisonedBehavior ModuleTag_17
17224      PoisonDamageInterval  = 100  ; Every this many msec I will retake the poison damage dealt me...
17225      PoisonDuration        = 3000       ; ... for this long after last hit by poison damage
17226    End
17227   
17228    Geometry = CYLINDER
17229    GeometryMajorRadius = 10.0
17230    GeometryMinorRadius = 10.0
17231    GeometryHeight = 12.0
17232    GeometryIsSmall = Yes
17233    Shadow = SHADOW_DECAL
17234    ShadowSizeX = 14;
17235    ShadowSizeY = 14;
17236    ShadowTexture = ShadowI;
17237    BuildCompletion = APPEARS_AT_RALLY_POINT
17238  
17239  End
17240  
17241  
17242  
17243  
17244  
17245  
17246  
17247  
17248  
17249  
17250  
17251  
17252  
17253  
17254  
17255  
17256  
17257  
17258  
17259  
17260  
17261  
17262  
17263  
17264  
17265  
17266  
17267  
17268  
17269  
17270  
17271  
17272  
17273  
17274  
17275  
17276  ;------------------------------------------------------------------------------
17277  Object Boss_InfantryTankHunter
17278  
17279    ; *** ART Parameters ***
17280    SelectPortrait         = SNTankHunter_L
17281    ButtonImage            = SNTankHunter
17282    
17283    UpgradeCameo1 = Upgrade_Nationalism
17284    ;UpgradeCameo2 = NONE
17285    ;UpgradeCameo3 = NONE
17286    ;UpgradeCameo4 = NONE
17287    ;UpgradeCameo5 = NONE
17288  
17289    Draw = W3DModelDraw ModuleTag_01
17290      OkToChangeModelColor = Yes
17291    
17292    
17293      DefaultConditionState
17294        Model             = NIMSST_SKN
17295        IdleAnimation     = NIMSST_SKL.NIMSST_STA 0 30
17296        IdleAnimation     = NIMSST_SKL.NIMSST_IDA
17297        IdleAnimation     = NIMSST_SKL.NIMSST_IDB
17298        AnimationMode     = ONCE
17299        AnimationSpeedFactorRange = 0.8 1.2
17300        TransitionKey     = TRANS_Stand
17301        WeaponMuzzleFlash = PRIMARY MuzzleFX
17302        WeaponFireFXBone  = PRIMARY Muzzle
17303        WeaponLaunchBone  = PRIMARY Muzzle
17304        WeaponLaunchBone  = SECONDARY Muzzle
17305      End
17306      AliasConditionState = REALLYDAMAGED
17307  
17308      ConditionState      = FIRING_A 
17309        Animation         = NIMSST_SKL.NIMSST_ATA 
17310        AnimationMode     = ONCE
17311        TransitionKey     = TRANS_START_FIRING
17312      End
17313      AliasConditionState = REALLYDAMAGED FIRING_A
17314      
17315      ConditionState      = BETWEEN_FIRING_SHOTS_A
17316        Animation         = NIMSST_SKL.NIMSST_STA
17317        AnimationMode     = ONCE
17318        ; this is basically a trick: this guy has a nontrivial animation for firing,
17319        ; and a long recycle time between shots. we want him to finish his fire animation
17320        ; (unless he's ordered to do something else), so this is just a handy trick that
17321        ; says, "if the previous state had this transition key, allow it to finish before
17322        ; switching to us, if possible".
17323        WaitForStateToFinishIfPossible = TRANS_START_FIRING
17324      End
17325      AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A
17326  
17327      ConditionState      = MOVING
17328        Animation         = NIMSST_SKL.NIMSST_RNA 20
17329        AnimationMode     = LOOP
17330        Flags             = RANDOMSTART
17331        TransitionKey     = None
17332        ParticleSysBone   = None InfantryDustTrails
17333      End
17334      AliasConditionState = REALLYDAMAGED MOVING
17335      AliasConditionState = MOVING ATTACKING
17336      AliasConditionState = MOVING ATTACKING REALLYDAMAGED
17337  
17338      ConditionState      = RELOADING_A
17339        Animation         = NIMSST_SKL.NIMSST_ATA 10
17340        AnimationMode     = ONCE
17341        ;WeaponLaunchBone = PRIMARY WeaponA
17342      End
17343      AliasConditionState = MOVING RELOADING_A
17344      AliasConditionState = REALLYDAMAGED MOVING RELOADING_A
17345  
17346      ConditionState      = DYING
17347        Animation         = NIMSST_SKL.NIMSST_DTA
17348        Animation         = NIMSST_SKL.NIMSST_DTB
17349        AnimationSpeedFactorRange = 0.9 1.25
17350        AnimationMode     = ONCE
17351        TransitionKey     = TRANS_Dying
17352      End
17353      AliasConditionState = DYING RUBBLE
17354  
17355      TransitionState     = TRANS_Dying TRANS_Flailing
17356        Animation         = NIMSST_SKL.NIMSST_ADTD1
17357        AnimationMode     = ONCE
17358      End
17359  
17360      ConditionState      = DYING EXPLODED_FLAILING
17361        Animation         = NIMSST_SKL.NIMSST_ADTD2
17362        AnimationMode     = LOOP
17363        TransitionKey     = TRANS_Flailing
17364      End
17365  
17366      ConditionState      = DYING EXPLODED_BOUNCING
17367        Animation         = NIMSST_SKL.NIMSST_ADTD3
17368        AnimationMode     = ONCE
17369        TransitionKey     = None
17370      End
17371  
17372      ;PARACHUTING ANIMATIONS
17373      ConditionState      = FREEFALL
17374        Animation         = NIMSST_SKL.NIMSST_POP
17375        AnimationMode     = ONCE
17376        TransitionKey     = TRANS_Falling
17377      End
17378      AliasConditionState = FREEFALL REALLYDAMAGED
17379      AliasConditionState = FREEFALL DYING
17380      
17381      ConditionState      = PARACHUTING
17382        Animation         = NIMSST_SKL.NIMSST_PHG
17383        AnimationMode     = LOOP
17384        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
17385        TransitionKey     = TRANS_Chute
17386      End
17387      AliasConditionState = PARACHUTING REALLYDAMAGED
17388      AliasConditionState = PARACHUTING DYING
17389      
17390     ; TransitionState     = TRANS_Falling TRANS_Chute
17391     ;   Animation         = NIMSST_SKL.NIMSST_POP
17392     ;   AnimationMode     = ONCE
17393     ;   Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
17394     ; End
17395      
17396      TransitionState     = TRANS_Chute TRANS_Stand
17397        Animation         = NIMSST_SKL.NIMSST_PDN
17398        AnimationMode     = ONCE
17399      End
17400  
17401    End
17402  
17403  
17404    ; ***DESIGN parameters ***
17405    DisplayName      = OBJECT:TankHunter
17406    Side = Boss
17407    EditorSorting = INFANTRY
17408    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
17409    WeaponSet
17410      Conditions = None 
17411      Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher
17412    End
17413    ArmorSet
17414      Conditions      = None
17415      Armor           = HumanArmor
17416      DamageFX        = InfantryDamageFX
17417    End
17418    ArmorSet
17419      Conditions      = PLAYER_UPGRADE
17420      Armor           = ChemSuitHumanArmor
17421      DamageFX        = InfantryDamageFX
17422    End
17423  
17424    VisionRange = 150
17425    ShroudClearingRange = 400
17426    Prerequisites
17427      Object = Boss_Barracks
17428    End
17429    BuildCost = 300
17430    BuildTime = 5.0          ;in seconds    
17431  
17432    ExperienceValue = 20 20 40 60    ;Experience point value at each level
17433    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
17434    IsTrainable = Yes             ;Can gain experience
17435    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17436    CommandSet      = ChinaInfantryTankHunterCommandSet
17437  
17438    ; *** AUDIO Parameters ***
17439    VoiceSelect = BossGenTankHunterVoiceSelect
17440    VoiceMove = TankHunterVoiceMove
17441    VoiceAttack = TankHunterVoiceAttack
17442    VoiceAttackAir = TankHunterVoiceAttack
17443    VoiceGuard = TankHunterVoiceMove
17444    VoiceFear = TankHunterVoiceFear
17445    UnitSpecificSounds
17446      VoiceCreate          = TankHunterVoiceCreate
17447      VoiceGarrison = TankHunterVoiceGarrison
17448      VoiceEnter = TankHunterVoiceMove
17449      VoiceEnterHostile = TankHunterVoiceMove
17450      VoiceGetHealed      = TankHunterVoiceMove
17451    End
17452  
17453    ; *** ENGINEERING Parameters ***
17454    RadarPriority = UNIT
17455    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE
17456  
17457    Body = ActiveBody ModuleTag_02
17458      MaxHealth       = 100.0
17459      InitialHealth   = 100.0
17460    End
17461  
17462    Behavior                = ArmorUpgrade ModuleTag_Armor01
17463      TriggeredBy           = Upgrade_AmericaChemicalSuits
17464    End
17465  
17466    Behavior = AIUpdateInterface ModuleTag_03
17467      AutoAcquireEnemiesWhenIdle = Yes
17468    End
17469    Locomotor = SET_NORMAL MissileDefenderLocomotor
17470    Behavior = HordeUpdate ModuleTag_04
17471      UpdateRate = 1000    ; how often to recheck horde status (msec)
17472      RubOffRadius = 60    ; if I am this close to a real hordesman, I will get to be an honorary hordesman
17473      Radius = 30          ; how close other units must be to us to count towards our horde-ness (~30 feet or so)
17474      KindOf = INFANTRY    ; what KindOf's must match to count towards horde-ness
17475      AlliesOnly = Yes     ; do we only count allies towards horde status? 
17476      ExactMatch = No      ; do we only count units of our exact same type towards horde status? (overrides kindof)
17477      Count = 5            ; how many units must be within Radius to grant us horde-ness
17478      Action = HORDE       ; when horde-ing, grant us the HORDE bonus
17479    End
17480    Behavior = PhysicsBehavior ModuleTag_05
17481      Mass = 5.0
17482    End
17483  
17484    Behavior = SpecialAbility ModuleTag_07
17485      SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack
17486      UpdateModuleStartsAttack = Yes
17487      InitiateSound = TankHunterVoiceTNT
17488    End
17489    Behavior = SpecialAbilityUpdate ModuleTag_08
17490      SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack
17491      StartAbilityRange = 5.0
17492      PreparationTime = 0
17493      SpecialObject = TNTStickyBomb
17494      MaxSpecialObjects = 8
17495      SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate).
17496      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
17497      UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
17498      FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
17499    End
17500  
17501   
17502    Behavior = SquishCollide ModuleTag_09
17503      ;nothing
17504    End
17505  
17506  
17507  ; --- begin Death modules ---
17508    Behavior = SlowDeathBehavior ModuleTag_Death01
17509      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
17510      SinkDelay           = 3000
17511      SinkRate            = 0.5     ; in Dist/Sec
17512      DestructionDelay    = 8000
17513      FX                  = INITIAL FX_TankHunterDie
17514    End
17515    Behavior = SlowDeathBehavior ModuleTag_Death02
17516      DeathTypes          = NONE +CRUSHED +SPLATTED
17517      SinkDelay           = 3000
17518      SinkRate            = 0.5     ; in Dist/Sec
17519      DestructionDelay    = 8000
17520      FX                  = INITIAL FX_GIDieCrushed
17521    End
17522    Behavior = SlowDeathBehavior ModuleTag_Death03
17523      DeathTypes          = NONE +EXPLODED
17524      SinkDelay           = 3000
17525      SinkRate            = 0.5     ; in Dist/Sec
17526      DestructionDelay    = 8000
17527      FX                  = INITIAL FX_TankHunterDie
17528      FlingForce          = 8
17529      FlingForceVariance  = 3
17530      FlingPitch          = 60
17531      FlingPitchVariance  = 10
17532    End
17533    Behavior = SlowDeathBehavior ModuleTag_Death04
17534      DeathTypes          = NONE +BURNED
17535      DestructionDelay    = 0
17536      FX                  = INITIAL FX_DieByFireChina
17537      OCL                 = INITIAL OCL_FlamingInfantry
17538    End
17539    Behavior = SlowDeathBehavior ModuleTag_Death05
17540      DeathTypes          = NONE +POISONED
17541      DestructionDelay    = 0
17542      FX                  = INITIAL FX_DieByToxinChina
17543      OCL                 = INITIAL OCL_ToxicInfantry
17544    End
17545    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
17546      DeathTypes          = NONE +POISONED_BETA
17547      DestructionDelay    = 0
17548      FX                  = INITIAL FX_DieByToxinChina
17549      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
17550    End
17551  
17552    Behavior = SlowDeathBehavior ModuleTag_Death07
17553      DeathTypes          = NONE +POISONED_GAMMA
17554      DestructionDelay    = 0
17555      FX                  = INITIAL FX_DieByToxinChina
17556      OCL                 = INITIAL OCL_ToxicInfantryGamma
17557    End
17558  ; --- end Death modules ---
17559  
17560    Behavior = PoisonedBehavior ModuleTag_12
17561      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
17562      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
17563    End
17564   
17565    Geometry = CYLINDER
17566    GeometryMajorRadius = 10.0
17567    GeometryMinorRadius = 10.0
17568    GeometryHeight = 12.0
17569    GeometryIsSmall = Yes
17570    Shadow = SHADOW_DECAL
17571    ShadowSizeX = 14;
17572    ShadowSizeY = 14;
17573    ShadowTexture = ShadowI;
17574    BuildCompletion = APPEARS_AT_RALLY_POINT
17575  
17576  End
17577  
17578  
17579  
17580  
17581  
17582  
17583  
17584  
17585  
17586  
17587  
17588  
17589  
17590  
17591  
17592  
17593  
17594  
17595  
17596  
17597  ;------------------------------------------------------------------------------
17598  Object Boss_InfantryHacker
17599  
17600    ; *** ART Parameters ***
17601    SelectPortrait         = SNHacker2_L
17602    ButtonImage            = SNHacker2
17603    
17604    ;UpgradeCameo1 = NONE
17605    ;UpgradeCameo2 = NONE
17606    ;UpgradeCameo3 = NONE
17607    ;UpgradeCameo4 = NONE
17608    ;UpgradeCameo5 = NONE
17609  
17610    Draw = W3DModelDraw ModuleTag_01
17611      OkToChangeModelColor = Yes
17612  
17613      ;NORMAL STANDING
17614      DefaultConditionState
17615        Model = NIHCKR_SKN
17616        IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25
17617        ;Regular spice animations
17618        IdleAnimation = NIHCKR_SKL.NIHCKR_IDA
17619        IdleAnimation = NIHCKR_SKL.NIHCKR_IDB
17620        AnimationMode = ONCE
17621        WeaponFireFXBone = PRIMARY Bone_SatCom
17622        TransitionKey = TRANS_Stand
17623      End
17624      AliasConditionState = REALLYDAMAGED
17625  
17626      ConditionState = MOVING
17627        Animation = NIHCKR_SKL.NIHCKR_RNA 14
17628        AnimationMode = LOOP
17629        Flags = RANDOMSTART
17630        TransitionKey = None
17631        ParticleSysBone   = None InfantryDustTrails
17632      End
17633      AliasConditionState = MOVING UNPACKING
17634      AliasConditionState = MOVING UNPACKING REALLYDAMAGED
17635  
17636      ConditionState = UNPACKING
17637        Animation = NIHCKR_SKL.NIHCKR_ATB1
17638        AnimationMode = ONCE
17639      End
17640      AliasConditionState = UNPACKING FIRING_A
17641      AliasConditionState = UNPACKING REALLYDAMAGED
17642      AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED
17643  
17644      ;HACKING ATTACK
17645      ConditionState = FIRING_A
17646        Animation = NIHCKR_SKL.NIHCKR_ATB2
17647        AnimationMode = LOOP
17648        TransitionKey = TRANS_FiringA
17649      End
17650      AliasConditionState = FIRING_A REALLYDAMAGED
17651  
17652      ConditionState = PACKING
17653        Animation = NIHCKR_SKL.NIHCKR_ATB3
17654        AnimationMode = ONCE
17655      End
17656      AliasConditionState = PACKING FIRING_A
17657      AliasConditionState = PACKING REALLYDAMAGED
17658      AliasConditionState = PACKING FIRING_A REALLYDAMAGED
17659  
17660  
17661  
17662      TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state
17663        Animation = NIHCKR_SKL.NIHCKR_ATB3
17664        AnimationMode = ONCE
17665      End
17666  
17667  
17668      ConditionState = FREEFALL
17669        Animation = NIHCKR_SKL.NIHCKR_PFL
17670        AnimationMode = LOOP
17671        TransitionKey = TRANS_Falling
17672      End
17673      AliasConditionState = FREEFALL REALLYDAMAGED
17674      AliasConditionState = FREEFALL DYING
17675  
17676      ConditionState = PARACHUTING
17677        Animation = NIHCKR_SKL.NIHCKR_PHG
17678        AnimationMode = LOOP
17679        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
17680        TransitionKey = TRANS_Chute
17681      End
17682      AliasConditionState = PARACHUTING REALLYDAMAGED
17683      AliasConditionState = PARACHUTING DYING
17684  
17685  
17686      ConditionState = DYING
17687        Animation = NIHCKR_SKL.NIHCKR_DTA
17688        Animation = NIHCKR_SKL.NIHCKR_DTB
17689        AnimationMode = ONCE
17690        TransitionKey = TRANS_Dying
17691      End
17692  
17693      TransitionState = TRANS_Dying TRANS_Flailing
17694        Animation = NIHCKR_SKL.NIHCKR_ADTG1
17695        AnimationMode = ONCE
17696      End
17697  
17698      ConditionState = DYING EXPLODED_FLAILING
17699        Animation = NIHCKR_SKL.NIHCKR_ADTG2
17700        AnimationMode = LOOP
17701        TransitionKey = TRANS_Flailing
17702      End
17703  
17704      ConditionState = DYING EXPLODED_BOUNCING
17705        Animation = NIHCKR_SKL.NIHCKR_ADTG3
17706        AnimationMode = ONCE
17707        TransitionKey = None
17708      End
17709  
17710      ConditionState = SPECIAL_CHEERING
17711        Animation = NIHCKR_SKL.NIHCKR_CHA
17712        AnimationMode = LOOP
17713      End
17714  
17715      TransitionState = TRANS_Falling TRANS_Chute
17716        Animation = NIHCKR_SKL.NIHCKR_POP
17717        AnimationMode = ONCE
17718        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
17719      End
17720  
17721      TransitionState = TRANS_Chute TRANS_Stand
17722        Animation = NIHCKR_SKL.NIHCKR_PTD
17723        AnimationMode = ONCE
17724      End
17725  
17726    End
17727  
17728    ; ***DESIGN parameters ***
17729    DisplayName      = OBJECT:Hacker
17730    Side = Boss
17731    EditorSorting = INFANTRY
17732    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
17733  
17734    ArmorSet
17735      Conditions      = None
17736      Armor           = HumanArmor
17737      DamageFX        = InfantryDamageFX
17738    End
17739    ArmorSet
17740      Conditions      = PLAYER_UPGRADE
17741      Armor           = ChemSuitHumanArmor
17742      DamageFX        = InfantryDamageFX
17743    End
17744  
17745    VisionRange = 150
17746    ShroudClearingRange = 300
17747    Prerequisites
17748      Object = Boss_Barracks
17749    End
17750    BuildCost = 625
17751    BuildTime = 20.0          ;in seconds    
17752    ExperienceValue = 50 100 150 400    ;Experience point value at each level
17753    ExperienceRequired = 0 100 300 500  ;Experience points needed to gain each level
17754    IsTrainable = Yes             ;Can gain experience
17755  
17756    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17757    CommandSet      = ChinaInfantryHackerCommandSet
17758  
17759    ; *** AUDIO Parameters ***
17760    VoiceSelect = HackerVoiceSelect
17761    VoiceMove = HackerVoiceMove
17762    VoiceAttack = NoSound
17763    VoiceGuard = HackerVoiceMove
17764    VoiceFear = HackerVoiceFear
17765    VoiceTaskComplete = HackerVoiceHackComplete
17766    UnitSpecificSounds
17767      VoiceGarrison = HackerVoiceGarrison
17768      VoiceCreate     = HackerVoiceCreate
17769      UnitPack        = HackerPack
17770      UnitUnpack      = HackerUnpack
17771      UnitCashPing    = HackerCashPing
17772      VoiceEnter = HackerVoiceMove
17773      VoiceEnterHostile = HackerVoiceMove
17774      VoiceGetHealed      = HackerVoiceMove
17775      VoiceHackInternet   = HackerVoiceModeInternet
17776    End
17777  
17778    ; *** ENGINEERING Parameters ***
17779    RadarPriority = UNIT
17780    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL MONEY_HACKER
17781  
17782    Body = ActiveBody ModuleTag_02
17783      MaxHealth       = 100.0
17784      InitialHealth   = 100.0
17785    End
17786  
17787    Behavior                = ArmorUpgrade ModuleTag_Armor01
17788      TriggeredBy           = Upgrade_AmericaChemicalSuits
17789    End
17790  
17791    Behavior = HackInternetAIUpdate ModuleTag_03
17792      UnpackTime          = 7300 ;animation time is 7300 (changing this will scale anim speed)
17793      PackTime            = 5133 ;animation time is 5133 (changing this will scale anim speed)
17794      CashUpdateDelay     = 2000
17795      CashUpdateDelayFast = 1500  ; Fast speed used inside a container (can only hack inside an Internet Center)
17796      RegularCashAmount   = 5
17797      VeteranCashAmount   = 6
17798      EliteCashAmount     = 8
17799      HeroicCashAmount    = 10
17800      XpPerCashUpdate     = 1
17801      PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly.
17802    End
17803    Locomotor = SET_NORMAL BasicHumanLocomotor
17804   
17805    Behavior = SpecialAbility ModuleTag_04
17806      SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding
17807      UpdateModuleStartsAttack = Yes
17808      InitiateSound         = HackerVoiceHack
17809    End
17810  
17811    Behavior = SpecialAbilityUpdate ModuleTag_05
17812      SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding
17813      StartAbilityRange = 150.0
17814      UnpackTime      = 7300 ;animation time is 7300 (changing this will scale anim speed)
17815      PackTime        = 5133 ;animation time is 5133 (changing this will scale anim speed)
17816      PreparationTime = 3000
17817  
17818      ;PersistentPrepTime = 500 ; old setting
17819      PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered
17820                               ; This is also how often a new particle system effect is spawned
17821      EffectDuration = 2000
17822      SpecialObject = BinaryDataStream
17823      DisableFXParticleSystem = DisabledEffectBinaryShower0
17824      PackSound       = HackerPack
17825      UnpackSound     = HackerUnpack
17826      PrepSoundLoop   = HackerPrepLoop
17827      AwardXPForTriggering  = 0    ;Careful, this is persistant so it's a DoT xp gain!
17828      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
17829    End
17830  
17831  
17832    Behavior = PhysicsBehavior ModuleTag_06
17833      Mass = 5.0
17834    End
17835  
17836    Behavior = SquishCollide ModuleTag_08
17837      ;nothing
17838    End
17839  
17840  
17841  ; --- begin Death modules ---
17842    Behavior = SlowDeathBehavior ModuleTag_Death01
17843      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
17844      SinkDelay           = 3000
17845      SinkRate            = 0.5     ; in Dist/Sec
17846      DestructionDelay    = 8000
17847      FX                  = INITIAL FX_HackerDie
17848    End
17849    Behavior = SlowDeathBehavior ModuleTag_Death02
17850      DeathTypes          = NONE +CRUSHED +SPLATTED
17851      SinkDelay           = 3000
17852      SinkRate            = 0.5     ; in Dist/Sec
17853      DestructionDelay    = 8000
17854      FX                  = INITIAL FX_GIDieCrushed
17855    End
17856    Behavior = SlowDeathBehavior ModuleTag_Death03
17857      DeathTypes          = NONE +EXPLODED
17858      SinkDelay           = 3000
17859      SinkRate            = 0.5     ; in Dist/Sec
17860      DestructionDelay    = 8000
17861      FX                  = INITIAL FX_HackerDie
17862      FlingForce          = 8
17863      FlingForceVariance  = 3
17864      FlingPitch          = 60
17865      FlingPitchVariance  = 10
17866    End
17867    Behavior = SlowDeathBehavior ModuleTag_Death04
17868      DeathTypes          = NONE +BURNED
17869      DestructionDelay    = 0
17870      FX                  = INITIAL FX_DieByFireChina
17871      OCL                 = INITIAL OCL_FlamingInfantry
17872    End
17873    Behavior = SlowDeathBehavior ModuleTag_Death05
17874      DeathTypes          = NONE +POISONED
17875      DestructionDelay    = 0
17876      FX                  = INITIAL FX_DieByToxinChina
17877      OCL                 = INITIAL OCL_ToxicInfantry
17878    End
17879    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
17880      DeathTypes          = NONE +POISONED_BETA
17881      DestructionDelay    = 0
17882      FX                  = INITIAL FX_DieByToxinChina
17883      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
17884    End
17885  
17886    Behavior = SlowDeathBehavior ModuleTag_Death07
17887      DeathTypes          = NONE +POISONED_GAMMA
17888      DestructionDelay    = 0
17889      FX                  = INITIAL FX_DieByToxinChina
17890      OCL                 = INITIAL OCL_ToxicInfantryGamma
17891    End
17892  ; --- end Death modules ---
17893  
17894    Behavior = PoisonedBehavior ModuleTag_11
17895      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
17896      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
17897    End
17898   
17899    Geometry = CYLINDER
17900    GeometryMajorRadius = 10.0
17901    GeometryMinorRadius = 10.0
17902    GeometryHeight = 12.0
17903    GeometryIsSmall = Yes
17904    Shadow = SHADOW_DECAL
17905    ShadowSizeX = 14;
17906    ShadowSizeY = 14;
17907    ShadowTexture = ShadowI;
17908    BuildCompletion = APPEARS_AT_RALLY_POINT
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  
17939  
17940  
17941  ;----------------------------------------------------------------------------
17942  Object Boss_InfantryJarmenKell
17943  
17944    ; *** ART Parameters ***
17945    SelectPortrait         = SUJermanKell1_L  ;NOTE: Asset spelling mistake
17946    ButtonImage            = SUJermanKell1
17947    
17948    UpgradeCameo1 = Upgrade_GLAAPBullets
17949    ;UpgradeCameo2 = NONE
17950    ;UpgradeCameo3 = NONE
17951    ;UpgradeCameo4 = NONE
17952    ;UpgradeCameo5 = NONE
17953    
17954    Draw = W3DModelDraw ModuleTag_01
17955      OkToChangeModelColor = Yes
17956  
17957      ; --- idle
17958      DefaultConditionState
17959        Model             = UIHERO_SKN
17960        IdleAnimation     = UIHERO_SKL.UIHERO_STA 0 21
17961        IdleAnimation     = UIHERO_SKL.UIHERO_IDA
17962        IdleAnimation     = UIHERO_SKL.UIHERO_IDB
17963        AnimationMode     = ONCE
17964        WeaponFireFXBone  = PRIMARY Muzzle
17965        WeaponMuzzleFlash = PRIMARY MuzzleFX
17966        TransitionKey     = TRANS_Stand
17967      End
17968  
17969      ConditionState      = REALLYDAMAGED
17970        IdleAnimation     = UIHERO_SKL.UIHERO_ISTA 0 30
17971        IdleAnimation     = UIHERO_SKL.UIHERO_IIDA
17972        IdleAnimation     = UIHERO_SKL.UIHERO_IIDB
17973        AnimationMode     = ONCE
17974        TransitionKey     = TRANS_StandInjured
17975      End
17976  
17977      TransitionState     = TRANS_Stand TRANS_StandInjured
17978        Animation         = UIHERO_SKL.UIHERO_ISTAHIT
17979        AnimationMode     = ONCE
17980      End
17981  
17982      ; --- attack
17983  
17984      ConditionState      = FIRING_A 
17985        Animation         = UIHERO_SKL.UIHERO_ATA 
17986        AnimationMode     = ONCE
17987        TransitionKey     = TRANS_FiringA
17988        AnimationSpeedFactorRange = 1.5 1.5
17989      End
17990  
17991      ConditionState      = BETWEEN_FIRING_SHOTS_A
17992        Animation         = UIHERO_SKL.UIHERO_STA
17993        AnimationMode     = ONCE
17994        WaitForStateToFinishIfPossible = TRANS_FiringA
17995      End
17996      AliasConditionState = RELOADING_A
17997    
17998      ConditionState      = FIRING_A REALLYDAMAGED
17999        Animation         = UIHERO_SKL.UIHERO_IATA2
18000        AnimationMode     = ONCE
18001        TransitionKey     = TRANS_FiringAInjured
18002        AnimationSpeedFactorRange = 1.5 1.5
18003      End
18004  
18005      ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
18006        Animation         = UIHERO_SKL.UIHERO_IATA2
18007        AnimationMode     = MANUAL
18008        Flags             = START_FRAME_LAST
18009        WaitForStateToFinishIfPossible = TRANS_FiringAInjured
18010      End
18011      AliasConditionState = RELOADING_A REALLYDAMAGED
18012  
18013      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
18014        Animation         = UIHERO_SKL.UIHERO_IATAHIT
18015        AnimationMode     = ONCE
18016      End
18017  
18018      ; --- moving
18019      ConditionState      = MOVING
18020        Animation         = UIHERO_SKL.UIHERO_RNA2 30
18021        AnimationMode     = LOOP
18022        Flags             = RANDOMSTART
18023        TransitionKey     = None
18024        ParticleSysBone   = None InfantryDustTrails
18025      End
18026      AliasConditionState = MOVING FIRING_A
18027      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
18028      AliasConditionState = MOVING RELOADING_A
18029      AliasConditionState = MOVING DOCKING
18030      AliasConditionState = MOVING DOCKING_BEGINNING
18031      AliasConditionState = MOVING DOCKING_ACTIVE
18032  
18033      ConditionState      = MOVING REALLYDAMAGED
18034        Animation         = UIHERO_SKL.UIHERO_IRNA 30
18035        AnimationMode     = LOOP
18036        Flags             = RANDOMSTART
18037        TransitionKey     = None
18038        ParticleSysBone   = None InfantryDustTrails
18039      End
18040      AliasConditionState = MOVING FIRING_A REALLYDAMAGED
18041      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
18042      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
18043      
18044      ; --- cheering
18045      ConditionState      = SPECIAL_CHEERING
18046        Animation         = UIHERO_SKL.UIHERO_CHA
18047        AnimationMode     = LOOP
18048      End
18049  
18050      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
18051        Animation         = UIHERO_SKL.UIHERO_ICHA
18052        AnimationMode     = LOOP
18053      End
18054      
18055      ; --- dying
18056      ConditionState      = DYING
18057        Animation         = UIHERO_SKL.UIHERO_DTA
18058        Animation         = UIHERO_SKL.UIHERO_DTB
18059        Animation         = UIHERO_SKL.UIHERO_IDTA
18060        Animation         = UIHERO_SKL.UIHERO_IDTB
18061        AnimationMode     = ONCE
18062        TransitionKey     = TRANS_Dying
18063      End
18064  
18065      TransitionState     = TRANS_Dying TRANS_Flailing
18066        Animation         = UIHERO_SKL.UIHERO_ADTG21
18067        AnimationMode     = ONCE
18068      End
18069  
18070      ConditionState      = DYING EXPLODED_FLAILING
18071        Animation         = UIHERO_SKL.UIHERO_ADTG22
18072        AnimationMode     = LOOP
18073        TransitionKey     = TRANS_Flailing
18074      End
18075  
18076      ConditionState      = DYING EXPLODED_BOUNCING
18077        Animation         = UIHERO_SKL.UIHERO_ADTG23
18078        AnimationMode     = ONCE
18079        TransitionKey     = None
18080      End
18081      
18082      ; --- falling
18083      ConditionState      = FREEFALL
18084        Animation         = UIHERO_SKL.UIHERO_PFL
18085        AnimationMode     = LOOP
18086        TransitionKey     = TRANS_Falling
18087      End
18088      AliasConditionState = FREEFALL REALLYDAMAGED
18089      AliasConditionState = FREEFALL DYING
18090  
18091      ConditionState      = PARACHUTING
18092        Animation         = UIHERO_SKL.UIHERO_PHG
18093        AnimationMode     = LOOP
18094        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
18095        TransitionKey     = TRANS_Chute
18096      End
18097      AliasConditionState = PARACHUTING REALLYDAMAGED
18098      AliasConditionState = PARACHUTING DYING
18099  
18100      TransitionState     = TRANS_Falling TRANS_Chute
18101        Animation         = UIHERO_SKL.UIHERO_POP
18102        AnimationMode     = ONCE
18103        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
18104      End
18105  
18106      TransitionState     = TRANS_Chute TRANS_Stand
18107        Animation         = UIHERO_SKL.UIHERO_PTD
18108        AnimationMode     = ONCE
18109      End
18110  
18111      TransitionState     = TRANS_Chute TRANS_StandInjured
18112        Animation         = UIHERO_SKL.UIHERO_PTD
18113        AnimationMode     = ONCE
18114      End
18115      
18116    End
18117  
18118    ; ***DESIGN parameters ***
18119    DisplayName           = OBJECT:JarmenKell
18120    Side                  = Boss
18121    EditorSorting         = INFANTRY
18122    TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
18123    MaxSimultaneousOfType = 1
18124   
18125    WeaponSet
18126      Conditions = None 
18127      Weapon = PRIMARY GLAJarmenKellRifle
18128      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
18129      AutoChooseSources = SECONDARY NONE
18130    End
18131  
18132    ArmorSet
18133      Conditions      = None
18134      Armor           = HumanArmor
18135      DamageFX        = InfantryDamageFX
18136    End
18137    ArmorSet
18138      Conditions      = PLAYER_UPGRADE
18139      Armor           = ChemSuitHumanArmor
18140      DamageFX        = InfantryDamageFX
18141    End
18142  
18143    VisionRange         = 200
18144    ShroudClearingRange = 300
18145    Prerequisites
18146      Object = Boss_Barracks
18147      Object = Boss_ScudStorm
18148    End
18149    BuildCost = 1500
18150    BuildTime = 20.0          ;in seconds  
18151  
18152    ExperienceValue     = 50 50 100 150    ;Experience point value at each level
18153    ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
18154    IsTrainable         = Yes             ;Can gain experience
18155    CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18156    CommandSet          = GLAInfantryJarmenKellCommandSet
18157  
18158    ; *** AUDIO Parameters ***
18159    VoiceSelect = JarmenKellVoiceSelect
18160    VoiceMove = JarmenKellVoiceMove
18161    VoiceGuard = JarmenKellVoiceMove
18162    VoiceAttack = JarmenKellVoiceAttack
18163    VoiceFear = JarmenKellVoiceFear
18164    SoundStealthOn = StealthOn
18165    SoundStealthOff = StealthOff
18166    
18167    UnitSpecificSounds
18168      VoiceCreate          = JarmenKellVoiceCreate
18169      VoiceSnipePilot      = JarmenKellVoiceSnipe
18170      VoiceGarrison = JarmenKellVoiceGarrison
18171      VoiceEnter = JarmenKellVoiceMove
18172      VoiceEnterHostile = JarmenKellVoiceMove
18173      VoiceGetHealed      = JarmenKellVoiceMove
18174    End
18175  
18176  
18177    ; *** ENGINEERING Parameters ***
18178    RadarPriority = UNIT
18179    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE
18180  
18181    Body = ActiveBody ModuleTag_02
18182      MaxHealth       = 200.0
18183      InitialHealth   = 200.0
18184    End
18185  
18186    Behavior                = ArmorUpgrade ModuleTag_Armor01
18187      TriggeredBy           = Upgrade_AmericaChemicalSuits
18188    End
18189  
18190    Behavior = AIUpdateInterface ModuleTag_03
18191      AutoAcquireEnemiesWhenIdle = Yes
18192    End
18193    Locomotor = SET_NORMAL JarmenKellLocomotor
18194  
18195    Behavior = PhysicsBehavior ModuleTag_04
18196      Mass = 5.0
18197    End
18198    Behavior = StealthUpdate ModuleTag_06
18199      StealthDelay                = 2000 ; msec
18200      StealthForbiddenConditions  = ATTACKING
18201      InnateStealth               = Yes
18202      OrderIdleEnemiesToAttackMeUponReveal  = Yes
18203      EnemyDetectionEvaEvent      = EnemyJarmenKellDetected
18204      OwnDetectionEvaEvent        = OwnJarmenKellDetected
18205    End
18206  
18207    Behavior = CommandButtonHuntUpdate  ModuleTag_07 ; allows use of command button hunt script with this unit. 
18208    End
18209  
18210    Behavior = WeaponBonusUpgrade ModuleTag_08
18211      TriggeredBy = Upgrade_GLAAPBullets
18212    End
18213   
18214    ;Hero units can't be squished!
18215    ;Behavior = SquishCollide ModuleTag_09
18216    ;  ;nothing
18217    ;End
18218  
18219  
18220  ; --- begin Death modules ---
18221    Behavior = SlowDeathBehavior ModuleTag_Death01
18222      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
18223      SinkDelay           = 3000
18224      SinkRate            = 0.5     ; in Dist/Sec
18225      DestructionDelay    = 8000
18226      FX                  = INITIAL FX_JarmenKellDie
18227    End
18228    Behavior = SlowDeathBehavior ModuleTag_Death02
18229      DeathTypes          = NONE +CRUSHED +SPLATTED
18230      SinkDelay           = 3000
18231      SinkRate            = 0.5     ; in Dist/Sec
18232      DestructionDelay    = 8000
18233      FX                  = INITIAL FX_GIDieCrushed
18234    End
18235    Behavior = SlowDeathBehavior ModuleTag_Death03
18236      DeathTypes          = NONE +EXPLODED
18237      SinkDelay           = 3000
18238      SinkRate            = 0.5     ; in Dist/Sec
18239      DestructionDelay    = 8000
18240      FX                  = INITIAL FX_JarmenKellDie
18241      FlingForce          = 8
18242      FlingForceVariance  = 3
18243      FlingPitch          = 60
18244      FlingPitchVariance  = 10
18245    End
18246    Behavior = SlowDeathBehavior ModuleTag_Death04
18247      DeathTypes          = NONE +BURNED
18248      DestructionDelay    = 0
18249      FX                  = INITIAL FX_DieByFireGLA
18250      OCL                 = INITIAL OCL_FlamingInfantry
18251    End
18252    Behavior = SlowDeathBehavior ModuleTag_Death05
18253      DeathTypes          = NONE +POISONED
18254      DestructionDelay    = 0
18255      FX                  = INITIAL FX_DieByToxinGLA
18256      OCL                 = INITIAL OCL_ToxicInfantry
18257    End
18258    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
18259      DeathTypes          = NONE +POISONED_BETA
18260      DestructionDelay    = 0
18261      FX                  = INITIAL FX_DieByToxinGLA
18262      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
18263    End
18264    Behavior = SlowDeathBehavior ModuleTag_Death07
18265      DeathTypes          = NONE +POISONED_GAMMA
18266      DestructionDelay    = 0
18267      FX                  = INITIAL FX_DieByToxinGLA
18268      OCL                 = INITIAL OCL_ToxicInfantryGamma
18269    End
18270  
18271  ; --- end Death modules ---
18272  
18273    Behavior = PoisonedBehavior ModuleTag_14
18274      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
18275      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
18276    End
18277   
18278    Geometry = CYLINDER
18279    GeometryMajorRadius = 10.0
18280    GeometryMinorRadius = 10.0
18281    GeometryHeight = 12.0
18282    GeometryIsSmall = Yes
18283    Shadow = SHADOW_DECAL
18284    ShadowSizeX = 14;
18285    ShadowSizeY = 14;
18286    ShadowTexture = ShadowI;
18287    BuildCompletion = APPEARS_AT_RALLY_POINT
18288  
18289  End
18290  
18291  
18292  
18293  
18294  
18295  
18296  
18297  
18298  
18299  
18300  
18301  
18302  
18303  
18304  
18305  
18306  
18307  
18308  
18309  ;------------------------------------------------------------------------------
18310  ;------------------------------------------------------------------------------
18311  Object Boss_InfantryAngryMobNexus 
18312  
18313  ;**** ART Parameters **************************
18314    SelectPortrait         = SUAngryMob_L
18315    ButtonImage            = SUAngryMob
18316    
18317    UpgradeCameo1 = Upgrade_GLAArmTheMob
18318    ;UpgradeCameo2 = NONE
18319    ;UpgradeCameo3 = NONE
18320    ;UpgradeCameo4 = NONE
18321    ;UpgradeCameo5 = NONE
18322    
18323    Draw = W3DModelDraw ModuleTag_01
18324      OkToChangeModelColor = Yes
18325      DefaultConditionState
18326        Model = None
18327  ;      Model = AVBomber_B
18328      End
18329    End
18330  
18331  
18332  ;****DESIGN parameters **************************
18333  
18334    DisplayName      = OBJECT:AngryMobNexus
18335    Side = Boss
18336  
18337    RadarPriority       = NOT_ON_RADAR
18338  
18339    EditorSorting   = INFANTRY
18340    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
18341  
18342    WeaponSet
18343      Conditions = None 
18344      Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon
18345      Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon
18346      Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon
18347    End
18348  
18349  
18350    ArmorSet
18351      Conditions      = None
18352      Armor           = InvulnerableAllArmor
18353      DamageFX        = None
18354    End
18355    ArmorSet
18356      Conditions      = PLAYER_UPGRADE
18357      Armor           = ChemSuitHumanArmor
18358      DamageFX        = InfantryDamageFX
18359    End
18360  
18361    BuildCost       = 800
18362    BuildTime       = 15.0          ;in seconds    
18363    VisionRange     = 150  ; it can scout for the spawn
18364    ShroudClearingRange = 0
18365  
18366    Prerequisites
18367      Object = Boss_Barracks
18368    End
18369  
18370    ExperienceValue    = 5 5 5 5 ;Experience point value at each level
18371  
18372    IsTrainable     = No
18373  
18374  
18375  
18376    CommandSet    = GLAInfantryAngryMobCommandSet;
18377  
18378  ;**** AUDIO Parameters *****************************
18379    VoiceSelect = AngryMobVoiceSelect
18380    VoiceMove = AngryMobVoiceMove
18381    VoiceGuard = AngryMobVoiceMove
18382    VoiceAttack = AngryMobVoiceAttack
18383    SoundMoveStart = NoSound
18384    SoundAmbient = AngryMobAmbientLoop
18385    SoundAmbientRubble = NoSound
18386    UnitSpecificSounds
18387      VoiceCreate          = AngryMobVoiceCreate
18388    End
18389  
18390  
18391  ;**** ENGINEERING Parameters ******************************
18392  
18393    RadarPriority = UNIT
18394    KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE
18395    Body = ImmortalBody ModuleTag_02
18396      MaxHealth       = 99999.0
18397      InitialHealth   = 99999.0
18398    End
18399  
18400    Behavior                = ArmorUpgrade ModuleTag_Armor01
18401      TriggeredBy           = Upgrade_AmericaChemicalSuits
18402    End
18403  
18404    Behavior = AIUpdateInterface ModuleTag_03
18405      AutoAcquireEnemiesWhenIdle = Yes
18406    End
18407  
18408    Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
18409    Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
18410    Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
18411  
18412  ;  Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster!
18413  ;  Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster!
18414  ;  Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster!
18415  
18416    Behavior = PhysicsBehavior ModuleTag_04
18417      Mass = 50.0
18418    End
18419  
18420    Behavior            = SpawnBehavior ModuleTag_05
18421      SpawnNumber       = 10
18422      SpawnReplaceDelay = 30000 ; 30 seconds
18423  
18424          SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin
18425          SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume
18426          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
18427          SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret
18428          SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top
18429          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
18430          SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil
18431  
18432  
18433  
18434      ExitByBudding = Yes;!
18435  
18436      InitialBurst = 5 ; the first set of 5 will not delay
18437      OneShot     = No
18438      AggregateHealth = Yes
18439      SlavesHaveFreeWill = No
18440    End
18441  
18442    Behavior = QueueProductionExitUpdate ModuleTag_06
18443      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
18444      NaturalRallyPoint = X: 0.0  Y:  0.0   Z:0.0
18445      ExitDelay     = 5000 ; 5 sec
18446      InitialBurst = 5 ; the first set of 5 will not delay
18447    End
18448  
18449    Behavior = DestroyDie ModuleTag_07
18450      DeathTypes = ALL
18451    End
18452  
18453    Geometry = CYLINDER
18454    GeometryMajorRadius = 1.0
18455    GeometryMinorRadius = 1.0
18456    GeometryHeight = 1.0     
18457    GeometryIsSmall = Yes 
18458    Shadow = SHADOW_VOLUME
18459  
18460  End
18461  
18462  
18463  
18464  
18465  
18466  
18467  
18468  
18469  
18470  
18471  
18472  
18473  
18474  
18475  
18476  
18477  
18478  
18479  
18480  
18481  
18482  ;----------------------------------------------------------
18483  Object Boss_VehicleTomahawk
18484  
18485    ; *** ART Parameters ***
18486    SelectPortrait         = SACTomahawk_L
18487    ButtonImage            = SACTomahawk
18488    
18489    UpgradeCameo1 = Upgrade_AmericaScoutDrone
18490    UpgradeCameo2 = Upgrade_AmericaBattleDrone
18491    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
18492    UpgradeCameo4 = Upgrade_AmericaHellfireDrone
18493    ;UpgradeCameo5 = XXX
18494    
18495    Draw = W3DTankDraw ModuleTag_01
18496      OkToChangeModelColor = Yes
18497        
18498      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
18499  
18500      DefaultConditionState
18501        Model = AVTomahawk
18502        Turret = TURRET
18503        TurretPitch = TURRETEL
18504        WeaponLaunchBone = PRIMARY WeaponA
18505        WeaponHideShowBone = PRIMARY MISSILE
18506      End
18507  
18508      ConditionState = REALLYDAMAGED
18509        Model = AVTomahawk_D
18510      End
18511      AliasConditionState = RUBBLE
18512  
18513      TrackMarks           = EXTnkTrack.tga
18514  
18515    End
18516  
18517    ; ***DESIGN parameters ***
18518    DisplayName      = OBJECT:Tomahawk
18519    Side = Boss
18520    EditorSorting   = VEHICLE
18521    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18522    BuildCost       = 1200
18523    BuildTime       = 20.0          ;in seconds    
18524    VisionRange     = 180
18525    ShroudClearingRange = 200
18526    Prerequisites
18527      Object = Boss_WarFactory
18528    End
18529    ExperienceValue = 50 50 100 150    ;Experience point value at each level
18530    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
18531    IsTrainable = Yes             ;Can gain experience
18532    WeaponSet
18533      Conditions = None 
18534      Weapon = PRIMARY TomahawkMissileWeapon
18535    End
18536    ArmorSet
18537      Conditions      = None
18538      Armor           = TruckArmor
18539      DamageFX        = TankDamageFX
18540    End
18541    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18542    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18543    CommandSet      = AmericaVehicleTomahawkCommandSet
18544  
18545    ; *** AUDIO Parameters ***
18546    VoiceSelect = TomahawkVoiceSelect
18547    VoiceMove = TomahawkVoiceMove
18548    VoiceGuard = TomahawkVoiceMove
18549    VoiceAttack = TomahawkVoiceAttack
18550    SoundMoveStart = TomahawkMoveStart
18551    SoundMoveStartDamaged = TomahawkMoveStart
18552    
18553    UnitSpecificSounds
18554      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18555      VoiceCreate = TomahawkVoiceCreate
18556      TurretMoveStart = NoSound
18557      TurretMoveLoop = TurretMoveLoopLoud
18558      SoundEject = PilotSoundEject
18559      VoiceEject = PilotVoiceEject
18560      VoiceCrush = TomahawkVoiceCrush
18561      VoiceEnter = TomahawkVoiceMove
18562      VoiceBombard = TomahawkVoiceAttack
18563    End
18564  
18565    ; *** ENGINEERING Parameters ***
18566    RadarPriority = UNIT
18567    KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
18568  
18569    Body = ActiveBody ModuleTag_02
18570      MaxHealth       = 180.0
18571      InitialHealth   = 180.0
18572  
18573      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18574      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18575      SubdualDamageCap = 360
18576      SubdualDamageHealRate = 500
18577      SubdualDamageHealAmount = 50
18578    End
18579  
18580    Behavior = AIUpdateInterface ModuleTag_03
18581      Turret
18582        TurretTurnRate = 60   ; turn rate, in degrees per sec
18583        TurretPitchRate = 60
18584        FirePitch = 70  ; Instead of aiming pitchwise at the target, it will aim here
18585        AllowsPitch = Yes
18586        ControlledWeaponSlots = PRIMARY
18587      End
18588      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
18589    End
18590    Locomotor = SET_NORMAL TomahawkLocomotor
18591  
18592    Behavior = PhysicsBehavior ModuleTag_04
18593      Mass = 50.0
18594    End
18595    Behavior = SlowDeathBehavior ModuleTag_05
18596      DeathTypes = ALL -CRUSHED -SPLATTED
18597      DestructionDelay  = 500
18598      DestructionDelayVariance  = 100
18599      FX  = INITIAL  FX_GenericTankDeathEffect
18600      OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie
18601      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
18602    End
18603  
18604    Behavior = ObjectCreationUpgrade ModuleTag_06
18605      UpgradeObject = OCL_AmericanBattleDrone
18606      TriggeredBy   = Upgrade_AmericaBattleDrone
18607      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
18608    End
18609    Behavior = ObjectCreationUpgrade ModuleTag_07
18610      UpgradeObject = OCL_AmericanScoutDrone
18611      TriggeredBy   = Upgrade_AmericaScoutDrone
18612      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
18613    End
18614    Behavior = ObjectCreationUpgrade ModuleTag_15
18615      UpgradeObject = OCL_AmericanHellfireDrone
18616      TriggeredBy   = Upgrade_AmericaHellfireDrone
18617      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
18618    End
18619  
18620    Behavior = ProductionUpdate ModuleTag_08
18621      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
18622    End
18623  
18624    Behavior = ExperienceScalarUpgrade ModuleTag_09
18625      TriggeredBy = Upgrade_AmericaAdvancedTraining
18626      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
18627    End
18628  
18629    Behavior = DestroyDie ModuleTag_10
18630      DeathTypes = NONE +CRUSHED +SPLATTED
18631    End
18632  
18633    Behavior = FXListDie ModuleTag_11
18634      DeathTypes = NONE +CRUSHED +SPLATTED
18635      DeathFX = FX_CarCrush
18636    End
18637  
18638    Behavior = CreateObjectDie ModuleTag_12
18639      DeathTypes = NONE +CRUSHED +SPLATTED
18640      CreationList = OCL_CrusaderTank_CrushEffect
18641    End
18642  
18643  ;  Behavior = FXListDie
18644  ;    DeathTypes = ALL -CRUSHED -SPLATTED
18645  ;    DeathFX = FX_GenericTankDeathEffect
18646  ;  End
18647  ; Behavior = CreateObjectDie
18648  ;    DeathTypes = ALL -CRUSHED -SPLATTED
18649  ;    CreationList = OCL_GenericTankDeathEffect
18650  ;  End
18651    Behavior = EjectPilotDie ModuleTag_13
18652      DeathTypes = ALL -CRUSHED -SPLATTED
18653      ExemptStatus = HIJACKED
18654      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
18655      GroundCreationList = OCL_EjectPilotOnGround
18656      AirCreationList = OCL_EjectPilotViaParachute
18657    End
18658    
18659    Behavior = TransitionDamageFX ModuleTag_14
18660      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
18661      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18662    End
18663    
18664    Behavior = FlammableUpdate ModuleTag_21
18665      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18666      AflameDamageAmount = 3       ; taking this much damage...
18667      AflameDamageDelay = 500       ; this often.
18668    End
18669  
18670    Geometry = BOX
18671    GeometryMajorRadius = 15.0
18672    GeometryMinorRadius = 10.0
18673    GeometryHeight = 10.0     
18674    GeometryIsSmall = Yes
18675    Shadow = SHADOW_VOLUME 
18676    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length   
18677  
18678  End
18679  
18680  
18681  
18682  
18683  
18684  
18685  
18686  
18687  
18688  
18689  ;------------------------------------------------------------------------------
18690  Object Boss_TankPaladin
18691  
18692    ; *** ART Parameters ***
18693    SelectPortrait         = SAPaladin_L
18694    ButtonImage            = SAPaladin
18695    
18696    UpgradeCameo1 = Upgrade_AmericaBattleDrone
18697    UpgradeCameo2 = Upgrade_AmericaScoutDrone
18698    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
18699    UpgradeCameo4 = Upgrade_AmericaCompositeArmor
18700    UpgradeCameo5 = Upgrade_AmericaHallfireDrone
18701  
18702    Draw = W3DTankDraw ModuleTag_01
18703      
18704      ExtraPublicBone = Laser 
18705  
18706      ConditionState        = NONE
18707        Model               = AVPaladin
18708        Turret              = Turret01
18709        WeaponFireFXBone    = PRIMARY TurretMS
18710        WeaponRecoilBone    = PRIMARY Barrel
18711        WeaponMuzzleFlash   = PRIMARY TurretFX
18712        WeaponLaunchBone = PRIMARY TurretMS
18713      End
18714      
18715      ConditionState        = REALLYDAMAGED
18716        Model               = AVPaladin_D
18717        Turret              = Turret01
18718        WeaponFireFXBone    = PRIMARY TurretMS
18719        WeaponRecoilBone    = PRIMARY Barrel
18720        WeaponMuzzleFlash   = PRIMARY TurretFX
18721        WeaponLaunchBone = PRIMARY TurretMS
18722      End
18723      
18724      ConditionState        = RUBBLE
18725        Model               = AVPaladin_D
18726        Turret              = Turret01
18727        WeaponFireFXBone    = PRIMARY TurretMS
18728        WeaponRecoilBone    = PRIMARY Barrel
18729        WeaponMuzzleFlash   = PRIMARY TurretFX
18730        WeaponLaunchBone = PRIMARY TurretMS
18731      End
18732      
18733      TrackMarks           = EXTnkTrack.tga
18734      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
18735      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
18736      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
18737      OkToChangeModelColor = Yes
18738    End
18739  
18740    ; ***DESIGN parameters ***
18741    DisplayName      = OBJECT:Paladin
18742    Side = Boss
18743    EditorSorting   = VEHICLE
18744    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18745    WeaponSet
18746      Conditions = None 
18747      Weapon = PRIMARY PaladinTankGun
18748    End
18749    ArmorSet
18750      Conditions      = None
18751      Armor           = TankArmor
18752      DamageFX        = TankDamageFX
18753    End
18754    ;ArmorSet
18755    ;  Conditions      = PLAYER_UPGRADE
18756    ;  Armor           = UpgradedTankArmor
18757    ;  DamageFX        = TankDamageFX
18758    ;End
18759    BuildCost       = 1100
18760    BuildTime       = 12.0          ;in seconds    
18761    VisionRange     = 150
18762    ShroudClearingRange = 300
18763    Prerequisites
18764      Object = Boss_WarFactory
18765      Science = SCIENCE_PaladinTank
18766    End
18767  
18768    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
18769    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
18770  
18771    IsTrainable     = Yes  ;Can gain experience
18772    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18773    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18774    CommandSet      = AmericaTankPaladinCommandSet
18775      
18776    ; *** AUDIO Parameters ***
18777    VoiceSelect = PaladinTankVoiceSelect
18778    VoiceMove = PaladinTankVoiceMove
18779    VoiceGuard = PaladinTankVoiceMove
18780    VoiceAttack = PaladinTankVoiceAttack
18781    SoundMoveStart = PaladinTankMoveStart
18782    SoundMoveStartDamaged = PaladinTankMoveStart
18783  
18784    UnitSpecificSounds
18785      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18786      VoiceCreate     = PaladinTankVoiceCreate
18787      TurretMoveLoop = TurretMoveLoop
18788      SoundEject = PilotSoundEject
18789      VoiceEject = PilotVoiceEject
18790      VoiceCrush = PaladinTankVoiceCrush
18791      VoiceEnter = PaladinTankVoiceMove
18792    End
18793  
18794    ; *** ENGINEERING Parameters ***
18795    RadarPriority = UNIT
18796    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
18797    
18798    Body = ActiveBody ModuleTag_02
18799      MaxHealth       = 500.0
18800      InitialHealth   = 500.0
18801  
18802      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18803      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18804      SubdualDamageCap = 1000
18805      SubdualDamageHealRate = 500
18806      SubdualDamageHealAmount = 50
18807    End
18808  
18809    Behavior = AIUpdateInterface ModuleTag_03
18810      Turret
18811        TurretTurnRate = 180 ;60   // turn rate, in degrees per sec
18812        ControlledWeaponSlots = PRIMARY
18813      End
18814      ;AltTurret
18815      ;  TurretTurnRate = 9000;
18816      ;  ControlledWeaponSlots = SECONDARY
18817      ;End
18818      AutoAcquireEnemiesWhenIdle = Yes
18819    End
18820    Locomotor = SET_NORMAL CrusaderLocomotor
18821    Behavior = PhysicsBehavior ModuleTag_04
18822      Mass = 50.0
18823    End
18824    
18825    ; Turret fly off death
18826    Behavior = SlowDeathBehavior ModuleTag_05
18827      DeathTypes = ALL -CRUSHED -SPLATTED
18828      ProbabilityModifier = 50
18829  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
18830      DestructionDelay = 500
18831      DestructionDelayVariance = 100
18832      FX  = INITIAL  FX_GenericTankDeathEffect
18833      FX  = FINAL    FX_GenericTankDeathExplosion
18834      OCL = FINAL    OCL_PaladinTankDeathEffect
18835    End
18836    
18837    ; Catch fire, and explode death
18838    Behavior = SlowDeathBehavior ModuleTag_06
18839      DeathTypes = ALL -CRUSHED -SPLATTED
18840      ProbabilityModifier = 50
18841      DestructionDelay = 2000
18842      DestructionDelayVariance = 300
18843      FX  = INITIAL  FX_CrusaderCatchFire
18844      OCL = FINAL    OCL_PaladinTankDeathEffect
18845      FX  = FINAL    FX_GenericTankDeathExplosion 
18846    End
18847  
18848    Behavior = PointDefenseLaserUpdate ModuleTag_07
18849      WeaponTemplate        = PaladinPointDefenseLaser
18850      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
18851      SecondaryTargetTypes  = INFANTRY
18852      ScanRate              = 500
18853      ScanRange             = 120.0
18854      PredictTargetVelocityFactor = 3.0
18855    End
18856  
18857    Behavior = ObjectCreationUpgrade ModuleTag_08
18858      UpgradeObject = OCL_AmericanBattleDrone
18859      TriggeredBy   = Upgrade_AmericaBattleDrone
18860      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
18861    End
18862    Behavior = ObjectCreationUpgrade ModuleTag_09
18863      UpgradeObject = OCL_AmericanScoutDrone
18864      TriggeredBy   = Upgrade_AmericaScoutDrone
18865      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
18866    End 
18867    Behavior = ObjectCreationUpgrade ModuleTag_19
18868      UpgradeObject = OCL_AmericanHellfireDrone
18869      TriggeredBy   = Upgrade_AmericaHellfireDrone
18870      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
18871    End Upgrade_AmericaHallfireDrone
18872  
18873    Behavior = ProductionUpdate ModuleTag_10
18874      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
18875    End
18876  
18877    Behavior = ExperienceScalarUpgrade ModuleTag_11
18878      TriggeredBy = Upgrade_AmericaAdvancedTraining
18879      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
18880    End
18881  
18882    Behavior = TransitionDamageFX ModuleTag_12
18883      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
18884      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18885    End
18886  
18887    Behavior = FXListDie ModuleTag_13
18888      DeathTypes = NONE +CRUSHED +SPLATTED
18889      DeathFX = FX_CarCrush
18890    End
18891    Behavior = CreateObjectDie ModuleTag_14
18892      DeathTypes = NONE +CRUSHED +SPLATTED
18893      CreationList = OCL_CrusaderTank_CrushEffect
18894    End
18895    Behavior = DestroyDie ModuleTag_15
18896      DeathTypes = NONE +CRUSHED +SPLATTED
18897    End
18898    Behavior = CreateCrateDie ModuleTag_16
18899      CrateData = SalvageCrateData
18900      ;CrateData = EliteTankCrateData
18901      ;CrateData = HeroicTankCrateData
18902    End
18903    Behavior = EjectPilotDie ModuleTag_17
18904      DeathTypes = ALL -CRUSHED -SPLATTED
18905      ExemptStatus = HIJACKED
18906      GroundCreationList = OCL_EjectPilotOnGround
18907      AirCreationList = OCL_EjectPilotViaParachute
18908      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
18909    End
18910  
18911    Behavior = MaxHealthUpgrade ModuleTag_18
18912      TriggeredBy   = Upgrade_AmericaCompositeArmor
18913      AddMaxHealth  = 100.0
18914      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
18915    End
18916  
18917    Behavior = FlammableUpdate ModuleTag_21
18918      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18919      AflameDamageAmount = 3       ; taking this much damage...
18920      AflameDamageDelay = 500       ; this often.
18921    End
18922  
18923    Geometry = BOX
18924    GeometryMajorRadius = 15.0
18925    GeometryMinorRadius = 10.0
18926    GeometryHeight = 10.0     
18927    GeometryIsSmall = Yes    
18928    Shadow = SHADOW_VOLUME
18929    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
18930  
18931  End
18932  
18933  
18934  
18935  
18936  
18937  ;------------------------------------------------------------------------------
18938  ;Sentry Drone
18939  Object Boss_VehicleSentryDrone
18940  
18941    ; *** ART Parameters ***
18942    SelectPortrait         = SAsentry_L
18943    ButtonImage            = SAsentry
18944    
18945    UpgradeCameo1 = Upgrade_AmericaSentryDroneGun
18946    ;UpgradeCameo2 = NONE
18947    ;UpgradeCameo3 = NONE
18948    ;UpgradeCameo4 = NONE
18949    ;UpgradeCameo5 = NONE
18950  
18951    Draw = W3DTankDraw ModuleTag_01
18952      
18953      InitialRecoilSpeed   = 10
18954      MaxRecoilDistance    = 1.5
18955      RecoilSettleSpeed    = 3
18956  
18957      OkToChangeModelColor = Yes
18958  
18959      DefaultConditionState
18960        Model                           = AVSENTRY
18961        Animation                       = AVSENTRY.AVSENTRY
18962        AnimationMode                   = LOOP
18963        Turret                          = TURRET01
18964        HideSubObject                   = TURRETUP09  ;Hide controlled turret
18965        WeaponFireFXBone  = PRIMARY   TurretFX
18966        WeaponMuzzleFlash = PRIMARY   TurretFX
18967        WeaponRecoilBone  = PRIMARY   TurretUp
18968      End
18969      ConditionState                    = REALLYDAMAGED
18970        Turret                          = TURRET01
18971        Model                           = AVSENTRY_D
18972        Animation                       = AVSENTRY_D.AVSENTRY_D
18973        AnimationMode                   = LOOP
18974        HideSubObject                   = TURRETUP09      ;Hide controlled turret
18975      End
18976      ConditionState                    = RUBBLE
18977        Model                           = AVSENTRY_D1
18978        HideSubObject                   = TURRETUP09      ;Hide controlled turret
18979      End
18980      AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE 
18981      
18982      ConditionState = WEAPONSET_PLAYER_UPGRADE
18983        Model                           = AVSENTRY
18984        Animation                       = AVSENTRY.AVSENTRY
18985        AnimationMode                   = LOOP
18986        ShowSubObject                   = TURRETUP09
18987      End
18988  
18989      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
18990        Model                           = AVSENTRY_D
18991        Animation                       = AVSENTRY_D.AVSENTRY_D
18992        AnimationMode                   = LOOP
18993        ShowSubObject                   = TURRETUP09
18994      End
18995        TrackMarks           = EXTnkTrack.tga
18996        TreadDebrisLeft      = SentryDroneTrackDebrisDirtLeft
18997        TreadDebrisRight     = SentryDroneTrackDebrisDirtRight
18998        TreadAnimationRate   = 4.0  ; amount of tread texture to move per second
18999      End
19000  
19001    ; ***DESIGN parameters ***
19002    DisplayName        = OBJECT:SentryDrone
19003    Side               = Boss
19004    EditorSorting      = VEHICLE
19005    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
19006    WeaponSet
19007      Conditions = None 
19008      Weapon = PRIMARY None
19009    End
19010    WeaponSet
19011      Conditions = PLAYER_UPGRADE
19012      Weapon = PRIMARY SentryDroneGun
19013    End
19014    ArmorSet
19015      Conditions      = None
19016      Armor           = HumveeArmor
19017      DamageFX        = TruckDamageFX
19018    End
19019    BuildCost       = 800
19020    BuildTime       = 10.0          ;in seconds    
19021    VisionRange     = 180
19022    ShroudClearingRange = 350
19023    Prerequisites
19024      Object = Boss_WarFactory
19025    End
19026  
19027    ExperienceValue = 50 50 100 150   ;Experience point value at each level
19028    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
19029    IsTrainable = No             ;Can gain experience
19030    CrusherLevel           = 0  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19031    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19032    CommandSet    = AmericaVehicleSentryDroneCommandSet
19033  
19034    ; *** AUDIO Parameters ***
19035    VoiceSelect           = SentryDroneVoiceSelect
19036    VoiceMove             = SentryDroneVoiceMove
19037    VoiceGuard            = SentryDroneVoiceMove
19038    VoiceAttack           = SentryDroneVoiceMove
19039    SoundMoveStart        = NoSound
19040    SoundMoveStartDamaged = NoSound
19041    UnitSpecificSounds
19042      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19043      VoiceCreate         = NoSound
19044      TurretMoveStart     = NoSound
19045      TurretMoveLoop      = NoSound
19046      VoiceEnter          = NoSound
19047      Deploy              = NoSound
19048      Undeploy            = NoSound
19049    End
19050    Behavior = WeaponSetUpgrade ModuleTag_03
19051      TriggeredBy = Upgrade_AmericaSentryDroneGun
19052    End
19053  
19054  
19055    ; *** ENGINEERING Parameters ***
19056    RadarPriority = UNIT
19057    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE
19058    
19059    Body = ActiveBody ModuleTag_02
19060      MaxHealth       = 300.0
19061      InitialHealth   = 300.0
19062    End
19063    Behavior = DeployStyleAIUpdate ModuleTag_04
19064      Turret
19065        TurretTurnRate        = 180
19066        TurretPitchRate       = 180
19067        FirePitch             = 0            ; Instead of aiming pitchwise at the target, it will aim here
19068        AllowsPitch           = No
19069        RecenterTime          = 1000         ; how long to wait during idle before recentering
19070        ControlledWeaponSlots = PRIMARY
19071        NaturalTurretAngle    = 0
19072        InitiallyDisabled     = No
19073        MinIdleScanInterval   = 250    ; in milliseconds
19074        MaxIdleScanInterval   = 250    ; in milliseconds
19075        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
19076        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
19077      End
19078      AutoAcquireEnemiesWhenIdle = Yes Stealthed ; Means "Yes when idle, even if I am stealthed"
19079      PackTime = 1000
19080      UnpackTime = 1000
19081      TurretsFunctionOnlyWhenDeployed = Yes
19082      TurretsMustCenterBeforePacking = Yes
19083    End
19084  
19085    Locomotor = SET_NORMAL SentryLocomotor
19086    Behavior = PhysicsBehavior ModuleTag_05
19087      Mass = 50.0
19088    End
19089    Behavior = StealthUpdate ModuleTag_06
19090      StealthDelay                = 2000 ; msec
19091      StealthForbiddenConditions  = FIRING_PRIMARY MOVING
19092      HintDetectableConditions    = IS_FIRING_WEAPON 
19093      FriendlyOpacityMin          = 50.0%
19094      FriendlyOpacityMax          = 100.0%
19095      InnateStealth               = Yes
19096      OrderIdleEnemiesToAttackMeUponReveal  = Yes
19097    End
19098  
19099    Behavior = SlowDeathBehavior ModuleTag_07
19100      DeathTypes = ALL -CRUSHED -SPLATTED
19101      DestructionDelay  = 500
19102      DestructionDelayVariance  = 100
19103      FX  = INITIAL  FX_GenericTankDeathEffect
19104      OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie
19105      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
19106    End
19107  
19108    Behavior = DestroyDie ModuleTag_08
19109      DeathTypes = NONE +CRUSHED +SPLATTED
19110    End
19111  
19112    Behavior = FXListDie ModuleTag_09
19113      DeathTypes = NONE +CRUSHED +SPLATTED
19114      DeathFX = FX_CarCrush
19115    End
19116  
19117    Behavior = CreateCrateDie ModuleTag_CratesChange
19118      CrateData = SalvageCrateData
19119      ;CrateData = EliteTankCrateData
19120      ;CrateData = HeroicTankCrateData
19121    End
19122  
19123    Behavior = TransitionDamageFX ModuleTag_10
19124      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
19125      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
19126    End
19127  
19128    Behavior = FlammableUpdate ModuleTag_11
19129      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19130      AflameDamageAmount = 3       ; taking this much damage...
19131      AflameDamageDelay = 500       ; this often.
19132    End
19133    Behavior = StealthDetectorUpdate ModuleTag_12
19134      DetectionRate             = 900   ; how often to rescan for stealthed things in my sight (msec)
19135      ;DetectionRange           = ??? ;Dustin, enable this for independant balancing!
19136    End
19137    Geometry = BOX
19138    GeometryMajorRadius = 9.0
19139    GeometryMinorRadius = 7.0
19140    GeometryHeight = 11.5     
19141    GeometryIsSmall = Yes 
19142    Shadow = SHADOW_VOLUME
19143    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
19144  
19145  
19146  End
19147  
19148  
19149  
19150  
19151  
19152  
19153  
19154  
19155  
19156  
19157  
19158  
19159  
19160  
19161  
19162  
19163  
19164  
19165  
19166  
19167  
19168  
19169  
19170  
19171  
19172  
19173  
19174  
19175  
19176  
19177  
19178  
19179  ;------------------------------------------------------------------------------
19180  Object Boss_TankAvenger
19181  
19182    ; *** ART Parameters ***
19183    SelectPortrait         = SAAvnger_L
19184    ButtonImage            = SAAvnger
19185    
19186    UpgradeCameo1 = Upgrade_AmericaBattleDrone
19187    UpgradeCameo2 = Upgrade_AmericaScoutDrone
19188    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
19189    UpgradeCameo4 = Upgrade_AmericaCompositeArmor
19190    UpgradeCameo5 = Upgrade_AmericaHallfireDrone
19191  
19192    Draw = W3DOverlordTruckDraw ModuleTag_01
19193      ExtraPublicBone = TurretFX03
19194      ExtraPublicBone = LazerSpot01
19195      ExtraPublicBone = LazerSpot02
19196      DefaultConditionState
19197        Model               = AVAVNGER
19198      End
19199      
19200      ConditionState        = REALLYDAMAGED
19201        Model               = AVAVNGER_D
19202      End
19203      
19204      ConditionState        = RUBBLE
19205        Model               = AVAVNGER_D
19206      End
19207      
19208      Dust = RocketBuggyDust
19209      DirtSpray = RocketBuggyDirtSpray
19210      PowerslideSpray = RocketBuggyDirtPowerSlide
19211  
19212      ; These parameters are only used if the model has a separate suspension, 
19213      ; and the locomotor has HasSuspension = Yes.
19214      LeftFrontTireBone = Tire01
19215      RightFrontTireBone = Tire02
19216      LeftRearTireBone = Tire03
19217      RightRearTireBone = Tire04
19218      TireRotationMultiplier = 0.2   ; this * speed = rotation.
19219      PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
19220    End
19221  
19222    ; ***DESIGN parameters ***
19223    DisplayName      = OBJECT:Avenger
19224    Side = Boss
19225    EditorSorting   = VEHICLE
19226    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19227    WeaponSet
19228      Conditions = None 
19229      Weapon = PRIMARY AvengerTargetDesignator
19230    End
19231    ArmorSet
19232      Conditions      = None
19233      Armor           = TankArmor
19234      DamageFX        = TankDamageFX
19235    End
19236    BuildCost       = 2000
19237    BuildTime       = 10.0          ;in seconds    
19238    VisionRange     = 150
19239    ShroudClearingRange = 300
19240    Prerequisites
19241      Object = Boss_WarFactory
19242    End
19243  
19244    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
19245    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
19246  
19247    IsTrainable     = No
19248    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19249    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19250    CommandSet      = AmericaTankAvengerCommandSet
19251      
19252    ; *** AUDIO Parameters ***
19253    VoiceSelect = AvengerVoiceSelect
19254    VoiceMove = AvengerVoiceMove
19255    VoiceGuard = AvengerVoiceMove
19256    VoiceAttack = AvengerVoiceAttack
19257    SoundMoveStart = PaladinTankMoveStart
19258    SoundMoveStartDamaged = PaladinTankMoveStart
19259  
19260    UnitSpecificSounds
19261      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19262      VoiceCreate     = AvengerVoiceCreate
19263      TurretMoveLoop = NoSound
19264      SoundEject = PilotSoundEject
19265      VoiceEject = PilotVoiceEject
19266      VoiceCrush = NoSound
19267      VoiceEnter = AvengerVoiceMove
19268    End
19269  
19270    ; *** ENGINEERING Parameters ***
19271    RadarPriority = UNIT
19272    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
19273    
19274    Body = ActiveBody ModuleTag_02
19275      MaxHealth       = 500.0
19276      InitialHealth   = 500.0
19277  
19278      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19279      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19280      SubdualDamageCap = 1000
19281      SubdualDamageHealRate = 500
19282      SubdualDamageHealAmount = 50
19283    End
19284  
19285    Behavior = AIUpdateInterface ModuleTag_03
19286      AutoAcquireEnemiesWhenIdle = Yes
19287    End
19288    Locomotor = SET_NORMAL AvengerLocomotor
19289    Behavior = PhysicsBehavior ModuleTag_04
19290      Mass = 50.0
19291    End
19292    
19293    ; Turret fly off death
19294    Behavior = SlowDeathBehavior ModuleTag_05
19295      DeathTypes = ALL -CRUSHED -SPLATTED
19296      ProbabilityModifier = 50
19297  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
19298      DestructionDelay = 500
19299      DestructionDelayVariance = 100
19300      FX  = INITIAL  FX_GenericTankDeathEffect
19301      FX  = FINAL    FX_GenericTankDeathExplosion
19302      OCL = FINAL    OCL_AvengerTankDeathEffect
19303    End
19304    
19305    ; Catch fire, and explode death
19306    Behavior = SlowDeathBehavior ModuleTag_06
19307      DeathTypes = ALL -CRUSHED -SPLATTED
19308      ProbabilityModifier = 50
19309      DestructionDelay = 2000
19310      DestructionDelayVariance = 300
19311      FX  = INITIAL  FX_CrusaderCatchFire
19312      OCL = FINAL    OCL_AvengerTankDeathEffect
19313      FX  = FINAL    FX_GenericTankDeathExplosion 
19314    End
19315  
19316    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
19317      WeaponTemplate        = AvengerPointDefenseLaserOne
19318      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
19319      ScanRate              = 0
19320      ScanRange             = 200.0
19321      PredictTargetVelocityFactor = 1.0
19322    End
19323  
19324    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
19325      WeaponTemplate        = AvengerPointDefenseLaserTwo
19326      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
19327      ScanRate              = 0
19328      ScanRange             = 200.0
19329      PredictTargetVelocityFactor = 1.0
19330    End
19331  
19332    Behavior = OverlordContain ModuleTag_OverlordContain
19333      Slots                 = 1
19334      DamagePercentToUnits  = 100%
19335      AllowInsideKindOf     = PORTABLE_STRUCTURE
19336      PassengersAllowedToFire = Yes
19337      PayloadTemplateName        = AmericaTankAvengerLaserTurret
19338      ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
19339    End
19340  
19341    Behavior = ObjectCreationUpgrade ModuleTag_08
19342      UpgradeObject = OCL_AmericanBattleDrone
19343      TriggeredBy   = Upgrade_AmericaBattleDrone
19344      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
19345    End
19346    Behavior = ObjectCreationUpgrade ModuleTag_09
19347      UpgradeObject = OCL_AmericanScoutDrone
19348      TriggeredBy   = Upgrade_AmericaScoutDrone
19349      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
19350    End 
19351    Behavior = ObjectCreationUpgrade ModuleTag_19
19352      UpgradeObject = OCL_AmericanHellfireDrone
19353      TriggeredBy   = Upgrade_AmericaHellfireDrone
19354      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
19355    End
19356  
19357    Behavior = ProductionUpdate ModuleTag_10
19358      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
19359    End
19360  
19361    Behavior = ExperienceScalarUpgrade ModuleTag_11
19362      TriggeredBy = Upgrade_AmericaAdvancedTraining
19363      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
19364    End
19365  
19366    Behavior = TransitionDamageFX ModuleTag_12
19367      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
19368      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
19369    End
19370  
19371    Behavior = FXListDie ModuleTag_13
19372      DeathTypes = NONE +CRUSHED +SPLATTED
19373      DeathFX = FX_CarCrush
19374    End
19375    Behavior = CreateObjectDie ModuleTag_14
19376      DeathTypes = NONE +CRUSHED +SPLATTED
19377      CreationList = OCL_CrusaderTank_CrushEffect
19378    End
19379    Behavior = DestroyDie ModuleTag_15
19380      DeathTypes = NONE +CRUSHED +SPLATTED
19381    End
19382    Behavior = CreateCrateDie ModuleTag_16
19383      CrateData = SalvageCrateData
19384      ;CrateData = EliteTankCrateData
19385      ;CrateData = HeroicTankCrateData
19386    End
19387    Behavior = EjectPilotDie ModuleTag_17
19388      DeathTypes = ALL -CRUSHED -SPLATTED
19389      ExemptStatus = HIJACKED
19390      GroundCreationList = OCL_EjectPilotOnGround
19391      AirCreationList = OCL_EjectPilotViaParachute
19392      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
19393    End
19394  
19395    Behavior = FlammableUpdate ModuleTag_22
19396      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19397      AflameDamageAmount = 3       ; taking this much damage...
19398      AflameDamageDelay = 500       ; this often.
19399    End
19400  
19401    Behavior = MaxHealthUpgrade ModuleTag_23
19402      TriggeredBy   = Upgrade_AmericaCompositeArmor
19403      AddMaxHealth  = 100.0
19404      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
19405    End
19406  
19407    Geometry = BOX
19408    GeometryMajorRadius = 15.0
19409    GeometryMinorRadius = 10.0
19410    GeometryHeight = 10.0     
19411    GeometryIsSmall = Yes    
19412    Shadow = SHADOW_VOLUME
19413    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
19414  
19415  End
19416  
19417  
19418  
19419  
19420  
19421  
19422  
19423  
19424  
19425  
19426  
19427  
19428  
19429  
19430  
19431  
19432  
19433  
19434  ;------------------------------------------------------------------------------
19435  Object Boss_TankOverlord
19436  
19437    ; *** ART Parameters ***
19438    SelectPortrait         = SNOverlord_L
19439    ButtonImage            = SNOverlord
19440    
19441    UpgradeCameo1 = Upgrade_ChinaUraniumShells
19442    UpgradeCameo2 = Upgrade_ChinaNuclearTanks
19443    UpgradeCameo3 = Upgrade_ChinaOverlordBattleBunker
19444    UpgradeCameo4 = Upgrade_ChinaOverlordGattlingCannon
19445    UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower
19446    
19447    
19448    Draw = W3DOverlordTankDraw ModuleTag_01
19449      ConditionState        = NONE
19450        Model               = NVOvrlrd
19451        Animation           = NVOvrlrd.NVOvrlrd
19452        AnimationMode       = LOOP
19453        Turret              = Turret01
19454        WeaponFireFXBone    = PRIMARY Muzzle
19455        WeaponRecoilBone    = PRIMARY Barrel
19456        WeaponMuzzleFlash   = PRIMARY MuzzleFX
19457        WeaponLaunchBone = PRIMARY Muzzle
19458      End
19459      ConditionState        = REALLYDAMAGED
19460        Model               = NVOvrlrd_d
19461        Animation           = NVOvrlrd_d.NVOvrlrd_d
19462        AnimationMode       = LOOP
19463        Turret              = Turret01
19464        WeaponFireFXBone    = PRIMARY Muzzle
19465        WeaponRecoilBone    = PRIMARY Barrel
19466        WeaponMuzzleFlash   = PRIMARY MuzzleFX
19467        WeaponLaunchBone = PRIMARY Muzzle
19468      End
19469  
19470      ConditionState        = RUBBLE
19471        Model               = NVOvrlrd_d
19472        Turret              = Turret01
19473        WeaponFireFXBone    = PRIMARY Muzzle
19474        WeaponRecoilBone    = PRIMARY Barrel
19475        WeaponMuzzleFlash   = PRIMARY MuzzleFX
19476        WeaponLaunchBone = PRIMARY Muzzle
19477      End
19478  
19479      TrackMarks           = EXTnkTrack.tga
19480      OkToChangeModelColor = Yes
19481      TreadAnimationRate = 2.0;  amount of tread texture to move per second
19482      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
19483      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
19484    End
19485  
19486    ; ***DESIGN parameters ***
19487    DisplayName         = OBJECT:Overlord
19488    Side                = Boss
19489    EditorSorting       = VEHICLE
19490    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19491    WeaponSet
19492      Conditions        = None 
19493      Weapon            = PRIMARY OverlordTankGun
19494    End
19495    WeaponSet
19496      Conditions        = PLAYER_UPGRADE
19497      Weapon            = PRIMARY OverlordTankGun
19498      Weapon            = SECONDARY GattlingBuildingGunAirDummy ;Dummy weapon that allows manual targeting of air units outside range
19499                                                                ;gattling cannon upgrade has been made.
19500    End
19501    ArmorSet
19502      Conditions        = None
19503      Armor             = TankArmor
19504      DamageFX          = TankDamageFX
19505    End
19506    BuildCost       = 2000
19507    BuildTime       = 20.0          ;in seconds    
19508    VisionRange     = 150
19509    ShroudClearingRange = 200
19510    Prerequisites
19511      Object = Boss_WarFactory
19512    End
19513  
19514    ExperienceValue = 200 200 400 600   ;Experience point value at each level
19515    ExperienceRequired = 0 400 600 1200  ;Experience points needed to gain each level
19516    IsTrainable = Yes             ;Can gain experience
19517    CrusherLevel           = 3  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19518    CrushableLevel         = 3  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19519    CommandSet = ChinaTankOverlordDefaultCommandSet
19520  
19521    ; *** AUDIO Parameters ***
19522    VoiceSelect = OverlordTankVoiceSelect
19523    SoundMoveStart = OverlordTankMoveStart
19524    SoundMoveStartDamaged = OverlordTankMoveStart
19525    VoiceMove = OverlordTankVoiceMove
19526    VoiceGuard = OverlordTankVoiceMove
19527    VoiceAttack = OverlordTankVoiceAttack
19528  
19529    UnitSpecificSounds
19530      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19531      VoiceCreate          = OverlordTankVoiceCreate
19532      TurretMoveStart = NoSound
19533      TurretMoveLoop = OverlordTankTurretMoveLoop
19534      VoiceCrush = OverlordTankVoiceCrush
19535      VoiceEnter = OverlordTankVoiceMove
19536      VoiceUnload     = OverlordTankVoiceUnload
19537    End
19538  
19539    ; *** ENGINEERING Parameters ***
19540    RadarPriority = UNIT
19541    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE
19542    
19543    Body = ActiveBody ModuleTag_02
19544      MaxHealth       = 1100.0
19545      InitialHealth   = 1100.0
19546  
19547      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19548      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19549      SubdualDamageCap = 2200
19550      SubdualDamageHealRate = 500
19551      SubdualDamageHealAmount = 50
19552    End
19553  
19554    Behavior = TransportAIUpdate ModuleTag_03
19555      Turret
19556        TurretTurnRate = 60 ;30 ;15   // turn rate, in degrees per sec
19557        ControlledWeaponSlots = PRIMARY
19558      End
19559      AutoAcquireEnemiesWhenIdle = Yes
19560    End
19561  
19562    Locomotor = SET_NORMAL OverlordLocomotor
19563    Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor
19564  
19565    Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
19566      DeathWeapon   = NuclearTankDeathWeapon
19567      StartsActive  = No                        ; turned on by upgrade
19568      TriggeredBy   = Upgrade_ChinaNuclearTanks
19569    End
19570    Behavior = LocomotorSetUpgrade ModuleTag_05
19571      TriggeredBy = Upgrade_ChinaNuclearTanks
19572    End
19573  
19574    Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel) 
19575      Slots                 = 1
19576      DamagePercentToUnits        = 100%
19577      AllowInsideKindOf     = PORTABLE_STRUCTURE
19578      PassengersAllowedToFire = Yes
19579      PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are
19580      ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
19581    End
19582  
19583    Behavior = ObjectCreationUpgrade ModuleTag_07
19584      UpgradeObject = OCL_OverlordGattlingCannon
19585      TriggeredBy   = Upgrade_ChinaOverlordGattlingCannon
19586      ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker
19587    End
19588    Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgrade01
19589      TriggeredBy = Upgrade_ChinaOverlordGattlingCannon
19590      ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker
19591    End
19592    Behavior = ObjectCreationUpgrade ModuleTag_08
19593      UpgradeObject = OCL_OverlordPropagandaTower
19594      TriggeredBy   = Upgrade_ChinaOverlordPropagandaTower
19595      ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker
19596    End
19597    Behavior = ObjectCreationUpgrade ModuleTag_09
19598      UpgradeObject = OCL_OverlordBattleBunker
19599      TriggeredBy   = Upgrade_ChinaOverlordBattleBunker
19600      ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower
19601    End
19602    Behavior = ProductionUpdate ModuleTag_10
19603      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
19604    End
19605    Behavior = CommandSetUpgrade ModuleTag_11
19606      CommandSet = ChinaTankOverlordGattlingCannonCommandSet
19607      TriggeredBy   = Upgrade_ChinaOverlordGattlingCannon
19608      ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker
19609    End
19610    Behavior = CommandSetUpgrade ModuleTag_12
19611      CommandSet = ChinaTankOverlordPropagandaTowerCommandSet
19612      TriggeredBy   = Upgrade_ChinaOverlordPropagandaTower
19613      ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker
19614    End
19615    Behavior = CommandSetUpgrade ModuleTag_13
19616      CommandSet = ChinaTankOverlordBattleBunkerCommandSet
19617      TriggeredBy   = Upgrade_ChinaOverlordBattleBunker
19618      ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower
19619    End
19620  
19621    Behavior = PhysicsBehavior ModuleTag_14
19622      Mass = 50.0
19623    End
19624  
19625  
19626  
19627    ; Smoke for a bit then explode
19628  ;  Behavior = SlowDeathBehavior
19629  ;;    ProbabilityModifier = 25
19630  ;    DestructionDelay = 1500
19631  ;    DestructionDelayVariance = 500
19632  ;    FX  = INITIAL   FX_OverlordSmoke
19633  ;    OCL = FINAL     OCL_ChinaTankOverlordDebris
19634  ;    FX  = FINAL     FX_GenericTankDeathExplosion
19635  ;  End
19636    
19637    ; Catch fire, and explode death
19638  ;  Behavior = SlowDeathBehavior
19639  ;;    ProbabilityModifier = 25
19640  ;    DestructionDelay = 2000
19641  ;    DestructionDelayVariance = 300
19642  ;    FX  = INITIAL  FX_CrusaderCatchFire
19643  ;    OCL = FINAL    OCL_ChinaTankOverlordDebris
19644  ;    FX  = FINAL    FX_GenericTankDeathExplosion 
19645  ;  End
19646  
19647    ; Just explode death
19648    Behavior = SlowDeathBehavior ModuleTag_16
19649      ProbabilityModifier = 25
19650      DestructionDelay = 200
19651      DestructionDelayVariance = 100
19652      OCL = FINAL    OCL_ChinaTankOverlordDebris
19653      FX  = FINAL    FX_OverlordExplosionOneFinal
19654    End
19655    Behavior = CreateCrateDie ModuleTag_17
19656      CrateData = SalvageCrateData
19657      ;CrateData = EliteTankCrateData
19658      ;CrateData = HeroicTankCrateData
19659    End
19660  
19661    Behavior = TransitionDamageFX ModuleTag_18
19662      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
19663      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition
19664    End
19665  
19666    Behavior = FlammableUpdate ModuleTag_21
19667      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19668      AflameDamageAmount = 3       ; taking this much damage...
19669      AflameDamageDelay = 500       ; this often.
19670    End
19671  
19672    Behavior = MaxHealthUpgrade ModuleTag_22
19673      TriggeredBy   = Upgrade_AmericaCompositeArmor
19674      AddMaxHealth  = 100.0
19675      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
19676    End
19677  
19678    Geometry = BOX
19679    GeometryMajorRadius = 26.0
19680    GeometryMinorRadius = 13.0
19681    GeometryHeight = 15.0     
19682    GeometryIsSmall = No
19683    Shadow = SHADOW_VOLUME     
19684    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
19685  
19686  End
19687  
19688  
19689  
19690  
19691  
19692  
19693  
19694  
19695  
19696  
19697  
19698  
19699  
19700  
19701  
19702  
19703  
19704  
19705  
19706  
19707  
19708  
19709  
19710  
19711  
19712  
19713  
19714  
19715  
19716  
19717  
19718  
19719  
19720  
19721  
19722  
19723  
19724  
19725  
19726  
19727  
19728  
19729  
19730  
19731  ;------------------------------------------------------------------------------
19732  ;China Dragon Tank
19733  Object Boss_TankDragon
19734  
19735    ; *** ART Parameters ***
19736    SelectPortrait         = SNDragonTank_L
19737    ButtonImage            = SNDragonTank
19738    
19739    UpgradeCameo1 = Upgrade_ChinaBlackNapalm
19740    UpgradeCameo2 = Upgrade_AmericaCompositeArmor
19741    ;UpgradeCameo3 = NONE
19742    ;UpgradeCameo4 = NONE
19743    ;UpgradeCameo5 = NONE
19744    
19745    Draw = W3DTankDraw ModuleTag_01
19746      OkToChangeModelColor = Yes
19747  
19748      DefaultConditionState
19749        Model = NVDragon
19750        Turret = Turret
19751        TurretPitch = TURRETEL
19752        WeaponFireFXBone = PRIMARY WeaponA
19753        WeaponLaunchBone = PRIMARY WeaponA
19754        WeaponFireFXBone = SECONDARY WeaponA
19755        WeaponLaunchBone = SECONDARY WeaponA
19756      End
19757      ConditionState = REALLYDAMAGED
19758        Model = NVDragon_D
19759        Turret = Turret
19760        TurretPitch = TURRETEL
19761        WeaponFireFXBone = PRIMARY WeaponA
19762        WeaponLaunchBone = PRIMARY WeaponA
19763        WeaponFireFXBone = SECONDARY WeaponA
19764        WeaponLaunchBone = SECONDARY WeaponA
19765      End
19766      ConditionState = RUBBLE
19767        Model = NVDragon_D
19768        Turret = Turret
19769        TurretPitch = TURRETEL
19770        WeaponFireFXBone = PRIMARY WeaponA
19771        WeaponLaunchBone = PRIMARY WeaponA
19772        WeaponFireFXBone = SECONDARY WeaponA
19773        WeaponLaunchBone = SECONDARY WeaponA
19774      End
19775      
19776      TrackMarks              = EXTnkTrack.tga
19777      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
19778      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
19779      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
19780    End
19781  
19782    ; ***DESIGN parameters ***
19783    DisplayName      = OBJECT:Dragon
19784    Side = Boss
19785    EditorSorting   = VEHICLE
19786    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19787  
19788    WeaponSet
19789      Conditions = None 
19790      Weapon = PRIMARY DragonTankFlameWeapon
19791      Weapon = SECONDARY DragonTankFireWallWeapon
19792      AutoChooseSources = SECONDARY NONE
19793    End
19794    WeaponSet
19795      Conditions = PLAYER_UPGRADE 
19796      Weapon = PRIMARY DragonTankFlameWeaponUpgraded
19797      Weapon = SECONDARY DragonTankFireWallWeaponUpgraded
19798      AutoChooseSources = SECONDARY NONE
19799      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
19800    End
19801  
19802    ArmorSet
19803      Conditions      = None
19804      Armor           = DragonTankArmor
19805      DamageFX        = TankDamageFX
19806    End
19807    BuildCost       = 800
19808    BuildTime       = 10.0          ;in seconds    
19809    VisionRange     = 100
19810    ShroudClearingRange = 200
19811    Prerequisites
19812      Object = Boss_WarFactory
19813    End
19814  
19815    ExperienceValue = 50 50 100 150    ;Experience point value at each level
19816    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
19817    IsTrainable = Yes             ;Can gain experience
19818    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19819    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19820    CommandSet    = ChinaTankDragonCommandSet
19821  
19822    ; *** AUDIO Parameters ***
19823    VoiceSelect = DragonTankVoiceSelect
19824    VoiceMove = DragonTankVoiceMove
19825    VoiceGuard = DragonTankVoiceMove
19826    VoiceAttack = DragonTankVoiceAttack
19827    SoundMoveStart = DragonTankMoveStart
19828    SoundMoveStartDamaged = DragonTankMoveStart
19829  
19830    UnitSpecificSounds
19831      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19832      VoiceCreate     = DragonTankVoiceCreate
19833      TurretMoveStart = NoSound
19834      TurretMoveLoop = TurretMoveLoop
19835      VoiceEnter = DragonTankVoiceMove
19836      VoiceFlameLocation = DragonTankVoiceFireStorm
19837    End
19838  
19839  
19840    ; *** ENGINEERING Parameters ***
19841    RadarPriority = UNIT
19842    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
19843    
19844    Body = ActiveBody ModuleTag_02
19845      MaxHealth       = 280.0
19846      InitialHealth   = 280.0
19847  
19848      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19849      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19850      SubdualDamageCap = 560
19851      SubdualDamageHealRate = 500
19852      SubdualDamageHealAmount = 50
19853    End
19854    Behavior = AIUpdateInterface ModuleTag_03
19855      Turret
19856        TurretTurnRate = 120
19857        TurretPitchRate = 120
19858        AllowsPitch = Yes
19859        MinPhysicalPitch = -15
19860  
19861        TurretFireAngleSweep = PRIMARY 10
19862        TurretFireAngleSweep = SECONDARY 60
19863        TurretSweepSpeedModifier = PRIMARY 0.5    ; Sweep slower than you turn (aim for 30 for art)
19864        TurretSweepSpeedModifier = SECONDARY 2.0  ; Sweep faster than you turn
19865        ControlledWeaponSlots = PRIMARY SECONDARY
19866      End
19867      AutoAcquireEnemiesWhenIdle = Yes
19868    End
19869    Locomotor = SET_NORMAL DragonLocomotor
19870    Behavior = PhysicsBehavior ModuleTag_04
19871      Mass = 50.0
19872    End
19873  
19874  
19875    Behavior = WeaponSetUpgrade ModuleTag_05
19876      TriggeredBy = Upgrade_ChinaBlackNapalm
19877    End
19878  
19879    ; A crushing defeat
19880    Behavior = DestroyDie ModuleTag_06
19881      DeathTypes = NONE +CRUSHED +SPLATTED
19882    End
19883    Behavior = FXListDie ModuleTag_07
19884      DeathTypes = NONE +CRUSHED +SPLATTED
19885      DeathFX = FX_CarCrush
19886    End
19887    Behavior = CreateObjectDie ModuleTag_08
19888      DeathTypes = NONE +CRUSHED +SPLATTED
19889      CreationList = OCL_CrusaderTank_CrushEffect
19890    End
19891    Behavior = CreateCrateDie ModuleTag_09
19892      CrateData = SalvageCrateData
19893      ;CrateData = EliteTankCrateData
19894      ;CrateData = HeroicTankCrateData
19895    End
19896  
19897  
19898    ; just explode death
19899    Behavior = SlowDeathBehavior ModuleTag_10
19900      DeathTypes = ALL -CRUSHED -SPLATTED
19901  ;    ProbabilityModifier = 33
19902      DestructionDelay = 500
19903      DestructionDelayVariance = 500
19904      FX  = INITIAL  FX_BattleMasterExplosionOneFinal
19905      OCL = FINAL    OCL_DragonDebris
19906      FX  = FINAL    FX_DragonTankDeathExplosionFinal
19907    End
19908    
19909    ; Catch fire, and explode death
19910  ;  Behavior = SlowDeathBehavior
19911  ;    DeathTypes = ALL -CRUSHED -SPLATTED
19912  ;;    ProbabilityModifier = 33
19913  ;    DestructionDelay = 2000
19914  ;    DestructionDelayVariance = 300
19915  ;    FX  = INITIAL  FX_CrusaderCatchFire
19916  ;    OCL = FINAL    OCL_DragonDebris  
19917  ;    FX  = FINAL    FX_GenericTankDeathExplosion 
19918  ;  End
19919  
19920    ; Napalm spills out, and explode death
19921  ;  Behavior = SlowDeathBehavior
19922  ;    DeathTypes = ALL -CRUSHED -SPLATTED
19923  ;;    ProbabilityModifier = 34
19924  ;    DestructionDelay = 2000
19925  ;    DestructionDelayVariance = 300
19926  ;    FX  = INITIAL  FX_DragonNapalmSpill
19927  ;    OCL = FINAL    OCL_DragonDebris  
19928  ;    FX  = FINAL    FX_DragonTankDeathExplosionFinal
19929  ;  End
19930  
19931    ; Turret fly off death
19932  ;  Behavior = SlowDeathBehavior
19933  ;    DeathTypes = ALL -CRUSHED -SPLATTED
19934  ;;    ProbabilityModifier = 25
19935  ;    DestructionDelay = 500
19936  ;    DestructionDelayVariance = 100
19937  ;    FX  = INITIAL  FX_GenericTankDeathEffect
19938  ;    OCL = MIDPOINT OCL_DragonDebris
19939  ;    FX  = FINAL    FX_GenericTankDeathExplosionFinal
19940  ;  End
19941  
19942  
19943    Behavior = FlammableUpdate ModuleTag_12
19944      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19945      AflameDamageAmount = 3       ; taking this much damage...
19946      AflameDamageDelay = 500       ; this often.
19947    End
19948  
19949    Behavior = TransitionDamageFX ModuleTag_13
19950  ;   ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
19951      ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire
19952      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition
19953    End
19954  
19955    Behavior = MaxHealthUpgrade ModuleTag_14
19956      TriggeredBy   = Upgrade_AmericaCompositeArmor
19957      AddMaxHealth  = 100.0
19958      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
19959    End
19960  
19961    Geometry = BOX
19962    GeometryMajorRadius = 15.0
19963    GeometryMinorRadius = 10.0
19964    GeometryHeight = 11.0   ; Height set to allow clear clipping of projectile stream  
19965    GeometryIsSmall = Yes
19966    Shadow = SHADOW_VOLUME    
19967    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
19968  
19969  End
19970  
19971  
19972  
19973  
19974  
19975  
19976  
19977  
19978  
19979  
19980  
19981  
19982  
19983  
19984  
19985  
19986  
19987  
19988  
19989  
19990  
19991  
19992  
19993  
19994  
19995  
19996  
19997  
19998  
19999  
20000  ;------------------------------------------------------------------------------
20001  Object Boss_TankGattling
20002  
20003    ; *** ART Parameters ***
20004    SelectPortrait         = SNGatlingTank_L
20005    ButtonImage            = SNGatlingTank
20006    
20007    ;UpgradeCameo1 = Upgrade_Nationalism
20008    UpgradeCameo1 = Upgrade_ChinaChainGuns
20009    UpgradeCameo2 = Upgrade_AmericaCompositeArmor
20010    ;UpgradeCameo4 = NONE
20011    ;UpgradeCameo5 = NONE
20012    
20013    Draw                      = W3DTankDraw ModuleTag_01
20014      OkToChangeModelColor    = Yes
20015      
20016      DefaultConditionState        
20017        Model               = NVGattTank
20018        Animation           = NVGattTank.NVGattTank
20019        AnimationMode       = MANUAL
20020        Turret              = TURRET01
20021        TurretPitch         = TURRETEL01
20022        WeaponMuzzleFlash   = PRIMARY   MuzzleFX
20023        WeaponFireFXBone    = PRIMARY   Muzzle
20024        WeaponMuzzleFlash   = SECONDARY MuzzleFX
20025        WeaponFireFXBone    = SECONDARY Muzzle
20026      End
20027  
20028      ConditionState        = REALLYDAMAGED RUBBLE         
20029        Model               = NVGattTank_D
20030      End
20031  
20032  
20033      ;-----pristine attacking----------------------
20034      ConditionState        = ATTACKING
20035        Model               = NVGattTank
20036        Animation           = NVGattTank.NVGattTank
20037        AnimationMode       = LOOP
20038        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  s l o w l y
20039      End
20040  
20041      ConditionState        = CONTINUOUS_FIRE_SLOW ATTACKING
20042        Model               = NVGattTank
20043        Animation           = NVGattTank.NVGattTank
20044        AnimationMode       = LOOP
20045        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
20046      End
20047  
20048      ConditionState        = CONTINUOUS_FIRE_MEAN ATTACKING
20049        Model               = NVGattTank
20050        Animation           = NVGattTank.NVGattTank
20051        AnimationMode       = LOOP
20052        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
20053      End
20054  
20055      ConditionState        = CONTINUOUS_FIRE_FAST ATTACKING
20056        Model               = NVGattTank
20057        Animation           = NVGattTank.NVGattTank
20058        AnimationMode       = LOOP
20059        ParticleSysBone     = Muzzle01 GattlingMuzzleSmoke
20060        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
20061      End
20062  
20063      ;-----damaged attacking----------------------
20064      ConditionState  REALLYDAMAGED ATTACKING         
20065        Model               = NVGattTank_D
20066        Animation           = NVGattTank_D.NVGattTank_D
20067        AnimationMode       = LOOP
20068        AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate  extemely sloowly
20069      End
20070      ConditionState        = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING
20071        Model               = NVGattTank_D
20072        Animation           = NVGattTank_D.NVGattTank_D
20073        AnimationMode       = LOOP
20074        AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate  s l o w l y
20075      End
20076  
20077      ConditionState        = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING
20078        Model               = NVGattTank_D
20079        Animation           = NVGattTank_D.NVGattTank_D
20080        AnimationMode       = LOOP
20081        AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate  medium-fast
20082      End
20083  
20084      ConditionState        = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING
20085        Model               = NVGattTank_D
20086        Animation           = NVGattTank_D.NVGattTank_D
20087        AnimationMode       = LOOP
20088        ParticleSysBone     = Muzzle01 GattlingMuzzleSmoke
20089        AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate  vryfst
20090      End
20091  
20092  
20093  
20094  
20095      TrackMarks              = EXTnkTrack.tga
20096      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
20097      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
20098      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
20099    End
20100  
20101    ; ***DESIGN parameters ***
20102    DisplayName               = OBJECT:GattlingTank
20103    Side                      = Boss
20104    EditorSorting             = VEHICLE
20105    TransportSlotCount        = 3            ;how many "slots" we take in a transport (0 == not transportable)
20106  
20107    WeaponSet
20108      Conditions              = None 
20109      Weapon                  = PRIMARY   GattlingTankGun
20110      PreferredAgainst        = PRIMARY   AIRCRAFT
20111      Weapon                  = SECONDARY GattlingTankGunAir
20112    End
20113  
20114    ArmorSet
20115      Conditions    = None
20116      Armor         = AntiAirVehicle
20117      DamageFX      = TankDamageFX
20118    End
20119    BuildCost       = 800
20120    BuildTime       = 10.0          ;in seconds    
20121    VisionRange     = 150
20122    ShroudClearingRange = 360
20123    Prerequisites
20124      Object        = Boss_WarFactory
20125    End
20126  
20127    ExperienceValue = 50 50 100 150  ;Experience point value at each level
20128    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
20129    IsTrainable = Yes             ;Can gain experience
20130    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
20131    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
20132    CommandSet      = ChinaVehicleGattlingTankCommandSet
20133  
20134  
20135    ; *** AUDIO Parameters ***
20136    VoiceSelect     = GattlingTankVoiceSelect
20137    VoiceMove       = GattlingTankVoiceMove
20138    VoiceGuard      = GattlingTankVoiceMove
20139    VoiceAttack     = GattlingTankVoiceAttack
20140    SoundMoveStart  = GattlingTankMoveStart
20141    SoundMoveStartDamaged = GattlingTankMoveStart
20142  
20143    UnitSpecificSounds
20144      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
20145      VoiceCreate     = GattlingTankVoiceCreate
20146      TurretMoveStart = NoSound
20147      TurretMoveLoop  = TurretMoveLoopLoud
20148      VoiceCrush      = GattlingTankVoiceCrush
20149      VoiceEnter      = GattlingTankVoiceMove
20150      VoiceRapidFire  = GattlingTankVoiceRapid
20151    End
20152  
20153    ; *** ENGINEERING Parameters ***
20154    RadarPriority     = UNIT
20155    KindOf            = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
20156    
20157    Body              = ActiveBody ModuleTag_02
20158      MaxHealth       = 300.0
20159      InitialHealth   = 300.0
20160  
20161      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
20162      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
20163      SubdualDamageCap = 600
20164      SubdualDamageHealRate = 500
20165      SubdualDamageHealAmount = 50
20166    End
20167    Behavior = AIUpdateInterface ModuleTag_03
20168      Turret
20169        ControlledWeaponSlots = PRIMARY SECONDARY
20170        TurretTurnRate      = 180   // turn rate, in degrees per sec
20171        TurretPitchRate     = 180
20172        AllowsPitch         = Yes
20173        FiresWhileTurning   = Yes
20174        NaturalTurretPitch  = 45 ; this keeps it aimed half way between land and sky
20175                                 ; since you never know from whence cometh danger
20176      End
20177      AutoAcquireEnemiesWhenIdle = Yes
20178      MoodAttackCheckRate        = 250
20179    End
20180    Locomotor       = SET_NORMAL GattlingTankLocomotor
20181    Behavior          = PhysicsBehavior ModuleTag_04
20182      Mass            = 40.0
20183    End
20184  
20185  ;  Behavior               = DestroyDie 
20186  ;    ;nothing
20187  ;  End
20188      
20189    ; Just explode death
20190    Behavior = SlowDeathBehavior ModuleTag_05
20191      ProbabilityModifier = 19
20192      DestructionDelay = 200
20193      DestructionDelayVariance = 100
20194  
20195      SinkRate = 0.5     ; in Dist/Sec
20196  
20197      OCL = FINAL    OCL_ChinaTankGattlingDebris
20198      FX  = FINAL    FX_GattlingExplosionOneFinal
20199    End
20200  
20201    Behavior = CreateCrateDie ModuleTag_06
20202      CrateData = SalvageCrateData
20203      ;CrateData = EliteTankCrateData
20204      ;CrateData = HeroicTankCrateData
20205    End
20206  
20207    Behavior = TransitionDamageFX ModuleTag_07
20208      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
20209      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
20210    End
20211  
20212    Behavior = FlammableUpdate ModuleTag_21
20213      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20214      AflameDamageAmount = 3       ; taking this much damage...
20215      AflameDamageDelay = 500       ; this often.
20216    End
20217  
20218    Behavior = WeaponBonusUpgrade ModuleTag_22
20219      TriggeredBy = Upgrade_ChinaChainGuns
20220    End
20221  
20222    Behavior = MaxHealthUpgrade ModuleTag_23
20223      TriggeredBy   = Upgrade_AmericaCompositeArmor
20224      AddMaxHealth  = 100.0
20225      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
20226    End
20227  
20228    Geometry            = BOX
20229    GeometryMajorRadius = 15.0
20230    GeometryMinorRadius = 10.0
20231  
20232    GeometryHeight      = 15.0     
20233    GeometryIsSmall     = Yes
20234    Shadow              = SHADOW_VOLUME
20235    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
20236  
20237  End
20238  
20239  
20240  
20241  
20242  
20243  
20244  
20245  
20246  
20247  
20248  
20249  
20250  
20251  
20252  
20253  
20254  
20255  
20256  
20257  
20258  
20259  
20260  
20261  
20262  
20263  
20264  ;------------------------------------------------------------------------------
20265  ;GLA Rocket Buggy
20266  Object Boss_VehicleRocketBuggy
20267  
20268    ; *** ART Parameters ***
20269    SelectPortrait         = SURocketBuggy_L
20270    ButtonImage            = SURocketBuggy
20271    
20272    UpgradeCameo1 = Upgrade_GLABuggyAmmo
20273    UpgradeCameo2 = Upgrade_GLAAPRockets
20274    UpgradeCameo3 = Upgrade_GLAJunkRepair
20275    ;UpgradeCameo4 = NONE
20276    ;UpgradeCameo5 = NONE
20277    
20278    Draw = W3DTruckDraw ModuleTag_01
20279      OkToChangeModelColor = Yes
20280  
20281      DefaultConditionState
20282        Model = UVRockBug
20283        Turret = Turret
20284        ShowSubObject = Turret
20285        HideSubObject = TurretUp01 
20286        WeaponFireFXBone = PRIMARY WeaponA
20287        WeaponLaunchBone = PRIMARY WeaponA
20288      End
20289      
20290      ConditionState = REALLYDAMAGED
20291        Model = UVRockBug_D
20292        Turret = Turret
20293        ShowSubObject = Turret
20294        HideSubObject = TurretUp01 
20295        WeaponFireFXBone = PRIMARY WeaponA
20296        WeaponLaunchBone = PRIMARY WeaponA
20297      End
20298      
20299      ConditionState = RUBBLE
20300        Model = UVRockBug_D
20301        Turret = Turret
20302        ShowSubObject = Turret
20303        HideSubObject = TurretUp01 
20304        WeaponFireFXBone = PRIMARY WeaponA
20305        WeaponLaunchBone = PRIMARY WeaponA
20306      End
20307  
20308      ConditionState =   WEAPONSET_PLAYER_UPGRADE
20309        Model = UVRockBug
20310        Turret = TurretUp01
20311        ShowSubObject = TurretUp01 
20312        HideSubObject = Turret
20313        WeaponFireFXBone = PRIMARY WeaponB
20314        WeaponLaunchBone = PRIMARY WeaponB
20315      End
20316      
20317      ConditionState =   WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
20318        Model = UVRockBug_D
20319        Turret = TurretUp01
20320        ShowSubObject = TurretUp01 
20321        HideSubObject = Turret
20322        WeaponFireFXBone = PRIMARY WeaponB
20323        WeaponLaunchBone = PRIMARY WeaponB
20324      End
20325      
20326      ConditionState =   WEAPONSET_PLAYER_UPGRADE RUBBLE
20327        Model = UVRockBug_D
20328        Turret = TurretUp01
20329        ShowSubObject = TurretUp01 
20330        HideSubObject = Turret
20331        WeaponFireFXBone = PRIMARY WeaponB
20332        WeaponLaunchBone = PRIMARY WeaponB
20333      End
20334  
20335      TrackMarks = EXTireTrack.tga
20336  
20337      Dust                        = RocketBuggyDust
20338      DirtSpray                   = RocketBuggyDirtSpray
20339      PowerslideSpray             = RocketBuggyDirtPowerSlide
20340  
20341      ; These parameters are only used if the model has a separate suspension, 
20342      ; and the locomotor has HasSuspension = Yes.
20343      LeftFrontTireBone           = Tire01
20344      RightFrontTireBone          = Tire02
20345      LeftRearTireBone            = Tire03
20346      RightRearTireBone           = Tire04
20347      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
20348      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
20349  
20350    End
20351  
20352    ; ***DESIGN parameters ***
20353    DisplayName         = OBJECT:RocketBuggy
20354    Side                = Boss
20355    EditorSorting       = VEHICLE
20356    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
20357    WeaponSet
20358      Conditions = None 
20359      Weapon = PRIMARY BuggyRocketWeapon
20360    End
20361    WeaponSet
20362      Conditions = PLAYER_UPGRADE 
20363      Weapon = PRIMARY BuggyRocketWeaponUpgraded
20364    End
20365    ArmorSet
20366      Conditions      = None
20367      Armor           = TruckArmor
20368      DamageFX        = TankDamageFX
20369    End
20370    BuildCost       = 900
20371    BuildTime       = 10.0          ;in seconds    
20372    VisionRange     = 180
20373    ShroudClearingRange = 300
20374    Prerequisites
20375      Object = Boss_WarFactory
20376    End
20377  
20378    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
20379    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
20380    IsTrainable           = Yes             ;Can gain experience
20381    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
20382    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
20383    CommandSet            = GLAVehicleRocketBuggyCommandSet
20384  
20385    ; *** AUDIO Parameters ***
20386    VoiceSelect = RocketBuggyVoiceSelect
20387    VoiceMove = RocketBuggyVoiceMove
20388    VoiceAttack = RocketBuggyVoiceAttack
20389    SoundMoveStart = RocketBuggyMoveStart
20390    SoundMoveStartDamaged = RocketBuggyMoveStart
20391    VoiceGuard = RocketBuggyVoiceMove
20392  
20393  
20394    UnitSpecificSounds
20395      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
20396      VoiceCreate          = RocketBuggyVoiceCreate
20397      TurretMoveStart = NoSound
20398      TurretMoveLoop = TurretMoveLoop  
20399    ; Required for the W3DTruckDraw module
20400      TruckLandingSound = RocketBuggyLand
20401      TruckPowerslideSound = RocketBuggyPowerslide
20402      VoiceCrush      = RocketBuggyVoiceCrush
20403      VoiceEnter = RocketBuggyVoiceMove
20404    End
20405  
20406    ; *** ENGINEERING Parameters ***
20407    RadarPriority = UNIT
20408    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE
20409  
20410    Body = ActiveBody ModuleTag_02
20411      MaxHealth       = 120
20412      InitialHealth   = 120
20413  
20414      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
20415      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
20416      SubdualDamageCap = 240
20417      SubdualDamageHealRate = 500
20418      SubdualDamageHealAmount = 50
20419    End
20420    Behavior = AIUpdateInterface ModuleTag_03
20421      Turret
20422        TurretTurnRate = 90
20423        ControlledWeaponSlots = PRIMARY
20424      End
20425      AutoAcquireEnemiesWhenIdle = Yes
20426    End
20427    Locomotor = SET_NORMAL RocketBuggyLocomotor
20428    Behavior = PhysicsBehavior ModuleTag_04
20429      Mass = 50.0
20430    End
20431  
20432  ; The pop up AirDeath 
20433    Behavior = SlowDeathBehavior ModuleTag_05
20434      DeathTypes = ALL -CRUSHED -SPLATTED
20435      ProbabilityModifier = 5
20436      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
20437      DestructionDelay = 0
20438      FX = INITIAL FX_BuggyNewDeathExplosion
20439      OCL = FINAL OCL_RocketBuggyAirDeathStart
20440    End
20441  
20442    Behavior = AutoHealBehavior ModuleTag_08
20443      HealingAmount = 2
20444      HealingDelay = 1000 ; msec
20445      TriggeredBy = Upgrade_GLAJunkRepair
20446    End
20447  
20448    Behavior = WeaponSetUpgrade ModuleTag_09
20449      TriggeredBy = Upgrade_GLABuggyAmmo
20450    End
20451  
20452    Behavior = DestroyDie ModuleTag_11
20453      DeathTypes = NONE +CRUSHED +SPLATTED
20454    End
20455  
20456    ; A crushing defeat
20457    Behavior = FXListDie ModuleTag_12
20458      DeathTypes = NONE +CRUSHED +SPLATTED
20459      DeathFX = FX_CarCrush
20460    End
20461    Behavior = CreateObjectDie ModuleTag_13
20462      DeathTypes = NONE +CRUSHED +SPLATTED
20463      CreationList = OCL_RocketBuggy_CrushEffect
20464    End
20465    Behavior = CreateCrateDie ModuleTag_14
20466      CrateData = SalvageCrateData
20467      ;CrateData = EliteTankCrateData
20468      ;CrateData = HeroicTankCrateData
20469    End
20470    
20471    Behavior                 = TransitionDamageFX ModuleTag_15
20472      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
20473      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
20474    End
20475  
20476    Behavior = FlammableUpdate ModuleTag_21
20477      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20478      AflameDamageAmount = 3       ; taking this much damage...
20479      AflameDamageDelay = 500       ; this often.
20480    End
20481  
20482    Geometry = BOX
20483    GeometryMajorRadius = 13.0
20484    GeometryMinorRadius = 9.0
20485    GeometryHeight = 7.5     
20486    GeometryIsSmall = Yes    
20487  
20488    Shadow = SHADOW_VOLUME
20489    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
20490  
20491  End
20492  
20493  
20494  
20495  
20496  
20497  
20498  
20499  
20500  
20501  
20502  
20503  
20504  
20505  
20506  
20507  
20508  
20509  
20510  
20511  
20512  
20513  
20514  
20515  
20516  
20517  
20518  
20519  
20520  
20521  
20522  ;------------------------------------------------------------------------------
20523  ;GLA Combat Bike with Terrorist
20524  Object Boss_VehicleCombatBikeTerrorist
20525  
20526    ; *** ART Parameters ***
20527    SelectPortrait         = SUComBike_L
20528    ButtonImage            = SUComBike
20529    
20530    UpgradeCameo1 = Upgrade_GLAJunkRepair
20531    ;UpgradeCameo2 = NONE
20532    ;UpgradeCameo3 = NONE
20533    ;UpgradeCameo4 = NONE
20534    ;UpgradeCameo5 = NONE
20535  
20536    
20537    Draw = W3DTruckDraw ModuleTag_01
20538      OkToChangeModelColor = Yes
20539  
20540      ;Normal Bike
20541      ;------------------------------
20542      DefaultConditionState
20543        Model = UVComBike
20544        WeaponFireFXBone    = PRIMARY Muzzle_B
20545        WeaponLaunchBone    = PRIMARY RocketFX03
20546        WeaponMuzzleFlash   = PRIMARY MuzzleFX_B
20547        ParticleSysBone     = SMOKE CombatBikeSmokeLight
20548      End
20549      AliasConditionState RIDER1
20550      AliasConditionState RIDER1 MOVING
20551      AliasConditionState RIDER5
20552      AliasConditionState RIDER5 MOVING
20553      AliasConditionState RIDER6
20554      AliasConditionState RIDER6 MOVING
20555      AliasConditionState RIDER7
20556      AliasConditionState RIDER7 MOVING
20557      ConditionState = REALLYDAMAGED
20558        Model = UVComBike_d
20559      End
20560      AliasConditionState RIDER1 REALLYDAMAGED
20561      AliasConditionState RIDER1 MOVING REALLYDAMAGED
20562      AliasConditionState RIDER5 REALLYDAMAGED
20563      AliasConditionState RIDER5 MOVING REALLYDAMAGED
20564      AliasConditionState RIDER6 REALLYDAMAGED
20565      AliasConditionState RIDER6 MOVING REALLYDAMAGED
20566      AliasConditionState RIDER7 REALLYDAMAGED
20567      AliasConditionState RIDER7 MOVING REALLYDAMAGED
20568    
20569      ConditionState = TOPPLED
20570        Model = UVComBike
20571        Animation           = UVComBike_F.UVComBike_F
20572        AnimationMode       = ONCE
20573      End
20574      ConditionState = TOPPLED REALLYDAMAGED
20575        Model = UVComBike_d
20576        Animation           = UVComBike_F.UVComBike_F
20577        AnimationMode       = ONCE
20578      End
20579  
20580      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
20581        Model = UVComBike
20582        Animation           = UVComBike_A1.UVComBike_A1
20583        AnimationMode       = ONCE
20584        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20585      End
20586      AliasConditionState RIDER5 MOVING CENTER_TO_LEFT
20587      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT
20588      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT
20589      ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED
20590        Model = UVComBike_d
20591        Animation           = UVComBike_A1.UVComBike_A1
20592        AnimationMode       = ONCE
20593        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20594      End
20595      AliasConditionState RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED
20596      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED
20597      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED
20598  
20599      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
20600        Model = UVComBike
20601        Animation           = UVComBike_A1.UVComBike_A1
20602        AnimationMode       = ONCE_BACKWARDS
20603        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20604      End
20605      AliasConditionState RIDER5 MOVING LEFT_TO_CENTER
20606      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER
20607      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER
20608      ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED
20609        Model = UVComBike_d
20610        Animation           = UVComBike_A1.UVComBike_A1
20611        AnimationMode       = ONCE_BACKWARDS
20612        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20613      End
20614      AliasConditionState RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED
20615      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED
20616      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED
20617  
20618      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
20619        Model = UVComBike
20620        Animation           = UVComBike_A2.UVComBike_A2
20621        AnimationMode       = ONCE
20622        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20623      End
20624      AliasConditionState  RIDER5 MOVING CENTER_TO_RIGHT
20625      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT
20626      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT
20627      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20628        Model = UVComBike_d
20629        Animation           = UVComBike_A2.UVComBike_A2
20630        AnimationMode       = ONCE
20631        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20632      End
20633      AliasConditionState  RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20634      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20635      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20636  
20637      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
20638        Model = UVComBike
20639        Animation           = UVComBike_A2.UVComBike_A2
20640        AnimationMode       = ONCE_BACKWARDS
20641        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20642      End
20643      AliasConditionState RIDER5 MOVING RIGHT_TO_CENTER
20644      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER
20645      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER
20646      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20647        Model = UVComBike_d
20648        Animation           = UVComBike_A2.UVComBike_A2
20649        AnimationMode       = ONCE_BACKWARDS
20650        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20651      End
20652      AliasConditionState RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20653      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20654      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20655  
20656  
20657      ;Gun Bike
20658      ;------------------------------
20659      ConditionState = RIDER2
20660        Model = UVComBikeG
20661      End
20662      AliasConditionState RIDER2 MOVING
20663      AliasConditionState RIDER4
20664      AliasConditionState RIDER4 MOVING
20665      ConditionState = RIDER2 REALLYDAMAGED
20666        Model = UVComBikeG_d
20667      End
20668      AliasConditionState RIDER2 MOVING REALLYDAMAGED
20669      AliasConditionState RIDER4 REALLYDAMAGED
20670      AliasConditionState RIDER4 MOVING REALLYDAMAGED
20671     
20672      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
20673        Model = UVComBikeG
20674        Animation           = UVComBikeG_A1.UVComBikeG_A1
20675        AnimationMode       = ONCE
20676        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20677      End
20678      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT
20679      ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED
20680        Model = UVComBikeG_d
20681        Animation           = UVComBikeG_A1.UVComBikeG_A1
20682        AnimationMode       = ONCE
20683        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20684      End
20685      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED
20686  
20687      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
20688        Model = UVComBikeG
20689        Animation           = UVComBikeG_A1.UVComBikeG_A1
20690        AnimationMode       = ONCE_BACKWARDS
20691        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20692      End
20693      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER
20694      ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED
20695        Model = UVComBikeG_d
20696        Animation           = UVComBikeG_A1.UVComBikeG_A1
20697        AnimationMode       = ONCE_BACKWARDS
20698        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20699      End
20700      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED
20701  
20702      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
20703        Model = UVComBikeG
20704        Animation           = UVComBikeG_A2.UVComBikeG_A2
20705        AnimationMode       = ONCE
20706        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20707      End
20708      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT
20709      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20710        Model = UVComBikeG_d
20711        Animation           = UVComBikeG_A2.UVComBikeG_A2
20712        AnimationMode       = ONCE
20713        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20714      End
20715      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20716  
20717      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
20718        Model = UVComBikeG
20719        Animation           = UVComBikeG_A2.UVComBikeG_A2
20720        AnimationMode       = ONCE_BACKWARDS
20721        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20722      End
20723      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER
20724      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20725        Model = UVComBikeG_d
20726        Animation           = UVComBikeG_A2.UVComBikeG_A2
20727        AnimationMode       = ONCE_BACKWARDS
20728        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20729      End
20730      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20731  
20732      ;Missile Bike
20733      ;------------------------------
20734      ConditionState = RIDER3
20735        Model = UVComBikeTN
20736      End
20737      AliasConditionState RIDER3 MOVING
20738      ConditionState = RIDER3 REALLYDAMAGED
20739        Model = UVComBikeTN_d
20740      End
20741      AliasConditionState RIDER3 MOVING REALLYDAMAGED
20742    
20743      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
20744        Model = UVComBikeTN
20745        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
20746        AnimationMode       = ONCE
20747        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20748      End
20749      ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED
20750        Model = UVComBikeTN_d
20751        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
20752        AnimationMode       = ONCE
20753        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20754      End
20755  
20756      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
20757        Model = UVComBikeTN
20758        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
20759        AnimationMode       = ONCE_BACKWARDS
20760        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20761      End
20762      ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED
20763        Model = UVComBikeTN_d
20764        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
20765        AnimationMode       = ONCE_BACKWARDS
20766        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20767      End
20768  
20769      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
20770        Model = UVComBikeTN
20771        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
20772        AnimationMode       = ONCE
20773        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20774      End
20775      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED
20776        Model = UVComBikeTN_d
20777        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
20778        AnimationMode       = ONCE
20779        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20780      End
20781  
20782      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
20783        Model = UVComBikeTN
20784        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
20785        AnimationMode       = ONCE_BACKWARDS
20786        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20787      End
20788      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED
20789        Model = UVComBikeTN_d
20790        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
20791        AnimationMode       = ONCE_BACKWARDS
20792        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
20793      End
20794  
20795      TrackMarks = EXTireTrack03.tga
20796  
20797      Dust                        = CombatBikeDust
20798      DirtSpray                   = CombatBikeDirtSpray
20799      PowerslideSpray             = CombatBikeDirtPowerSlide
20800  
20801      ; These parameters are only used if the model has a separate suspension, 
20802      ; and the locomotor has HasSuspension = Yes.
20803      LeftFrontTireBone           = Tire01
20804      LeftRearTireBone            = Tire00
20805      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
20806      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
20807  
20808    End
20809  
20810    Draw = W3DModelDraw ModuleTag_Rider01
20811      OkToChangeModelColor = Yes
20812  
20813      DefaultConditionState
20814        ;**************************************************
20815        ;*** Must have a default model in order to see
20816        ;*** house color!!!
20817        ;**************************************************
20818        Model = UIWrkr_SKN
20819        ;WeaponFireFXBone    = PRIMARY Muzzle
20820        ;WeaponLaunchBone    = PRIMARY Muzzle
20821        WeaponMuzzleFlash   = PRIMARY MuzzleFX
20822      End
20823      AliasConditionState MOVING
20824  
20825      ;Worker animations
20826      ;-----------------------
20827      ConditionState = RIDER1 
20828        Model = UIWrkr_SKN
20829        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
20830        AnimationMode = LOOP
20831      End
20832      ConditionState = RIDER1 MOVING
20833        Model = UIWrkr_SKN
20834        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
20835        AnimationMode = LOOP
20836      End
20837      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
20838        Model = UIWrkr_SKN
20839        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
20840        AnimationMode       = ONCE
20841      End
20842      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
20843        Model = UIWrkr_SKN
20844        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
20845        AnimationMode       = ONCE_BACKWARDS
20846      End
20847      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
20848        Model = UIWrkr_SKN
20849        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
20850        AnimationMode       = ONCE
20851      End
20852      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
20853        Model = UIWrkr_SKN
20854        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
20855        AnimationMode       = ONCE_BACKWARDS
20856      End
20857  
20858  
20859      ;Rebel animations
20860      ;-----------------------
20861      ConditionState = RIDER2 
20862        Model = UIRGrd_SKN
20863        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A5
20864        AnimationMode = LOOP
20865      End
20866      ConditionState = RIDER2 MOVING
20867        Model = UIRGrd_SKN
20868        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A4
20869        AnimationMode = LOOP
20870      End
20871      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
20872        Model = UIRGrd_SKN
20873        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
20874        AnimationMode       = ONCE
20875      End
20876      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
20877        Model = UIRGrd_SKN
20878        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
20879        AnimationMode       = ONCE_BACKWARDS
20880      End
20881      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
20882        Model = UIRGrd_SKN
20883        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
20884        AnimationMode       = ONCE
20885      End
20886      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
20887        Model = UIRGrd_SKN
20888        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
20889        AnimationMode       = ONCE_BACKWARDS
20890      End
20891  
20892      ;RPG Trooper animations
20893      ;-----------------------
20894      ConditionState = RIDER3 
20895        Model = UITunF_SKN2
20896        Animation           = UITunF_SKL.UITunF_CmBk_A5
20897        AnimationMode = LOOP
20898      End
20899      ConditionState = RIDER3 MOVING
20900        Model = UITunF_SKN2
20901        Animation           = UITunF_SKL.UITunF_CmBk_A4
20902        AnimationMode = LOOP
20903      End
20904      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
20905        Model = UITunF_SKN2
20906        Animation           = UITunF_SKL.UITunF_CmBk_A1
20907        AnimationMode       = ONCE
20908      End
20909      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
20910        Model = UITunF_SKN2
20911        Animation           = UITunF_SKL.UITunF_CmBk_A1
20912        AnimationMode       = ONCE_BACKWARDS
20913      End
20914      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
20915        Model = UITunF_SKN2
20916        Animation           = UITunF_SKL.UITunF_CmBk_A2
20917        AnimationMode       = ONCE
20918      End
20919      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
20920        Model = UITunF_SKN2
20921        Animation           = UITunF_SKL.UITunF_CmBk_A2
20922        AnimationMode       = ONCE_BACKWARDS
20923      End
20924  
20925      ;Jarmen Kell animations
20926      ;-----------------------
20927      ConditionState = RIDER4 
20928        Model = UIHERO_SKN
20929        Animation           = UIHERO_SKL.UIHERO_CmBk_A5
20930        AnimationMode = LOOP
20931      End
20932      ConditionState = RIDER4 MOVING
20933        Model = UIHERO_SKN
20934        Animation           = UIHERO_SKL.UIHERO_CmBk_A4
20935        AnimationMode = LOOP
20936      End
20937      ConditionState = RIDER4 MOVING CENTER_TO_LEFT
20938        Model = UIHERO_SKN
20939        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
20940        AnimationMode       = ONCE
20941      End
20942      ConditionState = RIDER4 MOVING LEFT_TO_CENTER
20943        Model = UIHERO_SKN
20944        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
20945        AnimationMode       = ONCE_BACKWARDS
20946      End
20947      ConditionState = RIDER4 MOVING CENTER_TO_RIGHT
20948        Model = UIHERO_SKN
20949        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
20950        AnimationMode       = ONCE
20951      End
20952      ConditionState = RIDER4 MOVING RIGHT_TO_CENTER
20953        Model = UIHERO_SKN
20954        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
20955        AnimationMode       = ONCE_BACKWARDS
20956      End
20957  
20958      ;Terrorist animations
20959      ;-----------------------
20960      ConditionState = RIDER5 
20961        Model = UITRST_SKN
20962        Animation           = UITRST_SKL.UITER_CmBk_A5
20963        AnimationMode = LOOP
20964      End
20965      ConditionState = RIDER5 MOVING
20966        Model = UITRST_SKN
20967        Animation           = UITRST_SKL.UITER_CmBk_A4
20968        AnimationMode = LOOP
20969      End
20970      ConditionState = RIDER5 MOVING CENTER_TO_LEFT
20971        Model = UITRST_SKN
20972        Animation           = UITRST_SKL.UITER_CmBk_A1
20973        AnimationMode       = ONCE
20974      End
20975      ConditionState = RIDER5 MOVING LEFT_TO_CENTER
20976        Model = UITRST_SKN
20977        Animation           = UITRST_SKL.UITER_CmBk_A1
20978        AnimationMode       = ONCE_BACKWARDS
20979      End
20980      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT
20981        Model = UITRST_SKN
20982        Animation           = UITRST_SKL.UITER_CmBk_A2
20983        AnimationMode       = ONCE
20984      End
20985      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER
20986        Model = UITRST_SKN
20987        Animation           = UITRST_SKL.UITER_CmBk_A2
20988        AnimationMode       = ONCE_BACKWARDS
20989      End
20990  
20991      ;Hijacker animations
20992      ;-----------------------
20993      ConditionState = RIDER6 
20994        Model = UIHJCK_SKN
20995        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A5
20996        AnimationMode = LOOP
20997      End
20998      ConditionState = RIDER6 MOVING
20999        Model = UIHJCK_SKN
21000        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A4
21001        AnimationMode = LOOP
21002      End
21003      ConditionState = RIDER6 MOVING CENTER_TO_LEFT
21004        Model = UIHJCK_SKN
21005        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
21006        AnimationMode       = ONCE
21007      End
21008      ConditionState = RIDER6 MOVING LEFT_TO_CENTER
21009        Model = UIHJCK_SKN
21010        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
21011        AnimationMode       = ONCE_BACKWARDS
21012      End
21013      ConditionState = RIDER6 MOVING CENTER_TO_RIGHT
21014        Model = UIHJCK_SKN
21015        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
21016        AnimationMode       = ONCE
21017      End
21018      ConditionState = RIDER6 MOVING RIGHT_TO_CENTER
21019        Model = UIHJCK_SKN
21020        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
21021        AnimationMode       = ONCE_BACKWARDS
21022      End
21023  
21024      ;Saboteur animations
21025      ;-----------------------
21026      ConditionState = RIDER7 
21027        Model = UISabotr_SKN
21028        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
21029        AnimationMode = LOOP
21030      End
21031      ConditionState = RIDER7 MOVING
21032        Model = UISabotr_SKN
21033        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
21034        AnimationMode = LOOP
21035      End
21036      ConditionState = RIDER7 MOVING CENTER_TO_LEFT
21037        Model = UISabotr_SKN
21038        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
21039        AnimationMode       = ONCE
21040      End
21041      ConditionState = RIDER7 MOVING LEFT_TO_CENTER
21042        Model = UISabotr_SKN
21043        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
21044        AnimationMode       = ONCE_BACKWARDS
21045      End
21046      ConditionState = RIDER7 MOVING CENTER_TO_RIGHT
21047        Model = UISabotr_SKN
21048        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
21049        AnimationMode       = ONCE
21050      End
21051      ConditionState = RIDER7 MOVING RIGHT_TO_CENTER
21052        Model = UISabotr_SKN
21053        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
21054        AnimationMode       = ONCE_BACKWARDS
21055      End
21056  
21057      ConditionState = TOPPLED
21058        Model = None
21059      End
21060      AliasConditionState TOPPLED MOVING
21061  
21062    End
21063  
21064    ; ***DESIGN parameters ***
21065    DisplayName         = OBJECT:CombatBike
21066    Side                = Boss
21067    EditorSorting       = VEHICLE
21068    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
21069    WeaponSet
21070      Conditions = None
21071      Weapon = PRIMARY NONE
21072    End
21073    WeaponSet
21074      Conditions = WEAPON_RIDER2
21075      Weapon = PRIMARY GLARebelBikerMachineGun
21076    End
21077    WeaponSet
21078      Conditions = WEAPON_RIDER3
21079      Weapon = PRIMARY TunnelDefenderBikerRocketWeapon
21080    End
21081    WeaponSet
21082      Conditions = WEAPON_RIDER4
21083      Weapon = PRIMARY GLABikerKellSniperRifle
21084      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
21085      AutoChooseSources = SECONDARY NONE
21086    End
21087    WeaponSet
21088      ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE
21089      ;damage to do ini logic for type of death to play -- unresistable for success.
21090      Conditions = WEAPON_RIDER5
21091      Weapon = PRIMARY TerroristSuicideWeapon 
21092    End
21093    ArmorSet
21094      Conditions      = None
21095      Armor           = TruckArmor
21096      DamageFX        = TankDamageFX
21097    End
21098    BuildCost       = 500
21099    BuildTime       = 8.0          ;in seconds    
21100    VisionRange     = 180
21101    ShroudClearingRange = 300
21102    Prerequisites
21103      Object = Boss_WarFactory
21104    End
21105  
21106    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
21107    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
21108    IsTrainable           = Yes             ;Can gain experience
21109    ;CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
21110    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
21111    CommandSet            = GLAVehicleCombatBikeDefaultCommandSet
21112  
21113    ; *** AUDIO Parameters ***
21114    VoiceSelect = RocketBuggyVoiceSelect
21115    ;VoiceMove = RocketBuggyVoiceMove
21116    VoiceAttack = RocketBuggyVoiceAttack
21117    SoundMoveStart = CombatBikeMoveStart
21118    SoundMoveStartDamaged = CombatBikeMoveStart
21119    VoiceGuard = RocketBuggyVoiceMove
21120  
21121  
21122    UnitSpecificSounds
21123      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
21124      VoiceCreate          = RocketBuggyVoiceCreate
21125      TurretMoveStart = NoSound
21126      TurretMoveLoop = TurretMoveLoop  
21127    ; Required for the W3DTruckDraw module
21128      TruckLandingSound = RocketBuggyLand
21129      TruckPowerslideSound = CombatBikeMoveStart
21130      VoiceCrush      = RocketBuggyVoiceCrush
21131      VoiceEnter = RocketBuggyVoiceMove
21132    End
21133  
21134    ; *** ENGINEERING Parameters ***
21135    RadarPriority = UNIT
21136    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER
21137  
21138    Body = ActiveBody ModuleTag_02
21139      MaxHealth       = 100
21140      InitialHealth   = 100
21141  
21142      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
21143      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
21144      SubdualDamageCap = 200
21145      SubdualDamageHealRate = 500
21146      SubdualDamageHealAmount = 50
21147    End
21148    Behavior = AIUpdateInterface ModuleTag_03
21149      Turret
21150        TurretTurnRate = 0       ; turn rate, in degrees per sec
21151        NaturalTurretAngle = 0
21152        ControlledWeaponSlots = PRIMARY SECONDARY
21153      End
21154      AutoAcquireEnemiesWhenIdle = No
21155    End
21156    Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor
21157    Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor
21158    Behavior = PhysicsBehavior ModuleTag_04
21159      Mass = 15.0
21160    End
21161  
21162    Behavior = SlowDeathBehavior DeathTag_04
21163      ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7
21164      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21165      DestructionDelay = 0
21166      FX = INITIAL FX_BuggyNewDeathExplosion
21167      OCL = FINAL OCL_CombatBikeAirDeathStart
21168    End
21169    Behavior = SlowDeathBehavior DeathTag_05
21170      RequiredStatus = STATUS_RIDER1
21171      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21172      DestructionDelay = 0
21173      FX = INITIAL FX_BuggyNewDeathExplosion
21174      OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart
21175      OCL = FINAL OCL_CombatBikeAirDeathStart
21176    End
21177    Behavior = SlowDeathBehavior DeathTag_06
21178      RequiredStatus = STATUS_RIDER2
21179      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21180      DestructionDelay = 0
21181      FX = INITIAL FX_BuggyNewDeathExplosion
21182      OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart
21183      OCL = FINAL OCL_CombatBikeAirDeathStart
21184    End
21185    Behavior = SlowDeathBehavior DeathTag_07
21186      RequiredStatus = STATUS_RIDER3
21187      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21188      DestructionDelay = 0
21189      FX = INITIAL FX_BuggyNewDeathExplosion
21190      OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart
21191      OCL = FINAL OCL_CombatBikeAirDeathStart
21192    End
21193    Behavior = SlowDeathBehavior DeathTag_08
21194      RequiredStatus = STATUS_RIDER4
21195      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21196      DestructionDelay = 0
21197      FX = INITIAL FX_BuggyNewDeathExplosion
21198      OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart
21199      OCL = FINAL OCL_CombatBikeAirDeathStart
21200    End
21201    Behavior = SlowDeathBehavior DeathTag_09
21202      RequiredStatus = STATUS_RIDER5
21203      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21204      DestructionDelay = 0
21205      FX = INITIAL FX_BuggyNewDeathExplosion
21206      OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart
21207      OCL = FINAL OCL_CombatBikeAirDeathStart
21208    End
21209    Behavior = SlowDeathBehavior DeathTag_10
21210      RequiredStatus = STATUS_RIDER6
21211      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
21212      DestructionDelay = 0
21213      FX = INITIAL FX_BuggyNewDeathExplosion
21214      OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart
21215      OCL = FINAL OCL_CombatBikeAirDeathStart
21216    End
21217  
21218    Behavior = AutoHealBehavior ModuleTag_08
21219      HealingAmount = 2
21220      HealingDelay = 1000 ; msec
21221      TriggeredBy = Upgrade_GLAJunkRepair
21222    End
21223  
21224    Behavior = WeaponSetUpgrade ModuleTag_09
21225      TriggeredBy = Upgrade_GLABuggyAmmo
21226    End
21227  
21228    ;Create the hulk after the toppling is complete (not killed until topple anim finished).
21229    Behavior = CreateObjectDie ModuleTag_10
21230      DeathTypes = NONE +TOPPLED
21231      CreationList = OCL_CombatBike_ToppledHulk
21232    End
21233  
21234    Behavior = DestroyDie ModuleTag_11
21235      DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED
21236    End
21237  
21238    ; A crushing defeat
21239    Behavior = FXListDie ModuleTag_12
21240      DeathTypes = NONE +CRUSHED +SPLATTED
21241      DeathFX = FX_CarCrush
21242    End
21243    Behavior = CreateObjectDie ModuleTag_13
21244      DeathTypes = NONE +CRUSHED +SPLATTED
21245      CreationList = OCL_RocketBuggy_CrushEffect
21246    End
21247    Behavior = CreateCrateDie ModuleTag_14
21248      CrateData = SalvageCrateData
21249      ;CrateData = EliteTankCrateData
21250      ;CrateData = HeroicTankCrateData
21251    End
21252  
21253    Behavior                 = TransitionDamageFX ModuleTag_15
21254      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
21255      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
21256    End
21257  
21258    Behavior = RiderChangeContain ModuleTag_16
21259      ;A list of each valid rider that is allowed to ride this object. Each rider is
21260      ;assigned a modelcondition state, a weaponset flag, an object status bit, and
21261      ;a commandset override. The actual object is hidden inside the container so the 
21262      ;visible rider is fluff. Also riders are deleted (not killed) when the bike is
21263      ;destroyed, so all deaths must be OCLs on the bike.
21264      Rider1 = GLAInfantryWorker         RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
21265      Rider2 = GLAInfantryRebel          RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
21266      Rider3 = GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
21267      Rider4 = GLAInfantryJarmenKell     RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL
21268      Rider5 = GLAInfantryTerrorist      RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH
21269      Rider6 = GLAInfantryHijacker       RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
21270      Rider7 = GLAInfantrySaboteur       RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
21271      ScuttleDelay          = 1500
21272      ScuttleStatus         = TOPPLED
21273  
21274      ;Standard TransportContain stuff
21275      Slots                 = 1
21276      InitialPayload        = GLAInfantryTerrorist 1
21277      ScatterNearbyOnExit   = No
21278      HealthRegen%PerSec    = 0
21279      DamagePercentToUnits  = 100%  ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate.
21280      BurnedDeathToUnits    = No    ; And no Burned death.
21281      AllowInsideKindOf     = INFANTRY
21282      ExitDelay         = 250
21283      NumberOfExitPaths = 1 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
21284      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
21285      DoorOpenTime = 0
21286    End
21287  
21288    Behavior = AnimationSteeringUpdate ModuleTag_17
21289      MinTransitionTime = 300
21290    End
21291  
21292    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18
21293      RequiredStatus  = STATUS_RIDER5
21294      DeathWeapon     = SuicideBikeBomb
21295      StartsActive    = Yes
21296      DeathTypes      = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
21297    End
21298  
21299    Behavior = StealthUpdate ModuleTag_19
21300      UseRiderStealth             = Yes
21301      ;StealthDelay                = 2000 ; msec
21302      ;StealthForbiddenConditions  = ATTACKING
21303      ;InnateStealth               = Yes
21304      ;OrderIdleEnemiesToAttackMeUponReveal  = Yes
21305    End
21306  
21307    Behavior = FlammableUpdate ModuleTag_21
21308      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
21309      AflameDamageAmount = 3       ; taking this much damage...
21310      AflameDamageDelay = 500       ; this often.
21311    End
21312  
21313    Geometry = BOX
21314    GeometryMajorRadius = 11.0
21315    GeometryMinorRadius = 2.5
21316    GeometryHeight = 7.5     
21317    GeometryIsSmall = Yes    
21318  
21319    Shadow = SHADOW_VOLUME
21320    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
21321  
21322  End


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