[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

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

   1  ;--------------------------------
   2  Object Lazr_AmericaJetSpectreGunship
   3  
   4    ; *** ART Parameters ***
   5  
   6    Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures
   7  
   8  
   9  
  10      ;----NORMAL-------------
  11      DefaultConditionState
  12        Model           = AVSGunship
  13        WeaponFireFXBone    = PRIMARY MUZZLE
  14        WeaponFireFXBone    = SECONDARY MUZZLE
  15        WeaponMuzzleFlash   = PRIMARY MUZZLEFX
  16        WeaponMuzzleFlash   = SECONDARY MUZZLEFX
  17      End
  18  
  19      ConditionState    = DOOR_1_OPENING
  20        Model           = AVSGunship                 
  21        Animation       = AVSGunship.AVSGunship    
  22        AnimationMode   = ONCE
  23        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  24        ParticleSysBone = WingTip01 SpectreContrail
  25        ParticleSysBone = WingTip02 SpectreContrail
  26      End
  27  
  28      ConditionState    = DOOR_1_CLOSING
  29        Model           = AVSGunship                 
  30        Animation       = AVSGunship.AVSGunship    
  31        AnimationMode   = ONCE_BACKWARDS
  32        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  33        ParticleSysBone = WingTip01 JetContrailThin
  34        ParticleSysBone = WingTip02 JetContrailThin
  35        ParticleSysBone = Engine01 SpectreAfterburnerTrail
  36        ParticleSysBone = Engine02 SpectreAfterburnerTrail
  37        ParticleSysBone = Engine01 SpectreEngineFlare
  38        ParticleSysBone = Engine02 SpectreEngineFlare
  39      End
  40  
  41  
  42      ;----DAMAGED-------------
  43      ConditionState    = DOOR_1_OPENING DAMAGED
  44        Model           = AVSGunship_D                 
  45        Animation       = AVSGunship_D.AVSGunship_D    
  46        AnimationMode   = ONCE
  47        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  48        ParticleSysBone = WingTip01 SpectreContrail
  49        ParticleSysBone = WingTip02 SpectreContrail
  50        ParticleSysBone = Smoke01 JetFireLarge
  51        ParticleSysBone = Smoke02 JetFireLarge
  52        ParticleSysBone = Smoke01 JetSmokeLarge
  53        ParticleSysBone = Smoke02 JetSmokeLarge
  54      End
  55  
  56      ConditionState    = DOOR_1_CLOSING DAMAGED
  57        Model           = AVSGunship_D                 
  58        Animation       = AVSGunship_D.AVSGunship_D    
  59        AnimationMode   = ONCE_BACKWARDS
  60        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  61        ParticleSysBone = WingTip01 JetContrailThin
  62        ParticleSysBone = WingTip02 JetContrailThin
  63        ParticleSysBone = Engine01 SpectreAfterburnerTrail
  64        ParticleSysBone = Engine02 SpectreAfterburnerTrail
  65        ParticleSysBone = Engine01 SpectreEngineFlare
  66        ParticleSysBone = Engine02 SpectreEngineFlare
  67        ParticleSysBone = Smoke01 JetFireLarge
  68        ParticleSysBone = Smoke02 JetFireLarge
  69        ParticleSysBone = Smoke01 JetSmokeLarge
  70        ParticleSysBone = Smoke02 JetSmokeLarge
  71      End
  72  
  73  
  74      ;----REALLY DAMAGED-------------
  75      ConditionState    = DOOR_1_OPENING REALLYDAMAGED
  76        Model           = AVSGunship_D                 
  77        Animation       = AVSGunship_D.AVSGunship_D    
  78        AnimationMode   = ONCE
  79        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  80        ParticleSysBone = WingTip01 SpectreContrail
  81        ParticleSysBone = WingTip02 SpectreContrail
  82        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
  83        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
  84        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
  85        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
  86        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
  87        ParticleSysBone = Smoke01 JetSmokeLarge
  88        ParticleSysBone = Smoke02 SpectreSmokeLarge
  89        ParticleSysBone = Smoke03 JetSmokeLarge
  90        ParticleSysBone = Smoke04 SpectreSmokeLarge
  91      End
  92  
  93      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED
  94        Model           = AVSGunship_D                 
  95        Animation       = AVSGunship_D.AVSGunship_D    
  96        AnimationMode   = ONCE_BACKWARDS
  97        Flags           = MAINTAIN_FRAME_ACROSS_STATES
  98        ParticleSysBone = WingTip01 JetContrailThin
  99        ParticleSysBone = WingTip02 JetContrailThin
 100        ParticleSysBone = Engine01 SpectreAfterburnerTrail
 101        ParticleSysBone = Engine02 SpectreAfterburnerTrail
 102        ParticleSysBone = Engine01 SpectreEngineFlare
 103        ParticleSysBone = Engine02 SpectreEngineFlare
 104        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 105        ParticleSysBone = Smoke02 SpectreGunshipFireLarge
 106        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 107        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 108        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 109        ParticleSysBone = Smoke01 JetSmokeLarge
 110        ParticleSysBone = Smoke02 SpectreSmokeLarge
 111        ParticleSysBone = Smoke03 JetSmokeLarge
 112        ParticleSysBone = Smoke04 SpectreSmokeLarge
 113      End
 114  
 115  
 116      ConditionState = RUBBLE
 117        Model           = AVSGunship_D1
 118        ParticleSysBone = Smoke01 SpectreGunshipFireLarge
 119        ParticleSysBone = Smoke05 SpectreGunshipFireLarge
 120        ParticleSysBone = Smoke03 SpectreGunshipFireLarge
 121        ParticleSysBone = Smoke04 SpectreGunshipFireLarge
 122        ParticleSysBone = Smoke01 SpectreSmokeLarge
 123        ParticleSysBone = Smoke03 SpectreSmokeLarge
 124        ParticleSysBone = Smoke02 SpectreSmokeLarge
 125        ParticleSysBone = Smoke05 SpectreSmokeLarge
 126      End
 127      AliasConditionState = REALLYDAMAGED RUBBLE
 128      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING
 129      AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING
 130    
 131  
 132  
 133     OkToChangeModelColor = Yes
 134  
 135     ParticlesAttachedToAnimatedBones = Yes 
 136  
 137  
 138   End
 139  
 140  
 141  
 142    ; ***DESIGN parameters ***
 143    DisplayName         = OBJECT:SpectreGunship
 144    EditorSorting       = VEHICLE
 145    Side                = AmericaLaserGeneral
 146    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 147    VisionRange         = 300.0 
 148    ShroudClearingRange = 300
 149    Prerequisites
 150      Object = Lazr_AmericaAirfield
 151    End
 152  
 153    ArmorSet
 154      Conditions      = None
 155      Armor           = SpectreGunshipArmor
 156      DamageFX        = None
 157    End
 158    ArmorSet
 159      Conditions            = PLAYER_UPGRADE
 160      Armor                 = CountermeasuresSpectreGunshipArmor
 161      DamageFX              = None
 162    End
 163  
 164  
 165    WeaponSet
 166      Conditions          = None 
 167      Weapon              = PRIMARY   SpectreHowitzerGun
 168    End
 169  
 170    ExperienceValue = 50 100 150 400    ;Experience point value at each level
 171    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
 172    IsTrainable = No             ;Not Player built, so no veterancy..............................
 173  
 174    ; *** AUDIO Parameters ***
 175    VoiceSelect         = SpectreGunshipVoiceSelect
 176    VoiceAttack         = SpectreGunshipVoiceAttack
 177    VoiceMove         = SpectreGunshipVoiceMove
 178    SoundAmbient = SpectreGunshipAmbientLoop
 179    SoundAmbientRubble    = NoSound
 180    UnitSpecificSounds
 181      Afterburner    = SpectreGunshipAfterburnerLoop
 182      HowitzerFire   = SpectreHowitzerWeapon
 183    End
 184  
 185  
 186    ; *** ENGINEERING Parameters ***
 187    RadarPriority = UNIT
 188    KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
 189  
 190    Body = ActiveBody ModuleTag_03
 191      MaxHealth       = 1000.0
 192      InitialHealth   = 1000.0
 193    End
 194  
 195    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
 196  
 197    Behavior                          = JetSlowDeathBehavior ModuleTag_04
 198      DestructionDelay                = 99999999  ; destruction will happen when we
 199      RollRate                        = 0.0
 200      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
 201      PitchRate                       = 0.0
 202      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 203      FXInitialDeath                  = FX_SpectreGunshipExplosionLight
 204      OCLInitialDeath                 = None
 205      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
 206      FXSecondary                     = FX_spectreDeathExplosion
 207      OCLSecondary                    = None
 208      FXHitGround                     = FX_spectreGunshipDeathExplosion
 209      OCLHitGround                    = OCL_A10DeathHitGround
 210      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
 211    ; FXFinalBlowUp                   = FX_spectreGunshipDeathExplosion
 212      OCLFinalBlowUp                  = OCL_SpectreDeathFinalBlowUp
 213    End
 214  
 215    Behavior = PhysicsBehavior ModuleTag_05
 216      Mass = 500.0
 217    End
 218  
 219    ;SCRIPTED SUPPORT: These special power is triggered directly 
 220    ;from the transport without creating a transport. This is done 
 221    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
 222    ;which also prevents creating the payload transport.
 223  
 224    Behavior = AIUpdateInterface ModuleTag_07
 225      ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player
 226    End
 227    Locomotor = SET_PANIC SpectreGunshipTransitLocomotor
 228    Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor
 229  
 230    Behavior = SpecialAbility ModuleTag_32 
 231      SpecialPowerTemplate = SuperweaponSpectreGunship
 232      UpdateModuleStartsAttack = Yes
 233    End
 234  
 235  
 236    Behavior = SpectreGunshipUpdate ModuleTag_10
 237      GattlingStrafeFXParticleSystem  = SpectreGattlingArmsSmoke
 238      SpecialPowerTemplate            = SuperweaponSpectreGunship
 239      HowitzerWeaponTemplate          = SpectreHowitzerGun
 240      GattlingTemplateName            = SpectreGunshipGattlingCannon 
 241      RandomOffsetForHowitzer = 20     
 242      TargetingReticleRadius  = 25
 243      OrbitInsertionSlope     = 0.7   ; steepness of orbit entry
 244      GunshipOrbitRadius      = 250
 245      HowitzerFiringRate      = 300   ; how long between each attempted shot of howitzer
 246      HowitzerFollowLag       = 400 ;600   ; how long after gattling acquires target can howitzer shoot same
 247      StrafingIncrement       = 20    ; how far apart is each shot of the gattling as it strafes
 248      AttackAreaRadius        = 200
 249      OrbitTime               = 15000 ;20000 ;32000 ; thirty-two seconds
 250  
 251      AttackAreaDecal
 252        Texture           = SCCSpecTarg
 253        Style             = SHADOW_ALPHA_DECAL
 254        OpacityMin        = 25%
 255        OpacityMax        = 50%
 256        OpacityThrobTime  = 1500
 257        Color             = R:127 G:177 B:222 A:255 
 258        OnlyVisibleToOwningPlayer = Yes
 259      End
 260      TargetingReticleDecal
 261        Texture           = SCCSpecRet
 262        Style             = SHADOW_ALPHA_DECAL
 263        OpacityMin        = 50%
 264        OpacityMax        = 100%
 265        OpacityThrobTime  = 300
 266        Color             = R:127 G:177 B:222 A:255 
 267        OnlyVisibleToOwningPlayer = Yes
 268      End
 269    End
 270  
 271  
 272  
 273  
 274  
 275    Behavior = HelixContain ModuleTag_09
 276      Slots                     = 1
 277      DamagePercentToUnits      = 100%
 278      AllowInsideKindOf         = PORTABLE_STRUCTURE
 279      PassengersAllowedToFire   = Yes
 280      ShouldDrawPips            = No
 281    End
 282  
 283  
 284    Behavior = FlammableUpdate ModuleTag_08
 285      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 286      AflameDamageAmount = 3       ; taking this much damage...
 287      AflameDamageDelay = 500       ; this often.
 288    End
 289  
 290    Behavior                = ArmorUpgrade ModuleTag_Armor01
 291      TriggeredBy           = Upgrade_AmericaCountermeasures
 292    End
 293  
 294    Behavior                = CountermeasuresBehavior ModuleTag_11
 295      TriggeredBy           = Upgrade_AmericaCountermeasures
 296      FlareTemplateName     = CountermeasureFlare
 297      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 298      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
 299      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 300      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
 301      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 302      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
 303      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 304      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 305      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 306      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 307    End
 308  
 309  ;;;;;;;;  ClientUpdate             = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
 310  ;;;;;;;;  End                  ; This allows the wingtip trails to stay stuck to the retractable wings
 311    
 312  
 313    Geometry = Box
 314    GeometryIsSmall = No
 315    GeometryMajorRadius = 40.0
 316    GeometryMinorRadius = 10.0
 317    GeometryHeight = 10.0
 318    Shadow = SHADOW_VOLUME
 319    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 320  
 321  End
 322  ;--------------------------------
 323  ;------------------------------------------------------------------------------
 324  Object Lazr_SpectreGunshipGattlingCannon
 325  
 326    ; *** ART Parameters ***
 327    Draw                    = W3DDependencyModelDraw ModuleTag_01
 328      OkToChangeModelColor  = Yes
 329      AttachToBoneInContainer = CHASIS
 330  
 331      DefaultConditionState
 332        Model               = AVSGUNSHIP_GUN
 333        TurretPitch         = TURRETEL01
 334        WeaponFireFXBone    = PRIMARY Muzzle
 335        WeaponFireFXBone    = SECONDARY Muzzle
 336        WeaponMuzzleFlash   = PRIMARY MuzzleFX
 337        WeaponMuzzleFlash   = SECONDARY MuzzleFX
 338      End
 339  
 340    End
 341  
 342    ; ***DESIGN parameters ***
 343    Side             = AmericaLaserGeneral
 344    EditorSorting    = SYSTEM
 345    TransportSlotCount = 1
 346    WeaponSet
 347      Conditions          = None 
 348      Weapon              = PRIMARY   SpectreGattlingGun
 349    End
 350    
 351    ArmorSet
 352      Conditions     = None
 353      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Overlord with his damage module
 354    End
 355    VisionRange     = 200
 356  
 357    ; *** AUDIO Parameters ***
 358    UnitSpecificSounds
 359      TurretMoveStart = NoSound
 360      TurretMoveLoop  = NoSound ;TurretMoveLoop
 361      VoiceRapidFire  = NoSound
 362    End
 363  
 364    ; *** ENGINEERING Parameters ***
 365    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI
 366      Body            = StructureBody ModuleTag_02
 367      MaxHealth       = 100.0
 368      InitialHealth   = 100.0
 369    End
 370  
 371    Behavior = AIUpdateInterface ModuleTag_03
 372      Turret
 373        ControlledWeaponSlots = PRIMARY 
 374        TurretTurnRate      = 160   // turn rate, in degrees per sec
 375        TurretPitchRate     = 160
 376        AllowsPitch         = Yes
 377      End
 378      AutoAcquireEnemiesWhenIdle = No 
 379    End
 380  
 381    Behavior             = DestroyDie ModuleTag_04
 382      ;nothing
 383    End
 384  
 385    Geometry            = BOX
 386    GeometryMajorRadius = 20.0
 387    GeometryMinorRadius = 3.0
 388    GeometryHeight      = 3.0
 389    GeometryIsSmall     = No      
 390    Shadow              = NONE
 391  
 392  End
 393  
 394  ;------------------------------------------------------------------------------
 395  Object Lazr_SpectreGunshipHowitzer
 396  
 397    ; *** ART Parameters ***
 398    Draw                    = W3DModelDraw ModuleTag_01
 399      OkToChangeModelColor  = Yes
 400  
 401      DefaultConditionState
 402        Model               = AVSGUNSHIP_GHOW
 403        TurretPitch         = TURRETEL01
 404        WeaponFireFXBone    = PRIMARY Muzzle
 405        WeaponFireFXBone    = SECONDARY Muzzle
 406        WeaponMuzzleFlash   = PRIMARY MuzzleFX
 407        WeaponMuzzleFlash   = SECONDARY MuzzleFX
 408      End
 409  
 410    End
 411  
 412    ; ***DESIGN parameters ***
 413    Side             = AmericaLaserGeneral
 414    EditorSorting    = SYSTEM
 415    TransportSlotCount = 1
 416    WeaponSet
 417      Conditions          = None 
 418      Weapon              = PRIMARY   SpectreHowitzerGun
 419    End
 420    
 421    ArmorSet
 422      Conditions     = None
 423      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Overlord with his damage module
 424    End
 425    VisionRange     = 200
 426  
 427    ; *** AUDIO Parameters ***
 428    UnitSpecificSounds
 429      TurretMoveStart = NoSound
 430      TurretMoveLoop  = NoSound ;TurretMoveLoop
 431      VoiceRapidFire  = NoSound
 432    End
 433  
 434    ; *** ENGINEERING Parameters ***
 435    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI
 436      Body            = StructureBody ModuleTag_02
 437      MaxHealth       = 100.0
 438      InitialHealth   = 100.0
 439    End
 440  
 441    Behavior = AIUpdateInterface ModuleTag_03
 442      Turret
 443        ControlledWeaponSlots = PRIMARY SECONDARY
 444        TurretTurnRate      = 60   // turn rate, in degrees per sec
 445        TurretPitchRate     = 60
 446        AllowsPitch         = Yes
 447      End
 448      AutoAcquireEnemiesWhenIdle = No 
 449    End
 450  
 451    Behavior             = DestroyDie ModuleTag_04
 452      ;nothing
 453    End
 454  
 455    Behavior = StealthDetectorUpdate ModuleTag_06
 456      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
 457      ;DetectionRange = ??? ;   Defaults to VisionRange
 458      CanDetectWhileContained   = Yes
 459    End
 460  
 461    Geometry            = BOX
 462    GeometryMajorRadius = 13.0
 463    GeometryMinorRadius = 13.0
 464    GeometryHeight      = 8.0
 465    GeometryIsSmall     = No      
 466    Shadow              = NONE
 467  
 468  End
 469  
 470  
 471  
 472  
 473  
 474  
 475  
 476  
 477  
 478  ;------------------------------------------------------------------------------
 479  Object Lazr_AmericaJetRaptor
 480  
 481    ; *** ART Parameters ***
 482    SelectPortrait         = T21
 483    ButtonImage            = T21
 484    
 485    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
 486    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
 487    UpgradeCameo3 = Upgrade_AmericaCountermeasures
 488    ;UpgradeCameo4 = NONE
 489    ;UpgradeCameo5 = NONE
 490    
 491    Draw                   = W3DModelDraw ModuleTag_01
 492   
 493      DefaultConditionState
 494        Model               = avf16
 495        HideSubObject       = BurnerFX01 BurnerFX02
 496        WeaponLaunchBone = PRIMARY WeaponA
 497      End
 498  
 499      ConditionState        = JETEXHAUST
 500        ; exhaust
 501        ParticleSysBone     = Wingtip01 JetContrail
 502        ParticleSysBone     = Wingtip02 JetContrail
 503      End
 504  
 505      ConditionState        = JETEXHAUST JETAFTERBURNER
 506        ; exhaust
 507        ParticleSysBone     = Wingtip01 JetContrail
 508        ParticleSysBone     = Wingtip02 JetContrail
 509        ; afterburner
 510        ShowSubObject       = BurnerFX01 BurnerFX02
 511        ParticleSysBone     = Engine01 JetLenzflare
 512        ParticleSysBone     = Engine02 JetLenzflare
 513      End
 514  
 515      ConditionState        = REALLYDAMAGED
 516        Model               = avf16
 517        ; damage
 518        ParticleSysBone     = Smoke01 JetSmoke
 519        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 520      End
 521      
 522      ConditionState        = REALLYDAMAGED JETEXHAUST
 523        Model               = avf16
 524        ; damage
 525        ParticleSysBone     = Smoke01 JetSmoke
 526        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 527        ; exhaust
 528        ParticleSysBone     = Wingtip01 JetContrail
 529        ParticleSysBone     = Wingtip02 JetContrail
 530      End
 531  
 532      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
 533        Model               = avf16
 534        ; damage
 535        ParticleSysBone     = Smoke01 JetSmoke
 536        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 537        ; afterburner
 538        ShowSubObject       = BurnerFX01 BurnerFX02
 539        ParticleSysBone     = Engine01 JetLenzflare
 540        ParticleSysBone     = Engine02 JetLenzflare
 541        ; exhaust
 542        ParticleSysBone     = Wingtip01 JetContrail
 543        ParticleSysBone     = Wingtip02 JetContrail
 544      End
 545  
 546      ConditionState        = RUBBLE
 547        Model               = avf16
 548        HideSubObject       = None 
 549        ShowSubObject       = None
 550      End
 551  
 552      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
 553        Model               = avf16
 554        ;HideSubObject is needed cause there're inherited from default condition state      
 555        HideSubObject       = None 
 556        ShowSubObject       = None
 557        ParticleSysBone     = Engine01 JetExhaust
 558        ParticleSysBone     = Engine02 JetExhaust
 559        ; exhaust
 560        ParticleSysBone     = Wingtip01 JetContrail
 561        ParticleSysBone     = Wingtip02 JetContrail
 562      End
 563  
 564      OkToChangeModelColor = Yes
 565  
 566    End
 567  
 568    ; ***DESIGN parameters ***
 569    DisplayName             = OBJECT:Raptor
 570    EditorSorting           = VEHICLE
 571    Side                    = AmericaLaserGeneral
 572    TransportSlotCount      = 0 ;how many "slots" we take in a transport (0 == not transportable)
 573    VisionRange             = 200.0 
 574    ShroudClearingRange     = 400
 575    Prerequisites
 576      Object                = Lazr_AmericaAirfield
 577    End
 578  
 579    WeaponSet
 580      Conditions            = None 
 581      Weapon                = PRIMARY RaptorJetMissileWeapon
 582    End
 583    WeaponSet
 584      Conditions            = PLAYER_UPGRADE 
 585      Weapon                = PRIMARY RaptorJetLaserGuidedMissileWeapon
 586    End
 587    ArmorSet
 588      Conditions            = None
 589      Armor                 = AirplaneArmor
 590      DamageFX              = None
 591    End
 592    ArmorSet
 593      Conditions            = PLAYER_UPGRADE
 594      Armor                 = CountermeasuresAirplaneArmor
 595      DamageFX              = None
 596    End
 597  
 598  
 599    BuildCost               = 1400
 600    BuildTime               = 20   
 601    ExperienceValue         = 50 50 100 150  ;Experience point value at each level
 602    ExperienceRequired      = 0 100 200 400   ;Experience points needed to gain each level
 603    IsTrainable             = Yes             ;Can gain experience
 604    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
 605    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
 606    CommandSet              = AmericaJetRaptorCommandSet
 607  
 608    ; *** AUDIO Parameters ***
 609    VoiceSelect            = RaptorVoiceSelect
 610    VoiceMove              = RaptorVoiceMove
 611    VoiceAttack            = RaptorVoiceAttack
 612    VoiceAttackAir         = RaptorVoiceAttackAir
 613    VoiceGuard             = RaptorVoiceAirPatrol
 614    SoundAmbient           = RaptorAmbientLoop
 615    SoundAmbientRubble     = NoSound
 616    ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
 617    ; SoundAmbient           = NoSound
 618    UnitSpecificSounds
 619      VoiceCreate          = RaptorVoiceCreate
 620      SoundEject           = PilotSoundEject
 621      VoiceEject           = PilotVoiceEject
 622      Afterburner          = RaptorAfterburner
 623      VoiceLowFuel         = RaptorVoiceLowFuel
 624      VoiceGarrison        = RaptorVoiceMove
 625    End
 626  
 627    ; *** ENGINEERING Parameters ***
 628    RadarPriority          = UNIT
 629    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
 630    Body                   = ActiveBody ModuleTag_02
 631      MaxHealth            = 160.0
 632      InitialHealth        = 160.0
 633    End
 634  
 635    Behavior                = WeaponSetUpgrade ModuleTag_03
 636      TriggeredBy           = Upgrade_AmericaLaserMissiles
 637    End
 638    Behavior                = ArmorUpgrade ModuleTag_Armor01
 639      TriggeredBy           = Upgrade_AmericaCountermeasures
 640    End
 641  
 642    Behavior                = CountermeasuresBehavior ModuleTag_10
 643      TriggeredBy           = Upgrade_AmericaCountermeasures
 644      FlareTemplateName     = CountermeasureFlare
 645      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 646      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
 647      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 648      VolleyVelocityFactor  = 1.0   ; Shoots out flares at a stronger velocity with a higher value.
 649      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 650      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
 651      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 652      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 653      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 654      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 655    End
 656  
 657    Behavior = ExperienceScalarUpgrade ModuleTag_04
 658      TriggeredBy = Upgrade_AmericaAdvancedTraining
 659      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
 660    End
 661  
 662    Behavior                          = JetSlowDeathBehavior ModuleTag_05
 663      FXOnGroundDeath                 = FX_JetOnGroundDeath
 664      OCLOnGroundDeath                = OCL_RaptorDeathFinalBlowUp
 665      DestructionDelay                = 99999999; destruction will happen when we
 666      RollRate                        = 0.2
 667      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
 668      PitchRate                       = 0.0
 669      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 670      FXInitialDeath                  = FX_RaptorDeathInitial
 671      OCLInitialDeath                 = OCL_RaptorDeathInitial
 672      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
 673      FXSecondary                     = FX_JetDeathSecondary
 674      OCLSecondary                    = OCL_RaptorDeathSecondary
 675      FXHitGround                     = FX_JetDeathHitGround
 676      OCLHitGround                    = OCL_RaptorDeathHitGround
 677      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
 678      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
 679      OCLFinalBlowUp                  = OCL_RaptorDeathFinalBlowUp
 680  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
 681    End
 682    Behavior                    = EjectPilotDie ModuleTag_06
 683      ExemptStatus         = HIJACKED
 684      GroundCreationList = OCL_EjectPilotOnGround
 685      AirCreationList = OCL_EjectPilotViaParachute
 686      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
 687    End
 688    
 689    Behavior               = PhysicsBehavior ModuleTag_07
 690      Mass                 = 500.0
 691    End
 692  
 693    Behavior                 = TransitionDamageFX ModuleTag_08
 694      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
 695      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
 696    End
 697  
 698    Behavior = JetAIUpdate ModuleTag_09
 699      OutOfAmmoDamagePerSecond  = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
 700                                      ; note that it's expressed as a percent of max health, not an absolute
 701      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
 702      TakeoffPause              = 500
 703      MinHeight                 = 5
 704      ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
 705      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
 706    End
 707    Locomotor = SET_NORMAL RaptorJetLocomotor
 708    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
 709  
 710    Behavior = FlammableUpdate ModuleTag_21
 711      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 712      AflameDamageAmount = 3       ; taking this much damage...
 713      AflameDamageDelay = 500       ; this often.
 714    End
 715  
 716  
 717    Geometry                 = Box
 718    GeometryIsSmall          = Yes
 719    GeometryMajorRadius      = 14.0
 720    GeometryMinorRadius      = 7.0
 721    GeometryHeight           = 5.0
 722    Shadow                   = SHADOW_VOLUME
 723    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length.
 724  
 725  End
 726  
 727  
 728  
 729  
 730  ;------------------------------------------------------------------------------
 731  Object Lazr_AmericaJetB52
 732  
 733    ; *** ART Parameters ***
 734    Draw = W3DModelDraw ModuleTag_01
 735      DefaultConditionState
 736        Model = AVBomber
 737        ParticleSysBone = Engine00 JetBlackTrailThin
 738        ParticleSysBone = Engine02 JetBlackTrailThin
 739        ParticleSysBone = Engine03 JetBlackTrailThin
 740        ParticleSysBone = Engine04 JetBlackTrailThin
 741        ParticleSysBone = WingTip01 JetContrailThin
 742        ParticleSysBone = WingTip02 JetContrailThin
 743      End
 744      ConditionState = DAMAGED
 745        Model = AVBomber_D
 746        ParticleSysBone = Smoke01 JetFireLarge
 747        ParticleSysBone = Smoke02 JetFireLarge
 748        ParticleSysBone = Engine00 JetBlackTrailThin
 749        ParticleSysBone = Engine02 JetBlackTrailThin
 750        ParticleSysBone = Engine03 JetBlackTrailThin
 751        ParticleSysBone = Engine04 JetBlackTrailThin
 752        ParticleSysBone = Smoke01 JetSmokeLarge
 753        ParticleSysBone = Smoke02 JetSmokeLarge
 754      End
 755      ConditionState = REALLYDAMAGED
 756        Model = AVBomber_D
 757        ParticleSysBone = Smoke01 JetFireLarge
 758        ParticleSysBone = Smoke02 JetFireLarge
 759        ParticleSysBone = Engine00 JetBlackTrailThin
 760        ParticleSysBone = Engine02 JetBlackTrailThin
 761        ParticleSysBone = Engine03 JetBlackTrailThin
 762        ParticleSysBone = Engine04 JetBlackTrailThin
 763        ParticleSysBone = Smoke01 JetSmokeLarge
 764        ParticleSysBone = Smoke02 JetSmokeLarge
 765      End
 766      ConditionState = RUBBLE
 767        Model = AVBomber_D1
 768        ParticleSysBone = Smoke01 JetFireLarge
 769        ParticleSysBone = Smoke02 JetFireLarge
 770        ParticleSysBone = Smoke01 JetSmokeLarge
 771        ParticleSysBone = Smoke02 JetSmokeLarge
 772      End
 773      OkToChangeModelColor = Yes
 774    End
 775    
 776    Draw = W3DModelDraw ModuleTag_02
 777      DefaultConditionState
 778        Model           = AVBomber_A2U
 779        Animation       = AVBomber_A2K.AVBomber_A2
 780        AnimationMode   = MANUAL
 781        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
 782      End
 783      ConditionState = DOOR_1_OPENING
 784        Animation       = AVBomber_A2K.AVBomber_A2
 785        AnimationMode   = ONCE
 786        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
 787      End
 788      ConditionState = DOOR_1_CLOSING
 789        Animation       = AVBomber_A2K.AVBomber_A2
 790        AnimationMode   = ONCE_BACKWARDS
 791        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
 792      End
 793  
 794      ConditionState = REALLYDAMAGED
 795        Model           = AVBomber_A2DU
 796        Animation       = AVBomber_A2K.AVBomber_A2
 797        AnimationMode   = MANUAL
 798        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
 799      End
 800      ConditionState = DOOR_1_OPENING REALLYDAMAGED
 801        Model           = AVBomber_A2DU
 802        Animation       = AVBomber_A2K.AVBomber_A2
 803        AnimationMode   = ONCE
 804        Flags           = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
 805      End
 806      ConditionState = DOOR_1_CLOSING REALLYDAMAGED
 807        Model           = AVBomber_A2DU
 808        Animation       = AVBomber_A2K.AVBomber_A2
 809        AnimationMode   = ONCE_BACKWARDS
 810        Flags           = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
 811      End
 812    End
 813  
 814    ; ***DESIGN parameters ***
 815    DisplayName         = OBJECT:B52
 816    EditorSorting       = VEHICLE
 817    Side                = AmericaLaserGeneral
 818    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
 819    VisionRange         = 0.0 
 820    ArmorSet
 821      Conditions      = None
 822      Armor           = AirplaneArmor
 823      DamageFX        = TankDamageFX
 824    End
 825    ArmorSet
 826      Conditions            = PLAYER_UPGRADE
 827      Armor                 = CountermeasuresAirplaneArmor
 828      DamageFX              = None
 829    End
 830    CommandSet        = Command_ScriptedTransportDrops
 831  
 832    ; *** AUDIO Parameters ***
 833    SoundAmbient = B52AmbientLoop
 834    SoundAmbientRubble    = NoSound
 835  
 836    ; *** ENGINEERING Parameters ***
 837    RadarPriority = UNIT
 838    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK  VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED
 839    Body = ActiveBody ModuleTag_03
 840      MaxHealth       = 1000.0
 841      InitialHealth   = 1000.0
 842    End
 843  
 844    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
 845  
 846    ;SCRIPTED SUPPORT: These special powers are triggered directly 
 847    ;from the transport without creating a transport. This is done 
 848    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
 849    ;which also prevents creating the payload transport.
 850    Behavior    = OCLSpecialPower ModuleTag_04
 851      SpecialPowerTemplate = SuperweaponDaisyCutter  ;@@KRIS@@
 852      OCL                  = SUPERWEAPON_DaisyCutter
 853      CreateLocation       = USE_OWNER_OBJECT
 854      ScriptedSpecialPowerOnly = Yes
 855    End
 856    Behavior    = OCLSpecialPower ModuleTag_05
 857      SpecialPowerTemplate = SuperweaponParadropAmerica
 858      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
 859      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
 860      OCL                  = SUPERWEAPON_Paradrop1
 861      CreateLocation       = USE_OWNER_OBJECT
 862      ScriptedSpecialPowerOnly = Yes
 863    End 
 864    Behavior    = OCLSpecialPower ModuleTag_06
 865      SpecialPowerTemplate = SuperweaponCarpetBomb
 866      OCL                  = SUPERWEAPON_CarpetBomb
 867      CreateLocation       = USE_OWNER_OBJECT
 868      ScriptedSpecialPowerOnly = Yes
 869    End 
 870     
 871    Behavior = PhysicsBehavior ModuleTag_07
 872      Mass = 500.0
 873    End
 874  
 875    Behavior = DeliverPayloadAIUpdate ModuleTag_08
 876      DoorDelay         = 500
 877      MaxAttempts       = 4
 878      DropOffset        = X:0 Y:0 Z:-10
 879      DropDelay         = 300     ; time in between each item dropped (if more than one)
 880      PutInContainer    = AmericaParachute
 881      DeliveryDistance  = 150
 882    End
 883    Locomotor = SET_NORMAL B52Locomotor
 884  
 885    Behavior = TransportContain ModuleTag_09
 886      Slots                       = 100                     ; hey, it's a BIG transport
 887      ScatterNearbyOnExit         = No
 888      OrientLikeContainerOnExit   = Yes
 889      KeepContainerVelocityOnExit = Yes
 890      ExitPitchRate               = 30
 891      ExitBone                    = WeaponA01
 892      AllowInsideKindOf           = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
 893      DoorOpenTime                = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
 894      NumberOfExitPaths           = 0
 895      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
 896    End
 897      
 898    Behavior                          = JetSlowDeathBehavior ModuleTag_10
 899      DestructionDelay                = 2000 
 900      RollRate                        = 0.0
 901      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
 902      PitchRate                       = 0
 903      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
 904      FXInitialDeath                  = FX_JetBigDeathInitial
 905      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
 906      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
 907      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
 908      FXSecondary                     = FX_BigPlaneDeath
 909  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
 910  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
 911  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
 912    End
 913  
 914    Behavior = TransitionDamageFX ModuleTag_11
 915      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
 916      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
 917    End
 918  
 919    Behavior                = ArmorUpgrade ModuleTag_Armor01
 920      TriggeredBy           = Upgrade_AmericaCountermeasures
 921    End
 922  
 923    Behavior                = CountermeasuresBehavior ModuleTag_12
 924      TriggeredBy           = Upgrade_AmericaCountermeasures
 925      FlareTemplateName     = CountermeasureFlare
 926      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
 927      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
 928      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
 929      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
 930      DelayBetweenVolleys   = 1000  ; Time between flare volleys
 931      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
 932      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
 933      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
 934      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
 935      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
 936    End
 937  
 938    Geometry = Box
 939    GeometryIsSmall = No
 940    GeometryMajorRadius = 60.0
 941    GeometryMinorRadius = 10.0
 942    GeometryHeight = 10.0
 943    Shadow = SHADOW_VOLUME
 944    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
 945  
 946  End
 947  
 948  
 949  
 950  
 951  
 952  
 953  
 954  ;------------------------------------------------------------------------------
 955  Object Lazr_AmericaJetAurora
 956  
 957    ; *** ART Parameters ***
 958    SelectPortrait         = SAAurora_L
 959    ButtonImage            = SAAurora
 960    
 961    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
 962    UpgradeCameo2 = Upgrade_AmericaCountermeasures
 963    ;UpgradeCameo3 = NONE
 964    ;UpgradeCameo4 = NONE
 965    ;UpgradeCameo5 = NONE
 966    
 967    Draw = W3DModelDraw ModuleTag_01
 968  
 969      DefaultConditionState
 970        Model               = AVAurora
 971        HideSubObject       = BurnerFX03 BurnerFX04
 972        WeaponLaunchBone = PRIMARY WeaponA
 973      End
 974  
 975      ConditionState        = JETEXHAUST
 976        ; exhaust
 977        ParticleSysBone     = Wingtip01 JetContrail
 978        ParticleSysBone     = Wingtip02 JetContrail
 979      End
 980  
 981      ConditionState        = JETEXHAUST JETAFTERBURNER
 982        ; exhaust
 983        ParticleSysBone     = Wingtip01 JetContrail
 984        ParticleSysBone     = Wingtip02 JetContrail
 985        ; afterburner
 986        ShowSubObject       = BurnerFX03 BurnerFX04
 987        ParticleSysBone     = Engine01 JetLenzflare
 988        ParticleSysBone     = Engine02 JetLenzflare
 989      End
 990  
 991      ConditionState        = REALLYDAMAGED
 992        Model               = AVAurora_D
 993        ; damage
 994        ParticleSysBone     = Smoke01 JetSmoke
 995        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
 996      End
 997      
 998      ConditionState        = REALLYDAMAGED JETEXHAUST
 999        Model               = AVAurora_D
1000        ; damage
1001        ParticleSysBone     = Smoke01 JetSmoke
1002        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1003        ; exhaust
1004        ParticleSysBone     = Wingtip01 JetContrail
1005        ParticleSysBone     = Wingtip02 JetContrail
1006      End
1007  
1008      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1009        Model               = AVAurora_D
1010        ; damage
1011        ParticleSysBone     = Smoke01 JetSmoke
1012        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1013        ; afterburner
1014        ShowSubObject       = BurnerFX03 BurnerFX04
1015        ParticleSysBone     = Engine01 JetLenzflare
1016        ParticleSysBone     = Engine02 JetLenzflare
1017        ; exhaust
1018        ParticleSysBone     = Wingtip01 JetContrail
1019        ParticleSysBone     = Wingtip02 JetContrail
1020      End
1021  
1022      ConditionState        = RUBBLE
1023        Model               = AVAurora_D1
1024        HideSubObject       = None 
1025        ShowSubObject       = None
1026      End
1027  
1028      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1029        Model               = AVAurora_D1
1030        ;HideSubObject is needed cause there're inherited from default condition state      
1031        HideSubObject       = None 
1032        ShowSubObject       = None
1033        ParticleSysBone     = Engine01 JetExhaust
1034        ParticleSysBone     = Engine02 JetExhaust
1035        ; exhaust
1036        ParticleSysBone     = Wingtip01 JetContrail
1037        ParticleSysBone     = Wingtip02 JetContrail
1038      End
1039  
1040      OkToChangeModelColor = Yes
1041    End
1042  
1043    ; ***DESIGN parameters ***
1044    DisplayName         = OBJECT:Aurora
1045    EditorSorting       = VEHICLE
1046    Side                = AmericaLaserGeneral
1047    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1048    VisionRange         = 180.0 
1049    ShroudClearingRange = 600
1050    Prerequisites
1051      Object = Lazr_AmericaAirfield
1052      Object = Lazr_AmericaStrategyCenter
1053    End
1054    BuildCost           = 2500
1055    BuildTime           = 30.0          ;in seconds     
1056    WeaponSet
1057      Conditions = None 
1058      Weapon = PRIMARY AuroraBombWeapon
1059    End
1060    ArmorSet
1061      Conditions      = None
1062      Armor           = AirplaneArmor
1063      DamageFX        = None
1064    End
1065    ArmorSet
1066      Conditions            = PLAYER_UPGRADE
1067      Armor                 = CountermeasuresAirplaneArmor
1068      DamageFX              = None
1069    End
1070  
1071    ExperienceValue = 200 200 400 400   ;Experience point value at each level
1072    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
1073    IsTrainable = Yes                   ;Can gain experience
1074    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1075    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1076    CommandSet        = AmericaJetAuroraCommandSet
1077  
1078    ; *** AUDIO Parameters ***
1079    VoiceSelect = AuroraBomberVoiceSelect
1080    VoiceMove = AuroraBomberVoiceMove
1081    VoiceGuard = AuroraBomberVoiceMove
1082    VoiceAttack = AuroraBomberVoiceAttack
1083    SoundAmbient = AuroraBomberAmbientLoop
1084    SoundAmbientRubble    = NoSound
1085    UnitSpecificSounds
1086      VoiceCreate          = AuroraBomberVoiceCreate
1087      SoundEject           = PilotSoundEject
1088      VoiceEject           = PilotVoiceEject
1089      Afterburner          = RaptorAfterburner
1090      VoiceLowFuel         = AuroraBomberVoiceLowFuel
1091      VoiceGarrison        = AuroraBomberVoiceMove
1092    End
1093  
1094    ; *** ENGINEERING Parameters ***
1095    RadarPriority = UNIT
1096    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1097    Body = ActiveBody ModuleTag_02
1098      MaxHealth       = 80.0
1099      InitialHealth   = 80.0
1100    End
1101  
1102    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1103      FXOnGroundDeath                 = FX_JetOnGroundDeath
1104      OCLOnGroundDeath                = OCL_AuroraDeathFinalBlowUp
1105      DestructionDelay                = 99999999; destruction will happen when we
1106      RollRate                        = 0.2
1107      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1108      PitchRate                       = 0.0
1109      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1110      FXInitialDeath                  = FX_AuroraDeathInitial
1111      ;OCLInitialDeath                = None
1112      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1113      FXSecondary                     = FX_JetDeathSecondary
1114      ;OCLSecondary                   = None
1115      FXHitGround                     = FX_JetDeathHitGround
1116      ;OCLHitGround                   = None
1117      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
1118      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1119      OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
1120  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1121    End
1122    Behavior = EjectPilotDie ModuleTag_04
1123      GroundCreationList = OCL_EjectPilotOnGround
1124      AirCreationList = OCL_EjectPilotViaParachute
1125      ExemptStatus = HIJACKED
1126      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1127    End
1128  
1129    Behavior = PhysicsBehavior ModuleTag_05
1130      Mass = 500.0
1131    End
1132  
1133    Behavior = ExperienceScalarUpgrade ModuleTag_06
1134      TriggeredBy = Upgrade_AmericaAdvancedTraining
1135      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1136    End
1137  
1138    Behavior = JetAIUpdate ModuleTag_07
1139      OutOfAmmoDamagePerSecond    = 10%    ; amount of damage to take per SEC (not per frame) when out of ammo
1140                                           ; note that it's expressed as a percent of max health, not an absolute
1141      TakeoffDistForMaxLift       = 0%   ; larger numbers give more lift sooner when taking off
1142      TakeoffPause                = 500
1143      MinHeight                   = 5
1144      SneakyOffsetWhenAttacking   = -20.0  ; this is how far behind us people aim when we are in attack mode
1145      AttackLocomotorType         = SET_SUPERSONIC
1146      AttackLocomotorPersistTime  = 100    ; we start slowing down almost immediately
1147      AttackersMissPersistTime    = 2000   ; but remain untargetable fer a bit longer
1148      ReturnForAmmoLocomotorType  = SET_SLUGGISH
1149      ReturnToBaseIdleTime        = 10000         ; if idle for this long, return to base, even if not out of ammo
1150    End
1151    Locomotor = SET_NORMAL      AuroraJetLocomotor
1152    Locomotor = SET_SUPERSONIC  AuroraJetSupersonicLocomotor
1153    Locomotor = SET_SLUGGISH    AuroraJetSluggishLocomotor
1154    Locomotor = SET_TAXIING     BasicJetTaxiLocomotor
1155  
1156    Behavior                = ArmorUpgrade ModuleTag_Armor01
1157      TriggeredBy           = Upgrade_AmericaCountermeasures
1158    End
1159  
1160    Behavior                = CountermeasuresBehavior ModuleTag_10
1161      TriggeredBy           = Upgrade_AmericaCountermeasures
1162      FlareTemplateName     = CountermeasureFlare
1163      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1164      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1165      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1166      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1167      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1168      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1169      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1170      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1171      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1172      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1173    End
1174  
1175    Behavior = FlammableUpdate ModuleTag_21
1176      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1177      AflameDamageAmount = 3       ; taking this much damage...
1178      AflameDamageDelay = 500       ; this often.
1179    End
1180  
1181    Behavior                 = TransitionDamageFX ModuleTag_22
1182      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
1183      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
1184    End
1185  
1186  
1187    Geometry                 = Box
1188    GeometryIsSmall          = Yes
1189    GeometryMajorRadius      = 14.0
1190    GeometryMinorRadius      = 7.0
1191    GeometryHeight           = 5.0
1192    Shadow                   = SHADOW_VOLUME
1193    ShadowSizeX              = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1194  
1195  End
1196  
1197  ;------------------------------------------------------------------------------
1198  Object Lazr_AmericaJetStealthFighter
1199  
1200    ; *** ART Parameters ***
1201    SelectPortrait         = SAStealth_L
1202    ButtonImage            = SAStealth
1203    
1204    UpgradeCameo1 = Upgrade_AmericaLaserMissiles
1205    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
1206    UpgradeCameo3 = Upgrade_AmericaCountermeasures
1207    UpgradeCameo4 = Upgrade_AmericaBunkerBusters
1208    ;UpgradeCameo5 = NONE
1209    
1210    Draw = W3DModelDraw ModuleTag_01
1211  
1212      DefaultConditionState
1213        Model                           = AVStealth
1214        HideSubObject                   = BurnerFX03 BurnerFX04
1215        WeaponLaunchBone  = PRIMARY WeaponA
1216      End
1217      
1218      ConditionState        = JETEXHAUST
1219        ParticleSysBone     = Wingtip01 JetContrail
1220        ParticleSysBone     = Wingtip02 JetContrail
1221      End
1222  
1223      ConditionState        = JETEXHAUST JETAFTERBURNER
1224        ; exhaust
1225        ParticleSysBone     = Wingtip01 JetContrail
1226        ParticleSysBone     = Wingtip02 JetContrail
1227        ; afterburners
1228        ShowSubObject       = BurnerFX03 BurnerFX04
1229        ParticleSysBone     = Engine01 JetLenzflare
1230        ParticleSysBone     = Engine02 JetLenzflare
1231      End
1232  
1233      ConditionState        = REALLYDAMAGED
1234        Model               = AVStealth_D
1235        ; damage
1236        ParticleSysBone     = Smoke01 JetSmoke
1237        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1238      End
1239  
1240      ConditionState        = REALLYDAMAGED JETEXHAUST
1241        Model               = AVStealth_D
1242        ; damage
1243        ParticleSysBone     = Smoke01 JetSmoke
1244        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1245        ; exhaust
1246        ParticleSysBone     = Wingtip01 JetContrail
1247        ParticleSysBone     = Wingtip02 JetContrail
1248      End
1249  
1250      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
1251        Model               = AVStealth_D
1252        ; damage
1253        ParticleSysBone     = Smoke01 JetSmoke
1254        ParticleSysBone     = Engine01 JetEngineDamagedSmoke
1255        ; exhaust
1256        ParticleSysBone     = Wingtip01 JetContrail
1257        ParticleSysBone     = Wingtip02 JetContrail
1258        ; afterburners
1259        ShowSubObject       = BurnerFX03 BurnerFX04
1260        ParticleSysBone     = Engine01 JetLenzflare
1261        ParticleSysBone     = Engine02 JetLenzflare
1262      End
1263  
1264      ConditionState        = RUBBLE
1265        Model               = AVStealth_D1
1266        HideSubObject       = None 
1267        ShowSubObject       = None
1268      End
1269  
1270      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
1271        Model               = AVStealth_D1
1272        ;HideSubObject is needed cause there're inherited from default condition state      
1273        HideSubObject       = None 
1274        ShowSubObject       = None
1275        ParticleSysBone     = Engine01 JetExhaust
1276        ParticleSysBone     = Engine02 JetExhaust
1277        ParticleSysBone     = Wingtip01 JetContrail
1278        ParticleSysBone     = Wingtip02 JetContrail
1279      End
1280      
1281      OkToChangeModelColor = Yes
1282  
1283    End
1284  
1285    ; ***DESIGN parameters ***
1286    DisplayName           = OBJECT:StealthFighter
1287    EditorSorting         = VEHICLE
1288    Side                  = AmericaLaserGeneral
1289    TransportSlotCount    = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1290    VisionRange           = 180.0 
1291    ShroudClearingRange   = 300.0
1292    Prerequisites
1293      Object = Lazr_AmericaAirfield
1294      Science = SCIENCE_StealthFighter
1295    End
1296    WeaponSet
1297      Conditions = None 
1298      Weapon = PRIMARY StealthJetMissileWeapon
1299    End
1300    WeaponSet
1301      Conditions = PLAYER_UPGRADE
1302      Weapon = PRIMARY StealthJetLaserGuidedMissileWeapon
1303    End
1304    ArmorSet
1305      Conditions      = None
1306      Armor           = AirplaneArmor
1307      DamageFX        = None
1308    End
1309    ArmorSet
1310      Conditions            = PLAYER_UPGRADE
1311      Armor                 = CountermeasuresAirplaneArmor
1312      DamageFX              = None
1313    End
1314  
1315    BuildCost           = 1600
1316    BuildTime           = 25.0            ;in seconds  
1317    ExperienceValue     = 100 100 200 300 ;Experience point value at each level
1318    ExperienceRequired  = 0 200 300 600   ; Experience points needed to gain each level
1319    IsTrainable         = Yes             ;Can gain experience
1320    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
1321    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
1322    CommandSet = Lazr_AmericaJetStealthFighterCommandSet
1323  
1324    ; *** AUDIO Parameters ***
1325    VoiceSelect     = StealthFighterVoiceSelect
1326    VoiceMove       = StealthFighterVoiceMove
1327    VoiceAttack     = StealthFighterVoiceAttack
1328    VoiceAttackAir  = StealthFighterVoiceAttackAir
1329    VoiceGuard      = StealthFighterVoiceAirPatrol
1330    SoundAmbient    = StealthFighterAmbientLoop
1331    SoundAmbientRubble    = NoSound
1332    SoundStealthOn  = StealthOn
1333    SoundStealthOff = StealthOff
1334    UnitSpecificSounds
1335      VoiceCreate   = StealthFighterVoiceCreate
1336      SoundEject    = PilotSoundEject
1337      VoiceEject    = PilotVoiceEject
1338      Afterburner   = RaptorAfterburner
1339      VoiceLowFuel  = AuroraBomberVoiceLowFuel
1340      VoiceGarrison = StealthFighterVoiceMove
1341    End
1342  
1343    ; *** ENGINEERING Parameters ***
1344    RadarPriority   = LOCAL_UNIT_ONLY
1345    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
1346    Body = ActiveBody ModuleTag_02
1347      MaxHealth       = 120.0
1348      InitialHealth   = 120.0
1349    End
1350  
1351    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1352      FXOnGroundDeath                 = FX_JetOnGroundDeath
1353      OCLOnGroundDeath                = OCL_StealthDeathFinalBlowUp
1354      DestructionDelay                = 99999999; destruction will happen when we
1355      RollRate                        = 0.2
1356      RollRateDelta                   = 100% ;each frame, rollrate = rollrate * rollrateDelta
1357      PitchRate                       = 0.0
1358      FallHowFast                     = 110.0%  ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1359      FXInitialDeath                  = FX_StealthFighterDeathInitial
1360      ;OCLInitialDeath                = None
1361      DelaySecondaryFromInitialDeath  = 500  ; in milliseconds
1362      FXSecondary                     = FX_JetDeathSecondary
1363      ;OCLSecondary                   = None
1364      FXHitGround                     = FX_JetDeathHitGround
1365      ;OCLHitGround                   = None
1366      DelayFinalBlowUpFromHitGround   = 200 ; in milliseconds
1367      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1368      OCLFinalBlowUp                  = OCL_StealthDeathFinalBlowUp
1369  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
1370    End
1371    Behavior = EjectPilotDie ModuleTag_04
1372      GroundCreationList = OCL_EjectPilotOnGround
1373      AirCreationList = OCL_EjectPilotViaParachute
1374      ExemptStatus = HIJACKED
1375      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
1376    End
1377   
1378    Behavior = PhysicsBehavior ModuleTag_05
1379      Mass = 500.0
1380    End
1381  
1382    Behavior = JetAIUpdate ModuleTag_06
1383      OutOfAmmoDamagePerSecond = 10%  ; amount of damage to take per SEC (not per frame) when out of ammo
1384                                      ; note that it's expressed as a percent of max health, not an absolute
1385      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
1386      TakeoffPause           = 500
1387      MinHeight              = 5
1388      ReturnToBaseIdleTime   = 10000         ; if idle for this long, return to base, even if not out of ammo
1389    End
1390  
1391    Behavior = WeaponSetUpgrade ModuleTag_07
1392      TriggeredBy = Upgrade_AmericaLaserMissiles
1393    End
1394  
1395    Behavior = ExperienceScalarUpgrade ModuleTag_08
1396      TriggeredBy = Upgrade_AmericaAdvancedTraining
1397      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1398    End
1399  
1400    Behavior = StealthUpdate ModuleTag_09
1401      StealthDelay                          = 1500 ; msec
1402      StealthForbiddenConditions            = FIRING_PRIMARY
1403      ; not currently used... but maybe someday? (srj)
1404      ;RevealDistanceFromTarget             = 0.0f
1405      FriendlyOpacityMin                    = 50.0%
1406      FriendlyOpacityMax                    = 100.0%
1407      InnateStealth                         = Yes
1408      OrderIdleEnemiesToAttackMeUponReveal  = Yes
1409    End
1410  
1411    Behavior                = ArmorUpgrade ModuleTag_Armor01
1412      TriggeredBy           = Upgrade_AmericaCountermeasures
1413    End
1414  
1415    Behavior                = CountermeasuresBehavior ModuleTag_10
1416      TriggeredBy           = Upgrade_AmericaCountermeasures
1417      FlareTemplateName     = CountermeasureFlare
1418      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1419      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1420      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1421      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1422      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1423      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1424      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1425      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1426      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1427      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1428    End
1429  
1430    Locomotor = SET_NORMAL StealthJetLocomotor
1431    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
1432  
1433    Behavior = FlammableUpdate ModuleTag_21
1434      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1435      AflameDamageAmount = 3       ; taking this much damage...
1436      AflameDamageDelay = 500       ; this often.
1437    End
1438  
1439    Behavior                 = TransitionDamageFX ModuleTag_22
1440      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
1441      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
1442    End
1443  
1444  
1445    Geometry = Cylinder
1446    GeometryIsSmall = Yes
1447    GeometryMajorRadius = 7.0
1448    GeometryMinorRadius = 7.0
1449    GeometryHeight = 7.0
1450    Shadow = SHADOW_VOLUME
1451    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1452  
1453  End
1454  
1455  ;------------------------¸ÄΪÑÛ¾µÉßÖ±Éý»ú------------------------------------------------------
1456  Object Lazr_AmericaVehicleComanche
1457  
1458    ; *** ART Parameters ***
1459    SelectPortrait         = T7
1460    ButtonImage            = T7
1461    
1462    UpgradeCameo1 = Upgrade_ComancheRocketPods
1463    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
1464    UpgradeCameo3 = Upgrade_AmericaCountermeasures
1465    ;UpgradeCameo4 = NONE
1466    ;UpgradeCameo5 = NONE
1467    
1468    Draw = W3DModelDraw ModuleTag_01
1469  
1470      DefaultConditionState
1471        Model                           = AvAH1
1472        HideSubObject                   = MissileUpgrade
1473        Animation                       = AvAH1.AvAH1
1474        AnimationMode                   = LOOP
1475        WeaponMuzzleFlash               = PRIMARY TurretFX
1476        WeaponFireFXBone                = PRIMARY Muzzle
1477        WeaponFireFXBone                = SECONDARY Muzzle
1478        WeaponLaunchBone  = SECONDARY Muzzle
1479      End
1480  
1481      ConditionState = REALLYDAMAGED
1482        Model                           = AvAH1
1483        Animation                       = AvAH1.AvAH1
1484        AnimationMode                   = LOOP
1485      End
1486  
1487      ConditionState = WEAPONSET_PLAYER_UPGRADE
1488        ShowSubObject                   = MissileUpgrade
1489        Animation                       = AvAH1.AvAH1
1490        AnimationMode                   = LOOP
1491        WeaponFireFXBone                = TERTIARY WeaponB
1492        WeaponLaunchBone  = TERTIARY WeaponB
1493      End
1494  
1495      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
1496        Model                           = AvAH1
1497        ShowSubObject                   = MissileUpgrade
1498        Animation                       = AvAH1.AvAH1
1499        AnimationMode                   = LOOP
1500        WeaponFireFXBone                = TERTIARY WeaponB
1501        WeaponLaunchBone  = TERTIARY WeaponB
1502      End
1503  
1504      ConditionState = RUBBLE
1505        Model                           = AvAH1
1506        Animation                       = AvAH1.AvAH1
1507        AnimationMode                   = LOOP
1508      End
1509  
1510      ConditionState = RUBBLE SPECIAL_DAMAGED
1511        Model                           = AvAH1
1512        HideSubObject                   = AVComanche_Prop
1513      End
1514  
1515      OkToChangeModelColor = Yes
1516    End
1517  
1518    ; ***DESIGN parameters ***
1519    DisplayName         = OBJECT:Comanche
1520    EditorSorting       = VEHICLE
1521    Side                = AmericaLaserGeneral
1522    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1523    VisionRange         = 200.0 
1524    ShroudClearingRange = 600
1525    Prerequisites
1526      Object            = Lazr_AmericaAirfield
1527    End
1528  
1529    WeaponSet
1530      Conditions          = None 
1531      ; -----
1532      Weapon              = PRIMARY     Comanche20mmCannonWeapon
1533      PreferredAgainst    = PRIMARY     INFANTRY
1534      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
1535      ; -----
1536      Weapon              = SECONDARY   ChinaInfantryTankHunterMissileLauncher
1537      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
1538      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
1539      ; -----
1540      Weapon              = TERTIARY    NONE
1541    End
1542    WeaponSet
1543      Conditions          = PLAYER_UPGRADE 
1544      ; -----
1545      Weapon              = PRIMARY     Comanche20mmCannonWeapon
1546      PreferredAgainst    = PRIMARY     INFANTRY
1547      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
1548      ; -----
1549      Weapon              = SECONDARY    ChinaInfantryTankHunterMissileLauncher
1550      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
1551      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
1552      ; -----
1553      Weapon              = TERTIARY    ComancheRocketPodWeapon
1554      AutoChooseSources   = TERTIARY    NONE
1555    End
1556    ArmorSet
1557      Conditions      = None
1558      Armor           = ComancheArmor
1559      DamageFX        = None
1560    End
1561    ArmorSet
1562      Conditions            = PLAYER_UPGRADE
1563      Armor                 = CountermeasuresComancheArmor
1564      DamageFX              = None
1565    End
1566    BuildCost           = 1500
1567    BuildTime           = 20              ; in seconds  
1568    ExperienceValue     = 50 50 100 200   ; Experience point value at each level
1569    ExperienceRequired  = 0 100 200 400   ; Experience points needed to gain each level
1570    IsTrainable         = Yes             ; Can gain experience
1571    CommandSet          = Lazr_AmericaVehicleComancheCommandSet
1572  
1573    ; *** AUDIO Parameters ***
1574    VoiceSelect           = ComancheVoiceSelect
1575    VoiceMove             = ComancheVoiceMove
1576    VoiceGuard            = ComancheVoiceMove
1577    VoiceAttack           = ComancheVoiceAttack
1578    SoundAmbient          = ComancheAmbientLoop
1579    SoundAmbientRubble    = NoSound
1580    UnitSpecificSounds
1581      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
1582      VoiceCreate         = ComancheVoiceCreate
1583      SoundEject          = PilotSoundEject
1584      VoiceEject          = PilotVoiceEject
1585      Afterburner         = RaptorAfterburner
1586      VoiceGarrison       = ComancheVoiceMove
1587      TurretMoveStart     = NoSound
1588      TurretMoveLoop      = NoSound
1589      VoiceFireRocketPods = ComancheVoiceAttackRocket
1590    End
1591  
1592  
1593    ; *** ENGINEERING Parameters ***
1594    RadarPriority   = UNIT
1595    KindOf          = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD
1596  
1597    Behavior = WeaponSetUpgrade ModuleTag_02
1598      TriggeredBy = Upgrade_ComancheRocketPods
1599    End
1600    Behavior = ExperienceScalarUpgrade ModuleTag_03
1601      TriggeredBy = Upgrade_AmericaAdvancedTraining
1602      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
1603    End
1604  
1605    Body = ActiveBody ModuleTag_04
1606      MaxHealth       = 220.0
1607      InitialHealth   = 220.0
1608    End
1609  
1610    Behavior = FXListDie ModuleTag_05
1611      DeathFX = FX_ComancheStartDeath
1612    End
1613  
1614    Behavior = JetAIUpdate ModuleTag_06
1615      MinHeight                     = 5
1616      NeedsRunway                   = No
1617      KeepsParkingSpaceWhenAirborne = No
1618      AutoAcquireEnemiesWhenIdle    = Yes
1619      ; note that comanches do not return to base when idle
1620      
1621      ; this is a bit of a trick... normally, units cannot move-and-fire at
1622      ; the same time. we need the comanche to be able to. so we give it
1623      ; a "turret" (invisible) and put the two main weapons on it, but with
1624      ; no turn rate. voila!
1625      Turret
1626        TurretTurnRate = 0      ; this "turret" does not turn
1627        TurretPitchRate = 0     ; nor does it pitch
1628        ControlledWeaponSlots = PRIMARY SECONDARY
1629      End
1630  
1631    End
1632    Locomotor = SET_NORMAL  ComancheLocomotor
1633    Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor
1634  
1635    Behavior = PhysicsBehavior ModuleTag_07
1636      Mass = 50.0
1637    End
1638    Behavior = HelicopterSlowDeathBehavior ModuleTag_08
1639      DestructionDelay                = 99999999        ; the destruction delay
1640      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
1641      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
1642      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
1643      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
1644      SoundDeathLoop                  = ComancheDamagedLoop
1645      MinSelfSpin                     = 100                     ; in degrees per second
1646      MaxSelfSpin                     = 300                     ; in degrees per second
1647      SelfSpinUpdateDelay             = 100             ; in milliseconds
1648      SelfSpinUpdateAmount            = 10             ; in degrees   
1649      FallHowFast                     = 12.0%  ; fraction of gravity, lower = take longer to fall
1650      MinBladeFlyOffDelay             = 1500            ; in milliseconds
1651      MaxBladeFlyOffDelay             = 1500            ; in milliseconds
1652      AttachParticle                  = SootySmokeTrail
1653      AttachParticleBone              = Propeller02
1654      BladeObjectName                 = ComancheBlades
1655      BladeBoneName                   = Propeller01    
1656      ; Most things that eject pilots do so immediately upon death,
1657      ; via use of EjectPilotDie, but Helicopters are a special case...
1658      ; they need to do so after their blades are ejected. 
1659      OCLEjectPilot                   = OCL_EjectPilotViaParachute
1660      FXBlade                         = FX_HelicopterBladeExplosion
1661      OCLBlade                        = OCL_HelicopterBladeExplosion
1662      FXHitGround                     = FX_HelicopterHitGround
1663      OCLHitGround                    = OCL_HelicopterHitGround
1664      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
1665      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
1666      DelayFromGroundToFinalDeath     = 1500
1667      FinalRubbleObject               = ComancheRubbleHull
1668    End
1669  
1670    Behavior = TransitionDamageFX ModuleTag_09
1671      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
1672      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
1673    End
1674  
1675    Behavior                = ArmorUpgrade ModuleTag_Armor01
1676      TriggeredBy           = Upgrade_AmericaCountermeasures
1677    End
1678  
1679    Behavior                = CountermeasuresBehavior ModuleTag_10
1680      TriggeredBy           = Upgrade_AmericaCountermeasures
1681      FlareTemplateName     = CountermeasureFlare
1682      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1683      VolleySize            = 2     ; Number of flares launched per volley (requires bones)
1684      VolleyArcAngle        = 60.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1685      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1686      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1687      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1688      ReloadTime            = 4000  ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1689      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1690      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1691      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1692    End
1693  
1694    Behavior = FlammableUpdate ModuleTag_21
1695      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1696      AflameDamageAmount = 3       ; taking this much damage...
1697      AflameDamageDelay = 500       ; this often.
1698    End
1699  
1700    Geometry = BOX
1701    GeometryMajorRadius = 20.0
1702    GeometryMinorRadius = 3.0
1703    GeometryHeight = 25.0     
1704    GeometryIsSmall = No
1705    Shadow = SHADOW_VOLUME    
1706    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1707  
1708  End
1709  
1710  
1711  
1712  
1713  
1714  ;------------------------------------------------------------------------------
1715  Object Lazr_AmericaJetA10Thunderbolt
1716  
1717    ; *** ART Parameters ***
1718    SelectPortrait         = SAWarthog_L
1719    ButtonImage            = SAWarthog
1720  
1721    Draw = W3DModelDraw ModuleTag_01
1722  
1723      OkToChangeModelColor = Yes
1724  
1725      ExtraPublicBone = WeaponA01
1726      ExtraPublicBone = WeaponA02
1727      ExtraPublicBone = WeaponA03
1728      ExtraPublicBone = WeaponA04
1729      ExtraPublicBone = WeaponA05
1730      ExtraPublicBone = WeaponA06
1731  
1732      DefaultConditionState
1733        Model             = AVWarthog
1734        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1735        WeaponFireFXBone  = PRIMARY Muzzle01
1736        ParticleSysBone = Engine01 JetBlackTrailThin
1737        ParticleSysBone = Engine02 JetBlackTrailThin
1738        ParticleSysBone = Wingtip01 JetContrailThin
1739        ParticleSysBone = Wingtip02 JetContrailThin
1740      End
1741  
1742      ConditionState      = REALLYDAMAGED
1743        Model             = AVWarthog_D
1744        WeaponMuzzleFlash = PRIMARY MuzzleFX01
1745        WeaponFireFXBone  = PRIMARY Muzzle01
1746      End
1747      AliasConditionState  = RUBBLE
1748  
1749     ParticlesAttachedToAnimatedBones = Yes 
1750  
1751    End
1752  
1753    ; ***DESIGN parameters ***
1754    DisplayName         = OBJECT:A10Thunderbolt
1755    EditorSorting       = VEHICLE
1756    Side                = AmericaLaserGeneral
1757    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1758    VisionRange         = 300.0 
1759    ShroudClearingRange = 300
1760    Prerequisites
1761      Object = Lazr_AmericaAirfield
1762    End
1763    WeaponSet
1764      Conditions = None 
1765      Weapon = PRIMARY A10ThunderboltVulcan
1766    End
1767    ArmorSet
1768      Conditions      = None
1769      Armor           = AirplaneArmor
1770      DamageFX        = None
1771    End
1772    ArmorSet
1773      Conditions            = PLAYER_UPGRADE
1774      Armor                 = CountermeasuresAirplaneArmor
1775      DamageFX              = None
1776    End
1777  
1778    ExperienceValue = 50 100 150 400    ;Experience point value at each level
1779    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
1780    IsTrainable = Yes             ;Can gain experience
1781  
1782    ; *** AUDIO Parameters ***
1783    SoundAmbient = A10ThunderboltAmbientLoop
1784    SoundAmbientRubble    = NoSound
1785    UnitSpecificSounds
1786      SoundEject = PilotSoundEject
1787      VoiceEject = PilotVoiceEject
1788      StartDive  = A10ThunderboltDive
1789    End
1790  
1791    ; *** ENGINEERING Parameters ***
1792    RadarPriority = UNIT
1793    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED
1794    Body = ActiveBody ModuleTag_02
1795      MaxHealth       = 600.0
1796      InitialHealth   = 600.0
1797    End
1798  
1799    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
1800  
1801    Behavior                          = JetSlowDeathBehavior ModuleTag_03
1802      DestructionDelay                = 99999999  ; destruction will happen when we
1803      RollRate                        = 0.0
1804      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
1805      PitchRate                       = 0.0
1806      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
1807      FXInitialDeath                  = FX_JetDeathInitial
1808      OCLInitialDeath                 = None
1809      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
1810      FXSecondary                     = FX_JetDeathSecondary
1811      OCLSecondary                    = None
1812      FXHitGround                     = FX_JetDeathHitGround
1813      OCLHitGround                    = OCL_A10DeathHitGround
1814      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
1815      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
1816      OCLFinalBlowUp                  = OCL_A10DeathFinalBlowUp
1817    End
1818  
1819    Behavior = PhysicsBehavior ModuleTag_05
1820      Mass = 500.0
1821    End
1822  
1823    ;SCRIPTED SUPPORT: These special power is triggered directly 
1824    ;from the transport without creating a transport. This is done 
1825    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
1826    ;which also prevents creating the payload transport.
1827    Behavior    = OCLSpecialPower ModuleTag_06
1828      SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@
1829      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3
1830      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
1831      OCL                  = SUPERWEAPON_A10ThunderboltMissileStrike1
1832      CreateLocation       = USE_OWNER_OBJECT
1833      ScriptedSpecialPowerOnly = Yes
1834    End
1835  
1836    Behavior = DeliverPayloadAIUpdate ModuleTag_07
1837    End
1838    Locomotor = SET_NORMAL A10ThunderboltLocomotor
1839  
1840    Behavior                = ArmorUpgrade ModuleTag_Armor01
1841      TriggeredBy           = Upgrade_AmericaCountermeasures
1842    End
1843  
1844    Behavior                = CountermeasuresBehavior ModuleTag_10
1845      TriggeredBy           = Upgrade_AmericaCountermeasures
1846      FlareTemplateName     = CountermeasureFlare
1847      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
1848      VolleySize            = 3     ; Number of flares launched per volley (requires bones)
1849      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
1850      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
1851      DelayBetweenVolleys   = 1000  ; Time between flare volleys
1852      NumberOfVolleys       = 3     ; Number of times the volleys will fire before reloading
1853      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
1854      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
1855      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
1856      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
1857    End
1858  
1859    Behavior = FlammableUpdate ModuleTag_21
1860      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1861      AflameDamageAmount = 3       ; taking this much damage...
1862      AflameDamageDelay = 500       ; this often.
1863    End
1864  
1865  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
1866  ;;;;;;;;  End
1867  
1868    Geometry = Cylinder
1869    GeometryIsSmall = Yes
1870    GeometryMajorRadius = 10.0
1871    GeometryMinorRadius = 10.0
1872    GeometryHeight = 10.0
1873    Shadow = SHADOW_VOLUME
1874    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
1875  
1876  End
1877  
1878  
1879  
1880  ;------------------------------------------------------------------------------
1881  Object Lazr_AmericaVehicleChinook
1882  
1883    ; *** ART Parameters ***
1884    SelectPortrait         = SAChinook_L
1885    ButtonImage            = SAChinook
1886    
1887    ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
1888    ;UpgradeCameo2 = NONE
1889    ;UpgradeCameo3 = NONE
1890    ;UpgradeCameo4 = NONE
1891    ;UpgradeCameo5 = NONE
1892  
1893    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter 
1894  
1895      ExtraPublicBone = RopeStart
1896      ExtraPublicBone = RopeEnd
1897  
1898      DefaultConditionState
1899        Model = AVChinook
1900        Animation = AVChinook.AVChinook
1901        AnimationMode = LOOP
1902      End
1903  
1904      ConditionState = REALLYDAMAGED
1905        Model = AVChinook_d
1906        Animation = AVChinook_d.AVChinook_d
1907        AnimationMode = LOOP
1908      End
1909  
1910      ConditionState = RUBBLE
1911        Model = AVChinook_d
1912        Animation = AVChinook_d.AVChinook_d
1913        AnimationMode = LOOP
1914      End
1915  
1916      ConditionState = RUBBLE SPECIAL_DAMAGED
1917        Model = AVChinook_d
1918        HideSubObject = Props01
1919        HideSubObject = Props02
1920      End
1921  
1922      OkToChangeModelColor = Yes
1923    End
1924  
1925    Draw = W3DModelDraw                         ModuleTag_02 ; Cargo net 
1926      ConditionState = NONE
1927        Model = None  ; Nothing here
1928        TransitionKey = TRANS_Empty
1929        WaitForStateToFinishIfPossible = TRANS_Unloading
1930      End
1931  
1932      ConditionState = DYING 
1933        Model = None  ; Nothing here
1934      End
1935      AliasConditionState = RUBBLE
1936      AliasConditionState = CARRYING RUBBLE
1937      AliasConditionState = DOCKING RUBBLE
1938      AliasConditionState = DOCKING CARRYING RUBBLE
1939   
1940       ConditionState = CARRYING
1941        Model = AVChinook_A ;Carrying a full wobbly net of stuff
1942        Animation = AVChinook_A.AVChinook_A
1943        AnimationMode = LOOP
1944        TransitionKey = TRANS_Full
1945        WaitForStateToFinishIfPossible = TRANS_PickingUp
1946      End
1947  
1948      ConditionState = DOCKING
1949        Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
1950        Animation = AVChinook_A1SK.AVChinook_A1
1951        AnimationMode = ONCE_BACKWARDS
1952        Flags = START_FRAME_LAST
1953        AnimationSpeedFactorRange = .75 .75
1954        TransitionKey = TRANS_PickingUp
1955        WaitForStateToFinishIfPossible = TRANS_Unloading  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
1956      End
1957  
1958      ConditionState = DOCKING CARRYING
1959        Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
1960        Animation = AVChinook_A1SK.AVChinook_A1
1961        AnimationMode = ONCE
1962        AnimationSpeedFactorRange = 2.75 2.75
1963        TransitionKey = TRANS_Unloading
1964        WaitForStateToFinishIfPossible = TRANS_PickingUp  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
1965      End
1966    End
1967  
1968    ; ***DESIGN parameters ***
1969    DisplayName         = OBJECT:Chinook
1970    EditorSorting       = VEHICLE
1971    Side                = AmericaLaserGeneral
1972    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
1973    VisionRange         = 300.0 
1974    ShroudClearingRange = 600
1975    BuildCost           = 1200
1976    BuildTime           = 10.0          ;in seconds  
1977    Prerequisites
1978      Object = Lazr_AmericaSupplyCenter
1979    End
1980    ExperienceValue     = 50 50 50 50 ;Experience point value at each level
1981    IsTrainable         = No  
1982    CommandSet          = Lazr_AmericaVehicleChinookCommandSet
1983    ArmorSet
1984      Conditions      = None
1985      Armor           = ChinookArmor
1986      DamageFX        = None
1987    End
1988  
1989    ; *** AUDIO Parameters ***
1990    VoiceSelect     = ChinookVoiceSelect
1991    VoiceMove       = ChinookVoiceMove
1992    VoiceAttack     = ChinookVoiceAttack
1993    SoundAmbient    = ChinookAmbientLoop
1994    SoundAmbientRubble    = NoSound
1995    SoundEnter      = HumveeEnter
1996    SoundExit       = HumveeExit
1997    UnitSpecificSounds
1998      VoiceCreate         = ChinookVoiceCreate
1999      VoiceSupply         = ChinookVoiceSupply
2000      VoiceUnload         = ChinookVoiceUnload
2001      VoiceCombatDrop     = ChinookVoiceCombatDrop
2002      VoiceClearBuilding  = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
2003      VoiceGarrison       = ChinookVoiceMove
2004    End
2005  
2006    ; *** ENGINEERING Parameters ***
2007    RadarPriority   = UNIT
2008    ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
2009    ; (well, "near" actually) an Airfield to get healed...
2010    ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
2011    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD
2012  
2013    Body = ActiveBody ModuleTag_03
2014      MaxHealth       = 300.0
2015      InitialHealth   = 300.0
2016    End
2017  
2018    Behavior = FXListDie ModuleTag_05
2019      DeathFX = FX_HelicopterStartDeath
2020    End
2021  
2022    Behavior                       = TransitionDamageFX ModuleTag_06
2023      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
2024      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
2025    End
2026  
2027    Behavior = ChinookAIUpdate ModuleTag_07
2028      MaxBoxes                = 8
2029      SupplyCenterActionDelay = 3000     ; ms for whole thing (one transaction)
2030      SupplyWarehouseActionDelay = 1250  ; 875 ; ms per box (many small transactions)
2031      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)
2032      SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
2033      NumRopes                = 4
2034      ; these define how long we can wait, once a guy is on-rope, before throwing another
2035      ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
2036      ; and we'll wait for each guy to clear before spawning another.
2037      PerRopeDelayMin         = 900
2038      PerRopeDelayMax         = 1500
2039      RopeWidth               = 0.5
2040      RopeColor               = R:0 G:0 B:0
2041      RopeWobbleLen           = 10
2042      RopeWobbleAmplitude     = 0.25
2043      RopeWobbleRate          = 180
2044      RopeFinalHeight         = 10    ; stop this far above ground
2045      RappelSpeed             = 30
2046      MinDropHeight           = 40      ; if dropping into a tall bldg, go at least this far above it
2047      UpgradedSupplyBoost     = 60    ; increase in value of the crates when supply lines has been upgraded
2048    End
2049    Locomotor = SET_NORMAL    ChinookLocomotor
2050    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
2051  
2052    Behavior = TransportContain ModuleTag_08
2053      Slots                 = 10
2054      DamagePercentToUnits  = 100%
2055      AllowInsideKindOf     = INFANTRY VEHICLE
2056      ForbidInsideKindOf    = AIRCRAFT HUGE_VEHICLE
2057      ExitDelay             = 100
2058      NumberOfExitPaths     = 1
2059    End
2060    Behavior = PhysicsBehavior ModuleTag_09
2061      Mass = 50.0
2062    End
2063    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
2064      DestructionDelay                = 99999999        ; the destruction delay
2065      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
2066      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
2067      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
2068      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
2069      SoundDeathLoop                  = ComancheDamagedLoop
2070      MinSelfSpin                     = 100                     ; in degrees per second
2071      MaxSelfSpin                     = 300                     ; in degrees per second
2072      SelfSpinUpdateDelay             = 100                     ; in milliseconds
2073      SelfSpinUpdateAmount            = 10                      ; in degrees   
2074      FallHowFast                     = 12.0%                   ; fraction of gravity, lower = take longer to fall
2075      MinBladeFlyOffDelay             = 1500                    ; in milliseconds
2076      MaxBladeFlyOffDelay             = 1500                    ; in milliseconds
2077      AttachParticle                  = SootySmokeTrail
2078      AttachParticleBone              = Propeller02
2079      BladeObjectName                 = ComancheBlades
2080      BladeBoneName                   = Propeller01    
2081      FXBlade                         = FX_HelicopterBladeExplosion
2082      OCLBlade                        = OCL_HelicopterBladeExplosion
2083      FXHitGround                     = FX_HelicopterHitGround
2084      OCLHitGround                    = OCL_HelicopterHitGround
2085      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
2086      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
2087      DelayFromGroundToFinalDeath     = 30
2088      FinalRubbleObject               = ChinookRubbleHull
2089    End
2090  
2091    Behavior = FlammableUpdate ModuleTag_21
2092      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2093      AflameDamageAmount = 3       ; taking this much damage...
2094      AflameDamageDelay = 500       ; this often.
2095    End
2096        Scale = 1.30                           ;Scaling
2097    GeometryMajorRadius = 1.0
2098    GeometryMinorRadius = 1.0
2099    GeometryHeight = 8.0
2100    
2101    Geometry              = BOX
2102    GeometryMajorRadius   = 20.0
2103    GeometryMinorRadius   = 6.0
2104    GeometryHeight        = 12.0     
2105    GeometryIsSmall       = No
2106    Shadow                = SHADOW_VOLUME    
2107    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2108  
2109  End
2110  
2111  
2112  
2113  
2114  ;------------------------------------------------------------------------------
2115  Object Lazr_AmericaJetCargoPlane
2116  
2117    ; *** ART Parameters ***
2118    Draw = W3DModelDraw ModuleTag_01
2119      DefaultConditionState
2120        Model            = AVCargoPln
2121        Animation       = AVCargoPln.AVCargoPln
2122        AnimationMode   = LOOP
2123        ParticleSysBone = Propeller01 JetBlackTrailThin
2124        ParticleSysBone = Propeller02 JetBlackTrailThin
2125        ParticleSysBone = Propeller03 JetBlackTrailThin
2126        ParticleSysBone = Propeller04 JetBlackTrailThin
2127        ParticleSysBone = WingTip01 JetContrailThin
2128        ParticleSysBone = WingTip02 JetContrailThin
2129      End
2130  
2131      ConditionState = DAMAGED
2132        Model           = AVCargoPln_D
2133        Animation       = AVCargoPln_D.AVCargoPln_D
2134        AnimationMode   = MANUAL
2135        Flags           = START_FRAME_FIRST
2136        ParticleSysBone = Smoke01 JetFireLarge
2137        ParticleSysBone = Smoke02 JetFireLarge
2138        ParticleSysBone = Propeller03 JetBlackTrailThin
2139        ParticleSysBone = Propeller04 JetBlackTrailThin
2140        ParticleSysBone = Smoke01 JetSmokeLarge
2141        ParticleSysBone = Smoke02 JetSmokeLarge
2142      End
2143  
2144      ConditionState = REALLYDAMAGED
2145        Model           = AVCargoPln_D
2146        Animation       = AVCargoPln_D.AVCargoPln_D
2147        AnimationMode   = MANUAL
2148        Flags           = START_FRAME_FIRST
2149        ParticleSysBone = Smoke01 JetFireLarge
2150        ParticleSysBone = Smoke02 JetFireLarge
2151        ParticleSysBone = Smoke03 JetFireLarge
2152        ParticleSysBone = Smoke05 JetFireLarge
2153        ParticleSysBone = Propeller03 JetBlackTrailThin
2154        ParticleSysBone = Propeller04 JetBlackTrailThin
2155        ParticleSysBone = Smoke01 JetSmokeLarge
2156        ParticleSysBone = Smoke02 JetSmokeLarge
2157        ParticleSysBone = Smoke03 JetSmokeLarge
2158        ParticleSysBone = Smoke05 JetSmokeLarge
2159      End
2160  
2161      ConditionState = RUBBLE
2162        Model           = AVCargoPln_D1
2163        Animation       = AVCargoPln_D.AVCargoPln_D
2164        AnimationMode   = MANUAL
2165        Flags           = START_FRAME_FIRST
2166        ParticleSysBone = Smoke01 JetFireLarge
2167        ParticleSysBone = Smoke06 JetFireLarge
2168        ParticleSysBone = Smoke03 JetFireLarge
2169        ParticleSysBone = Smoke05 JetFireLarge
2170        ParticleSysBone = Smoke01 JetSmokeLarge
2171        ParticleSysBone = Smoke06 JetSmokeLarge
2172        ParticleSysBone = Smoke03 JetSmokeLarge
2173        ParticleSysBone = Smoke05 JetSmokeLarge
2174      End
2175      
2176      OkToChangeModelColor = Yes
2177    ParticlesAttachedToAnimatedBones = Yes 
2178  
2179    End
2180  
2181    Draw = W3DModelDraw ModuleTag_02
2182      DefaultConditionState
2183        Model           = AVCargoPln_A2
2184        Animation       = AVCargoPln_A2.AVCargoPln_A2
2185        AnimationMode   = MANUAL
2186        Flags           = START_FRAME_FIRST
2187      End
2188      ConditionState = DOOR_1_OPENING
2189        Model           = AVCargoPln_A2
2190        Animation       = AVCargoPln_A2.AVCargoPln_A2
2191        AnimationMode   = ONCE
2192        Flags           = START_FRAME_FIRST
2193      End
2194      ConditionState = DOOR_1_CLOSING
2195        Model           = AVCargoPln_A2
2196        Animation       = AVCargoPln_A2.AVCargoPln_A2
2197        AnimationMode   = ONCE_BACKWARDS
2198        Flags           = START_FRAME_LAST
2199      End
2200    End
2201    
2202    ; ***DESIGN parameters ***
2203    DisplayName         = OBJECT:CargoPlane
2204    EditorSorting       = VEHICLE
2205    Side                = AmericaLaserGeneral
2206    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
2207    VisionRange         = 0.0 
2208    ArmorSet
2209      Conditions      = None
2210      Armor           = AirplaneArmor
2211      DamageFX        = TankDamageFX
2212    End
2213    ArmorSet
2214      Conditions            = PLAYER_UPGRADE
2215      Armor                 = CountermeasuresAirplaneArmor
2216      DamageFX              = None
2217    End
2218    CommandSet        = Command_ScriptedTransportDrops
2219  
2220    ; *** AUDIO Parameters ***
2221    SoundAmbient = C130AmbientLoop
2222    SoundAmbientRubble    = NoSound
2223  
2224    ; *** ENGINEERING Parameters ***
2225    RadarPriority = UNIT
2226    KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED
2227    Body = ActiveBody ModuleTag_03
2228      MaxHealth       = 1000.0
2229      InitialHealth   = 1000.0
2230    End
2231  
2232    ExperienceValue     = 40 40 40 40  ; Experience point value at each level
2233  
2234    Behavior = PhysicsBehavior ModuleTag_04
2235      Mass = 500.0
2236    End
2237  
2238    ;SCRIPTED SUPPORT: These special powers are triggered directly 
2239    ;from the transport without creating a transport. This is done 
2240    ;via new code support and CreateLocation USE_OWNER_OBJECT -- 
2241    ;which also prevents creating the payload transport.
2242    Behavior    = OCLSpecialPower ModuleTag_05
2243      SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@
2244      OCL                  = SUPERWEAPON_DaisyCutter
2245      CreateLocation       = USE_OWNER_OBJECT
2246      ScriptedSpecialPowerOnly = Yes
2247    End
2248    Behavior    = OCLSpecialPower ModuleTag_06
2249      SpecialPowerTemplate = SuperweaponParadropAmerica
2250      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
2251      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
2252      OCL                  = SUPERWEAPON_Paradrop1
2253      CreateLocation       = USE_OWNER_OBJECT
2254      ScriptedSpecialPowerOnly = Yes
2255    End 
2256    Behavior    = OCLSpecialPower ModuleTag_07
2257      SpecialPowerTemplate = SuperweaponCarpetBomb
2258      OCL                  = SUPERWEAPON_CarpetBomb
2259      CreateLocation       = USE_OWNER_OBJECT
2260      ScriptedSpecialPowerOnly = Yes
2261    End 
2262    Behavior    = OCLSpecialPower ModuleTag_08
2263      SpecialPowerTemplate = SuperweaponCrateDrop
2264      OCL                  = SUPERWEAPON_CrateDrop
2265      CreateLocation       = USE_OWNER_OBJECT
2266      ScriptedSpecialPowerOnly = Yes
2267    End 
2268  
2269    Behavior = DeliverPayloadAIUpdate ModuleTag_09
2270      DoorDelay         = 500
2271      MaxAttempts       = 4
2272      DropOffset        = X:0 Y:0 Z:-10
2273      DropDelay         = 1000 ; time in between each item dropped (if more than one)
2274      PutInContainer    = AmericaParachute
2275      DeliveryDistance  = 150
2276    End
2277    Locomotor = SET_NORMAL B52Locomotor
2278  
2279    Behavior = TransportContain ModuleTag_10
2280      Slots = 100                     ; hey, it's a BIG transport
2281      ScatterNearbyOnExit = No
2282      OrientLikeContainerOnExit = Yes
2283      KeepContainerVelocityOnExit = Yes
2284      ExitPitchRate = 30
2285      ExitBone = WeaponA01
2286      AllowInsideKindOf  = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE 
2287      ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE)
2288      DoorOpenTime = 0                ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
2289      NumberOfExitPaths = 0
2290      DestroyRidersWhoAreNotFreeToExit = Yes  ; 'destroy' as opposed to 'kill'
2291    End
2292      
2293    Behavior                          = JetSlowDeathBehavior ModuleTag_11
2294      DestructionDelay                = 2000 
2295      RollRate                        = 0.0
2296      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
2297      PitchRate                       = 0
2298      FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
2299      FXInitialDeath                  = FX_JetBigDeathInitial
2300      OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
2301      DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
2302      OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
2303      FXSecondary                     = FX_BigPlaneDeath
2304  ;   FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
2305  ;   OCLFinalBlowUp                  = OCL_AuroraDeathFinalBlowUp
2306  ;   DeathLoopSound                  = MICAL NEEDS TO MAKE ME
2307    End
2308  
2309  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_12
2310  ;;;;;;;;  End
2311  
2312    Behavior                = ArmorUpgrade ModuleTag_Armor01
2313      TriggeredBy           = Upgrade_AmericaCountermeasures
2314    End
2315  
2316    Behavior                = CountermeasuresBehavior ModuleTag_13
2317      TriggeredBy           = Upgrade_AmericaCountermeasures
2318      FlareTemplateName     = CountermeasureFlare
2319      FlareBoneBaseName     = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
2320      VolleySize            = 4     ; Number of flares launched per volley (requires bones)
2321      VolleyArcAngle        = 90.0  ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
2322      VolleyVelocityFactor  = 2.0   ; Shoots out flares at a stronger velocity with a higher value.
2323      DelayBetweenVolleys   = 1000  ; Time between flare volleys
2324      NumberOfVolleys       = 5     ; Number of times the volleys will fire before reloading
2325      ReloadTime            = 0     ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
2326      EvasionRate           = 30%   ; With active flares, the specified percentage will be diverted.
2327      ReactionLaunchLatency = 0     ; Reaction between getting shot at and the firing of the first volley of countermeasures.
2328      MissileDecoyDelay     = 200   ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
2329    End
2330  
2331    Behavior = TransitionDamageFX ModuleTag_17
2332      DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2333      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
2334    End
2335  
2336  
2337    Geometry = Box
2338    GeometryIsSmall = No
2339    GeometryMajorRadius = 40.0
2340    GeometryMinorRadius = 10.0
2341    GeometryHeight = 10.0
2342    Shadow = SHADOW_VOLUME
2343    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
2344  End
2345  
2346  
2347  
2348  
2349  
2350  
2351  
2352  
2353  
2354  
2355  
2356  
2357  
2358  
2359  
2360  
2361  
2362  
2363  
2364  
2365  
2366  
2367  
2368  
2369  
2370  
2371  
2372  
2373  
2374  
2375  
2376  
2377  
2378  ;------------------------------------------------------------------------------
2379  Object Lazr_AmericaInfantryColonelBurton
2380  
2381    ; *** ART Parameters ***
2382    SelectPortrait         = SABurton_L
2383    ButtonImage            = SABurton
2384    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
2385    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
2386  
2387    Draw = W3DModelDraw ModuleTag_01
2388    OkToChangeModelColor = Yes
2389  
2390      ; idle
2391      DefaultConditionState
2392        Model               = AIHERO_SKN
2393        IdleAnimation       = AIHERO_SKL.AIHERO_STA 0 25
2394        IdleAnimation       = AIHERO_SKL.AIHERO_IDA
2395        IdleAnimation       = AIHERO_SKL.AIHERO_IDB
2396        AnimationMode       = ONCE
2397        TransitionKey       = TRANS_Stand
2398        WeaponFireFXBone    = PRIMARY Muzzle
2399        WeaponMuzzleFlash   = PRIMARY MuzzleFX
2400        WeaponMuzzleFlash   = SECONDARY NONE
2401        HideSubObject     = MUZZLEFX01
2402      End
2403   
2404      
2405      ; injured idle
2406      ConditionState        = REALLYDAMAGED
2407        IdleAnimation       = AIHERO_SKL.AIHERO_ISTA 0 30
2408        IdleAnimation       = AIHERO_SKL.AIHERO_IIDA
2409        IdleAnimation       = AIHERO_SKL.AIHERO_IIDB
2410        AnimationMode       = ONCE
2411        TransitionKey       = TRANS_StandInjured
2412      End
2413  
2414  
2415      TransitionState     = TRANS_Stand TRANS_StandInjured
2416        Animation         = AIHERO_SKL.AIHERO_ISTAHIT
2417        AnimationMode     = ONCE
2418      End
2419      
2420      ; moving
2421      ConditionState        = MOVING
2422        Animation           = AIHERO_SKL.AIHERO_RNA 26
2423        AnimationMode       = LOOP
2424        Flags               = RANDOMSTART
2425        TransitionKey       = TRANS_Walking
2426        ParticleSysBone     = None InfantryDustTrails
2427        HideSubObject     = MUZZLEFX01
2428      End
2429      AliasConditionState = MOVING FIRING_A
2430      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
2431      AliasConditionState = MOVING RELOADING_A
2432      AliasConditionState = MOVING FIRING_B
2433      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B
2434      AliasConditionState = MOVING RELOADING_B
2435  
2436      ; injured moving
2437      ConditionState     = MOVING REALLYDAMAGED
2438        Animation        = AIHERO_SKL.AIHERO_IRNA 26
2439        AnimationMode    = LOOP
2440        Flags            = RANDOMSTART
2441        TransitionKey    = TRANS_WalkingInjured
2442        ParticleSysBone  = None InfantryDustTrails
2443        HideSubObject     = MUZZLEFX01
2444      End
2445      AliasConditionState = MOVING FIRING_A REALLYDAMAGED
2446      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
2447      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
2448      AliasConditionState = MOVING FIRING_B REALLYDAMAGED
2449      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
2450      AliasConditionState = MOVING RELOADING_B REALLYDAMAGED
2451  
2452      ; Firing animation
2453      ConditionState      = FIRING_A
2454        Animation         = AIHERO_SKL.AIHERO_ATA
2455        AnimationMode     = ONCE
2456        AnimationSpeedFactorRange = 1.5 1.5
2457        TransitionKey     = TRANS_FiringA
2458      End
2459  
2460      ConditionState      = BETWEEN_FIRING_SHOTS_A
2461        Animation         = AIHERO_SKL.AIHERO_ATA
2462        AnimationMode     = MANUAL
2463        Flags             = START_FRAME_LAST
2464        WaitForStateToFinishIfPossible = TRANS_FiringA
2465      End
2466      AliasConditionState = RELOADING_A
2467  
2468      ; Injured Firing animation
2469      ConditionState      = FIRING_A REALLYDAMAGED
2470        Animation         = AIHERO_SKL.AIHERO_IATA
2471        AnimationMode     = ONCE
2472        AnimationSpeedFactorRange = 1.5 1.5
2473        TransitionKey     = TRANS_FiringAInjured
2474      End
2475  
2476      ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
2477        Animation         = AIHERO_SKL.AIHERO_IATA
2478        AnimationMode     = MANUAL
2479        Flags             = START_FRAME_LAST
2480        WaitForStateToFinishIfPossible = TRANS_FiringAInjured
2481      End
2482      AliasConditionState = RELOADING_A REALLYDAMAGED
2483  
2484      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
2485        Animation         = AIHERO_SKL.AIHERO_IATAHIT
2486        AnimationMode     = ONCE
2487      End
2488  
2489      ; Placing charge animation
2490      ConditionState      = UNPACKING
2491        Animation         = AIHERO_SKL.AIHERO_ATB1
2492        AnimationMode     = ONCE
2493      End
2494      AliasConditionState = MOVING UNPACKING
2495  
2496      ; Injured Placing charge animation
2497      ConditionState      = UNPACKING REALLYDAMAGED
2498        Animation         = AIHERO_SKL.AIHERO_IATB1
2499        AnimationMode     = ONCE
2500      End
2501      AliasConditionState = MOVING UNPACKING REALLYDAMAGED
2502  
2503      ; Stab animations
2504      ConditionState      = PREATTACK_B 
2505        Animation         = AIHERO_SKL.AIHERO_ATC
2506        AnimationMode     = ONCE
2507        TransitionKey     = TRANS_Stabbing
2508        HideSubObject     = MUZZLEFX01
2509      End
2510      AliasConditionState = PREATTACK_B MOVING
2511      AliasConditionState = PREATTACK_B FIRING_B
2512      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
2513  
2514      ConditionState      = FIRING_B
2515        Animation         = AIHERO_SKL.AIHERO_ATC
2516        AnimationMode     = MANUAL
2517        Flags             = START_FRAME_LAST
2518        TransitionKey     = TRANS_Stabbing
2519        HideSubObject     = MUZZLEFX01
2520      End
2521      AliasConditionState = BETWEEN_FIRING_SHOTS_B
2522      AliasConditionState = RELOADING_B
2523  
2524      TransitionState     = TRANS_Stabbing TRANS_Stand
2525        Animation         = AIHERO_SKL.AIHERO_ATC2
2526        AnimationMode     = ONCE
2527      End
2528  
2529      ; Injured Stab animations
2530      ConditionState      = PREATTACK_B REALLYDAMAGED 
2531        Animation         = AIHERO_SKL.AIHERO_IATC1
2532        AnimationMode     = ONCE
2533        TransitionKey     = TRANS_StabbingInjured
2534        HideSubObject     = MUZZLEFX01
2535      End
2536      AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
2537      AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
2538      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
2539  
2540      ConditionState      = FIRING_B REALLYDAMAGED
2541        Animation         = AIHERO_SKL.AIHERO_IATC2
2542        AnimationMode     = MANUAL
2543        Flags             = START_FRAME_LAST
2544        TransitionKey     = TRANS_StabbingInjured
2545        HideSubObject     = MUZZLEFX01
2546      End
2547      AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
2548      AliasConditionState = RELOADING_B REALLYDAMAGED
2549  
2550      TransitionState     = TRANS_StabbingInjured TRANS_StandInjured
2551        Animation         = AIHERO_SKL.AIHERO_IATC2
2552        AnimationMode     = ONCE
2553      End
2554  
2555      ; cheering
2556      ConditionState      = SPECIAL_CHEERING
2557        Animation         = AIHERO_SKL.AIHERO_CHA
2558        AnimationMode     = ONCE
2559      End
2560      
2561      ; injured cheering
2562      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
2563        Animation         = AIHERO_SKL.AIHERO_ICHA
2564        AnimationMode     = ONCE
2565      End
2566      
2567      ; climbing
2568      ConditionState      = CLIMBING
2569        Animation         = AIHERO_SKL.AIHERO_CLMID
2570        AnimationMode     = LOOP
2571        TransitionKey     = TRANS_Climbing
2572      End
2573      AliasConditionState = RAPPELLING
2574      AliasConditionState = CLIMBING REALLYDAMAGED
2575      AliasConditionState = RAPPELLING REALLYDAMAGED
2576  
2577      ConditionState      = CLIMBING MOVING
2578        Animation         = AIHERO_SKL.AIHERO_CLMUP
2579        AnimationMode     = LOOP
2580        TransitionKey     = TRANS_Climbing
2581      End
2582      AliasConditionState = CLIMBING MOVING REALLYDAMAGED
2583  
2584      ConditionState      = RAPPELLING MOVING
2585        Animation         = AIHERO_SKL.AIHERO_CLMUP
2586        AnimationMode     = LOOP_BACKWARDS
2587        TransitionKey     = TRANS_Climbing
2588      End
2589      AliasConditionState = RAPPELLING MOVING REALLYDAMAGED
2590  
2591  ; these transitions don't really work well with our code. leave 'em out.
2592  ;    TransitionState     = TRANS_Climbing TRANS_Stand
2593  ;      Animation         = AIHERO_SKL.AIHERO_CLMST
2594  ;      AnimationMode     = ONCE
2595  ;    End
2596  ;
2597  ;    TransitionState     = TRANS_Stand TRANS_Climbing
2598  ;      Animation         = AIHERO_SKL.AIHERO_CLMST
2599  ;      AnimationMode     = ONCE_BACKWARDS
2600  ;    End
2601  
2602      ; dying anims
2603      ConditionState      = DYING
2604        Animation         = AIHERO_SKL.AIHERO_DTA
2605        Animation         = AIHERO_SKL.AIHERO_DTB
2606        Animation         = AIHero_SKL.AIHero_IDTA
2607        Animation         = AIHero_SKL.AIHero_IDTB
2608        AnimationMode     = ONCE
2609        TransitionKey     = TRANS_Dying
2610      End
2611      AliasConditionState = RAPPELLING DYING
2612      AliasConditionState = CLIMBING DYING
2613  
2614      TransitionState     = TRANS_Dying TRANS_Flailing
2615        Animation         = AIHERO_SKL.AIHERO_ADTG21
2616        AnimationMode     = ONCE
2617      End
2618  
2619      ConditionState      = DYING EXPLODED_FLAILING
2620        Animation         = AIHERO_SKL.AIHERO_ADTG22
2621        AnimationMode     = LOOP
2622        TransitionKey     = TRANS_Flailing
2623      End
2624  
2625      ConditionState      = DYING EXPLODED_BOUNCING
2626        Animation         = AIHERO_SKL.AIHERO_ADTG23
2627        AnimationMode     = ONCE
2628        TransitionKey     = None
2629      End
2630  
2631      ; misc anims
2632      ConditionState      = FREEFALL
2633        Animation         = AIHERO_SKL.AIHERO_PFL
2634        AnimationMode     = LOOP
2635        TransitionKey     = TRANS_Falling
2636      End
2637      AliasConditionState = FREEFALL REALLYDAMAGED
2638      AliasConditionState = FREEFALL DYING
2639  
2640      ConditionState      = PARACHUTING
2641        Animation         = AIHERO_SKL.AIHERO_PHG
2642        AnimationMode     = LOOP
2643        TransitionKey     = TRANS_Chute
2644      End
2645      AliasConditionState = PARACHUTING REALLYDAMAGED
2646      AliasConditionState = PARACHUTING DYING
2647  
2648      TransitionState     = TRANS_Falling TRANS_Chute
2649        Animation         = AIHERO_SKL.AIHERO_POP
2650        AnimationMode     = ONCE
2651        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
2652      End
2653  
2654      TransitionState     = TRANS_Chute TRANS_Stand
2655        Animation         = AIHERO_SKL.AIHERO_PTD
2656        AnimationMode     = ONCE
2657      End
2658  
2659      TransitionState     = TRANS_Chute TRANS_StandInjured
2660        Animation         = AIHERO_SKL.AIHERO_PTD
2661        AnimationMode     = ONCE
2662      End
2663  
2664    End
2665  
2666    ; ***DESIGN parameters ***
2667    DisplayName         = OBJECT:ColonelBurton
2668    Side                = AmericaLaserGeneral
2669    EditorSorting       = INFANTRY
2670    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
2671    WeaponSet
2672      Conditions          = None 
2673      Weapon              = PRIMARY     ColonelBurtonSniperRifleWeapon
2674      Weapon              = SECONDARY   ColonelBurtonKnifeWeapon
2675      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
2676      AutoChooseSources   = SECONDARY   NONE
2677    End
2678    ArmorSet
2679      Conditions      = None
2680      Armor           = HumanArmor
2681      DamageFX        = InfantryDamageFX
2682    End
2683    ArmorSet
2684      Conditions      = PLAYER_UPGRADE
2685      Armor           = ChemSuitHumanArmor
2686      DamageFX        = InfantryDamageFX
2687    End
2688    VisionRange         = 150
2689    ShroudClearingRange = 500
2690    Prerequisites
2691      Object = Lazr_AmericaBarracks
2692      Object = Lazr_AmericaStrategyCenter
2693    End
2694    BuildCost = 1500
2695    BuildTime = 20.0          ;in seconds  
2696  
2697    ExperienceValue     = 50 100 100 150  ; Experience point value at each level
2698    ExperienceRequired  = 0 200 300 600   ; Experience points needed to gain each level
2699    IsTrainable         = Yes             ; Can gain experience
2700    CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
2701    CommandSet          = Lazr_AmericaInfantryColonelBurtonCommandSet
2702  
2703    MaxSimultaneousOfType = 1
2704  
2705    ; *** AUDIO Parameters ***
2706    VoiceSelect = ColonelBurtonVoiceSelect
2707    VoiceMove = ColonelBurtonVoiceMove
2708    VoiceAttack = ColonelBurtonVoiceAttack
2709    VoiceFear = ColonelBurtonVoiceFear
2710    VoiceGuard = ColonelBurtonVoiceMove
2711    SoundStealthOn = StealthOn
2712    SoundStealthOff = StealthOff
2713    
2714    UnitSpecificSounds
2715      VoiceMelee = ColonelBurtonVoiceAttackKnife
2716      VoiceCreate           = ColonelBurtonVoiceCreate
2717      VoiceGarrison         = ColonelBurtonVoiceGarrison
2718      VoiceEnter            = ColonelBurtonVoiceMove
2719      VoiceEnterHostile     = ColonelBurtonVoiceMove
2720      VoiceGetHealed        = ColonelBurtonVoiceMove
2721    End
2722  
2723    ; *** ENGINEERING Parameters ***
2724    RadarPriority = UNIT
2725    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE
2726  
2727    Body = ActiveBody ModuleTag_02
2728      MaxHealth       = 200.0
2729      InitialHealth   = 200.0
2730    End
2731  
2732    Behavior                = ArmorUpgrade ModuleTag_Armor01
2733      TriggeredBy           = Upgrade_AmericaChemicalSuits
2734    End
2735  
2736    Behavior = AIUpdateInterface ModuleTag_03
2737      AutoAcquireEnemiesWhenIdle = Yes
2738    End
2739  
2740    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
2741    End
2742  
2743    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
2744      ScanRate = 1000 ; once a second.
2745      ScanRange = 300 ;
2746      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
2747      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
2748    End
2749  
2750    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor
2751  
2752    Behavior = PhysicsBehavior ModuleTag_06
2753      Mass = 5.0
2754    End
2755  
2756    Behavior = StealthUpdate ModuleTag_07
2757      StealthDelay                = 2000 ; msec
2758      StealthForbiddenConditions  = FIRING_PRIMARY
2759      HintDetectableConditions    = IS_FIRING_WEAPON 
2760      FriendlyOpacityMin          = 50.0%
2761      FriendlyOpacityMax          = 100.0%
2762      InnateStealth               = Yes
2763      OrderIdleEnemiesToAttackMeUponReveal  = Yes
2764      EnemyDetectionEvaEvent      = EnemyColonelBurtonDetected
2765      OwnDetectionEvaEvent        = OwnColonelBurtonDetected
2766    End
2767  
2768    Behavior = SpecialAbility ModuleTag_08
2769      SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges
2770      UpdateModuleStartsAttack = Yes
2771      InitiateSound             = ColonelBurtonVoicePlantRemoteCharge
2772    End
2773    Behavior = SpecialAbilityUpdate ModuleTag_09
2774      SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges
2775      StartAbilityRange = 0.0
2776      PreparationTime = 0
2777      SpecialObject = RemoteC4Charge
2778      MaxSpecialObjects = 8
2779      SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate).
2780      AlwaysValidateSpecialObjects = Yes      ;Coupled with the above setting, this one is necessary for code optimization.
2781      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
2782      UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
2783      UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
2784      PackTime                = 0
2785      SkipPackingWithNoTarget = Yes           ;When yes, the packing/unpacking will be ignored when detonating charges.
2786      FlipOwnerAfterUnpacking = Yes
2787      FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
2788      UnpackSound               = ColonelBurtonPlantCharge
2789      LoseStealthOnTrigger      = Yes
2790      PreTriggerUnstealthTime   = 5000 ; in milliseconds
2791    End
2792  
2793    Behavior = SpecialAbility ModuleTag_10
2794      SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges
2795      UpdateModuleStartsAttack = Yes
2796      InitiateSound             = ColonelBurtonVoicePlantTimedCharge
2797    End
2798    Behavior = SpecialAbilityUpdate ModuleTag_11
2799      SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges
2800      StartAbilityRange = 0.0
2801      PreparationTime = 0
2802      SpecialObject = TimedC4Charge
2803      MaxSpecialObjects = 10
2804      SpecialObjectsPersistWhenOwnerDies = Yes 
2805      SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
2806      UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
2807      UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
2808      FlipOwnerAfterUnpacking = Yes
2809      FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
2810      UnpackSound               = ColonelBurtonPlantCharge
2811      LoseStealthOnTrigger      = Yes
2812      PreTriggerUnstealthTime   = 5000 ; in milliseconds
2813  
2814    End
2815   
2816    Behavior = ExperienceScalarUpgrade ModuleTag_12
2817      TriggeredBy   = Upgrade_AmericaAdvancedTraining
2818      AddXPScalar   = 1.0 ;Increases experience gained by an additional 100%
2819    End
2820   
2821    ;Hero units can't be squished!
2822    ;Behavior = SquishCollide ModuleTag_13
2823    ;  ;nothing
2824    ;End
2825  
2826  
2827  ; --- begin Death modules ---
2828    Behavior = SlowDeathBehavior ModuleTag_Death01
2829      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
2830      SinkDelay           = 3000
2831      SinkRate            = 0.5     ; in Dist/Sec
2832      DestructionDelay    = 8000
2833      FX                  = INITIAL FX_ColonelBurtonDie
2834    End
2835    Behavior = SlowDeathBehavior ModuleTag_Death02
2836      DeathTypes          = NONE +CRUSHED +SPLATTED
2837      SinkDelay           = 3000
2838      SinkRate            = 0.5     ; in Dist/Sec
2839      DestructionDelay    = 8000
2840      FX                  = INITIAL FX_GIDieCrushed
2841    End
2842    Behavior = SlowDeathBehavior ModuleTag_Death03
2843      DeathTypes          = NONE +EXPLODED
2844      SinkDelay           = 3000
2845      SinkRate            = 0.5     ; in Dist/Sec
2846      DestructionDelay    = 8000
2847      FX                  = INITIAL FX_ColonelBurtonDie
2848      FlingForce          = 8
2849      FlingForceVariance  = 3
2850      FlingPitch          = 60
2851      FlingPitchVariance  = 10
2852    End
2853    Behavior = SlowDeathBehavior ModuleTag_Death04
2854      DeathTypes          = NONE +BURNED
2855      DestructionDelay    = 0
2856      FX                  = INITIAL FX_DieByFireUSA
2857      OCL                 = INITIAL OCL_FlamingInfantry
2858    End
2859    Behavior = SlowDeathBehavior ModuleTag_Death05
2860      DeathTypes          = NONE +POISONED
2861      DestructionDelay    = 0
2862      FX                  = INITIAL FX_DieByToxinUSA
2863      OCL                 = INITIAL OCL_ToxicInfantry
2864    End
2865      Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
2866      DeathTypes          = NONE +POISONED_BETA
2867      DestructionDelay    = 0
2868      FX                  = INITIAL FX_DieByToxinUSA
2869      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
2870    End
2871    Behavior = SlowDeathBehavior ModuleTag_Death07
2872      DeathTypes          = NONE +POISONED_GAMMA
2873      DestructionDelay    = 0
2874      FX                  = INITIAL FX_DieByToxinGLA
2875      OCL                 = INITIAL OCL_ToxicInfantryGamma
2876    End
2877  ; --- end Death modules ---
2878  
2879    Behavior = PoisonedBehavior ModuleTag_18
2880      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
2881      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
2882    End
2883   
2884    Geometry = CYLINDER
2885    GeometryMajorRadius = 10.0
2886    GeometryMinorRadius = 10.0
2887    GeometryHeight = 12.0
2888    GeometryIsSmall = Yes
2889    Shadow = SHADOW_DECAL
2890    ShadowSizeX = 14
2891    ShadowSizeY = 14
2892    ShadowTexture = ShadowI
2893    BuildCompletion = APPEARS_AT_RALLY_POINT
2894  
2895  End
2896  
2897  
2898  
2899  
2900  
2901  ;------------------------------------------------------------------------------
2902  Object Lazr_AmericaInfantryRanger
2903  
2904    ; *** ART Parameters ***
2905    SelectPortrait          = SARanger_L
2906    ButtonImage            = SARanger
2907    
2908    UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade
2909    UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
2910    UpgradeCameo3 = Upgrade_InfantryCaptureBuilding
2911    UpgradeCameo4 = Upgrade_AmericaChemicalSuits
2912    ;UpgradeCameo5 = NONE
2913    
2914    Draw = W3DModelDraw ModuleTag_01
2915  
2916      OkToChangeModelColor = Yes
2917  
2918      ; this says "we don't use these condition states at all, so completely
2919      ; ignore them for purposes of matchmaking"... this is useful to help
2920      ; reduce the number of AliasConditionState clauses you must add in
2921      ; order to avoid ambiguity in some cases.
2922      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
2923  
2924      ; --- Idle
2925      DefaultConditionState
2926        Model             = AIRngr_SKN
2927        IdleAnimation     = AIRngr_SKL.AIRngr_STA 0 35
2928        IdleAnimation     = AIRngr_SKL.AIRngr_IDA
2929        IdleAnimation     = AIRngr_SKL.AIRngr_IDB
2930        AnimationMode     = ONCE
2931        WeaponFireFXBone  = PRIMARY Muzzle
2932        WeaponMuzzleFlash = PRIMARY MuzzleFX
2933        WeaponFireFXBone  = SECONDARY Muzzle
2934        WeaponLaunchBone  = SECONDARY Muzzle
2935        TransitionKey     = TRANS_Stand
2936  
2937      End
2938  
2939      ConditionState      = REALLYDAMAGED
2940        IdleAnimation     = AIRngr_SKL.AIRngr_STB 0 35
2941        IdleAnimation     = AIRngr_SKL.AIRngr_IDC
2942        IdleAnimation     = AIRngr_SKL.AIRngr_IDD
2943        AnimationMode     = ONCE
2944        TransitionKey     = TRANS_StandInjured
2945      End
2946  
2947      TransitionState     = TRANS_Stand TRANS_StandInjured
2948        Animation         = AIRngr_SKL.AIRngr_SA2SB
2949        AnimationMode     = ONCE
2950      End
2951  
2952      ; --- attacking (Machine Gun)
2953      ConditionState      = USING_WEAPON_A
2954        Animation         = AIRngr_SKL.AIRngr_ATA
2955        AnimationMode     = LOOP
2956        TransitionKey     = TRANS_FiringA
2957      End
2958  
2959      ConditionState      = USING_WEAPON_A REALLYDAMAGED
2960        Animation         = AIRngr_SKL.AIRngr_ATA2
2961        AnimationMode     = LOOP
2962        TransitionKey     = TRANS_FiringAInjured
2963      End
2964  
2965      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
2966        Animation         = AIRngr_SKL.AIRngr_A2WAA
2967        AnimationMode     = ONCE
2968      End
2969  
2970      TransitionState     = TRANS_Stand TRANS_FiringA
2971        Animation         = AIRngr_SKL.AIRngr_ATAST
2972        AnimationMode     = ONCE
2973        AnimationSpeedFactorRange = 4 4
2974      End
2975  
2976      TransitionState     = TRANS_FiringA TRANS_Stand
2977        Animation         = AIRngr_SKL.AIRngr_ATAED
2978        AnimationMode     = ONCE
2979        AnimationSpeedFactorRange = 4 4
2980      End
2981  
2982      TransitionState     = TRANS_StandInjured TRANS_FiringAInjured
2983        Animation         = AIRngr_SKL.AIRngr_S2WAA
2984        AnimationMode     = ONCE
2985        AnimationSpeedFactorRange = 4 4
2986      End
2987  
2988      TransitionState     = TRANS_FiringAInjured TRANS_StandInjured
2989        Animation         = AIRngr_SKL.AIRngr_WAA2S
2990        AnimationMode     = ONCE
2991        AnimationSpeedFactorRange = 4 4
2992      End
2993      
2994      TransitionState     = TRANS_Stand TRANS_Move
2995        Animation         = AIRngr_SKL.AIRngr_STA2RNA
2996        AnimationMode     = ONCE
2997      End
2998  
2999      ; --- attacking (Grenade Launcher)
3000      ConditionState      = PREATTACK_B 
3001        Animation         = AIRngr_SKL.AIRngr_ATBA
3002        AnimationMode     = ONCE
3003        TransitionKey     = TRANS_FiringB
3004      End
3005      AliasConditionState = PREATTACK_B MOVING
3006      AliasConditionState = PREATTACK_B FIRING_B
3007      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
3008  
3009      ConditionState      = FIRING_B
3010        Animation         = AIRngr_SKL.AIRngr_ATBB
3011        AnimationMode     = ONCE
3012        TransitionKey     = TRANS_FiringB
3013      End
3014  
3015      ConditionState      = BETWEEN_FIRING_SHOTS_B
3016        Animation         = AIRngr_SKL.AIRngr_ATBB
3017        AnimationMode     = MANUAL
3018        Flags             = START_FRAME_LAST
3019        TransitionKey     = TRANS_FiringB
3020        WaitForStateToFinishIfPossible = TRANS_FiringB
3021      End
3022      AliasConditionState = RELOADING_B
3023  
3024      TransitionState     = TRANS_Stand TRANS_FiringB
3025        Animation         = AIRngr_SKL.AIRngr_ATBST1
3026        AnimationMode     = ONCE
3027      End
3028  
3029      TransitionState     = TRANS_FiringB TRANS_Stand
3030        Animation         = AIRngr_SKL.AIRngr_ATBST2
3031        AnimationMode     = ONCE
3032      End
3033  
3034      ConditionState      = PREATTACK_B REALLYDAMAGED
3035        Animation         = AIRngr_SKL.AIRngr_ATB2A
3036        AnimationMode     = ONCE
3037        TransitionKey     = TRANS_FiringBInjured
3038      End
3039      AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
3040      AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
3041      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
3042  
3043      ConditionState      = FIRING_B REALLYDAMAGED
3044        Animation         = AIRngr_SKL.AIRngr_ATB2B
3045        AnimationMode     = ONCE
3046        TransitionKey     = TRANS_FiringBInjured
3047      End
3048  
3049      ConditionState      = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
3050        Animation         = AIRngr_SKL.AIRngr_ATB2B
3051        AnimationMode     = MANUAL
3052        Flags             = START_FRAME_LAST
3053        TransitionKey     = TRANS_FiringBInjured
3054        WaitForStateToFinishIfPossible = TRANS_FiringBInjured
3055      End
3056      AliasConditionState = RELOADING_B REALLYDAMAGED
3057  
3058      TransitionState     = TRANS_StandInjured TRANS_FiringBInjured
3059        Animation         = AIRngr_SKL.AIRngr_ATB2ST1
3060        AnimationMode     = ONCE
3061      End
3062  
3063      TransitionState     = TRANS_FiringBInjured TRANS_StandInjured
3064        Animation         = AIRngr_SKL.AIRngr_ATB2ST2
3065        AnimationMode     = ONCE
3066      End
3067  
3068      ; -- cross-attack transitions
3069  
3070      TransitionState     = TRANS_FiringA TRANS_FiringB
3071        Animation         = AIRngr_SKL.AIRngr_ATA2AB
3072        AnimationMode     = ONCE
3073        AnimationSpeedFactorRange = 4 4
3074      End
3075  
3076      TransitionState     = TRANS_FiringB TRANS_FiringA
3077        Animation         = AIRngr_SKL.AIRngr_ATA2AB
3078        AnimationMode     = ONCE_BACKWARDS
3079        AnimationSpeedFactorRange = 4 4
3080      End
3081  
3082  
3083      ; --- moving
3084      ConditionState      = MOVING
3085        Animation         = AIRngr_SKL.AIRngr_RNA 30
3086        AnimationMode     = LOOP
3087        Flags             = RANDOMSTART
3088        TransitionKey     = TRANS_Move
3089        ParticleSysBone   = None InfantryDustTrails
3090      End
3091      AliasConditionState = MOVING ATTACKING
3092  
3093      ConditionState      = MOVING REALLYDAMAGED
3094        Animation         = AIRngr_SKL.AIRngr_RNB 30
3095        AnimationMode     = LOOP
3096        Flags             = RANDOMSTART
3097        TransitionKey     = TRANS_Move
3098      End
3099      AliasConditionState = MOVING REALLYDAMAGED ATTACKING
3100      
3101      ; --- dying anims
3102      ConditionState      = DYING
3103        Animation         = AIRngr_SKL.AIRngr_DTA
3104        Animation         = AIRngr_SKL.AIRngr_DTB
3105        AnimationMode     = ONCE
3106        TransitionKey     = None
3107      End
3108  
3109      TransitionState     = TRANS_Dying TRANS_Flailing
3110        Animation         = AIRngr_SKL.AIRngr_ADTF1
3111        AnimationMode     = ONCE
3112      End
3113  
3114      ConditionState      = DYING EXPLODED_FLAILING
3115        Animation         = AIRngr_SKL.AIRngr_ADTF2
3116        AnimationMode     = LOOP
3117        TransitionKey     = TRANS_Flailing
3118      End
3119  
3120      ConditionState      = DYING EXPLODED_BOUNCING
3121        Animation         = AIRngr_SKL.AIRngr_ADTF3
3122        AnimationMode     = ONCE
3123        TransitionKey     = None
3124      End
3125      AliasConditionState = DYING SPLATTED
3126  
3127      ; --- cheering
3128      ConditionState      = SPECIAL_CHEERING
3129        Animation         = AIRngr_SKL.AIRngr_CHA
3130        AnimationMode     = LOOP
3131      End
3132  
3133      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
3134        Animation         = AIRngr_SKL.AIRngr_CHB
3135        AnimationMode     = LOOP
3136      End
3137  
3138      ; ----- PARACHUTING ANIMATIONS
3139      ConditionState      = FREEFALL
3140        Animation         = AIRngr_SKL.AIRngr_PFL
3141        AnimationMode     = LOOP
3142        TransitionKey     = TRANS_Falling
3143      End
3144      AliasConditionState = FREEFALL REALLYDAMAGED
3145      AliasConditionState = FREEFALL DYING
3146      ConditionState      = PARACHUTING
3147        Animation         = AIRngr_SKL.AIRngr_PHG
3148        AnimationMode     = LOOP
3149        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3150        TransitionKey     = TRANS_Chute
3151      End
3152      AliasConditionState = PARACHUTING REALLYDAMAGED
3153      AliasConditionState = PARACHUTING DYING
3154      TransitionState     = TRANS_Falling TRANS_Chute
3155        Animation         = AIRngr_SKL.AIRngr_POP
3156        AnimationMode     = ONCE
3157        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3158      End
3159      TransitionState     = TRANS_Chute TRANS_Stand
3160        Animation         = AIRngr_SKL.AIRngr_PTD
3161        AnimationMode     = ONCE
3162      End
3163      TransitionState     = TRANS_Chute TRANS_StandInjured
3164        Animation         = AIRngr_SKL.AIRngr_PTD
3165        AnimationMode     = ONCE
3166      End
3167  
3168      ; ------- Bldg-capture
3169  
3170      ConditionState      = UNPACKING
3171        Model             = AIRngr_F_SKN
3172        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
3173        AnimationMode     = ONCE
3174      End
3175      AliasConditionState = UNPACKING REALLYDAMAGED
3176  
3177  
3178      ConditionState      = RAISING_FLAG
3179        Model             = AIRngr_F_SKN
3180        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
3181        AnimationMode     = ONCE
3182        TransitionKey     = TRANS_Raising
3183      End
3184      AliasConditionState = RAISING_FLAG REALLYDAMAGED
3185  
3186      ConditionState      = PACKING
3187        Model             = AIRngr_F_SKN
3188        Animation         = AIRngr_F_SKL.AIRngr_F_FDP1
3189        AnimationMode     = ONCE_BACKWARDS
3190        Flags             = START_FRAME_LAST
3191        TransitionKey     = TRANS_Packing
3192      End
3193      AliasConditionState = PACKING REALLYDAMAGED
3194  
3195      TransitionState     = TRANS_Raising TRANS_Packing
3196        Model             = AIRngr_F_SKN
3197        Animation         = AIRngr_F_SKL.AIRngr_F_FDP2
3198        AnimationMode     = ONCE_BACKWARDS
3199        Flags             = START_FRAME_LAST
3200      End
3201  
3202      ; --- RAPPELLING ANIMATIONS
3203      ConditionState      = RAPPELLING
3204        Animation         = AIRngr_SKL.AIRngr_RPL1 ;30
3205        AnimationMode     = LOOP
3206        Flags             = RANDOMSTART
3207        TransitionKey     = TRANS_Rappelling
3208      End
3209      AliasConditionState = MOVING RAPPELLING
3210  
3211      TransitionState     = TRANS_Rappelling TRANS_Stand
3212        Animation         = AIRngr_SKL.AIRngr_RPL2
3213        AnimationMode     = ONCE
3214      End
3215  
3216      TransitionState     = TRANS_Rappelling TRANS_StandInjured
3217        Animation         = AIRngr_SKL.AIRngr_RPL2
3218        AnimationMode     = ONCE
3219      End
3220  
3221    End
3222  
3223    ; ***DESIGN parameters ***
3224    DisplayName         = OBJECT:Ranger
3225    Side                = AmericaLaserGeneral
3226    EditorSorting       = INFANTRY
3227    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
3228    
3229    WeaponSet
3230      Conditions = None 
3231      Weapon = PRIMARY RangerAdvancedCombatRifle
3232    End
3233    WeaponSet
3234      Conditions = PLAYER_UPGRADE 
3235      Weapon = PRIMARY RangerAdvancedCombatRifle
3236      Weapon = SECONDARY RangerFlashBangGrenadeWeapon
3237      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
3238      AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
3239      WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock
3240    End
3241    ArmorSet
3242      Conditions      = None
3243      Armor           = HumanArmor
3244      DamageFX        = InfantryDamageFX
3245    End
3246    ArmorSet
3247      Conditions            = PLAYER_UPGRADE
3248      Armor                 = ChemSuitHumanArmor
3249      DamageFX              = None
3250    End
3251    VisionRange = 100
3252    ShroudClearingRange = 400
3253    Prerequisites
3254      Object = Lazr_AmericaBarracks
3255    End
3256    BuildCost = 225
3257    BuildTime = 5.0          ;in seconds  
3258    
3259    ExperienceValue = 20 20 40 60    ;Experience point value at each level
3260    ExperienceRequired = 0 40 60 120  ;Experience points needed to gain each level
3261    IsTrainable = Yes             ;Can gain experience
3262    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
3263    CommandSet          = Lazr_AmericaInfantryRangerCommandSet
3264  
3265    ; *** AUDIO Parameters ***
3266    VoiceSelect = RangerVoiceSelect
3267    VoiceMove = RangerVoiceMove
3268    VoiceGuard = RangerVoiceMove
3269    VoiceAttack = RangerVoiceAttack
3270    VoiceFear = RangerVoiceFear
3271    VoiceTaskComplete = RangerVoiceCaptureComplete
3272  
3273    UnitSpecificSounds
3274      VoiceEnter = RangerVoiceMove
3275      VoiceEnterHostile = RangerVoiceMove
3276      VoiceGarrison = RangerVoiceGarrison
3277      VoiceCreate         = RangerVoiceCreate
3278      VoiceSubdue         = RangerVoiceSubdue
3279      VoiceClearBuilding  = RangerVoiceClearBuilding
3280      VoiceGetHealed      = RangerVoiceMove
3281      VoicePrimaryWeaponMode = RangerVoiceModeGun
3282      VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang
3283    End
3284  
3285    UnitSpecificFX
3286      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
3287      CombatDropKillFX = FX_RangerCombatDropKill
3288    End
3289  
3290    ; *** ENGINEERING Parameters ***
3291    RadarPriority = UNIT
3292    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE
3293  
3294    Behavior = CommandButtonHuntUpdate ModuleTag_02
3295    End
3296  
3297    Body = ActiveBody ModuleTag_03
3298      MaxHealth       = 180.0
3299      InitialHealth   = 180.0
3300    End
3301  
3302    Behavior = ExperienceScalarUpgrade ModuleTag_04
3303      TriggeredBy = Upgrade_AmericaAdvancedTraining
3304      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
3305    End
3306  
3307    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
3308      ScanRate = 1000 ; once a second.
3309      ScanRange = 300 ;
3310      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
3311      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
3312    End
3313  
3314    Behavior = AIUpdateInterface ModuleTag_06
3315      AutoAcquireEnemiesWhenIdle = Yes
3316    End
3317    Locomotor = SET_NORMAL BasicHumanLocomotor
3318  
3319    Behavior = PhysicsBehavior ModuleTag_07
3320      Mass = 5.0
3321    End
3322  
3323    Behavior = ProductionUpdate ModuleTag_08
3324      ; nothing
3325    End
3326  
3327    Behavior = CommandButtonHuntUpdate  ModuleTag_09 ; allows use of command button hunt script with this unit. 
3328    End
3329  
3330    Behavior = WeaponSetUpgrade ModuleTag_10
3331      TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade
3332    End
3333    
3334  
3335  ; --- begin Death modules ---
3336    Behavior = SlowDeathBehavior ModuleTag_Death01
3337      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
3338      SinkDelay           = 3000
3339      SinkRate            = 0.5     ; in Dist/Sec
3340      DestructionDelay    = 8000
3341      FX                  = INITIAL FX_RangerDie
3342    End
3343    Behavior = SlowDeathBehavior ModuleTag_Death02
3344      DeathTypes          = NONE +CRUSHED +SPLATTED
3345      SinkDelay           = 3000
3346      SinkRate            = 0.5     ; in Dist/Sec
3347      DestructionDelay    = 8000
3348      FX                  = INITIAL FX_GIDieCrushed
3349    End
3350    Behavior = SlowDeathBehavior ModuleTag_Death03
3351      DeathTypes          = NONE +EXPLODED
3352      SinkDelay           = 3000
3353      SinkRate            = 0.5     ; in Dist/Sec
3354      DestructionDelay    = 8000
3355      FX                  = INITIAL FX_RangerDie
3356      FlingForce          = 8
3357      FlingForceVariance  = 3
3358      FlingPitch          = 60
3359      FlingPitchVariance  = 10
3360    End
3361    Behavior = SlowDeathBehavior ModuleTag_Death04
3362      DeathTypes          = NONE +BURNED
3363      DestructionDelay    = 0
3364      FX                  = INITIAL FX_DieByFireUSA
3365      OCL                 = INITIAL OCL_FlamingInfantry
3366    End
3367    Behavior = SlowDeathBehavior ModuleTag_Death05
3368      DeathTypes          = NONE +POISONED
3369      DestructionDelay    = 0
3370      FX                  = INITIAL FX_DieByToxinUSA
3371      OCL                 = INITIAL OCL_ToxicInfantry
3372    End
3373    
3374    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
3375      DeathTypes          = NONE +POISONED_BETA
3376      DestructionDelay    = 0
3377      FX                  = INITIAL FX_DieByToxinUSA
3378      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
3379    End
3380    Behavior = SlowDeathBehavior ModuleTag_Death07
3381      DeathTypes          = NONE +POISONED_GAMMA
3382      DestructionDelay    = 0
3383      FX                  = INITIAL FX_DieByToxinGLA
3384      OCL                 = INITIAL OCL_ToxicInfantryGamma
3385    End
3386  ; --- end Death modules ---
3387  
3388    Behavior = SquishCollide ModuleTag_12
3389      ;nothing
3390    End
3391    Behavior                = ArmorUpgrade ModuleTag_Armor01
3392      TriggeredBy           = Upgrade_AmericaChemicalSuits
3393    End
3394  
3395    Behavior = PoisonedBehavior ModuleTag_17
3396      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3397      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3398    End
3399   
3400    Behavior = SpecialAbility ModuleTag_18
3401      SpecialPowerTemplate      = SpecialAbilityRangerCaptureBuilding
3402      UpdateModuleStartsAttack  = Yes
3403      StartsPaused              = Yes ; Unpaused by upgrade module
3404      InitiateSound         = RangerVoiceCapture
3405    End
3406    Behavior = SpecialAbilityUpdate ModuleTag_19
3407      SpecialPowerTemplate  = SpecialAbilityRangerCaptureBuilding
3408      StartAbilityRange  = 5.0
3409      UnpackTime            = 3000  ; (changing this will scale anim speed)
3410      PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
3411      PackTime              = 2000  ; (changing this will scale anim speed)
3412      DoCaptureFX           = Yes
3413      AwardXPForTriggering  = 15
3414      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
3415    End
3416  
3417    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20
3418      SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
3419      TriggeredBy = Upgrade_InfantryCaptureBuilding
3420    End
3421  
3422    Behavior = LockWeaponCreate ModuleTag_21
3423      SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack.
3424    End
3425  
3426    Geometry = CYLINDER
3427    GeometryMajorRadius = 7.0
3428    GeometryMinorRadius = 7.0
3429    GeometryHeight = 13.0
3430  
3431    GeometryIsSmall = Yes
3432    Shadow = SHADOW_DECAL
3433    ShadowSizeX = 14;
3434    ShadowSizeY = 14;
3435    ShadowTexture = ShadowI;
3436    BuildCompletion = APPEARS_AT_RALLY_POINT
3437  
3438  End
3439  
3440  ;------------------------------------------------------------------------------
3441  Object Lazr_AmericaInfantryMissileDefender
3442  
3443    ; *** ART Parameters ***
3444    SelectPortrait         = SAMissleDefender_L
3445    ButtonImage            = SAMissleDefender
3446    
3447    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
3448    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
3449    ;UpgradeCameo3 = NONE
3450    ;UpgradeCameo4 = NONE
3451    ;UpgradeCameo5 = NONE
3452    
3453    Draw = W3DModelDraw ModuleTag_01
3454      OkToChangeModelColor = Yes
3455  
3456      ;***NOTE***
3457      ;A little history -- the MissileDefender now uses the assets of the TankHunter. 
3458      ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW
3459      ;MD. It was a design/art/code decision because the new missile defender animations
3460      ;don't suit that of a mobile/offensive unit with packing and unpacking.
3461  
3462      DefaultConditionState
3463        Model             = NITHNT_SKN
3464        IdleAnimation     = NITHNT_SKL.NITHNT_STA 0 30
3465        IdleAnimation     = NITHNT_SKL.NITHNT_IDA
3466        IdleAnimation     = NITHNT_SKL.NITHNT_IDB
3467        AnimationMode     = ONCE
3468        AnimationSpeedFactorRange = 0.8 1.2
3469        TransitionKey     = TRANS_Stand
3470        WeaponMuzzleFlash = PRIMARY MuzzleFX
3471        WeaponFireFXBone  = PRIMARY Muzzle
3472        WeaponLaunchBone  = PRIMARY Muzzle
3473        WeaponLaunchBone  = SECONDARY Muzzle
3474  
3475      End
3476      AliasConditionState = REALLYDAMAGED
3477  
3478      ConditionState      = FIRING_A 
3479        Animation         = NITHNT_SKL.NITHNT_ATA 
3480        AnimationMode     = ONCE
3481        TransitionKey     = TRANS_START_FIRING
3482      End
3483      AliasConditionState = FIRING_A REALLYDAMAGED
3484  
3485      ConditionState      = BETWEEN_FIRING_SHOTS_A
3486        Animation         = NITHNT_SKL.NITHNT_STA
3487        AnimationMode     = ONCE
3488        ; this is basically a trick: this guy has a nontrivial animation for firing,
3489        ; and a long recycle time between shots. we want him to finish his fire animation
3490        ; (unless he's ordered to do something else), so this is just a handy trick that
3491        ; says, "if the previous state had this transition key, allow it to finish before
3492        ; switching to us, if possible".
3493        WaitForStateToFinishIfPossible = TRANS_START_FIRING
3494      End
3495      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
3496  
3497      ConditionState      = MOVING
3498        Animation         = NITHNT_SKL.NITHNT_RNA 20
3499        AnimationMode     = LOOP
3500        Flags             = RANDOMSTART
3501        TransitionKey     = None
3502        ParticleSysBone   = None InfantryDustTrails
3503      End
3504      AliasConditionState = MOVING REALLYDAMAGED
3505  
3506      ConditionState      = RELOADING_A
3507        Animation         = NITHNT_SKL.NITHNT_ATA 10
3508        AnimationMode     = ONCE
3509        ;WeaponLaunchBone = PRIMARY WeaponA
3510      End
3511      AliasConditionState = MOVING RELOADING_A
3512      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
3513  
3514      ConditionState      = DYING
3515        Animation         = NITHNT_SKL.NITHNT_DTA
3516        Animation         = NITHNT_SKL.NITHNT_DTB
3517        AnimationSpeedFactorRange = 0.9 1.25
3518        AnimationMode     = ONCE
3519        TransitionKey     = TRANS_Dying
3520      End
3521  
3522      TransitionState     = TRANS_Dying TRANS_Flailing
3523        Animation         = NITHNT_SKL.NITHNT_ADTA1
3524        AnimationMode     = ONCE
3525      End
3526  
3527      ConditionState      = DYING EXPLODED_FLAILING
3528        Animation         = NITHNT_SKL.NITHNT_ADTA2
3529        AnimationMode     = LOOP
3530        TransitionKey     = TRANS_Flailing
3531      End
3532  
3533      ConditionState      = DYING EXPLODED_BOUNCING
3534        Animation         = NITHNT_SKL.NITHNT_ADTA3
3535        AnimationMode     = ONCE
3536        TransitionKey     = None
3537      End
3538  
3539      ;PARACHUTING ANIMATIONS
3540      ConditionState      = FREEFALL
3541        Animation         = NITHNT_SKL.NITHNT_PFL
3542        AnimationMode     = LOOP
3543        TransitionKey     = TRANS_Falling
3544      End
3545      AliasConditionState = FREEFALL REALLYDAMAGED
3546      AliasConditionState = FREEFALL DYING
3547  
3548      ConditionState      = PARACHUTING
3549        Animation         = NITHNT_SKL.NITHNT_PHG
3550        AnimationMode     = LOOP
3551        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3552        TransitionKey     = TRANS_Chute
3553      End
3554      AliasConditionState = PARACHUTING REALLYDAMAGED
3555      AliasConditionState = PARACHUTING DYING
3556  
3557      TransitionState     = TRANS_Falling TRANS_Chute
3558        Animation         = NITHNT_SKL.NITHNT_POP
3559        AnimationMode     = ONCE
3560        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3561      End
3562  
3563      TransitionState     = TRANS_Chute TRANS_Stand
3564        Animation         = NITHNT_SKL.NITHNT_PTD
3565        AnimationMode     = ONCE
3566      End
3567  
3568    End
3569  
3570    ; ***DESIGN parameters ***
3571    DisplayName         = OBJECT:MissileTeam
3572    Side                = AmericaLaserGeneral
3573    EditorSorting       = INFANTRY
3574    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
3575    
3576    WeaponSet
3577      Conditions = None 
3578      Weapon = PRIMARY    MissileDefenderMissileWeapon 
3579      Weapon = SECONDARY  MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability
3580      AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
3581      AutoChooseSources = SECONDARY NONE
3582    End
3583    ArmorSet
3584      Conditions      = None
3585      Armor           = HumanArmor
3586      DamageFX        = InfantryDamageFX
3587    End
3588    ArmorSet
3589      Conditions      = PLAYER_UPGRADE
3590      Armor           = ChemSuitHumanArmor
3591      DamageFX        = InfantryDamageFX
3592    End
3593  
3594    VisionRange = 150
3595    ShroudClearingRange = 400
3596    Prerequisites
3597      Object = Lazr_AmericaBarracks
3598  
3599    End
3600    BuildCost = 300
3601    BuildTime = 5.0          ;in seconds  
3602    
3603    ExperienceValue = 20 20 40 60    ;Experience point value at each level
3604    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
3605    IsTrainable = Yes             ;Can gain experience
3606    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
3607    CommandSet          = AmericaInfantryMissileDefenderCommandSet
3608  
3609    ; *** AUDIO Parameters ***
3610    VoiceSelect = MissileDefenderVoiceSelect
3611    VoiceMove = MissileDefenderVoiceMove
3612    VoiceGuard = MissileDefenderVoiceMove
3613    VoiceAttack = MissileDefenderVoiceAttack
3614    VoiceAttackAir = MissileDefenderVoiceAttack
3615    VoiceFear = MissileDefenderVoiceFear
3616    
3617    UnitSpecificSounds
3618    VoiceGarrison = MissileDefenderVoiceGarrison
3619      VoiceCreate          = MissileDefenderVoiceCreate
3620      VoiceEnter = MissileDefenderVoiceMove
3621      VoiceGetHealed      = MissileDefenderVoiceMove
3622    End
3623  
3624    ; *** ENGINEERING Parameters ***
3625    RadarPriority = UNIT
3626    KindOf = PRELOAD SELECTABLE CAN_ATTACK  ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE
3627  
3628    Body = ActiveBody ModuleTag_02
3629      MaxHealth       = 100.0
3630      InitialHealth   = 100.0
3631    End
3632  
3633    Behavior                = ArmorUpgrade ModuleTag_Armor01
3634      TriggeredBy           = Upgrade_AmericaChemicalSuits
3635    End
3636  
3637    Behavior = ExperienceScalarUpgrade ModuleTag_03
3638      TriggeredBy = Upgrade_AmericaAdvancedTraining
3639      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
3640    End
3641  
3642    Behavior = AIUpdateInterface ModuleTag_04
3643      AutoAcquireEnemiesWhenIdle = Yes
3644    End
3645  
3646    Behavior = AutoFindHealingUpdate   ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba 
3647      ScanRate = 1000 ; once a second.
3648      ScanRange = 300 ;
3649      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
3650      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
3651    End
3652  
3653    Locomotor = SET_NORMAL MissileDefenderLocomotor
3654  
3655    Behavior = PhysicsBehavior ModuleTag_06
3656      Mass = 5.0
3657    End
3658  
3659    Behavior = SpecialAbility ModuleTag_08
3660      SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles
3661      UpdateModuleStartsAttack = Yes
3662      InitiateSound = MissileDefenderVoiceAttackLaser
3663    End
3664    Behavior = SpecialAbilityUpdate ModuleTag_09
3665      SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles
3666      StartAbilityRange = 200.0
3667      AbilityAbortRange = 250.0 ;If the target moves outside this range, abort.
3668      PreparationTime = 1000
3669      PersistentPrepTime = 500
3670      SpecialObject = LaserBeam
3671      SpecialObjectAttachToBone = Muzzle01
3672    End
3673   
3674    Behavior = SquishCollide ModuleTag_10
3675      ;nothing
3676    End
3677  
3678    ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using
3679    ;the laser guided missiles.
3680    Behavior = CommandButtonHuntUpdate  ModuleTag_CBHunt ; allows use of command button hunt script with this unit. 
3681    End
3682  
3683  
3684  
3685  ; --- begin Death modules ---
3686    Behavior = SlowDeathBehavior ModuleTag_Death01
3687      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
3688      SinkDelay           = 3000
3689      SinkRate            = 0.5     ; in Dist/Sec
3690      DestructionDelay    = 8000
3691      FX                  = INITIAL FX_MissileDefenderDie
3692    End
3693    Behavior = SlowDeathBehavior ModuleTag_Death02
3694      DeathTypes          = NONE +CRUSHED +SPLATTED
3695      SinkDelay           = 3000
3696      SinkRate            = 0.5     ; in Dist/Sec
3697      DestructionDelay    = 8000
3698      FX                  = INITIAL FX_GIDieCrushed
3699    End
3700    Behavior = SlowDeathBehavior ModuleTag_Death03
3701      DeathTypes          = NONE +EXPLODED
3702      SinkDelay           = 3000
3703      SinkRate            = 0.5     ; in Dist/Sec
3704      DestructionDelay    = 8000
3705      FX                  = INITIAL FX_MissileDefenderDie
3706      FlingForce          = 8
3707      FlingForceVariance  = 3
3708      FlingPitch          = 60
3709      FlingPitchVariance  = 10
3710    End
3711    Behavior = SlowDeathBehavior ModuleTag_Death04
3712      DeathTypes          = NONE +BURNED
3713      DestructionDelay    = 0
3714      FX                  = INITIAL FX_DieByFireUSA
3715      OCL                 = INITIAL OCL_FlamingInfantry
3716    End
3717    Behavior = SlowDeathBehavior ModuleTag_Death05
3718      DeathTypes          = NONE +POISONED
3719      DestructionDelay    = 0
3720      FX                  = INITIAL FX_DieByToxinUSA
3721      OCL                 = INITIAL OCL_ToxicInfantry
3722    End
3723    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
3724      DeathTypes          = NONE +POISONED_BETA
3725      DestructionDelay    = 0
3726      FX                  = INITIAL FX_DieByToxinUSA
3727      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
3728    End
3729    Behavior = SlowDeathBehavior ModuleTag_Death07
3730      DeathTypes          = NONE +POISONED_GAMMA
3731      DestructionDelay    = 0
3732      FX                  = INITIAL FX_DieByToxinGLA
3733      OCL                 = INITIAL OCL_ToxicInfantryGamma
3734    End
3735  ; --- end Death modules ---
3736  
3737    Behavior = PoisonedBehavior ModuleTag_13
3738      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3739      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3740    End
3741   
3742    Geometry = CYLINDER
3743    GeometryMajorRadius = 7.0
3744    GeometryMinorRadius = 7.0
3745    GeometryHeight = 12.0
3746    GeometryIsSmall = Yes
3747    Shadow = SHADOW_DECAL
3748    ShadowSizeX = 14;
3749    ShadowSizeY = 14;
3750    ShadowTexture = ShadowI;
3751    BuildCompletion = APPEARS_AT_RALLY_POINT
3752  
3753  End
3754  
3755  ;------------------------------------------------------------------------------
3756  ; @todo -- this entire unit is "first pass only" and needs lots of specialization
3757  Object Lazr_AmericaInfantryPilot
3758  
3759    ; *** ART Parameters ***
3760    SelectPortrait         = SAPilot_L
3761    ButtonImage            = SAPilot
3762    
3763    ;UpgradeCameo1 = NONE
3764    ;UpgradeCameo2 = NONE
3765    ;UpgradeCameo3 = NONE
3766    ;UpgradeCameo4 = NONE
3767    ;UpgradeCameo5 = NONE
3768    
3769    Draw = W3DModelDraw ModuleTag_01
3770      OkToChangeModelColor = Yes
3771  
3772      DefaultConditionState
3773        Model = AIRPlt_SKN
3774        IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20
3775        IdleAnimation = AIRPlt_SKL.AIRPlt_IDA 
3776        IdleAnimation = AIRPlt_SKL.AIRPlt_IDB 
3777        AnimationMode = ONCE
3778        TransitionKey = TRANS_Stand
3779      End
3780  
3781      ConditionState = FREEFALL
3782        Animation = AIRPlt_SKL.AIRPLT_PFL
3783        AnimationMode = ONCE
3784        TransitionKey = TRANS_Falling
3785      End
3786      AliasConditionState = FREEFALL DYING
3787  
3788      ConditionState = PARACHUTING
3789        Animation = AIRPlt_SKL.AIRPlt_PHG
3790        AnimationMode = LOOP
3791        TransitionKey = TRANS_Chute
3792        WaitForStateToFinishIfPossible = TRANS_Falling
3793      End
3794      AliasConditionState = PARACHUTING DYING
3795  
3796      ConditionState = MOVING
3797        Animation = AIRPlt_SKL.AIRPlt_RNA 
3798        AnimationMode = LOOP
3799        TransitionKey = TRANS_Stand
3800        ParticleSysBone     = None InfantryDustTrails
3801      End
3802      
3803  
3804      ConditionState = DYING
3805        Animation = AIRPlt_SKL.AIRPlt_DTA 
3806        Animation = AIRPlt_SKL.AIRPlt_DTB 
3807        AnimationMode = ONCE
3808        TransitionKey = TRANS_Dying
3809      End
3810  
3811      TransitionState = TRANS_Dying TRANS_Flailing
3812        Animation = AIRPlt_SKL.AIRPlt_ADTE1
3813        AnimationMode = ONCE
3814      End
3815  
3816      ConditionState = DYING EXPLODED_FLAILING
3817        Animation = AIRPlt_SKL.AIRPlt_ADTE2
3818        AnimationMode = LOOP
3819        TransitionKey = TRANS_Flailing
3820      End
3821  
3822      ConditionState = DYING EXPLODED_BOUNCING
3823        Animation = AIRPlt_SKL.AIRPlt_ADTE3
3824        AnimationMode = ONCE
3825        TransitionKey = None
3826      End
3827  
3828      ConditionState = SPECIAL_CHEERING
3829        Animation = AIRPLT_SKL.AIRPLT_CHA
3830        AnimationMode = LOOP
3831      End
3832  
3833      ;@TODO -- MISSING ANIMATION FILE
3834      ;TransitionState = TRANS_Falling TRANS_Chute
3835      ;  Animation = AIRPLT_SKL.AIRPLT_POP
3836      ;  AnimationMode = ONCE
3837      ;  Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
3838      ;End
3839      
3840      TransitionState = TRANS_Chute TRANS_Stand
3841        Animation = AIRPlt_SKL.AIRPlt_PTD
3842        AnimationMode = ONCE
3843      End
3844  
3845    End
3846  
3847    ; ***DESIGN parameters ***
3848    DisplayName = OBJECT:Pilot
3849    Side = AmericaLaserGeneral
3850    EditorSorting = INFANTRY
3851    TransportSlotCount = 1               ;how many "slots" we take in a transport (0 == not transportable)
3852    ExperienceValue    = 10 10 10 10 ;Experience point value at each level
3853    ExperienceRequired =  0 1 2 3 ;Experience points needed to gain each level
3854    IsTrainable     = Yes  ;Can gain experience
3855    CommandSet = AmericaInfantryPilotCommandSet
3856  
3857    ArmorSet
3858      Conditions      = None
3859      Armor           = HumanArmor
3860      DamageFX        = InfantryDamageFX
3861    End
3862  
3863    VisionRange = 150
3864    ShroudClearingRange = 300
3865    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
3866  
3867    ; *** AUDIO Parameters ***
3868    VoiceSelect = PilotVoiceSelect
3869    VoiceMove = PilotVoiceMove
3870    VoiceAttack = PilotVoiceMove
3871    VoiceGarrison = NoSound
3872    VoiceFear = PilotVoiceFear
3873    UnitSpecificSounds
3874      VoiceEnter = PilotVoiceEnter
3875      VoiceEnterHostile     = PilotVoiceEnter
3876      VoiceGetHealed      = PilotVoiceMove
3877    End
3878  
3879    ; *** ENGINEERING Parameters ***
3880    RadarPriority = UNIT
3881    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL
3882  
3883    Behavior = VeterancyGainCreate ModuleTag_02
3884      ; omit the "ScienceRequired" so that this upgrade always occurs.
3885      ; Pilots should never (repeat, never) be less than VETERAN status.
3886      StartingLevel = VETERAN
3887    End
3888  
3889    Behavior = VeterancyCrateCollide       ModuleTag_03
3890      RequiredKindOf = VEHICLE      ; we only give our bonus to VEHICLEs we collide with
3891      ForbiddenKindOf = DOZER       ; but not to TRANSPORTs or DOZERs!
3892      EffectRange = 0               ; 0=="affect only the thing you collide with"
3893      AddsOwnerVeterancy = Yes      ; we add our own veterancy to the target (rather than just +1 level)
3894      IsPilot = Yes                 ; set the pilot flag because it's different than the veterancy crate and has extra checking
3895    End
3896  
3897    Body = ActiveBody ModuleTag_04
3898      MaxHealth       = 100.0
3899      InitialHealth   = 100.0
3900    End
3901  
3902    Behavior = AIUpdateInterface ModuleTag_05
3903      AutoAcquireEnemiesWhenIdle = Yes
3904    End
3905  
3906    Behavior = AutoFindHealingUpdate   ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 
3907      ScanRate = 1000 ; once a second.
3908      ScanRange = 300 ;
3909      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
3910      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
3911    End
3912  
3913    Behavior = PilotFindVehicleUpdate   ModuleTag_07 ; This update will have the unit go to a vehicle. jba 
3914      ScanRate = 1000 ; once a second.
3915      ScanRange = 300 ;
3916      MinHealth = 0.5 ;  don't enter a vehicle less than 50% healthy.
3917    End
3918  
3919    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor
3920    Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25
3921  
3922    Behavior = PhysicsBehavior ModuleTag_08
3923      Mass = 5.0
3924    End
3925  
3926    Behavior = LocomotorSetUpgrade ModuleTag_10
3927      TriggeredBy = Upgrade_Veterancy_HEROIC
3928    End
3929  
3930    Behavior = SquishCollide ModuleTag_11
3931      ;nothing
3932    End
3933  
3934  
3935  ; --- begin Death modules ---
3936    Behavior = SlowDeathBehavior ModuleTag_Death01
3937      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
3938      SinkDelay           = 3000
3939      SinkRate            = 0.5     ; in Dist/Sec
3940      DestructionDelay    = 8000
3941      FX                  = INITIAL FX_PilotDie
3942    End
3943    Behavior = SlowDeathBehavior ModuleTag_Death02
3944      DeathTypes          = NONE +CRUSHED +SPLATTED
3945      SinkDelay           = 3000
3946      SinkRate            = 0.5     ; in Dist/Sec
3947      DestructionDelay    = 8000
3948      FX                  = INITIAL FX_GIDieCrushed
3949    End
3950    Behavior = SlowDeathBehavior ModuleTag_Death03
3951      DeathTypes          = NONE +EXPLODED
3952      SinkDelay           = 3000
3953      SinkRate            = 0.5     ; in Dist/Sec
3954      DestructionDelay    = 8000
3955      FX                  = INITIAL FX_PilotDie
3956      FlingForce          = 8
3957      FlingForceVariance  = 3
3958      FlingPitch          = 60
3959      FlingPitchVariance  = 10
3960    End
3961    Behavior = SlowDeathBehavior ModuleTag_Death04
3962      DeathTypes          = NONE +BURNED
3963      DestructionDelay    = 0
3964      FX                  = INITIAL FX_DieByFireUSA
3965      OCL                 = INITIAL OCL_FlamingInfantry
3966    End
3967    Behavior = SlowDeathBehavior ModuleTag_Death05
3968      DeathTypes          = NONE +POISONED
3969      DestructionDelay    = 0
3970      FX                  = INITIAL FX_DieByToxinUSA
3971      OCL                 = INITIAL OCL_ToxicInfantry
3972    End
3973    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
3974      DeathTypes          = NONE +POISONED_BETA
3975      DestructionDelay    = 0
3976      FX                  = INITIAL FX_DieByToxinUSA
3977      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
3978    End
3979    Behavior = SlowDeathBehavior ModuleTag_Death07
3980      DeathTypes          = NONE +POISONED_GAMMA
3981      DestructionDelay    = 0
3982      FX                  = INITIAL FX_DieByToxinGLA
3983      OCL                 = INITIAL OCL_ToxicInfantryGamma
3984    End
3985  ; --- end Death modules ---
3986  
3987    Behavior = PoisonedBehavior ModuleTag_14
3988      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
3989      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
3990    End
3991   
3992    Geometry = CYLINDER
3993    GeometryMajorRadius = 10.0
3994    GeometryMinorRadius = 10.0
3995    GeometryHeight = 12.0
3996    GeometryIsSmall = Yes
3997    Shadow = SHADOW_DECAL
3998    ShadowSizeX = 14;
3999    ShadowSizeY = 14;
4000    ShadowTexture = ShadowI;
4001    BuildCompletion = APPEARS_AT_RALLY_POINT
4002  
4003  End
4004  
4005  ;------------------------------------------------------------------------------
4006  Object Lazr_AmericaInfantryPathfinder
4007  
4008      ; *** ART Parameters ***
4009    SelectPortrait         = SAPathfinder1_L
4010    ButtonImage            = SAPathfinder1
4011    
4012    UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
4013    UpgradeCameo2 = Upgrade_AmericaChemicalSuits
4014    ;UpgradeCameo3 = NONE
4015    ;UpgradeCameo4 = NONE
4016    ;UpgradeCameo5 = NONE
4017    
4018    Draw = W3DModelDraw ModuleTag_01
4019  
4020      OkToChangeModelColor = Yes
4021  
4022      DefaultConditionState
4023        Model = AIPFDR_SKN
4024        IdleAnimation = AIPFDR_SKL.AIPFDR_STA 
4025        IdleAnimation = AIPFDR_SKL.AIPFDR_IDA
4026        AnimationMode = ONCE
4027        WeaponFireFXBone = PRIMARY Muzzle
4028        WeaponMuzzleFlash = PRIMARY MuzzleFX
4029        TransitionKey = TRANS_Standing
4030      End
4031      AliasConditionState = REALLYDAMAGED
4032  
4033      ConditionState = MOVING
4034        Animation = AIPFDR_SKL.AIPFDR_RNA 25
4035        AnimationMode = LOOP
4036        Flags = RANDOMSTART
4037        TransitionKey = TRANS_Standing
4038        ParticleSysBone   = None InfantryDustTrails
4039      End
4040      AliasConditionState = MOVING REALLYDAMAGED
4041  
4042      ConditionState  = FIRING_A 
4043        Animation     = AIPFDR_SKL.AIPFDR_ATB                 ; recoil in standing position
4044        AnimationMode = ONCE
4045        TransitionKey = TRANS_FiringA
4046      End
4047      AliasConditionState = FIRING_A MOVING
4048      AliasConditionState = FIRING_A MOVING REALLYDAMAGED
4049      AliasConditionState = FIRING_A REALLYDAMAGED
4050  
4051      ConditionState  = BETWEEN_FIRING_SHOTS_A
4052        Animation     = AIPFDR_SKL.AIPFDR_ATBST               ; motionless in standing position
4053        AnimationMode = ONCE
4054        WaitForStateToFinishIfPossible = TRANS_FiringA
4055      End
4056      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
4057      AliasConditionState = RELOADING_A
4058      AliasConditionState = RELOADING_A REALLYDAMAGED
4059  
4060      ConditionState = DYING
4061        Animation = AIPFDR_SKL.AIPFDR_DTA
4062        AnimationMode = ONCE
4063        TransitionKey = TRANS_Dying
4064      End
4065      
4066      TransitionState = TRANS_Dying TRANS_Flailing
4067        Animation = AIPFDR_SKL.AIPFDR_ADTA1
4068        AnimationMode = ONCE
4069      End
4070  
4071      ConditionState = DYING EXPLODED_FLAILING
4072        Animation = AIPFDR_SKL.AIPFDR_ADTA2
4073        AnimationMode = LOOP
4074        TransitionKey = TRANS_Flailing
4075      End
4076  
4077      ConditionState = DYING EXPLODED_BOUNCING
4078        Animation = AIPFDR_SKL.AIPFDR_ADTA3
4079        AnimationMode = ONCE
4080        TransitionKey = None
4081      End
4082  
4083      ConditionState = FREEFALL
4084        Animation = AIPFDR_SKL.AIPFDR_PFL
4085        AnimationMode = LOOP
4086        TransitionKey = TRANS_Falling
4087      End
4088      AliasConditionState = FREEFALL DYING
4089  
4090      ConditionState = PARACHUTING
4091        Animation = AIPFDR_SKL.AIPFDR_PHG
4092        AnimationMode = LOOP
4093        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
4094        ;our bone positions should come from the last frame, rather than the first
4095        TransitionKey = TRANS_Chute
4096      End
4097      AliasConditionState = PARACHUTING DYING
4098  
4099  
4100      TransitionState = TRANS_Falling TRANS_Chute
4101        Animation = AIPFDR_SKL.AIPFDR_POP
4102        AnimationMode = ONCE
4103        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  
4104        ;our bone positions should come from the last frame, rather than the first
4105      End
4106  
4107      TransitionState = TRANS_Chute TRANS_Standing
4108        Animation = AIPFDR_SKL.AIPFDR_PTD
4109        AnimationMode = ONCE
4110      End
4111    End
4112  
4113    
4114    ; ***DESIGN parameters ***
4115    DisplayName      = OBJECT:Pathfinder
4116    Side = AmericaLaserGeneral
4117    EditorSorting = INFANTRY
4118    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
4119    
4120    WeaponSet
4121      Conditions = None 
4122      Weapon = PRIMARY USAPathfinderSniperRifle
4123    End
4124    ArmorSet
4125      Conditions      = None
4126      Armor           = HumanArmor
4127      DamageFX        = InfantryDamageFX
4128    End
4129    ArmorSet
4130      Conditions      = PLAYER_UPGRADE
4131      Armor           = ChemSuitHumanArmor
4132      DamageFX        = InfantryDamageFX
4133    End
4134    VisionRange = 200
4135    ShroudClearingRange = 400
4136    Prerequisites
4137      Object = Lazr_AmericaBarracks
4138      Science = SCIENCE_Pathfinder
4139    End
4140    BuildCost = 600
4141    BuildTime = 10.0          ;in seconds  
4142    
4143    ExperienceValue = 40 40 60 80    ;Experience point value at each level
4144    ExperienceRequired = 0 50 100 200  ;Experience points needed to gain each level
4145    IsTrainable = Yes             ;Can gain experience
4146    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4147    CommandSet      = AmericaInfantryPathfinderCommandSet
4148  
4149    ; *** AUDIO Parameters ***
4150    VoiceSelect = PathfinderVoiceSelect
4151    VoiceMove = PathfinderVoiceMove
4152    VoiceGuard = PathfinderVoiceMove
4153    VoiceAttack = PathfinderVoiceAttack
4154    VoiceFear = PathfinderVoiceFear
4155    SoundStealthOn = StealthOn
4156    SoundStealthOff = StealthOff
4157    VoiceFear = PathfinderVoiceFear
4158    
4159    UnitSpecificSounds
4160      VoiceCreate          = PathfinderVoiceCreate
4161      VoiceGarrison = PathfinderVoiceGarrison
4162      VoiceEnter = PathfinderVoiceMove
4163      VoiceEnterHostile =  PathfinderVoiceMove
4164      VoiceGetHealed      = PathfinderVoiceMove
4165    End
4166  
4167    ; *** ENGINEERING Parameters ***
4168    RadarPriority = UNIT
4169    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE
4170  
4171    Body = ActiveBody ModuleTag_02
4172      MaxHealth       = 120.0
4173      InitialHealth   = 120.0
4174    End
4175  
4176    Behavior                = ArmorUpgrade ModuleTag_Armor01
4177      TriggeredBy           = Upgrade_AmericaChemicalSuits
4178    End
4179  
4180    Behavior = AIUpdateInterface ModuleTag_03
4181      AutoAcquireEnemiesWhenIdle = Yes Stealthed
4182      MoodAttackCheckRate        = 250
4183    End
4184  
4185    Behavior = AutoFindHealingUpdate   ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba 
4186      ScanRate = 1000 ; once a second.
4187      ScanRange = 300 ;
4188      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
4189      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
4190    End
4191  
4192    Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor
4193  
4194    Behavior = ExperienceScalarUpgrade ModuleTag_05
4195      TriggeredBy = Upgrade_AmericaAdvancedTraining
4196      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
4197    End
4198  
4199    Behavior = PhysicsBehavior ModuleTag_06
4200      Mass = 5.0
4201    End
4202    Behavior = StealthDetectorUpdate ModuleTag_08
4203      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
4204      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
4205      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
4206      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
4207    End
4208    Behavior = StealthUpdate ModuleTag_09
4209      StealthDelay                = 0           ; msec
4210      StealthForbiddenConditions  = MOVING ; stays stealthy while attacking
4211      FriendlyOpacityMin          = 30.0%
4212      FriendlyOpacityMax          = 80.0%
4213      PulseFrequency              = 500   ; msec
4214      MoveThresholdSpeed          = 3
4215      InnateStealth               = Yes
4216      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4217    End
4218   
4219    Behavior = SquishCollide ModuleTag_10
4220      ;nothing
4221    End
4222  
4223  
4224  ; --- begin Death modules ---
4225    Behavior = SlowDeathBehavior ModuleTag_Death01
4226      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
4227      SinkDelay           = 3000
4228      SinkRate            = 0.5     ; in Dist/Sec
4229      DestructionDelay    = 8000
4230      FX                  = INITIAL FX_PathfinderDie
4231    End
4232    Behavior = SlowDeathBehavior ModuleTag_Death02
4233      DeathTypes          = NONE +CRUSHED +SPLATTED
4234      SinkDelay           = 3000
4235      SinkRate            = 0.5     ; in Dist/Sec
4236      DestructionDelay    = 8000
4237      FX                  = INITIAL FX_GIDieCrushed
4238    End
4239    Behavior = SlowDeathBehavior ModuleTag_Death03
4240      DeathTypes          = NONE +EXPLODED
4241      SinkDelay           = 3000
4242      SinkRate            = 0.5     ; in Dist/Sec
4243      DestructionDelay    = 8000
4244      FX                  = INITIAL FX_PathfinderDie
4245      FlingForce          = 8
4246      FlingForceVariance  = 3
4247      FlingPitch          = 60
4248      FlingPitchVariance  = 10
4249    End
4250    Behavior = SlowDeathBehavior ModuleTag_Death04
4251      DeathTypes          = NONE +BURNED
4252      DestructionDelay    = 0
4253      FX                  = INITIAL FX_DieByFireUSA
4254      OCL                 = INITIAL OCL_FlamingInfantry
4255    End
4256    Behavior = SlowDeathBehavior ModuleTag_Death05
4257      DeathTypes          = NONE +POISONED
4258      DestructionDelay    = 0
4259      FX                  = INITIAL FX_DieByToxinUSA
4260      OCL                 = INITIAL OCL_ToxicInfantry
4261    End
4262    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
4263      DeathTypes          = NONE +POISONED_BETA
4264      DestructionDelay    = 0
4265      FX                  = INITIAL FX_DieByToxinUSA
4266      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
4267    End
4268    Behavior = SlowDeathBehavior ModuleTag_Death07
4269      DeathTypes          = NONE +POISONED_GAMMA
4270      DestructionDelay    = 0
4271      FX                  = INITIAL FX_DieByToxinGLA
4272      OCL                 = INITIAL OCL_ToxicInfantryGamma
4273    End
4274  ; --- end Death modules ---
4275  
4276    Behavior = PoisonedBehavior ModuleTag_13
4277      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
4278      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
4279    End
4280   
4281    Geometry = CYLINDER
4282    GeometryMajorRadius = 10.0
4283    GeometryMinorRadius = 10.0
4284    GeometryHeight = 12.0
4285    GeometryIsSmall = Yes
4286    Shadow = SHADOW_DECAL
4287    ShadowSizeX = 14;
4288    ShadowSizeY = 14;
4289    ShadowTexture = ShadowI;
4290    BuildCompletion = APPEARS_AT_RALLY_POINT
4291  
4292  End
4293  
4294  
4295  
4296  
4297  
4298  
4299  
4300  
4301  
4302  
4303  
4304  
4305  
4306  
4307  
4308  
4309  
4310  
4311  
4312  
4313  
4314  
4315  
4316  
4317  
4318  
4319  
4320  
4321  
4322  
4323  
4324  
4325  
4326  
4327  
4328  
4329  
4330  
4331  
4332  
4333  
4334  
4335  
4336  
4337  
4338  
4339  
4340  
4341  
4342  
4343  
4344  
4345  
4346  
4347  
4348  
4349  
4350  
4351  
4352  
4353  
4354  
4355  
4356  
4357  
4358  
4359  
4360  
4361  
4362  
4363  
4364  
4365  
4366  
4367  ;------------------------------------------------------------------------------
4368  Object Lazr_AmericaVehicleHumvee
4369  
4370    ; *** ART Parameters ***
4371    SelectPortrait         = SAHummer_L
4372    ButtonImage            = SAHummer
4373    
4374    UpgradeCameo1 = Upgrade_AmericaBattleDrone
4375    UpgradeCameo2 = Upgrade_AmericaScoutDrone
4376    UpgradeCameo3 = Upgrade_AmericaTOWMissile
4377    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
4378    UpgradeCameo5 = Upgrade_AmericaHellfireDrone
4379    
4380    Draw = W3DTruckDraw ModuleTag_01
4381      OkToChangeModelColor = Yes
4382  
4383      ConditionState = NONE
4384        Model = AVHUMMER
4385        Turret = Turret
4386        ShowSubObject = Turret
4387        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
4388        WeaponFireFXBone = PRIMARY Muzzle
4389        WeaponMuzzleFlash = PRIMARY MuzzleFX
4390      End
4391  
4392      ConditionState = REALLYDAMAGED
4393        Model = AVHUMMER_d
4394        Turret = Turret
4395        ShowSubObject = Turret
4396        HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
4397        WeaponFireFXBone = PRIMARY Muzzle
4398        WeaponMuzzleFlash = PRIMARY MuzzleFX
4399      End
4400  
4401      ConditionState = WEAPONSET_PLAYER_UPGRADE
4402        Model = AVHUMMER
4403        Turret = TurretUp01
4404        HideSubObject = Turret MuzzleFX01
4405        ShowSubObject = TurretUp01 Housecolor03
4406        WeaponFireFXBone = PRIMARY MuzzleUp
4407        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
4408        WeaponFireFXBone = SECONDARY WeaponB
4409        WeaponLaunchBone = SECONDARY WeaponB
4410        WeaponFireFXBone = TERTIARY WeaponB
4411        WeaponLaunchBone = TERTIARY WeaponB
4412      End
4413  
4414      ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
4415        Model = AVHUMMER_d
4416        Turret = TurretUp01
4417        HideSubObject = Turret MuzzleFX01
4418        ShowSubObject = TurretUp01 Housecolor03
4419        WeaponFireFXBone = PRIMARY MuzzleUp
4420        WeaponMuzzleFlash = PRIMARY MuzzleFXUp
4421        WeaponFireFXBone = SECONDARY WeaponB
4422        WeaponLaunchBone = SECONDARY WeaponB
4423        WeaponFireFXBone = TERTIARY WeaponB
4424        WeaponLaunchBone = TERTIARY WeaponB
4425      End
4426  
4427      TrackMarks = EXTireTrack.tga
4428  
4429      Dust = RocketBuggyDust
4430      DirtSpray = RocketBuggyDirtSpray
4431      PowerslideSpray = RocketBuggyDirtPowerSlide
4432  
4433      ; These parameters are only used if the model has a separate suspension, 
4434      ; and the locomotor has HasSuspension = Yes.
4435      LeftFrontTireBone = Tire01
4436      RightFrontTireBone = Tire02
4437      LeftRearTireBone = Tire03
4438      RightRearTireBone = Tire04
4439      TireRotationMultiplier = 0.2   ; this * speed = rotation.
4440      PowerslideRotationAddition = 1.25   ; This speed is added to the rotation speed when powersliding.
4441  
4442    End
4443  
4444    ; ***DESIGN parameters ***
4445    DisplayName           = OBJECT:Humvee
4446    Side                  = AmericaLaserGeneral
4447    EditorSorting         = VEHICLE
4448    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
4449    WeaponSet
4450      Conditions = None 
4451      Weapon = PRIMARY HumveeGun
4452    End
4453    WeaponSet
4454      Conditions = PLAYER_UPGRADE 
4455      Weapon = PRIMARY HumveeGun
4456      Weapon = SECONDARY HumveeMissileWeapon
4457      Weapon = TERTIARY HumveeMissileWeaponAir
4458      PreferredAgainst = TERTIARY     AIRCRAFT
4459    End
4460    ArmorSet
4461      Conditions      = None
4462      Armor           = HumveeArmor
4463      DamageFX        = TruckDamageFX
4464    End
4465    BuildCost       = 700
4466    BuildTime       = 10.0          ;in seconds    
4467    VisionRange     = 150
4468    ShroudClearingRange = 320
4469    Prerequisites
4470      Object = Lazr_AmericaWarFactory
4471    End
4472    ExperienceValue = 50 50 100 150   ;Experience point value at each level
4473    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
4474    IsTrainable = Yes             ;Can gain experience
4475    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
4476    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4477    CommandSet      = Lazr_AmericaVehicleHumveeCommandSet
4478  
4479    ; *** AUDIO Parameters ***
4480    VoiceSelect = HumveeVoiceSelect
4481    VoiceMove = HumveeVoiceMove
4482    VoiceGuard = HumveeVoiceMove
4483    VoiceAttack = HumveeVoiceAttack
4484    VoiceAttackAir = HumveeVoiceAttackTOW
4485    SoundMoveStart = HumveeMoveStart
4486    SoundMoveStartDamaged = HumveeMoveStart
4487    SoundEnter = HumveeEnter
4488    SoundExit = HumveeExit
4489  
4490    UnitSpecificSounds
4491      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4492      ;TurretMoveStart    = NoSound
4493      VoiceCreate         = HumveeVoiceCreate
4494      TurretMoveLoop      = TurretMoveLoop
4495      SoundEject          = PilotSoundEject
4496      VoiceEject          = PilotVoiceEject
4497      VoiceCrush          = HumveeVoiceCrush
4498    ; Required for the W3DTruckDraw module
4499      TruckLandingSound = RocketBuggyLand
4500      TruckPowerslideSound = RocketBuggyPowerslide
4501      VoiceUnload = HumveeVoiceUnload
4502      VoiceEnter = HumveeVoiceMove
4503    End
4504  
4505  
4506    ; *** ENGINEERING Parameters ***
4507    RadarPriority = UNIT
4508    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
4509  
4510    Body = ActiveBody ModuleTag_02
4511      MaxHealth       = 240.0
4512      InitialHealth   = 240.0
4513  
4514      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4515      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4516      SubdualDamageCap = 480
4517      SubdualDamageHealRate = 500
4518      SubdualDamageHealAmount = 50
4519    End
4520    Behavior = TransportAIUpdate ModuleTag_03
4521      Turret
4522        TurretTurnRate = 180
4523        RecenterTime = 5000   ; how long to wait during idle before recentering
4524        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
4525      End
4526      AutoAcquireEnemiesWhenIdle = Yes
4527      MoodAttackCheckRate        = 250
4528    End
4529    Locomotor = SET_NORMAL HumveeLocomotor
4530  
4531    Behavior = PhysicsBehavior ModuleTag_04
4532      Mass = 50.0
4533    End
4534  
4535    Behavior = TransportContain  ModuleTag_05
4536      PassengersAllowedToFire = Yes
4537      Slots             = 5
4538      EnterSound          = GarrisonEnter
4539      ExitSound           = GarrisonExit
4540      DamagePercentToUnits = 100% ;10%
4541      AllowInsideKindOf  = INFANTRY
4542      ExitDelay = 250
4543      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
4544      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
4545    End
4546  
4547    Behavior = ObjectCreationUpgrade ModuleTag_06
4548      UpgradeObject = Lazr_OCL_AmericanBattleDrone
4549      TriggeredBy   = Upgrade_AmericaBattleDrone
4550      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
4551    End
4552    Behavior = ObjectCreationUpgrade ModuleTag_07
4553      UpgradeObject = OCL_AmericanScoutDrone
4554      TriggeredBy   = Upgrade_AmericaScoutDrone
4555      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
4556    End
4557    Behavior = ObjectCreationUpgrade ModuleTag_14
4558      UpgradeObject = OCL_AmericanHellfireDrone
4559      TriggeredBy   = Upgrade_AmericaHellfireDrone
4560      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
4561    End
4562  
4563    Behavior = ProductionUpdate ModuleTag_08
4564      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
4565    End
4566  
4567    Behavior = WeaponSetUpgrade ModuleTag_09
4568      TriggeredBy = Upgrade_AmericaTOWMissile
4569    End
4570    Behavior = ExperienceScalarUpgrade ModuleTag_10
4571      TriggeredBy = Upgrade_AmericaAdvancedTraining
4572      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
4573    End
4574  
4575    Behavior = SlowDeathBehavior ModuleTag_11
4576      DeathTypes = ALL -CRUSHED -SPLATTED
4577      ProbabilityModifier = 25
4578      DestructionDelay = 1
4579      OCL = INITIAL  OCL_InitialHumveeDebris
4580      FX  = FINAL    FX_BattleMasterExplosionOneFinal
4581      OCL = FINAL    OCL_FinalHumveeDebris
4582    End
4583  
4584    Behavior = DestroyDie ModuleTag_12
4585      DeathTypes = NONE +CRUSHED +SPLATTED
4586    End
4587  
4588    Behavior = FXListDie ModuleTag_13
4589      DeathTypes = NONE +CRUSHED +SPLATTED
4590      DeathFX = FX_CarCrush
4591    End
4592  
4593    Behavior = CreateCrateDie ModuleTag_CratesChange
4594      CrateData = SalvageCrateData
4595      ;CrateData = EliteTankCrateData
4596      ;CrateData = HeroicTankCrateData
4597    End
4598  
4599  ; This is commented out per hotlist request 10/9 ML
4600  ;  Behavior = CreateObjectDie ModuleTag_15
4601  ;    DeathTypes = ALL -CRUSHED -SPLATTED
4602  ;    CreationList = OCL_AmericanRangerDebris01
4603  ;    ExemptStatus = HIJACKED
4604  ;  End
4605  
4606    Behavior = EjectPilotDie ModuleTag_16
4607      DeathTypes = ALL -CRUSHED -SPLATTED
4608      ExemptStatus = HIJACKED
4609      ; The following added out per hotlist request 10/9 as above ML
4610      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
4611      GroundCreationList = OCL_EjectPilotOnGround
4612      AirCreationList = OCL_EjectPilotViaParachute
4613    End
4614  
4615    Behavior = TransitionDamageFX ModuleTag_17
4616      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
4617      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
4618    End
4619  
4620    Behavior = FlammableUpdate ModuleTag_21
4621      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4622      AflameDamageAmount = 3       ; taking this much damage...
4623      AflameDamageDelay = 500       ; this often.
4624    End
4625  
4626    Geometry = BOX
4627    GeometryMajorRadius = 14.0
4628    GeometryMinorRadius = 7.0
4629    GeometryHeight = 11.5     
4630    GeometryIsSmall = Yes 
4631    Shadow = SHADOW_VOLUME
4632    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
4633  
4634  End
4635  
4636  
4637  
4638  
4639  
4640  
4641  
4642  
4643  
4644  
4645  
4646  
4647  
4648  ;----------------------------------------------------------
4649  Object Lazr_AmericaVehicleTomahawk
4650  
4651    ; *** ART Parameters ***
4652    SelectPortrait         = SACTomahawk_L
4653    ButtonImage            = SACTomahawk
4654    
4655    UpgradeCameo1 = Upgrade_AmericaScoutDrone
4656    UpgradeCameo2 = Upgrade_AmericaBattleDrone
4657    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
4658    UpgradeCameo4 = Upgrade_AmericaHellfireDrone
4659    ;UpgradeCameo5 = XXX
4660    
4661    Draw = W3DTankDraw ModuleTag_01
4662      OkToChangeModelColor = Yes
4663        
4664      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
4665  
4666      DefaultConditionState
4667        Model = AVTomahawk
4668        Turret = TURRET
4669        TurretPitch = TURRETEL
4670        WeaponLaunchBone = PRIMARY WeaponA
4671        WeaponHideShowBone = PRIMARY MISSILE
4672      End
4673  
4674      ConditionState = REALLYDAMAGED
4675        Model = AVTomahawk_D
4676      End
4677      AliasConditionState = RUBBLE
4678  
4679      TrackMarks           = EXTnkTrack.tga
4680  
4681    End
4682  
4683    ; ***DESIGN parameters ***
4684    DisplayName      = OBJECT:Tomahawk
4685    Side = AmericaLaserGeneral
4686    EditorSorting   = VEHICLE
4687    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
4688    BuildCost       = 1200
4689    BuildTime       = 20.0          ;in seconds    
4690    VisionRange     = 180
4691    ShroudClearingRange = 200
4692    Prerequisites
4693      Object = Lazr_AmericaWarFactory
4694      Object = Lazr_AmericaStrategyCenter
4695    End
4696    ExperienceValue = 50 50 100 150    ;Experience point value at each level
4697    ExperienceRequired = 0 200 400 800  ;Experience points needed to gain each level
4698    IsTrainable = Yes             ;Can gain experience
4699    WeaponSet
4700      Conditions = None 
4701      Weapon = PRIMARY TomahawkMissileWeapon
4702    End
4703    ArmorSet
4704      Conditions      = None
4705      Armor           = TruckArmor
4706      DamageFX        = TankDamageFX
4707    End
4708    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
4709    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4710    CommandSet      = AmericaVehicleTomahawkCommandSet
4711  
4712    ; *** AUDIO Parameters ***
4713    VoiceSelect = TomahawkVoiceSelect
4714    VoiceMove = TomahawkVoiceMove
4715    VoiceGuard = TomahawkVoiceMove
4716    VoiceAttack = TomahawkVoiceAttack
4717    SoundMoveStart = TomahawkMoveStart
4718    SoundMoveStartDamaged = TomahawkMoveStart
4719    
4720    UnitSpecificSounds
4721      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4722      VoiceCreate = TomahawkVoiceCreate
4723      TurretMoveStart = NoSound
4724      TurretMoveLoop = TurretMoveLoopLoud
4725      SoundEject = PilotSoundEject
4726      VoiceEject = PilotVoiceEject
4727      VoiceCrush = TomahawkVoiceCrush
4728      VoiceEnter = TomahawkVoiceMove
4729      VoiceBombard = TomahawkVoiceAttack
4730    End
4731  
4732    ; *** ENGINEERING Parameters ***
4733    RadarPriority = UNIT
4734    KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
4735  
4736    Body = ActiveBody ModuleTag_02
4737      MaxHealth       = 180.0
4738      InitialHealth   = 180.0
4739  
4740      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4741      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4742      SubdualDamageCap = 360
4743      SubdualDamageHealRate = 500
4744      SubdualDamageHealAmount = 50
4745    End
4746  
4747    Behavior = AIUpdateInterface ModuleTag_03
4748      Turret
4749        TurretTurnRate = 60   ; turn rate, in degrees per sec
4750        TurretPitchRate = 60
4751        FirePitch = 70  ; Instead of aiming pitchwise at the target, it will aim here
4752        AllowsPitch = Yes
4753        ControlledWeaponSlots = PRIMARY
4754      End
4755      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
4756    End
4757    Locomotor = SET_NORMAL TomahawkLocomotor
4758  
4759    Behavior = PhysicsBehavior ModuleTag_04
4760      Mass = 50.0
4761    End
4762    Behavior = SlowDeathBehavior ModuleTag_05
4763      DeathTypes = ALL -CRUSHED -SPLATTED
4764      DestructionDelay  = 500
4765      DestructionDelayVariance  = 100
4766      FX  = INITIAL  FX_GenericTankDeathEffect
4767      OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie
4768      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
4769    End
4770  
4771    Behavior = ObjectCreationUpgrade ModuleTag_06
4772      UpgradeObject = Lazr_OCL_AmericanBattleDrone
4773      TriggeredBy   = Upgrade_AmericaBattleDrone
4774      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
4775    End
4776    Behavior = ObjectCreationUpgrade ModuleTag_07
4777      UpgradeObject = OCL_AmericanScoutDrone
4778      TriggeredBy   = Upgrade_AmericaScoutDrone
4779      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
4780    End
4781    Behavior = ObjectCreationUpgrade ModuleTag_15
4782      UpgradeObject = OCL_AmericanHellfireDrone
4783      TriggeredBy   = Upgrade_AmericaHellfireDrone
4784      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
4785    End
4786  
4787    Behavior = ProductionUpdate ModuleTag_08
4788      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
4789    End
4790  
4791    Behavior = ExperienceScalarUpgrade ModuleTag_09
4792      TriggeredBy = Upgrade_AmericaAdvancedTraining
4793      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
4794    End
4795  
4796    Behavior = DestroyDie ModuleTag_10
4797      DeathTypes = NONE +CRUSHED +SPLATTED
4798    End
4799  
4800    Behavior = FXListDie ModuleTag_11
4801      DeathTypes = NONE +CRUSHED +SPLATTED
4802      DeathFX = FX_CarCrush
4803    End
4804  
4805    Behavior = CreateObjectDie ModuleTag_12
4806      DeathTypes = NONE +CRUSHED +SPLATTED
4807      CreationList = OCL_CrusaderTank_CrushEffect
4808    End
4809  
4810  ;  Behavior = FXListDie
4811  ;    DeathTypes = ALL -CRUSHED -SPLATTED
4812  ;    DeathFX = FX_GenericTankDeathEffect
4813  ;  End
4814  ; Behavior = CreateObjectDie
4815  ;    DeathTypes = ALL -CRUSHED -SPLATTED
4816  ;    CreationList = OCL_GenericTankDeathEffect
4817  ;  End
4818    Behavior = EjectPilotDie ModuleTag_13
4819      DeathTypes = ALL -CRUSHED -SPLATTED
4820      ExemptStatus = HIJACKED
4821      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
4822      GroundCreationList = OCL_EjectPilotOnGround
4823      AirCreationList = OCL_EjectPilotViaParachute
4824    End
4825    
4826    Behavior = TransitionDamageFX ModuleTag_14
4827      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
4828      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
4829    End
4830    
4831    Behavior = FlammableUpdate ModuleTag_21
4832      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4833      AflameDamageAmount = 3       ; taking this much damage...
4834      AflameDamageDelay = 500       ; this often.
4835    End
4836  
4837    Geometry = BOX
4838    GeometryMajorRadius = 15.0
4839    GeometryMinorRadius = 10.0
4840    GeometryHeight = 10.0     
4841    GeometryIsSmall = Yes
4842    Shadow = SHADOW_VOLUME 
4843    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length   
4844  
4845  End
4846  
4847  
4848  
4849  
4850  
4851  
4852  
4853  
4854  
4855  
4856  
4857  
4858  
4859  
4860  ;------------------------------------------------------------------------------
4861  ; Also known as the Ambulance
4862  Object Lazr_AmericaVehicleMedic
4863  
4864    ; *** ART Parameters ***
4865    SelectPortrait         = SAAmbulance_L
4866    ButtonImage            = SAAmbulance
4867    
4868    UpgradeCameo1 = Upgrade_AmericaBattleDrone
4869    UpgradeCameo2 = Upgrade_AmericaScoutDrone
4870    ;UpgradeCameo3 = NONE
4871    ;UpgradeCameo4 = NONE
4872    ;UpgradeCameo5 = NONE
4873    
4874    Draw = W3DTruckDraw ModuleTag_01
4875  
4876      ConditionState = NONE
4877        Model = AVAmbulance
4878        Turret = Turret
4879        TurretPitch = TurretEL
4880        WeaponFireFXBone = PRIMARY WeaponA
4881        WeaponLaunchBone = PRIMARY WeaponA
4882      End
4883      ConditionState       = REALLYDAMAGED
4884        Model              = AVAmbulance_D
4885        Turret = Turret
4886        TurretPitch = TurretEL
4887        WeaponFireFXBone = PRIMARY WeaponA
4888        WeaponLaunchBone = PRIMARY WeaponA
4889      End      
4890      
4891      ConditionState       = RUBBLE
4892        Model              = AVAmbulance_D
4893      End      
4894      
4895      TrackMarks = EXTireTrack.tga
4896      OkToChangeModelColor = Yes
4897  
4898      Dust = RocketBuggyDust
4899      DirtSpray = RocketBuggyDirtSpray
4900      PowerslideSpray = RocketBuggyDirtPowerSlide
4901  
4902      ; These parameters are only used if the model has a separate suspension, 
4903      ; and the locomotor has HasSuspension = Yes.
4904      LeftFrontTireBone = Tire01
4905      RightFrontTireBone = Tire02
4906      LeftRearTireBone = Tire03
4907      RightRearTireBone = Tire04
4908      TireRotationMultiplier = 0.2        ; this * speed = rotation.
4909      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
4910  
4911  
4912    End
4913  
4914    ; ***DESIGN parameters ***
4915    DisplayName      = OBJECT:Medic
4916    Side = AmericaLaserGeneral
4917    EditorSorting   = VEHICLE
4918    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
4919    WeaponSet 
4920      ;*** Fully automated and driven by the CleanupHazardUpdate ***
4921      Conditions        = None 
4922      Weapon            = PRIMARY AmbulanceCleanHazardWeapon 
4923      AutoChooseSources = PRIMARY NONE
4924    End
4925    ArmorSet
4926      Conditions      = None
4927      Armor           = ToxinTruckArmor 
4928      DamageFX        = TruckDamageFX
4929    End
4930    BuildCost       = 600
4931    BuildTime       = 10.0          ;in seconds    
4932    VisionRange     = 100
4933    ShroudClearingRange = 400
4934    Prerequisites
4935      Object = Lazr_AmericaWarFactory
4936    End
4937    ExperienceValue    = 50 50 50 50 ;Experience point value at each level
4938    IsTrainable     = No
4939    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
4940    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
4941    CommandSet      = Lazr_AmericaVehicleAmbulanceCommandSet
4942    
4943    ; *** AUDIO Parameters ***
4944    VoiceSelect = AmbulanceVoiceSelect
4945    VoiceMove = AmbulanceVoiceMove
4946    VoiceGuard = AmbulanceVoiceMove
4947    VoiceAttack = AmbulanceVoiceDetox
4948    SoundMoveStart = HumveeMoveStart
4949    SoundMoveStartDamaged = HumveeMoveStart
4950    SoundEnter = HumveeEnter
4951    SoundExit = HumveeExit
4952  
4953    UnitSpecificSounds
4954      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4955      VoiceCreate          = AmbulanceVoiceCreate
4956      TurretMoveStart = NoSound
4957      TurretMoveLoop = TurretMoveLoop
4958      ; Required for the W3DTruckDraw module
4959      TruckLandingSound = RocketBuggyLand
4960      TruckPowerslideSound = RocketBuggyPowerslide
4961      VoiceCrush          = AmbulanceVoiceCrush
4962      VoiceEnter = AmbulanceVoiceMove
4963    End
4964  
4965  
4966    ; *** ENGINEERING Parameters ***
4967    RadarPriority = UNIT
4968    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT
4969    
4970    Body = ActiveBody ModuleTag_02
4971      MaxHealth       = 240.0
4972      InitialHealth   = 240.0
4973  
4974      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4975      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4976      SubdualDamageCap = 480
4977      SubdualDamageHealRate = 500
4978      SubdualDamageHealAmount = 50
4979    End
4980  
4981    Behavior = CleanupHazardUpdate ModuleTag_03
4982      WeaponSlot            = PRIMARY
4983      ScanRate              = 1000
4984      ScanRange             = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move!
4985    End
4986  
4987    ;Can be ordered to clean up a larger area with the ability to move around at an extended range.
4988    Behavior = CleanupAreaPower ModuleTag_04
4989      SpecialPowerTemplate          = SpecialAbilityAmbulanceCleanupArea
4990      MaxMoveDistanceFromLocation   = 300.0 ;allows the unit to move around while cleaning up
4991      InitiateSound = AmbulanceVoiceDetox
4992    End
4993  
4994    Behavior = TransportAIUpdate ModuleTag_05
4995     AutoAcquireEnemiesWhenIdle = No  ;CleanupHazardUpdate handles this...
4996     Turret
4997        TurretTurnRate = 180
4998        TurretPitchRate = 180
4999        AllowsPitch = Yes
5000        MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
5001        TurretFireAngleSweep = PRIMARY 25
5002        ControlledWeaponSlots = PRIMARY
5003      End
5004    End
5005    Locomotor = SET_NORMAL HumveeLocomotor
5006  
5007    Behavior = TransportContain ModuleTag_06
5008      Slots               = 3
5009      HealthRegen%PerSec  = 25
5010      DamagePercentToUnits = 10%
5011      AllowInsideKindOf   = INFANTRY
5012      AllowAlliesInside   = Yes
5013      AllowNeutralInside  = No
5014      AllowEnemiesInside  = No
5015      ExitDelay = 250
5016      NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
5017      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
5018    End
5019  
5020    Behavior = PhysicsBehavior ModuleTag_07
5021      Mass = 50.0
5022    End
5023    Behavior = SlowDeathBehavior ModuleTag_08
5024      DeathTypes = ALL -CRUSHED -SPLATTED
5025      DestructionDelay = 0
5026      FX  = FINAL FX_GenericTankDeathExplosion
5027      OCL = FINAL OCL_FinalAmbulanceDebris
5028    End
5029  
5030    Behavior = ObjectCreationUpgrade ModuleTag_09
5031      UpgradeObject = Lazr_OCL_AmericanBattleDrone
5032      TriggeredBy   = Upgrade_AmericaBattleDrone
5033      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
5034    End
5035    Behavior = ObjectCreationUpgrade ModuleTag_10
5036      UpgradeObject = OCL_AmericanScoutDrone
5037      TriggeredBy   = Upgrade_AmericaScoutDrone
5038      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
5039    End
5040    Behavior = ObjectCreationUpgrade ModuleTag_19
5041      UpgradeObject = OCL_AmericanHellfireDrone
5042      TriggeredBy   = Upgrade_AmericaHellfireDrone
5043      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
5044    End
5045    Behavior = ProductionUpdate ModuleTag_11
5046      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
5047    End
5048  
5049    Behavior = DestroyDie ModuleTag_12
5050      DeathTypes = NONE +CRUSHED +SPLATTED
5051    End
5052  
5053    Behavior = FXListDie ModuleTag_13
5054      DeathTypes = NONE +CRUSHED +SPLATTED
5055      DeathFX = FX_CarCrush
5056    End
5057  
5058    Behavior = CreateObjectDie ModuleTag_14
5059      DeathTypes = NONE +CRUSHED +SPLATTED
5060      CreationList = OCL_CrusaderTank_CrushEffect
5061    End
5062  
5063    Behavior = FXListDie ModuleTag_15
5064      DeathTypes = ALL -CRUSHED -SPLATTED
5065      DeathFX = FX_GenericTankDeathEffect
5066    End
5067  
5068    Behavior = CreateCrateDie ModuleTag_16
5069      CrateData = SalvageCrateData
5070      ;CrateData = EliteTankCrateData
5071      ;CrateData = HeroicTankCrateData
5072    End
5073  
5074    Behavior = ExperienceScalarUpgrade ModuleTag_17
5075      TriggeredBy = Upgrade_AmericaAdvancedTraining
5076      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
5077    End
5078  
5079    Behavior = TransitionDamageFX ModuleTag_18
5080      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5081      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
5082    End
5083  
5084    Behavior = FlammableUpdate ModuleTag_21
5085      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5086      AflameDamageAmount = 3       ; taking this much damage...
5087      AflameDamageDelay = 500       ; this often.
5088  
5089    End
5090  
5091    Behavior = AutoHealBehavior ModuleTag_22
5092      HealingAmount     = 4
5093      HealingDelay      = 1000 ; msec
5094      Radius            = 100.0f
5095      StartsActive      = Yes
5096      KindOf            = INFANTRY
5097    End
5098  
5099    Geometry = BOX
5100    GeometryMajorRadius = 14.0
5101    GeometryMinorRadius = 7.0
5102    GeometryHeight = 12.0  ; height set to allow clear clipping of projectile streams   
5103    GeometryIsSmall = Yes   
5104    Shadow = SHADOW_VOLUME 
5105  
5106  End
5107  
5108  ;------------------------------------------------------------------------------
5109  Object Lazr_AmericaVehicleBattleDrone
5110  
5111    ; *** ART Parameters ***
5112    SelectPortrait         = SABattleDrone_L
5113    ButtonImage            = SABattleDrone
5114    
5115    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5116    ;UpgradeCameo2 = NONE
5117    ;UpgradeCameo3 = NONE
5118    ;UpgradeCameo4 = NONE
5119    ;UpgradeCameo5 = NONE
5120  
5121    ;MAIN CHASSIS
5122    Draw = W3DModelDraw ModuleTag_01
5123      OkToChangeModelColor = Yes
5124  
5125      DefaultConditionState
5126        Model = AVBATTLEDR
5127        Animation = AVBATTLEDR.AVBATTLEDR
5128        AnimationMode = LOOP
5129        Turret = Turret01
5130        TurretPitch = TurretEL01
5131        WeaponMuzzleFlash = PRIMARY TurretFX01
5132        WeaponFireFXBone = PRIMARY Muzzle01
5133      End
5134  
5135      ConditionState = REALLYDAMAGED
5136        Model = AVBATTLEDR_D
5137        Animation = AVBATTLEDR_D.AVBATTLEDR_D
5138        AnimationMode = LOOP
5139      End
5140    End
5141  
5142    ;EXTENDING ARM (FOR REPAIRING)
5143    Draw = W3DModelDraw ModuleTag_02
5144      OkToChangeModelColor = Yes
5145  
5146      DefaultConditionState
5147        Model = AVBATTLEDR_A
5148      End
5149  
5150      ;Unloading the arm (before starting to repair)
5151      ConditionState = UNPACKING
5152        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
5153        AnimationMode = ONCE
5154      End
5155  
5156      ;Loading the arm (after reparing complete)
5157      ConditionState = PACKING
5158        Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
5159        AnimationMode = ONCE_BACKWARDS
5160        Flags = START_FRAME_LAST
5161      End
5162  
5163      ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set)
5164      ConditionState = FIRING_B
5165        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
5166        AnimationMode = ONCE
5167      End
5168  
5169  
5170      ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set)
5171      ConditionState = FIRING_C
5172        Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
5173        AnimationMode = ONCE_BACKWARDS
5174        Flags = START_FRAME_LAST
5175      End
5176  
5177    End
5178  
5179  
5180    ; ***DESIGN parameters ***
5181    DisplayName         = OBJECT:BattleDrone
5182    Side                = AmericaLaserGeneral
5183    EditorSorting       = VEHICLE
5184    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5185    WeaponSet
5186      Conditions        = None 
5187      Weapon            = PRIMARY BattleDroneMachineGun
5188    End
5189    ArmorSet
5190      Conditions        = None
5191      Armor             = TankArmor
5192      DamageFX          = SmallTankDamageFX
5193    End
5194  
5195    BuildCost           = 200
5196    BuildTime           = 5.0          ;in seconds    
5197    VisionRange         = 150
5198    ShroudClearingRange = 150
5199    Prerequisites
5200      Object = Lazr_AmericaWarFactory
5201    End
5202    ExperienceValue     = 10 10 10 10 ;Experience point value at each level
5203    IsTrainable         = No
5204    
5205    ; *** AUDIO Parameters ***
5206    VoiceSelect         = NoSound
5207    VoiceMove           = NoSound
5208    VoiceAttack         = NoSound
5209    SoundMoveStart      = NoSound
5210    UnitSpecificSounds
5211    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5212      TurretMoveStart   = NoSound
5213      TurretMoveLoop    = TurretMoveLoop
5214    End
5215  
5216    ; *** ENGINEERING Parameters ***
5217    RadarPriority       = UNIT
5218    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT  
5219    Body = ActiveBody ModuleTag_03
5220      MaxHealth       = 100.0
5221      InitialHealth   = 100.0
5222    End
5223  
5224    Behavior = AIUpdateInterface ModuleTag_04
5225      Turret
5226        TurretTurnRate        = 360   // turn rate, in degrees per sec
5227        TurretPitchRate       = 360
5228        MinPhysicalPitch      = -75 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
5229        AllowsPitch           = Yes
5230        ControlledWeaponSlots = PRIMARY
5231      End
5232      AutoAcquireEnemiesWhenIdle = Yes
5233    End
5234    Locomotor = SET_NORMAL BattleDroneLocomotor
5235    Locomotor = SET_PANIC BattleDronePanicLocomotor   ;used for repairing master (zippy)
5236    Behavior = PhysicsBehavior ModuleTag_05
5237      Mass = 50.0
5238      KillWhenRestingOnGround = Yes
5239      AllowBouncing = No
5240    End
5241  
5242    Behavior = MaxHealthUpgrade ModuleTag_06
5243      TriggeredBy   = Upgrade_AmericaDroneArmor
5244      AddMaxHealth  = 50.0
5245      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5246    End
5247  
5248    Behavior = SlavedUpdate ModuleTag_07
5249      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5250      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5251      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5252      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5253      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5254      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5255      RepairRange = 8         ;How far I can zip around while repair (only moves when he stops welding)
5256      RepairMinAltitude = 18.0   ;My minimum repair hover altitude.
5257      RepairMaxAltitude = 24.0   ;My maximum repair hover altitude.
5258      RepairRatePerSecond = 5.0 ;How many health points can I repair per second.
5259      RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing.
5260      RepairMinReadyTime = 300
5261      RepairMaxReadyTime = 750
5262      RepairMinWeldTime = 250
5263      RepairMaxWeldTime = 500
5264      RepairWeldingSys = BlueSparks
5265      RepairWeldingFXBone = Muzzle02
5266      StayOnSameLayerAsMaster = Yes
5267    End
5268  
5269    Behavior = DestroyDie ModuleTag_08
5270      DeathTypes = ALL
5271    End
5272    Behavior                 = CreateObjectDie  ModuleTag_09
5273      DeathTypes = ALL
5274      CreationList      = OCL_AmericaBattleDroneExplode
5275    End
5276    
5277    Behavior                 = TransitionDamageFX ModuleTag_10
5278      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5279      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
5280    End
5281    
5282    Behavior                 = FXListDie ModuleTag_11
5283      DeathTypes = ALL
5284      DeathFX           = FX_AmericaBattleDroneExplode
5285    End
5286  
5287    Behavior = UpgradeDie  ModuleTag_12
5288      ;This frees the object based upgrade for the producer object.
5289      DeathTypes = ALL
5290      UpgradeToRemove     = Upgrade_AmericaBattleDrone ModuleTag_13
5291    End
5292  
5293    Behavior = FlammableUpdate ModuleTag_21
5294      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5295      AflameDamageAmount = 3       ; taking this much damage...
5296      AflameDamageDelay = 500       ; this often.
5297    End
5298  
5299    Geometry = CYLINDER
5300    GeometryMajorRadius = 5
5301    GeometryMinorRadius = 5
5302    GeometryHeight = 10.0     
5303    GeometryIsSmall = Yes 
5304    Shadow = SHADOW_VOLUME
5305    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5306  
5307  End
5308  
5309  
5310  ;------------------------------------------------------------------------------
5311  Object Lazr_AmericaVehicleScoutDrone
5312  
5313    ; *** ART Parameters ***
5314    SelectPortrait         = SAScout_L
5315    ButtonImage            = SAScout
5316    
5317    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5318    ;UpgradeCameo2 = NONE
5319    ;UpgradeCameo3 = NONE
5320    ;UpgradeCameo4 = NONE
5321    ;UpgradeCameo5 = NONE
5322    
5323    Draw = W3DModelDraw ModuleTag_01
5324      OkToChangeModelColor = Yes
5325  
5326      ConditionState = NONE
5327        Model = AVScoutDr
5328        Animation = AVScoutDr.AVScoutDr
5329        AnimationMode = LOOP
5330      End
5331  
5332      ConditionState = REALLYDAMAGED
5333        Model = AVScoutDr_d
5334        Animation = AVScoutDr_d.AVScoutDr_d
5335        AnimationMode = LOOP
5336      End
5337    End
5338  
5339    ; ***DESIGN parameters ***
5340    DisplayName      = OBJECT:ScoutDrone
5341    Side = AmericaLaserGeneral
5342    EditorSorting   = VEHICLE
5343    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5344    ArmorSet
5345      Conditions      = None
5346      Armor           = TankArmor
5347      DamageFX        = SmallTankDamageFX
5348    End
5349    BuildCost       = 100
5350    BuildTime       = 5.0          ;in seconds    
5351    VisionRange     = 150
5352    ShroudClearingRange = 500
5353    IsTrainable     = No  ;Can gain experience
5354    
5355    ; *** AUDIO Parameters ***
5356    VoiceSelect = NoSound
5357    VoiceMove = NoSound
5358    VoiceAttack = NoSound
5359    SoundMoveStart = NoSound
5360  
5361    UnitSpecificSounds
5362      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5363      TurretMoveStart = NoSound
5364      TurretMoveLoop = TurretMoveLoop
5365    End
5366  
5367  
5368    ; *** ENGINEERING Parameters ***
5369    RadarPriority = UNIT
5370    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT
5371    
5372    Body = ActiveBody ModuleTag_02
5373      MaxHealth       = 100.0
5374      InitialHealth   = 100.0
5375    End
5376  
5377    Behavior = AIUpdateInterface ModuleTag_03
5378      Turret
5379        TurretTurnRate = 60   // turn rate, in degrees per sec
5380        ControlledWeaponSlots = PRIMARY
5381      End
5382      AutoAcquireEnemiesWhenIdle = Yes
5383    End
5384    Locomotor = SET_NORMAL DroneLocomotor
5385    Behavior = StealthDetectorUpdate ModuleTag_04
5386      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
5387      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
5388      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
5389      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
5390    End
5391    Behavior = PhysicsBehavior ModuleTag_05
5392      Mass = 50.0
5393      KillWhenRestingOnGround = Yes
5394      AllowBouncing = No
5395    End
5396  
5397    Behavior = SlavedUpdate ModuleTag_06
5398      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5399      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5400      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5401      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5402      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5403      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5404      DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus.
5405      StayOnSameLayerAsMaster = Yes
5406    End
5407  
5408    Behavior = MaxHealthUpgrade ModuleTag_07
5409      TriggeredBy   = Upgrade_AmericaDroneArmor
5410      AddMaxHealth  = 50.0
5411      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5412    End
5413  
5414    Behavior = DestroyDie ModuleTag_08
5415      DeathTypes = ALL
5416    End
5417    Behavior                 = CreateObjectDie ModuleTag_09
5418      DeathTypes = ALL
5419      CreationList      = OCL_AmericaScoutDroneExplode
5420    End
5421    Behavior                 = FXListDie ModuleTag_10
5422      DeathTypes = ALL
5423      DeathFX           = FX_AmericaScoutDroneExplode
5424    End
5425    
5426    Behavior                 = TransitionDamageFX ModuleTag_11
5427      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5428      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
5429    End
5430  
5431    Behavior = UpgradeDie  ModuleTag_12
5432     ;This frees the object based upgrade for the producer object.
5433     DeathTypes = ALL
5434     UpgradeToRemove      = Upgrade_AmericaScoutDrone ModuleTag_13
5435    End
5436  
5437  
5438    Behavior = FlammableUpdate ModuleTag_21
5439      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5440      AflameDamageAmount = 3       ; taking this much damage...
5441      AflameDamageDelay = 500       ; this often.
5442    End
5443  
5444    Geometry = CYLINDER
5445    GeometryMajorRadius = 5.0
5446    GeometryMinorRadius = 6.0
5447    GeometryHeight = 3.0
5448    GeometryIsSmall = Yes
5449    Shadow = SHADOW_VOLUME
5450    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5451  
5452  End
5453  
5454  ;------------------------------------------------------------------------------
5455  Object Lazr_AmericaVehicleHellfireDrone
5456  
5457    ; *** ART Parameters ***
5458    SelectPortrait         = SAHellfire_L
5459    ButtonImage            = SAHellfire
5460    
5461    UpgradeCameo1 = Upgrade_AmericaDroneArmor
5462    ;UpgradeCameo2 = NONE
5463    ;UpgradeCameo3 = NONE
5464    ;UpgradeCameo4 = NONE
5465    ;UpgradeCameo5 = NONE
5466    
5467    Draw = W3DModelDraw ModuleTag_01
5468      OkToChangeModelColor = Yes
5469  
5470      DefaultConditionState
5471        Model = AVScoutDr
5472        WeaponLaunchBone = PRIMARY WeaponA
5473      End
5474  
5475      ConditionState = REALLYDAMAGED
5476        Model = AVScoutDr_d
5477      End
5478    End
5479  
5480    ; ***DESIGN parameters ***
5481    DisplayName      = OBJECT:HellfireDrone
5482    Side = AmericaSuperWeaponGeneral
5483    EditorSorting   = VEHICLE
5484    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5485    ArmorSet
5486      Conditions      = None
5487      Armor           = TankArmor
5488      DamageFX        = SmallTankDamageFX
5489    End
5490    BuildCost       = 600
5491    BuildTime       = 5.0          ;in seconds    
5492    VisionRange     = 100
5493    ShroudClearingRange = 500
5494    IsTrainable     = No  ;Can gain experience
5495    
5496    ; *** AUDIO Parameters ***
5497    VoiceSelect = NoSound
5498    VoiceMove = NoSound
5499    VoiceAttack = NoSound
5500    SoundMoveStart = NoSound
5501  
5502    WeaponSet
5503      Conditions = NONE 
5504      Weapon = PRIMARY HellfireMissileWeapon
5505    End
5506  
5507  
5508    ; *** ENGINEERING Parameters ***
5509    RadarPriority = UNIT
5510    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT
5511    
5512    Body = ActiveBody ModuleTag_02
5513      MaxHealth       = 100.0
5514      InitialHealth   = 100.0
5515    End
5516  
5517    Behavior = AIUpdateInterface ModuleTag_03
5518      Turret
5519        TurretTurnRate = 360   // turn rate, in degrees per sec
5520        TurretPitchRate = 360   // turn rate, in degrees per sec
5521        ControlledWeaponSlots = PRIMARY
5522      End
5523      AutoAcquireEnemiesWhenIdle = Yes
5524    End
5525    Locomotor = SET_NORMAL HellfireDroneLocomotor
5526    Behavior = PhysicsBehavior ModuleTag_05
5527      Mass = 50.0
5528      KillWhenRestingOnGround = Yes
5529      AllowBouncing = No
5530    End
5531    Behavior = SlavedUpdate ModuleTag_06
5532      GuardMaxRange = 35      ;How far away from master I'm allowed when master is idle (doesn't wander)
5533      GuardWanderRange = 35   ;How far away I'm allowed to wander from master while guarding.
5534      AttackRange = 75        ;How far away from master I'm allowed when master is attacking a target.
5535      AttackWanderRange = 10  ;How far I'm allowed to wander from target.
5536      ScoutRange = 75         ;How far away from master I'm allowed when master is moving.
5537      ScoutWanderRange = 10   ;How far I'm allowed to wander from scout point.
5538      StayOnSameLayerAsMaster = Yes
5539    End
5540  
5541    Behavior = MaxHealthUpgrade ModuleTag_07
5542      TriggeredBy   = Upgrade_AmericaDroneArmor
5543      AddMaxHealth  = 50.0
5544      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5545    End
5546  
5547    Behavior = DestroyDie ModuleTag_08
5548      DeathTypes = ALL
5549    End
5550    Behavior                 = CreateObjectDie ModuleTag_09
5551      DeathTypes = ALL
5552      CreationList      = OCL_AmericaScoutDroneExplode
5553    End
5554    Behavior                 = FXListDie ModuleTag_10
5555      DeathTypes = ALL
5556      DeathFX           = FX_AmericaScoutDroneExplode
5557    End
5558    
5559    Behavior                 = TransitionDamageFX ModuleTag_11
5560      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
5561      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
5562    End
5563  
5564    Behavior = UpgradeDie  ModuleTag_12
5565     ;This frees the object based upgrade for the producer object.
5566     DeathTypes = ALL
5567     UpgradeToRemove      = Upgrade_AmericaHellfireDrone ModuleTag_13
5568    End
5569  
5570  
5571    Behavior = FlammableUpdate ModuleTag_21
5572      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5573      AflameDamageAmount = 3       ; taking this much damage...
5574      AflameDamageDelay = 500       ; this often.
5575    End
5576  
5577    Geometry = CYLINDER
5578    GeometryMajorRadius = 5.0
5579    GeometryMinorRadius = 6.0
5580    GeometryHeight = 3.0
5581    GeometryIsSmall = Yes
5582    Shadow = SHADOW_VOLUME
5583    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5584  
5585  End
5586  
5587  
5588  
5589  ;------------------------------------------------------------------------------
5590  Object Lazr_AmericaVehicleSpyDrone
5591  
5592    ; *** ART Parameters ***
5593    SelectPortrait         = SAScout_L
5594    ButtonImage            = SAScout
5595    Draw = W3DModelDraw ModuleTag_01
5596      OkToChangeModelColor = Yes
5597  
5598      ConditionState = NONE
5599        Model = AVSpyDrone
5600        Animation = AVSpyDrone.AVSpyDrone
5601        AnimationMode = LOOP
5602      End
5603  
5604  ; Damage state waiting for pristine's approval (or may just not need one)
5605  ;    ConditionState = REALLYDAMAGED
5606  ;      Model = AVSpyDrone_d
5607  ;      Animation = AVSpyDrone_d.AVSpyDrone_d
5608  ;      AnimationMode = LOOP
5609  ;    End
5610    End
5611  
5612    ; ***DESIGN parameters ***
5613    DisplayName      = OBJECT:SpyDrone
5614    Side = AmericaLaserGeneral
5615    EditorSorting   = VEHICLE
5616    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
5617    ArmorSet
5618      Conditions      = None
5619      Armor           = AirplaneArmor
5620      DamageFX        = SmallTankDamageFX
5621    End
5622    VisionRange     = 250
5623    ShroudClearingRange = 0; Dynamic range below
5624    IsTrainable     = No 
5625    
5626    ; *** AUDIO Parameters ***
5627    VoiceSelect = NoSound
5628    VoiceMove = NoSound
5629    VoiceAttack = NoSound
5630    SoundMoveStart = NoSound
5631  
5632    UnitSpecificSounds
5633      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5634      TurretMoveStart = NoSound
5635      TurretMoveLoop = TurretMoveLoop
5636    End
5637  
5638  
5639    ; *** ENGINEERING Parameters ***
5640    RadarPriority = UNIT
5641    KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT
5642    
5643    Body = ActiveBody ModuleTag_02
5644      MaxHealth       = 200.0
5645      InitialHealth   = 200.0
5646    End
5647  
5648    Behavior = AIUpdateInterface ModuleTag_03
5649      AutoAcquireEnemiesWhenIdle = No
5650    End
5651  
5652    Locomotor = SET_NORMAL SpyDroneLocomtor
5653  
5654    Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04
5655      FinalVision = 250.0 
5656      ChangeInterval = 50
5657      ShrinkDelay = 2000
5658      ShrinkTime = 1000
5659      GrowDelay = 0
5660      GrowTime = 1000
5661      GrowInterval = 10 ; Faster than most
5662  
5663      GridDecalTemplate
5664        Texture           = EXGrid
5665        Style             = SHADOW_ADDITIVE_DECAL
5666        OpacityMin        = 50%
5667        OpacityMax        = 100%
5668        OpacityThrobTime  = 500
5669        Color             = R:32 G:64 B:128 A:0 //dim blue, additive
5670      End
5671  
5672    End
5673  
5674    Behavior = StealthDetectorUpdate ModuleTag_05
5675      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
5676      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
5677      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
5678      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
5679    End
5680    Behavior = PhysicsBehavior ModuleTag_06
5681      Mass = 50.0
5682    End
5683  
5684    Behavior = DestroyDie ModuleTag_07
5685      DeathTypes = ALL
5686    End
5687    Behavior                 = CreateObjectDie ModuleTag_08
5688      DeathTypes = ALL
5689      CreationList      = OCL_AmericaScoutDroneExplode
5690    End
5691    Behavior = StealthUpdate ModuleTag_09
5692      StealthDelay                = 0 ; msec
5693      StealthForbiddenConditions  = NONE
5694      InnateStealth               = Yes
5695      OrderIdleEnemiesToAttackMeUponReveal  = Yes
5696    End
5697    Behavior = MaxHealthUpgrade ModuleTag_10
5698      TriggeredBy   = Upgrade_AmericaDroneArmor
5699      AddMaxHealth  = 50.0
5700      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5701    End
5702  
5703    Behavior = FlammableUpdate ModuleTag_21
5704      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5705      AflameDamageAmount = 3       ; taking this much damage...
5706      AflameDamageDelay = 500       ; this often.
5707    End
5708  
5709    Geometry = CYLINDER
5710    GeometryMajorRadius = 5.0
5711    GeometryMinorRadius = 6.0
5712    GeometryHeight = 3.0
5713    GeometryIsSmall = Yes
5714    Shadow = SHADOW_VOLUME
5715    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
5716  
5717  End
5718  
5719  ;---------------------¸ÄΪm2²¼À×µÂÀûÕ½³µ---------------------------------------------------------
5720  Object Lazr_AmericaTankCrusader
5721  
5722    ; *** ART Parameters ***
5723    SelectPortrait         = T11
5724    ButtonImage            = T11
5725    
5726    UpgradeCameo1 = Upgrade_AmericaBattleDrone
5727    UpgradeCameo2 = Upgrade_AmericaScoutDrone
5728    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
5729    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
5730    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
5731    
5732    Draw = W3DTankDraw ModuleTag_01
5733      OkToChangeModelColor = Yes
5734  
5735      ConditionState = NONE
5736        Model               = AvM2A2
5737        Turret              = Turret
5738        WeaponFireFXBone    = PRIMARY MuzzleFX01
5739        WeaponMuzzleFlash   = PRIMARY MuzzleFX01
5740        WeaponFireFXBone = SECONDARY Rockets
5741        WeaponLaunchBone = SECONDARY Rockets
5742        WeaponFireFXBone = TERTIARY Rockets
5743        WeaponLaunchBone = TERTIARY Rockets
5744      End
5745  
5746      ConditionState = REALLYDAMAGED
5747        Model               = AvM2A2
5748        Turret              = Turret
5749        WeaponFireFXBone    = PRIMARY MuzzleFX01
5750        WeaponMuzzleFlash   = PRIMARY MuzzleFX01
5751        WeaponFireFXBone = SECONDARY Rockets
5752        WeaponLaunchBone = SECONDARY Rockets
5753        WeaponFireFXBone = TERTIARY Rockets
5754        WeaponLaunchBone = TERTIARY Rockets
5755      End
5756  
5757      ConditionState = WEAPONSET_PLAYER_UPGRADE
5758        Model               = AvM2A2
5759        Turret              = Turret
5760        WeaponFireFXBone    = PRIMARY MuzzleFX01
5761        WeaponMuzzleFlash   = PRIMARY MuzzleFX01
5762        WeaponFireFXBone = SECONDARY Rockets
5763        WeaponLaunchBone = SECONDARY Rockets
5764        WeaponFireFXBone = TERTIARY Rockets
5765        WeaponLaunchBone = TERTIARY Rockets
5766      End
5767  
5768      ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
5769        Model               = AvM2A2
5770        Turret              = Turret
5771        WeaponFireFXBone    = PRIMARY MuzzleFX01
5772        WeaponFireFXBone = SECONDARY Rockets
5773        WeaponLaunchBone = SECONDARY Rockets
5774        WeaponFireFXBone = TERTIARY Rockets
5775        WeaponLaunchBone = TERTIARY Rockets
5776      End
5777  
5778      TrackMarks           = EXTnkTrack.tga
5779      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
5780      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
5781      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
5782      OkToChangeModelColor = Yes
5783  
5784    End
5785    ; ***DESIGN parameters ***
5786    DisplayName      = OBJECT:Lazr_Tank
5787    Side                   = AmericaLaserGeneral
5788    EditorSorting          = VEHICLE
5789    TransportSlotCount     = 3
5790    WeaponSet
5791      Conditions           = None
5792      Weapon               = PRIMARY Lazr_CrusaderTankGun
5793    End
5794    ArmorSet
5795      Conditions           = None
5796      Armor                = TankArmor
5797      DamageFX             = TankDamageFX
5798    End
5799  
5800    BuildCost              = 900
5801    BuildTime              = 10.0          ;in seconds    
5802    VisionRange            = 150
5803    ShroudClearingRange = 300
5804    EnergyProduction = -1
5805    Prerequisites
5806      Object = Lazr_AmericaWarFactory
5807    End
5808    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
5809    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
5810    IsTrainable            = Yes  ;Can gain experience
5811    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
5812    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
5813    CommandSet             = Lazr_AmericaTankCrusaderCommandSet
5814    
5815    ; *** AUDIO Parameters ***
5816    VoiceSelect           = LaserCrusaderVoiceSelect
5817    VoiceMove             = CrusaderTankVoiceMove
5818    VoiceGuard            = CrusaderTankVoiceMove
5819    VoiceAttack           = LaserCrusaderVoiceAttack
5820    SoundMoveStart        = CrusaderTankMoveStart
5821    SoundMoveStartDamaged = CrusaderTankMoveStart
5822    UnitSpecificSounds
5823      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
5824      VoiceCreate         = LaserCrusaderVoiceCreate
5825      VoiceEnter             = CrusaderTankVoiceMove
5826      TurretMoveStart     = NoSound
5827      TurretMoveLoop      = TurretMoveLoop
5828      SoundEject          = PilotSoundEject
5829      VoiceEject          = PilotVoiceEject
5830      VoiceCrush          = CrusaderTankVoiceCrush
5831    End
5832  
5833    ; *** ENGINEERING Parameters ***
5834    RadarPriority          = UNIT
5835    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE POWERED
5836    
5837    Body                   = ActiveBody ModuleTag_02
5838      MaxHealth       = 350
5839      InitialHealth   = 350
5840  
5841      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5842      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5843      SubdualDamageCap = 960
5844      SubdualDamageHealRate = 500
5845      SubdualDamageHealAmount = 50
5846    End
5847  
5848    Behavior = AIUpdateInterface ModuleTag_03
5849      Turret
5850        TurretTurnRate       = 180 ;60   // turn rate, in degrees per sec
5851        ControlledWeaponSlots= PRIMARY
5852      End
5853      AutoAcquireEnemiesWhenIdle = Yes
5854    End
5855    Locomotor            = SET_NORMAL CrusaderLocomotor
5856    Behavior = PhysicsBehavior ModuleTag_04
5857      Mass                 = 50.0
5858    End
5859  
5860    Behavior = ObjectCreationUpgrade ModuleTag_05
5861      UpgradeObject = Lazr_OCL_AmericanBattleDrone
5862      TriggeredBy   = Upgrade_AmericaBattleDrone
5863      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
5864    End
5865    Behavior = ObjectCreationUpgrade ModuleTag_06
5866      UpgradeObject = OCL_AmericanScoutDrone
5867      TriggeredBy   = Upgrade_AmericaScoutDrone
5868      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
5869    End
5870    Behavior = ObjectCreationUpgrade ModuleTag_20
5871      UpgradeObject = OCL_AmericanHellfireDrone
5872      TriggeredBy   = Upgrade_AmericaHellfireDrone
5873      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
5874    End
5875    Behavior = ProductionUpdate ModuleTag_07
5876      DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED
5877    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
5878    End
5879    Behavior = ExperienceScalarUpgrade ModuleTag_08
5880      TriggeredBy   = Upgrade_AmericaAdvancedTraining
5881      AddXPScalar   = 1.0 ;Increases experience gained by an additional 100%
5882    End
5883    Behavior = MaxHealthUpgrade ModuleTag_09
5884      TriggeredBy   = Upgrade_AmericaCompositeArmor
5885      AddMaxHealth  = 100.0
5886      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5887    End
5888      Behavior = TransportContain ModuleTag_03
5889      Slots                 = 4
5890      PassengersAllowedToFire = No
5891      AllowInsideKindOf  = INFANTRY
5892      EnterSound      = GarrisonEnter
5893      ExitSound       = GarrisonExit
5894      DamagePercentToUnits  = 50%
5895    End
5896    ; Turret fly off death
5897    Behavior = SlowDeathBehavior ModuleTag_10
5898      DeathTypes = ALL -CRUSHED -SPLATTED
5899      ProbabilityModifier  = 50
5900      DestructionDelay  = 500
5901      DestructionDelayVariance  = 100
5902      FX  = INITIAL  FX_GenericTankDeathEffect
5903      OCL = MIDPOINT OCL_LaserTankDeathEffect
5904      FX  = FINAL    FX_GenericTankDeathExplosion
5905    End
5906  
5907    ; Catch fire, and explode death
5908    Behavior = SlowDeathBehavior ModuleTag_11
5909      DeathTypes = ALL -CRUSHED -SPLATTED
5910      ProbabilityModifier  = 50
5911      DestructionDelay  = 2000
5912      DestructionDelayVariance  = 300
5913      FX  = INITIAL  FX_CrusaderCatchFire
5914      OCL = FINAL    OCL_LaserTankDeathEffect  
5915      FX  = FINAL    FX_GenericTankDeathExplosion
5916    End
5917  
5918    Behavior                 = TransitionDamageFX ModuleTag_12
5919      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
5920      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
5921    End
5922  
5923    Behavior = DestroyDie ModuleTag_13
5924      DeathTypes = NONE +CRUSHED +SPLATTED
5925    End
5926  
5927    ; A crushing defeat
5928    Behavior = FXListDie ModuleTag_14
5929      DeathTypes = NONE +CRUSHED +SPLATTED
5930      DeathFX = FX_CarCrush
5931    End
5932  
5933    Behavior = CreateObjectDie ModuleTag_15
5934      DeathTypes = NONE +CRUSHED +SPLATTED
5935      CreationList = OCL_CrusaderTank_CrushEffect
5936    End
5937  
5938    Behavior                    = CreateCrateDie ModuleTag_CratesChange
5939     CrateData             = SalvageCrateData
5940     ;CrateData             = EliteTankCrateData
5941     ;CrateData             = HeroicTankCrateData
5942    End
5943  
5944    Behavior = EjectPilotDie ModuleTag_17
5945      GroundCreationList = OCL_EjectPilotOnGround
5946      AirCreationList = OCL_EjectPilotViaParachute
5947      ExemptStatus = HIJACKED
5948      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
5949    End
5950  
5951    Behavior = MaxHealthUpgrade ModuleTag_18
5952      TriggeredBy   = Upgrade_AmericaCompositeArmor
5953      AddMaxHealth  = 100.0
5954      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
5955    End
5956  
5957    Behavior = FlammableUpdate ModuleTag_21
5958      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5959      AflameDamageAmount = 3       ; taking this much damage...
5960      AflameDamageDelay = 500       ; this often.
5961    End
5962      Scale = 1.10                           ;Scaling
5963    GeometryMajorRadius = 1.0
5964    GeometryMinorRadius = 1.0
5965    GeometryHeight = 8.0
5966    
5967    Geometry               = BOX
5968    GeometryMajorRadius    = 15.0
5969    GeometryMinorRadius    = 10.0
5970    GeometryHeight         = 10.0     
5971    GeometryIsSmall        = Yes    
5972    Shadow = SHADOW_VOLUME
5973    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
5974  
5975  End
5976  
5977  
5978  
5979  
5980  
5981  ;------------------------------------------------------------------------------
5982  ;USA Construction Dozer or USDozer
5983  Object Lazr_AmericaVehicleDozer
5984  
5985    ; *** ART Parameters ***
5986    SelectPortrait         = SACDozer_L
5987    ButtonImage            = SACDozer
5988    
5989    ;UpgradeCameo1 = NONE
5990    ;UpgradeCameo2 = NONE
5991    ;UpgradeCameo3 = NONE
5992    ;UpgradeCameo4 = NONE
5993    ;UpgradeCameo5 = NONE
5994    
5995    Draw = W3DTruckDraw ModuleTag_01
5996  
5997      OkToChangeModelColor = Yes
5998  
5999      DefaultConditionState
6000        Model             = AVCONSTDOZ_A
6001        ParticleSysBone   = EXHAUSTFX01 DozerSmokeLight
6002        WaitForStateToFinishIfPossible = TRANS_DIGGING
6003      End
6004  
6005      ConditionState = PREATTACK_A 
6006        Animation         = AVCONSTDOZ_A.AVCONSTDOZ_A
6007        AnimationMode     = ONCE
6008        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6009        ParticleSysBone   = DIRTFX01 DozerDirtFall ;gush of dirt
6010        TransitionKey     = TRANS_DIGGING
6011      End
6012  
6013      ConditionState = MOVING
6014        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6015        WaitForStateToFinishIfPossible = TRANS_DIGGING
6016      End
6017  
6018      ConditionState      = REALLYDAMAGED RUBBLE
6019        Model             = AVCONSTDOZ_AD
6020        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6021        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
6022      End
6023  
6024      ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
6025        Model             = AVCONSTDOZ_AD
6026        Animation         = AVCONSTDOZ_AD.AVCONSTDOZ_AD
6027        AnimationMode     = ONCE
6028        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6029        TransitionKey     = TRANS_DIGGING_DAMAGED
6030      End
6031  
6032      ConditionState      = MOVING REALLYDAMAGED RUBBLE
6033        Model             = AVCONSTDOZ_AD
6034        ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
6035        WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
6036      End
6037  
6038  
6039      TrackMarks            = EXTireTrack2.tga
6040      Dust                  = RocketBuggyDust
6041      DirtSpray             = RocketBuggyDirtSpray
6042  
6043      ; These parameters are only used if the model has a separate suspension, 
6044      ; and the locomotor has HasSuspension = Yes.
6045  
6046      LeftFrontTireBone     = TIRE01
6047      RightFrontTireBone    = TIRE02
6048      LeftRearTireBone      = TIRE03
6049      RightRearTireBone     = TIRE04
6050  
6051      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
6052      PowerslideRotationAddition  = 0   ; This vehicle doesn't powerslide.
6053  
6054    ParticlesAttachedToAnimatedBones = Yes 
6055  
6056  
6057    End
6058  
6059  
6060  
6061    ; ***DESIGN parameters ***
6062    DisplayName         = OBJECT:Dozer
6063    Side                = AmericaLaserGeneral
6064    EditorSorting       = VEHICLE
6065    TransportSlotCount  = 5 ;how many "slots" we take in a transport (0 == not transportable)
6066    BuildCost           = 1000
6067    BuildTime           = 5.0 ; in seconds
6068    VisionRange         = 200
6069    ShroudClearingRange = 200
6070  
6071    WeaponSet
6072      Conditions = None 
6073      Weapon = PRIMARY None
6074    End
6075    WeaponSet
6076      Conditions = MINE_CLEARING_DETAIL 
6077      Weapon = PRIMARY DozerMineDisarmingWeapon
6078    End
6079  
6080    ArmorSet
6081      Conditions        = None
6082      Armor             = DozerArmor ;Special Explosion-Proof Armor
6083      DamageFX          = TankDamageFX
6084    End
6085    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6086    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6087    CommandSet          = Lazr_AmericaDozerCommandSet
6088  
6089    ; *** AUDIO Parameters ***
6090    VoiceSelect         = DozerUSAVoiceSelect
6091    VoiceMove           = DozerUSAVoiceMove
6092    VoiceGuard          = DozerUSAVoiceMove
6093    VoiceTaskComplete   = DozerUSAVoiceBuildComplete
6094    SoundMoveStart      = DozerUSAMoveStart
6095    SoundMoveStartDamaged = DozerUSAMoveStart
6096    UnitSpecificSounds
6097      VoiceCreate           = DozerUSAVoiceCreate
6098      VoiceNoBuild          = DozerUSAVoiceBuildNot
6099      VoiceCrush            = DozerUSAVoiceCrush
6100      VoiceRepair           = DozerUSAVoiceRepair
6101      VoiceDisarm           = DozerUSAVoiceClearMine
6102      TruckLandingSound     = NoSound
6103      TruckPowerslideSound  = NoSound
6104      VoiceEnter            = DozerUSAVoiceMove
6105      VoiceBuildResponse    = DozerUSAVoiceBuild
6106    End
6107  
6108    ; *** ENGINEERING Parameters ***
6109    RadarPriority       = UNIT
6110    KindOf              = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
6111   
6112    Body                = ActiveBody ModuleTag_02
6113      MaxHealth         = 250.0
6114      InitialHealth     = 250.0
6115  
6116      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6117      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6118      SubdualDamageCap = 500
6119      SubdualDamageHealRate = 500
6120      SubdualDamageHealAmount = 50
6121    End
6122    Behavior = DozerAIUpdate ModuleTag_03
6123      RepairHealthPercentPerSecond = 2%    ; % of max health to repair each second
6124      BoredTime                    = 5000  ; in milliseconds
6125      BoredRange                   = 150   ; when bored, we look this far away to do something
6126      ; the only "enemies" that workers can acquire are mines, to be disarmed...
6127      AutoAcquireEnemiesWhenIdle   = Yes
6128    End
6129  
6130    Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor
6131  
6132    Behavior            = PhysicsBehavior ModuleTag_04
6133      Mass              = 75.0
6134    End
6135  
6136    Behavior = StealthDetectorUpdate ModuleTag_05
6137      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
6138      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
6139      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
6140      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
6141      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
6142    End
6143  
6144    Behavior                 = TransitionDamageFX ModuleTag_06
6145      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6146      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6147    End
6148  
6149    ; Catch fire, and explode death
6150    Behavior = SlowDeathBehavior ModuleTag_07
6151      DeathTypes = ALL -CRUSHED -SPLATTED
6152      ProbabilityModifier = 100
6153      DestructionDelay = 1500
6154      DestructionDelayVariance = 600
6155      FX  = INITIAL  FX_CrusaderCatchFire
6156      OCL = FINAL    OCL_AmericaDozerExplode  
6157      FX  = FINAL    FX_BattleMasterExplosionOneFinal
6158    End   
6159  
6160    Behavior = CreateCrateDie ModuleTag_CratesChange
6161      CrateData = SalvageCrateData
6162    End
6163    
6164    Behavior = FlammableUpdate ModuleTag_21
6165      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6166      AflameDamageAmount = 3       ; taking this much damage...
6167      AflameDamageDelay = 500       ; this often.
6168    End
6169  
6170  ;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
6171  ;;;;;;;;  End
6172  
6173    Behavior               = FXListDie ModuleTag_23
6174      DeathTypes = NONE +CRUSHED +SPLATTED
6175      DeathFX         = FX_CarCrush
6176    End
6177  
6178    Behavior = DestroyDie ModuleTag_24
6179      DeathTypes = NONE +CRUSHED +SPLATTED
6180    End
6181  
6182    Geometry            = BOX
6183    GeometryMajorRadius = 15.0
6184    GeometryMinorRadius = 10.0
6185    GeometryHeight      = 15.0     
6186    GeometryIsSmall     = Yes
6187    Shadow              = SHADOW_VOLUME
6188    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    
6189  
6190  End
6191  
6192  
6193  
6194  
6195  ;------------------------------------------------------------------------------
6196  Object Lazr_AmericaTankPaladin
6197  
6198    ; *** ART Parameters ***
6199    SelectPortrait         = SAPaladin_L
6200    ButtonImage            = SAPaladin
6201    
6202    UpgradeCameo1 = Upgrade_AmericaBattleDrone
6203    UpgradeCameo2 = Upgrade_AmericaScoutDrone
6204    UpgradeCameo3 = Upgrade_AmericaAdvancedTraining
6205    UpgradeCameo4 = Upgrade_AmericaCompositeArmor
6206    UpgradeCameo5 = Upgrade_AmericaHellfireDrone
6207  
6208    Draw = W3DTankDraw ModuleTag_01
6209      
6210      ExtraPublicBone = Laser 
6211  
6212      ConditionState        = NONE
6213        Model               = AVPaladin
6214        Turret              = Turret01
6215        WeaponFireFXBone    = PRIMARY TurretMS
6216        WeaponRecoilBone    = PRIMARY Barrel
6217        ;WeaponMuzzleFlash   = PRIMARY TurretFX
6218        WeaponLaunchBone = PRIMARY TurretMS
6219        HideSubObject = TurretFX01
6220      End
6221      
6222      ConditionState        = REALLYDAMAGED
6223        Model               = AVPaladin_D
6224        Turret              = Turret01
6225        WeaponFireFXBone    = PRIMARY TurretMS
6226        WeaponRecoilBone    = PRIMARY Barrel
6227        ;WeaponMuzzleFlash   = PRIMARY TurretFX
6228        WeaponLaunchBone = PRIMARY TurretMS
6229        HideSubObject = TurretFX01
6230      End
6231      
6232      ConditionState        = RUBBLE
6233        Model               = AVPaladin_D
6234        Turret              = Turret01
6235        WeaponFireFXBone    = PRIMARY TurretMS
6236        WeaponRecoilBone    = PRIMARY Barrel
6237        ;WeaponMuzzleFlash   = PRIMARY TurretFX
6238        WeaponLaunchBone = PRIMARY TurretMS
6239        HideSubObject = TurretFX01
6240      End
6241      
6242      TrackMarks           = EXTnkTrack.tga
6243      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
6244      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
6245      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
6246      OkToChangeModelColor = Yes
6247    End
6248  
6249    ; ***DESIGN parameters ***
6250    DisplayName      = OBJECT:Paladin
6251    Side = AmericaLaserGeneral
6252    EditorSorting   = VEHICLE
6253    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
6254    EnergyProduction = -1
6255    WeaponSet
6256      Conditions = None 
6257      Weapon = PRIMARY Lazr_PaladinTankGun
6258    End
6259    ArmorSet
6260      Conditions      = None
6261      Armor           = TankArmor
6262      DamageFX        = TankDamageFX
6263    End
6264    ;ArmorSet
6265    ;  Conditions      = PLAYER_UPGRADE
6266    ;  Armor           = UpgradedTankArmor
6267    ;  DamageFX        = TankDamageFX
6268    ;End
6269    BuildCost       = 1100
6270    BuildTime       = 12.0          ;in seconds    
6271    VisionRange     = 150
6272    ShroudClearingRange = 300
6273    Prerequisites
6274      Object = Lazr_AmericaWarFactory
6275      Science = SCIENCE_PaladinTank
6276    End
6277  
6278    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
6279    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
6280  
6281    IsTrainable     = Yes  ;Can gain experience
6282    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6283    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6284    CommandSet      = Lazr_AmericaTankPaladinCommandSet
6285      
6286    ; *** AUDIO Parameters ***
6287    VoiceSelect = PaladinTankVoiceSelect
6288    VoiceMove = PaladinTankVoiceMove
6289    VoiceGuard = PaladinTankVoiceMove
6290    VoiceAttack = PaladinTankVoiceAttack
6291    SoundMoveStart = PaladinTankMoveStart
6292    SoundMoveStartDamaged = PaladinTankMoveStart
6293  
6294    UnitSpecificSounds
6295      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6296      VoiceCreate     = PaladinTankVoiceCreate
6297      TurretMoveLoop = TurretMoveLoop
6298      SoundEject = PilotSoundEject
6299      VoiceEject = PilotVoiceEject
6300      VoiceCrush = PaladinTankVoiceCrush
6301      VoiceEnter = PaladinTankVoiceMove
6302    End
6303  
6304    ; *** ENGINEERING Parameters ***
6305    RadarPriority = UNIT
6306    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
6307    
6308    Body = ActiveBody ModuleTag_02
6309      MaxHealth       = 500.0
6310      InitialHealth   = 500.0
6311  
6312      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6313      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6314      SubdualDamageCap = 1000
6315      SubdualDamageHealRate = 500
6316      SubdualDamageHealAmount = 50
6317    End
6318  
6319    Behavior = AIUpdateInterface ModuleTag_03
6320      Turret
6321        TurretTurnRate = 180 ;60   // turn rate, in degrees per sec
6322        ControlledWeaponSlots = PRIMARY
6323      End
6324      ;AltTurret
6325      ;  TurretTurnRate = 9000;
6326      ;  ControlledWeaponSlots = SECONDARY
6327      ;End
6328      AutoAcquireEnemiesWhenIdle = Yes
6329    End
6330    Locomotor = SET_NORMAL CrusaderLocomotor
6331    Behavior = PhysicsBehavior ModuleTag_04
6332      Mass = 50.0
6333    End
6334    
6335    ; Turret fly off death
6336    Behavior = SlowDeathBehavior ModuleTag_05
6337      DeathTypes = ALL -CRUSHED -SPLATTED
6338      ProbabilityModifier = 50
6339  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
6340      DestructionDelay = 500
6341      DestructionDelayVariance = 100
6342      FX  = INITIAL  FX_GenericTankDeathEffect
6343      FX  = FINAL    FX_GenericTankDeathExplosion
6344      OCL = FINAL    OCL_PaladinTankDeathEffect
6345    End
6346    
6347    ; Catch fire, and explode death
6348    Behavior = SlowDeathBehavior ModuleTag_06
6349      DeathTypes = ALL -CRUSHED -SPLATTED
6350      ProbabilityModifier = 50
6351      DestructionDelay = 2000
6352      DestructionDelayVariance = 300
6353      FX  = INITIAL  FX_CrusaderCatchFire
6354      OCL = FINAL    OCL_PaladinTankDeathEffect
6355      FX  = FINAL    FX_GenericTankDeathExplosion 
6356    End
6357  
6358    Behavior = PointDefenseLaserUpdate ModuleTag_07
6359      WeaponTemplate        = PaladinPointDefenseLaser
6360      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
6361      SecondaryTargetTypes  = INFANTRY
6362      ScanRate              = 500
6363      ScanRange             = 120.0
6364      PredictTargetVelocityFactor = 3.0
6365    End
6366  
6367    Behavior = ObjectCreationUpgrade ModuleTag_08
6368      UpgradeObject = Lazr_OCL_AmericanBattleDrone
6369      TriggeredBy   = Upgrade_AmericaBattleDrone
6370      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
6371    End
6372    Behavior = ObjectCreationUpgrade ModuleTag_09
6373      UpgradeObject = OCL_AmericanScoutDrone
6374      TriggeredBy   = Upgrade_AmericaScoutDrone
6375      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
6376    End 
6377    Behavior = ObjectCreationUpgrade ModuleTag_19
6378      UpgradeObject = OCL_AmericanHellfireDrone
6379      TriggeredBy   = Upgrade_AmericaHellfireDrone
6380      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
6381    End
6382  
6383    Behavior = ProductionUpdate ModuleTag_10
6384      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
6385    End
6386  
6387    Behavior = ExperienceScalarUpgrade ModuleTag_11
6388      TriggeredBy = Upgrade_AmericaAdvancedTraining
6389      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
6390    End
6391  
6392    Behavior = TransitionDamageFX ModuleTag_12
6393      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6394      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6395    End
6396  
6397    Behavior = FXListDie ModuleTag_13
6398      DeathTypes = NONE +CRUSHED +SPLATTED
6399      DeathFX = FX_CarCrush
6400    End
6401    Behavior = CreateObjectDie ModuleTag_14
6402      DeathTypes = NONE +CRUSHED +SPLATTED
6403      CreationList = OCL_CrusaderTank_CrushEffect
6404    End
6405    Behavior = DestroyDie ModuleTag_15
6406      DeathTypes = NONE +CRUSHED +SPLATTED
6407    End
6408    Behavior = CreateCrateDie ModuleTag_16
6409      CrateData = SalvageCrateData
6410      ;CrateData = EliteTankCrateData
6411      ;CrateData = HeroicTankCrateData
6412    End
6413    Behavior = EjectPilotDie ModuleTag_17
6414      DeathTypes = ALL -CRUSHED -SPLATTED
6415      ExemptStatus = HIJACKED
6416      GroundCreationList = OCL_EjectPilotOnGround
6417      AirCreationList = OCL_EjectPilotViaParachute
6418      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
6419    End
6420  
6421    Behavior = MaxHealthUpgrade ModuleTag_18
6422      TriggeredBy   = Upgrade_AmericaCompositeArmor
6423      AddMaxHealth  = 100.0
6424      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
6425    End
6426  
6427    Behavior = FlammableUpdate ModuleTag_21
6428      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6429      AflameDamageAmount = 3       ; taking this much damage...
6430      AflameDamageDelay = 500       ; this often.
6431    End
6432  
6433    Geometry = BOX
6434    GeometryMajorRadius = 15.0
6435    GeometryMinorRadius = 10.0
6436    GeometryHeight = 10.0     
6437    GeometryIsSmall = Yes    
6438    Shadow = SHADOW_VOLUME
6439    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6440  
6441  End
6442  
6443  ;------------------------------------------------------------------------------
6444  ;Sentry Drone
6445  Object Lazr_AmericaVehicleSentryDrone
6446  
6447    ; *** ART Parameters ***
6448    SelectPortrait         = SAsentry_L
6449    ButtonImage            = SAsentry
6450    
6451    UpgradeCameo1 = Upgrade_AmericaSentryDroneGun
6452    ;UpgradeCameo2 = NONE
6453    ;UpgradeCameo3 = NONE
6454    ;UpgradeCameo4 = NONE
6455    ;UpgradeCameo5 = NONE
6456  
6457    Draw = W3DTankDraw ModuleTag_01
6458      
6459      InitialRecoilSpeed   = 10
6460      MaxRecoilDistance    = 1.5
6461      RecoilSettleSpeed    = 3
6462  
6463      OkToChangeModelColor = Yes
6464  
6465      DefaultConditionState
6466        Model                           = AVSENTRY
6467        Animation                       = AVSENTRY.AVSENTRY
6468        AnimationMode                   = LOOP
6469        Turret                          = TURRET01
6470        HideSubObject                   = TURRETUP09  ;Hide controlled turret
6471        WeaponFireFXBone  = PRIMARY   TurretFX
6472        WeaponMuzzleFlash = PRIMARY   TurretFX
6473        WeaponRecoilBone  = PRIMARY   TurretUp
6474      End
6475      ConditionState                    = REALLYDAMAGED
6476        Turret                          = TURRET01
6477        Model                           = AVSENTRY_D
6478        Animation                       = AVSENTRY_D.AVSENTRY_D
6479        AnimationMode                   = LOOP
6480        HideSubObject                   = TURRETUP09      ;Hide controlled turret
6481      End
6482      ConditionState                    = RUBBLE
6483        Model                           = AVSENTRY_D1
6484        HideSubObject                   = TURRETUP09      ;Hide controlled turret
6485      End
6486      AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE 
6487      
6488      ConditionState = WEAPONSET_PLAYER_UPGRADE
6489        Model                           = AVSENTRY
6490        Animation                       = AVSENTRY.AVSENTRY
6491        AnimationMode                   = LOOP
6492        ShowSubObject                   = TURRETUP09
6493      End
6494  
6495      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
6496        Model                           = AVSENTRY_D
6497        Animation                       = AVSENTRY_D.AVSENTRY_D
6498        AnimationMode                   = LOOP
6499        ShowSubObject                   = TURRETUP09
6500      End
6501         TrackMarks           = EXTnkTrack.tga
6502         TreadDebrisLeft      = SentryDroneTrackDebrisDirtLeft
6503         TreadDebrisRight     = SentryDroneTrackDebrisDirtRight
6504         TreadAnimationRate   = 4.0  ; amount of tread texture to move per second
6505      End
6506  
6507  
6508    ; ***DESIGN parameters ***
6509    DisplayName        = OBJECT:SentryDrone
6510    Side               = AmericaLaserGeneral
6511    EditorSorting      = VEHICLE
6512    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
6513    WeaponSet
6514      Conditions = None 
6515      Weapon = PRIMARY None
6516    End
6517    WeaponSet
6518      Conditions = PLAYER_UPGRADE
6519      Weapon = PRIMARY SentryDroneGun
6520    End
6521    ArmorSet
6522      Conditions      = None
6523      Armor           = SentryDroneArmor
6524      DamageFX        = TruckDamageFX
6525    End
6526    BuildCost       = 800
6527    BuildTime       = 10.0          ;in seconds    
6528    VisionRange     = 200
6529    ShroudClearingRange = 350
6530    Prerequisites
6531      Object = Lazr_AmericaWarFactory
6532    End
6533  
6534    ExperienceValue = 50 50 100 150   ;Experience point value at each level
6535    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
6536    IsTrainable = No             ;Can gain experience
6537    CrusherLevel           = 0  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6538    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6539    CommandSet    = Lazr_AmericaVehicleSentryDroneCommandSet
6540  
6541    ; *** AUDIO Parameters ***
6542    VoiceSelect           = SentryDroneVoiceSelect
6543    VoiceMove             = SentryDroneVoiceMove
6544    VoiceGuard            = SentryDroneVoiceMove
6545    VoiceAttack           = SentryDroneVoiceMove
6546    SoundMoveStart        = NoSound
6547    SoundMoveStartDamaged = NoSound
6548    UnitSpecificSounds
6549      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6550      VoiceCreate         = NoSound
6551      TurretMoveStart     = NoSound
6552      TurretMoveLoop      = NoSound
6553      VoiceEnter          = NoSound
6554      Deploy              = NoSound
6555      Undeploy            = NoSound
6556    End
6557    Behavior = WeaponSetUpgrade ModuleTag_03
6558      TriggeredBy = Upgrade_AmericaSentryDroneGun
6559    End
6560  
6561  
6562    ; *** ENGINEERING Parameters ***
6563    RadarPriority = UNIT
6564    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE
6565    
6566    Body = ActiveBody ModuleTag_02
6567      MaxHealth       = 300.0
6568      InitialHealth   = 300.0
6569  
6570      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6571      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6572      SubdualDamageCap = 480
6573      SubdualDamageHealRate = 500
6574      SubdualDamageHealAmount = 50
6575    End
6576    Behavior = DeployStyleAIUpdate ModuleTag_04
6577      Turret
6578        TurretTurnRate        = 180
6579        TurretPitchRate       = 180
6580        FirePitch             = 0            ; Instead of aiming pitchwise at the target, it will aim here
6581        AllowsPitch           = No
6582        RecenterTime          = 1000         ; how long to wait during idle before recentering
6583        ControlledWeaponSlots = PRIMARY
6584        NaturalTurretAngle    = 0
6585        InitiallyDisabled     = No
6586        MinIdleScanInterval   = 250    ; in milliseconds
6587        MaxIdleScanInterval   = 250    ; in milliseconds
6588        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
6589        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
6590      End
6591      AutoAcquireEnemiesWhenIdle = Yes Stealthed ; Means "Yes when idle, even if I am stealthed"
6592      PackTime = 1000
6593      UnpackTime = 1000
6594      TurretsFunctionOnlyWhenDeployed = Yes
6595      TurretsMustCenterBeforePacking = Yes
6596    End
6597  
6598    Locomotor = SET_NORMAL SentryLocomotor
6599    Behavior = PhysicsBehavior ModuleTag_05
6600      Mass = 50.0
6601    End
6602    Behavior = StealthUpdate ModuleTag_06
6603      StealthDelay                = 2000 ; msec
6604      StealthForbiddenConditions  = FIRING_PRIMARY MOVING
6605      HintDetectableConditions    = IS_FIRING_WEAPON 
6606      FriendlyOpacityMin          = 50.0%
6607      FriendlyOpacityMax          = 100.0%
6608      InnateStealth               = Yes
6609      OrderIdleEnemiesToAttackMeUponReveal  = Yes
6610    End
6611  
6612    Behavior = SlowDeathBehavior ModuleTag_07
6613      DeathTypes = ALL -CRUSHED -SPLATTED
6614      DestructionDelay  = 500
6615      DestructionDelayVariance  = 100
6616      FX  = INITIAL  FX_GenericTankDeathEffect
6617      OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie
6618      FX =  FINAL FX_AmericaVehicleTomahawkDeathExplosion
6619    End
6620  
6621    Behavior = DestroyDie ModuleTag_08
6622      DeathTypes = NONE +CRUSHED +SPLATTED
6623    End
6624  
6625    Behavior = FXListDie ModuleTag_09
6626      DeathTypes = NONE +CRUSHED +SPLATTED
6627      DeathFX = FX_CarCrush
6628    End
6629  
6630    Behavior = CreateCrateDie ModuleTag_CratesChange
6631      CrateData = SalvageCrateData
6632      ;CrateData = EliteTankCrateData
6633      ;CrateData = HeroicTankCrateData
6634    End
6635  
6636    Behavior = TransitionDamageFX ModuleTag_10
6637      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6638      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6639    End
6640  
6641    Behavior = FlammableUpdate ModuleTag_11
6642      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6643      AflameDamageAmount = 3       ; taking this much damage...
6644      AflameDamageDelay = 500       ; this often.
6645    End
6646    Behavior = StealthDetectorUpdate ModuleTag_12
6647      DetectionRate            = 900   ; how often to rescan for stealthed things in my sight (msec)
6648      DetectionRange           = 225 ;Dustin, enable this for independant balancing!
6649    End
6650    Geometry = BOX
6651    GeometryMajorRadius = 9.0
6652    GeometryMinorRadius = 7.0
6653    GeometryHeight = 11.5     
6654    GeometryIsSmall = Yes 
6655    Shadow = SHADOW_VOLUME
6656    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6657  
6658  
6659  End
6660  
6661  ;------------------------------------------------------------------------------
6662  Object Lazr_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly
6663  
6664    ; *** ART Parameters ***
6665    SelectPortrait         = SNPropSpeaker_L
6666    ButtonImage            = SNPropSpeaker
6667    
6668    UpgradeCameo1 = Upgrade_Nationalism
6669    UpgradeCameo2 = Upgrade_ChinaUraniumShells
6670    UpgradeCameo3 = Upgrade_ChinaNuclearTanks
6671    ;UpgradeCameo4 = NONE
6672    UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower
6673    
6674    Draw                    = W3DDependencyModelDraw ModuleTag_01
6675      OkToChangeModelColor  = Yes
6676      ExtraPublicBone = TurretFX01
6677      ExtraPublicBone = TurretFX02
6678      ExtraPublicBone = TURRET01
6679      ExtraPublicBone = TURRETEL
6680      ExtraPublicBone = TURRETEL01
6681  
6682      AttachToBoneInContainer = FIREPOINT01
6683  
6684      DefaultConditionState 
6685        Model         = AVAVNGER_G
6686        Turret              = TURRET01
6687        TurretPitch         = TURRETEL01
6688      End
6689  
6690      ConditionState = REALLYDAMAGED
6691        Model         = AVAVNGER_GD
6692        Turret              = TURRET01
6693        TurretPitch         = TURRETEL01
6694      End
6695    End
6696  
6697    PlacementViewAngle = -45
6698  
6699    ; ***DESIGN parameters ***
6700    Side             = AmericaLaserGeneral
6701    EditorSorting    = SYSTEM
6702    TransportSlotCount = 1
6703    
6704    WeaponSet
6705      Conditions = None 
6706      Weapon = PRIMARY Lazr_CrusaderTankGun
6707      Weapon = SECONDARY AvengerAirLaserTwo
6708    End
6709  
6710    ArmorSet
6711      Conditions     = None
6712      Armor          = InvulnerableAllArmor ; We can't be hurt on the field.  We share damage from the Avenger with his damage module
6713    End
6714    VisionRange     = 200
6715  
6716    ; *** AUDIO Parameters ***
6717    UnitSpecificSounds
6718     TurretMoveStart = NoSound
6719      TurretMoveLoop  = NoSound ;TurretMoveLoop
6720    End
6721  
6722    ; *** ENGINEERING Parameters ***
6723    KindOf            = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
6724      Body            = StructureBody ModuleTag_02
6725      MaxHealth       = 100.0
6726      InitialHealth   = 100.0
6727    End
6728  
6729    Behavior = AIUpdateInterface ModuleTag_03
6730      Turret
6731        ControlledWeaponSlots = PRIMARY SECONDARY
6732        TurretTurnRate      = 180   // turn rate, in degrees per sec
6733        TurretPitchRate     = 180
6734        AllowsPitch         = Yes
6735        NaturalTurretPitch  = 45
6736      End
6737      AutoAcquireEnemiesWhenIdle = Yes 
6738      MoodAttackCheckRate = 500 ; default is 2000
6739    End
6740  
6741    Behavior             = DestroyDie ModuleTag_05
6742      ;<No Data>
6743    End
6744  
6745    Geometry            = BOX
6746    GeometryMajorRadius = 6.0
6747    GeometryMinorRadius = 6.0
6748    GeometryHeight      = 10.0
6749    GeometryIsSmall     = No      
6750    Shadow              = SHADOW_VOLUME
6751    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6752  
6753  End
6754  
6755  ;------------------------------------------------------------------------------
6756  Object Lazr_AmericaTankAvenger
6757  
6758    ; *** ART Parameters ***
6759    SelectPortrait         = SAAvnger_L
6760    ButtonImage            = SAAvnger
6761    
6762    UpgradeCameo1 = Upgrade_AmericaBattleDrone
6763    UpgradeCameo2 = Upgrade_AmericaScoutDrone
6764    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
6765    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
6766    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
6767  
6768    Draw = W3DOverlordTruckDraw ModuleTag_01
6769      OkToChangeModelColor  = Yes
6770      ExtraPublicBone = TurretFX03
6771      ExtraPublicBone = LazerSpot01
6772      ExtraPublicBone = LazerSpot02
6773      DefaultConditionState
6774        Model               = AVAVNGER
6775      End
6776      
6777      ConditionState        = REALLYDAMAGED
6778        Model               = AVAVNGER_D
6779      End
6780      
6781      ConditionState        = RUBBLE
6782        Model               = AVAVNGER_D1
6783      End
6784      
6785      Dust = RocketBuggyDust
6786      DirtSpray = RocketBuggyDirtSpray
6787      PowerslideSpray = RocketBuggyDirtPowerSlide
6788  
6789      ; These parameters are only used if the model has a separate suspension, 
6790      ; and the locomotor has HasSuspension = Yes.
6791      LeftFrontTireBone = Tire01
6792      RightFrontTireBone = Tire02
6793      LeftRearTireBone = Tire03
6794      RightRearTireBone = Tire04
6795      TireRotationMultiplier = 0.2   ; this * speed = rotation.
6796      PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
6797    End
6798  
6799    ; ***DESIGN parameters ***
6800    DisplayName      = OBJECT:Avenger
6801    Side = AmericaLaserGeneral
6802    EditorSorting   = VEHICLE
6803    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
6804    WeaponSet
6805      Conditions = None 
6806      Weapon = PRIMARY AvengerTargetDesignator
6807    End
6808    ArmorSet
6809      Conditions      = None
6810      Armor           = AntiAirVehicle
6811      DamageFX        = TankDamageFX
6812    End
6813    BuildCost       = 1500
6814    BuildTime       = 10.0          ;in seconds    
6815    VisionRange     = 150
6816    ShroudClearingRange = 300
6817    Prerequisites
6818      Object = Lazr_AmericaWarFactory
6819      Object = Lazr_AmericaStrategyCenter
6820    End
6821  
6822    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
6823    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
6824  
6825    IsTrainable     = Yes
6826    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
6827    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
6828    CommandSet      = Lazr_AmericaTankAvengerCommandSet
6829      
6830    ; *** AUDIO Parameters ***
6831    VoiceSelect = AvengerVoiceSelect
6832    VoiceMove = AvengerVoiceMove
6833    VoiceGuard = AvengerVoiceMove
6834    VoiceAttack = AvengerVoicePaint
6835    VoiceAttackAir = AvengerVoiceAttack
6836    SoundMoveStart = HumveeMoveStart
6837    SoundMoveStartDamaged = HumveeMoveStart
6838  
6839    UnitSpecificSounds
6840      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
6841      VoiceCreate     = AvengerVoiceCreate
6842      TurretMoveLoop = NoSound
6843      SoundEject = PilotSoundEject
6844      VoiceEject = PilotVoiceEject
6845      VoiceCrush = NoSound
6846      VoiceEnter = AvengerVoiceMove
6847    End
6848    ; *** ENGINEERING Parameters ***
6849    RadarPriority = UNIT
6850    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
6851    
6852    Body = ActiveBody ModuleTag_02
6853      MaxHealth       = 300.0
6854      InitialHealth   = 300.0
6855  
6856      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6857      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6858      SubdualDamageCap = 1000
6859      SubdualDamageHealRate = 500
6860      SubdualDamageHealAmount = 50
6861    End
6862  
6863    Behavior = AIUpdateInterface ModuleTag_03
6864      AutoAcquireEnemiesWhenIdle = Yes
6865    End
6866    Locomotor = SET_NORMAL CrusaderLocomotor
6867    Behavior = PhysicsBehavior ModuleTag_04
6868      Mass = 50.0
6869    End
6870    
6871    ; Turret fly off death
6872    Behavior = SlowDeathBehavior ModuleTag_05
6873      DeathTypes = ALL -CRUSHED -SPLATTED
6874      ProbabilityModifier = 50
6875  ;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
6876      DestructionDelay = 500
6877      DestructionDelayVariance = 100
6878      FX  = INITIAL  FX_GenericTankDeathEffect
6879      FX  = FINAL    FX_GenericTankDeathExplosion
6880      OCL = FINAL    OCL_AvengerTankDeathEffect
6881    End
6882    
6883    ; Catch fire, and explode death
6884    Behavior = SlowDeathBehavior ModuleTag_06
6885      DeathTypes = ALL -CRUSHED -SPLATTED
6886      ProbabilityModifier = 50
6887      DestructionDelay = 2000
6888      DestructionDelayVariance = 300
6889      FX  = INITIAL  FX_CrusaderCatchFire
6890      OCL = FINAL    OCL_AvengerTankDeathEffect
6891      FX  = FINAL    FX_GenericTankDeathExplosion 
6892    End
6893  
6894    Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
6895      WeaponTemplate        = AvengerPointDefenseLaserOne
6896      PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
6897      ScanRate              = 0
6898      ScanRange             = 200.0
6899      PredictTargetVelocityFactor = 1.0
6900    End
6901  
6902  ;  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
6903  ;    WeaponTemplate        = AvengerPointDefenseLaserTwo
6904  ;    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
6905  ;    ScanRate              = 100
6906  ;    ScanRange             = 200.0
6907  ;    PredictTargetVelocityFactor = 1.0
6908  ;  End
6909  
6910    Behavior = OverlordContain ModuleTag_OverlordContain
6911      Slots                 = 1
6912      DamagePercentToUnits  = 100%
6913      AllowInsideKindOf     = PORTABLE_STRUCTURE
6914      PassengersAllowedToFire = Yes
6915      PayloadTemplateName        = AmericaTankAvengerLaserTurret
6916      ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
6917    End
6918  
6919    Behavior = ObjectCreationUpgrade ModuleTag_08
6920      UpgradeObject = Lazr_OCL_AmericanBattleDrone
6921      TriggeredBy   = Upgrade_AmericaBattleDrone
6922      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
6923    End
6924    Behavior = ObjectCreationUpgrade ModuleTag_09
6925      UpgradeObject = OCL_AmericanScoutDrone
6926      TriggeredBy   = Upgrade_AmericaScoutDrone
6927      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
6928    End 
6929    Behavior = ObjectCreationUpgrade ModuleTag_19
6930      UpgradeObject = OCL_AmericanHellfireDrone
6931      TriggeredBy   = Upgrade_AmericaHellfireDrone
6932      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
6933    End
6934  
6935    Behavior = ProductionUpdate ModuleTag_10
6936      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
6937    End
6938  
6939    Behavior = ExperienceScalarUpgrade ModuleTag_11
6940      TriggeredBy = Upgrade_AmericaAdvancedTraining
6941      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
6942    End
6943  
6944    Behavior = TransitionDamageFX ModuleTag_12
6945      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
6946      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
6947    End
6948  
6949    Behavior = FXListDie ModuleTag_13
6950      DeathTypes = NONE +CRUSHED +SPLATTED
6951      DeathFX = FX_CarCrush
6952    End
6953    Behavior = CreateObjectDie ModuleTag_14
6954      DeathTypes = NONE +CRUSHED +SPLATTED
6955      CreationList = OCL_CrusaderTank_CrushEffect
6956    End
6957    Behavior = DestroyDie ModuleTag_15
6958      DeathTypes = NONE +CRUSHED +SPLATTED
6959    End
6960    Behavior = CreateCrateDie ModuleTag_16
6961      CrateData = SalvageCrateData
6962      ;CrateData = EliteTankCrateData
6963      ;CrateData = HeroicTankCrateData
6964    End
6965    Behavior = EjectPilotDie ModuleTag_17
6966      DeathTypes = ALL -CRUSHED -SPLATTED
6967      ExemptStatus = HIJACKED
6968      GroundCreationList = OCL_EjectPilotOnGround
6969      AirCreationList = OCL_EjectPilotViaParachute
6970      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
6971    End
6972  
6973    Behavior = FlammableUpdate ModuleTag_22
6974      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6975      AflameDamageAmount = 3       ; taking this much damage...
6976      AflameDamageDelay = 500       ; this often.
6977    End
6978  
6979    Behavior = MaxHealthUpgrade ModuleTag_23
6980      TriggeredBy   = Upgrade_AmericaCompositeArmor
6981      AddMaxHealth  = 100.0
6982      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
6983    End
6984  
6985    Geometry = BOX
6986    GeometryMajorRadius = 15.0
6987    GeometryMinorRadius = 10.0
6988    GeometryHeight = 10.0     
6989    GeometryIsSmall = Yes    
6990    Shadow = SHADOW_VOLUME
6991    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
6992  
6993  End
6994  
6995  
6996  
6997  
6998  
6999  
7000  
7001  
7002  
7003  
7004  
7005  
7006  
7007  
7008  ;------------------------------------------------------------------------------
7009  Object Lazr_AmericaTankMicrowave
7010  
7011    ; *** ART Parameters ***
7012    SelectPortrait         = SAThunderBolt_L
7013    ButtonImage            = SAThunderBolt
7014    
7015    UpgradeCameo1 = Upgrade_AmericaBattleDrone
7016    UpgradeCameo2 = Upgrade_AmericaScoutDrone
7017    UpgradeCameo3 = Upgrade_AmericaHellfireDrone
7018    UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
7019    UpgradeCameo5 = Upgrade_AmericaCompositeArmor
7020    
7021    Draw = W3DTankDraw ModuleTag_01
7022  
7023      ExtraPublicBone = WEAPON02 
7024      OkToChangeModelColor = Yes
7025  
7026      ConditionState  = NONE
7027        Model         = AVTHUNDRBLT
7028        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
7029        ParticleSysBone = NONE MicrowaveRotisserie
7030      End
7031      ConditionState  = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
7032        Model         = AVTHUNDRBLT
7033      End
7034      ConditionState  = REALLYDAMAGED RUBBLE
7035        Model         = AVTHUNDRBLT_D
7036        ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare 
7037        ParticleSysBone = NONE MicrowaveRotisserie
7038      End
7039      ConditionState  = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C
7040        Model         = AVTHUNDRBLT_D
7041      End
7042      
7043      TrackMarks              = EXTnkTrack.tga
7044      TreadAnimationRate      = 4.0  ; amount of tread texture to move per second
7045    End
7046  
7047    ; ***DESIGN parameters ***
7048    DisplayName      = OBJECT:Microwave
7049    Side                   = AmericaLaserGeneral
7050    EditorSorting          = VEHICLE
7051    TransportSlotCount     = 3
7052    ArmorSet
7053      Conditions           = None
7054      Armor                = TankArmor
7055      DamageFX             = TankDamageFX
7056    End
7057  
7058    WeaponSet
7059      Conditions          = None 
7060    ; Weapon              = PRIMARY   MicrowaveTankVehicleDisabler
7061      Weapon              = PRIMARY MicrowaveTankBuildingDisabler  ;SECONDARY MicrowaveTankBuildingDisabler
7062      Weapon              = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY  MicrowaveTankBuildingClearer
7063    End
7064  
7065    BuildCost              = 800
7066    BuildTime              = 10.0          ;in seconds    
7067    VisionRange            = 200
7068    ShroudClearingRange = 300
7069    Prerequisites
7070      Object = Lazr_AmericaWarFactory
7071      Object = Lazr_AmericaStrategyCenter
7072    End
7073    ExperienceValue        = 100 100 200 400 ;Experience point value at each level
7074    ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
7075    IsTrainable            = Yes  ;Can gain experience
7076    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
7077    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
7078    CommandSet             = Lazr_AmericaTankMicrowaveCommandSet
7079    
7080    ; *** AUDIO Parameters ***
7081    VoiceSelect           = MicrowaveTankVoiceSelect
7082    VoiceMove             = MicrowaveTankVoiceMove
7083    VoiceGuard            = MicrowaveTankVoiceMove
7084    VoiceAttack           = MicrowaveTankVoiceAttack
7085    SoundMoveStart        = HumveeMoveStart
7086    SoundMoveStartDamaged = HumveeMoveStart
7087    UnitSpecificSounds
7088      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
7089      VoiceCreate         = MicrowaveTankVoiceCreate
7090      VoiceEnter             = MicrowaveTankVoiceMove
7091      SoundEject          = PilotSoundEject
7092      VoiceEject          = PilotVoiceEject
7093      VoiceCrush          = MicrowaveTankVoiceMove
7094    End
7095    ; *** ENGINEERING Parameters ***
7096    RadarPriority          = UNIT
7097    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE
7098    
7099    Body                   = ActiveBody ModuleTag_02
7100      MaxHealth       = 480
7101      InitialHealth   = 480
7102  
7103      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7104      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7105      SubdualDamageCap = 960
7106      SubdualDamageHealRate = 500
7107      SubdualDamageHealAmount = 50
7108    End
7109  
7110    Behavior = AIUpdateInterface ModuleTag_03
7111      AutoAcquireEnemiesWhenIdle = Yes
7112    End
7113    Locomotor            = SET_NORMAL CrusaderLocomotor
7114    Behavior = PhysicsBehavior ModuleTag_04
7115      Mass                 = 50.0
7116    End
7117  
7118    ; Turret fly off death
7119    Behavior = SlowDeathBehavior ModuleTag_10
7120      DeathTypes = ALL -CRUSHED -SPLATTED
7121      ProbabilityModifier  = 50
7122      DestructionDelay  = 500
7123      DestructionDelayVariance  = 100
7124      FX  = INITIAL  FX_GenericTankDeathEffect
7125      OCL = MIDPOINT OCL_MicrowaveTankDeath
7126      FX  = FINAL    FX_GenericTankDeathExplosion
7127    End
7128  
7129    Behavior                 = TransitionDamageFX ModuleTag_12
7130      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
7131      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
7132    End
7133  
7134    Behavior = DestroyDie ModuleTag_13
7135      DeathTypes = NONE +CRUSHED +SPLATTED
7136    End
7137  
7138    ; A crushing defeat
7139    Behavior = FXListDie ModuleTag_14
7140      DeathTypes = NONE +CRUSHED +SPLATTED
7141      DeathFX = FX_CarCrush
7142    End
7143  
7144    Behavior = CreateObjectDie ModuleTag_15
7145      DeathTypes = NONE +CRUSHED +SPLATTED
7146      CreationList = OCL_MicrowaveTankDeath_CrushEffect
7147    End
7148  
7149    Behavior                    = CreateCrateDie ModuleTag_CratesChange
7150     CrateData             = SalvageCrateData
7151     ;CrateData             = EliteTankCrateData
7152     ;CrateData             = HeroicTankCrateData
7153    End
7154  
7155    Behavior = EjectPilotDie ModuleTag_17
7156      GroundCreationList = OCL_EjectPilotOnGround
7157      AirCreationList = OCL_EjectPilotViaParachute
7158      ExemptStatus = HIJACKED
7159      VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
7160    End
7161  
7162    Behavior = MaxHealthUpgrade ModuleTag_18
7163      TriggeredBy   = Upgrade_AmericaCompositeArmor
7164      AddMaxHealth  = 100.0
7165      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
7166    End
7167    Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01
7168      TriggeredBy = Upgrade_AmericaAdvancedTraining
7169      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
7170    End
7171    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02
7172      UpgradeObject = Lazr_OCL_AmericanBattleDrone
7173      TriggeredBy   = Upgrade_AmericaBattleDrone
7174      ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
7175    End
7176    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03
7177      UpgradeObject = OCL_AmericanScoutDrone
7178      TriggeredBy   = Upgrade_AmericaScoutDrone
7179      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
7180    End
7181    Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04
7182      UpgradeObject = OCL_AmericanHellfireDrone
7183      TriggeredBy   = Upgrade_AmericaHellfireDrone
7184      ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
7185    End
7186    Behavior = ProductionUpdate ModuleTag_Prod01
7187      MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
7188    End
7189  
7190    Behavior = FlammableUpdate ModuleTag_21
7191      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7192      AflameDamageAmount = 3       ; taking this much damage...
7193      AflameDamageDelay = 500       ; this often.
7194    End
7195  
7196    Behavior = FireWeaponUpdate ModuleTag_22
7197      Weapon = MicrowaveTankEmitterWeapon
7198      ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long
7199    End
7200  
7201    Behavior = CommandButtonHuntUpdate  ModuleTag_24 ; allows use of command button hunt script with this unit. 
7202    End
7203  
7204    Geometry               = BOX
7205    GeometryMajorRadius    = 15.0
7206    GeometryMinorRadius    = 10.0
7207    GeometryHeight         = 10.0     
7208    GeometryIsSmall        = Yes    
7209    Shadow = SHADOW_VOLUME
7210    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
7211  
7212  End
7213  
7214  
7215  
7216  
7217  
7218  
7219  
7220  
7221  
7222  
7223  
7224  
7225  
7226  
7227  
7228  
7229  
7230  
7231  
7232  
7233  
7234  
7235  
7236  
7237  
7238  
7239  
7240  
7241  
7242  
7243  
7244  
7245  
7246  
7247  
7248  
7249  
7250  
7251  
7252  
7253  
7254  
7255  
7256  
7257  
7258  
7259  
7260  
7261  
7262  
7263  
7264  
7265  
7266  
7267  
7268  
7269  
7270  ;------------------------------------------------------------------------------
7271  Object Lazr_AmericaCommandCenter
7272  
7273    ; *** ART Parameters ***
7274    SelectPortrait         = SAComCentr_L
7275    ButtonImage            = SAComCentr
7276    
7277    ; ----------------- Main Building ------------------------
7278    Draw = W3DModelDraw ModuleTag_01
7279      OkToChangeModelColor = Yes
7280      ; day ******************************************
7281      ConditionState       = NONE
7282        Model              = ABBtCmdHQL
7283        Animation          = ABBtCmdHQL.ABBtCmdHQL
7284        AnimationMode      = LOOP
7285      End
7286      ConditionState       = DAMAGED
7287        Model              = ABBtCmdHQL_D
7288        Animation          = ABBtCmdHQL_D.ABBtCmdHQL_D
7289        AnimationMode      = LOOP
7290      End
7291      ConditionState       = REALLYDAMAGED RUBBLE
7292        Model              = ABBtCmdHQL_E
7293        Animation          = ABBtCmdHQL_E.ABBtCmdHQL_E
7294        AnimationMode      = LOOP
7295      End
7296  
7297  
7298      ; night ****************************************
7299      ConditionState       = NIGHT
7300        Model              = ABBtCmdHQL_N
7301        Animation          = ABBtCmdHQL_N.ABBtCmdHQL_N
7302        AnimationMode      = LOOP
7303      End  
7304      ConditionState       = DAMAGED NIGHT
7305        Model              = ABBtCmdHQL_DN
7306        Animation          = ABBtCmdHQL_DN.ABBtCmdHQL_DN
7307        AnimationMode      = LOOP
7308      End
7309      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
7310        Model              = ABBtCmdHQL_EN
7311        Animation          = ABBtCmdHQL_EN.ABBtCmdHQL_EN
7312        AnimationMode      = LOOP
7313       End    
7314  
7315      
7316      ; Snow
7317      ConditionState       = SNOW
7318        Model              = ABBtCmdHQL_S
7319        Animation          = ABBtCmdHQL_S.ABBtCmdHQL_S
7320        AnimationMode      = LOOP
7321      End  
7322      ConditionState       = DAMAGED SNOW
7323        Model              = ABBtCmdHQL_DS
7324        Animation          = ABBtCmdHQL_DS.ABBtCmdHQL_DS
7325        AnimationMode      = LOOP
7326      End
7327      ConditionState       = REALLYDAMAGED RUBBLE SNOW
7328        Model              = ABBtCmdHQL_ES
7329        Animation          = ABBtCmdHQL_ES.ABBtCmdHQL_ES
7330        AnimationMode      = LOOP
7331       End    
7332      
7333      ; night snow ****************************************
7334      ConditionState       = NIGHT SNOW
7335        Model              = ABBtCmdHQL_NS
7336        Animation          = ABBtCmdHQL_NS.ABBtCmdHQL_NS
7337        AnimationMode      = LOOP
7338      End  
7339      ConditionState       = DAMAGED NIGHT SNOW
7340        Model              = ABBtCmdHQL_DNS
7341        Animation          = ABBtCmdHQL_DNS.ABBtCmdHQL_DNS
7342        AnimationMode      = LOOP
7343      End
7344      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
7345        Model              = ABBtCmdHQL_ENS
7346        Animation          = ABBtCmdHQL_ENS.ABBtCmdHQL_ENS
7347        AnimationMode      = LOOP
7348       End 
7349  
7350      
7351      
7352      ;**************************************************************************************************************************
7353      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7354      ;for this draw module
7355      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7356        Model              = ABBtCmdHQL
7357        Animation          = ABBtCmdHQL.ABBtCmdHQL
7358        AnimationMode      = LOOP
7359        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7360      End
7361      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7362        Model              = ABBtCmdHQL_D
7363        Animation          = ABBtCmdHQL_D.ABBtCmdHQL_D
7364        AnimationMode      = LOOP
7365        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7366      End
7367      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7368        Model              = ABBtCmdHQL_E
7369        Animation          = ABBtCmdHQL_E.ABBtCmdHQL_E
7370        AnimationMode      = LOOP
7371        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7372      End
7373      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7374        Model              = ABBtCmdHQL_N
7375        Animation          = ABBtCmdHQL_N.ABBtCmdHQL_N
7376        AnimationMode      = LOOP
7377        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7378      End
7379      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7380        Model              = ABBtCmdHQL_DN
7381        Animation          = ABBtCmdHQL_DN.ABBtCmdHQL_DN
7382        AnimationMode      = LOOP
7383        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7384      End
7385      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
7386        Model              = ABBtCmdHQL_EN
7387        Animation          = ABBtCmdHQL_EN.ABBtCmdHQL_EN
7388        AnimationMode      = LOOP
7389        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7390      End
7391      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7392        Model              = ABBtCmdHQL_S
7393        Animation          = ABBtCmdHQL_S.ABBtCmdHQL_S
7394        AnimationMode      = LOOP
7395        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7396      End
7397      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7398        Model              = ABBtCmdHQL_DS
7399        Animation          = ABBtCmdHQL_DS.ABBtCmdHQL_DS
7400        AnimationMode      = LOOP
7401        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7402      End
7403      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
7404        Model              = ABBtCmdHQL_ES
7405        Animation          = ABBtCmdHQL_ES.ABBtCmdHQL_ES
7406        AnimationMode      = LOOP
7407        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7408      End
7409      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7410        Model              = ABBtCmdHQL_NS
7411        Animation          = ABBtCmdHQL_NS.ABBtCmdHQL_NS
7412        AnimationMode      = LOOP
7413        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7414      End
7415      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
7416        Model              = ABBtCmdHQL_DNS
7417        Animation          = ABBtCmdHQL_DNS.ABBtCmdHQL_DNS
7418        AnimationMode      = LOOP
7419        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7420      End
7421      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
7422        Model              = ABBtCmdHQL_ENS
7423        Animation          = ABBtCmdHQL_ENS.ABBtCmdHQL_ENS
7424        AnimationMode      = LOOP
7425        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7426      End
7427  
7428      ConditionState       = AWAITING_CONSTRUCTION 
7429        Model              = NONE
7430      End
7431      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7432      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7433      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7434      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7435      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7436      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
7437      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
7438      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
7439      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7440      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7441      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7442      AliasConditionState  = SOLD 
7443      AliasConditionState  = SOLD DAMAGED
7444      AliasConditionState  = SOLD REALLYDAMAGED
7445      AliasConditionState  = SOLD NIGHT
7446      AliasConditionState  = SOLD NIGHT DAMAGED
7447      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7448      AliasConditionState  = SOLD SNOW
7449      AliasConditionState  = SOLD SNOW DAMAGED
7450      AliasConditionState  = SOLD SNOW REALLYDAMAGED
7451      AliasConditionState  = SOLD NIGHT SNOW
7452      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7453      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7454      ;**************************************************************************************************************************************************************************************************************
7455      
7456     End
7457  
7458  ; ----------------- the factory door -------------------
7459    Draw                = W3DModelDraw ModuleTag_02
7460      DefaultConditionState
7461        Model           = ABBtCmdHQ_A7
7462        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7463        AnimationMode   = MANUAL
7464        Flags           = START_FRAME_FIRST
7465      End
7466  
7467  
7468      ;**************************************************************************************************************************
7469      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7470      ;for this draw module
7471      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7472        Model              = ABBtCmdHQ_A7
7473        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7474      End
7475      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7476      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7477      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
7478      
7479      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7480        Model              = ABBtCmdHQ_A7D
7481        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7482      End
7483      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7484      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7485      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED
7486      
7487      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7488        Model              = ABBtCmdHQ_A7E
7489        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7490      End
7491      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7492      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7493      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW NIGHT
7494      
7495      
7496      ConditionState       = AWAITING_CONSTRUCTION 
7497        Model              = NONE
7498      End
7499      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7500      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7501      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7502      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7503      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7504      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7505      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7506      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7507      AliasConditionState  = SOLD DAMAGED
7508      AliasConditionState  = SOLD REALLYDAMAGED
7509      AliasConditionState  = SOLD NIGHT
7510      AliasConditionState  = SOLD NIGHT DAMAGED
7511  
7512  
7513      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7514      AliasConditionState  = SOLD NIGHT SNOW
7515      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7516      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7517      ;**************************************************************************************************************************
7518  
7519  
7520      ConditionState    = DAMAGED
7521        Model           = ABBtCmdHQ_A7D
7522        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7523        AnimationMode   = MANUAL
7524        Flags           = START_FRAME_FIRST
7525      End
7526      ConditionState    = REALLYDAMAGED RUBBLE
7527        Model           = ABBtCmdHQ_A7E
7528        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7529        AnimationMode   = MANUAL
7530        Flags           = START_FRAME_FIRST
7531      End
7532      
7533      
7534      ConditionState    = DOOR_1_OPENING
7535        Model           = ABBtCmdHQ_A7
7536        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7537        AnimationMode   = ONCE
7538        Flags           = START_FRAME_FIRST
7539      End   
7540      ConditionState    = DOOR_1_OPENING DAMAGED
7541        Model           = ABBtCmdHQ_A7D
7542        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7543        AnimationMode   = ONCE
7544        Flags           = START_FRAME_FIRST
7545      End   
7546      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
7547        Model           = ABBtCmdHQ_A7E
7548        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7549        AnimationMode   = ONCE
7550        Flags           = START_FRAME_FIRST
7551      End
7552      ConditionState    = DOOR_1_CLOSING
7553        Model           = ABBtCmdHQ_A7
7554        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7555        AnimationMode   = ONCE_BACKWARDS
7556        Flags           = START_FRAME_LAST
7557      End
7558      
7559      
7560      ConditionState    = DOOR_1_CLOSING DAMAGED
7561        Model           = ABBtCmdHQ_A7D
7562        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7563        AnimationMode   = ONCE_BACKWARDS
7564        Flags           = START_FRAME_LAST
7565      End   
7566      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7567        Model           = ABBtCmdHQ_A7E
7568        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7569        AnimationMode   = ONCE_BACKWARDS
7570        Flags           = START_FRAME_LAST
7571      End   
7572      ConditionState    = DOOR_1_WAITING_OPEN
7573        Model           = ABBtCmdHQ_A7
7574        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7575        AnimationMode   = MANUAL
7576        Flags           = START_FRAME_LAST
7577      End   
7578      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
7579        Model           = ABBtCmdHQ_A7D
7580        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7581        AnimationMode   = MANUAL
7582        Flags           = START_FRAME_LAST
7583      End   
7584      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7585        Model           = ABBtCmdHQ_A7E
7586        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7587        AnimationMode   = MANUAL
7588        Flags           = START_FRAME_LAST
7589      End   
7590    End
7591    
7592    PlacementViewAngle  = -135
7593  
7594    ; ------------ Radar Extending -----------------
7595    Draw                = W3DModelDraw ModuleTag_03
7596      ConditionState    = None
7597        Model           = ABBtCmdHQ_AC
7598        Animation       = ABBtCmdHQ_AC.ABBtCmdHQ_AC
7599        AnimationMode   = LOOP
7600      End
7601      AliasConditionState = NIGHT
7602      AliasConditionState = SNOW
7603      AliasConditionState = NIGHT SNOW
7604      
7605      ConditionState    = DAMAGED
7606        Model           = ABBtCmdHQ_ACD
7607        Animation       = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD
7608        AnimationMode   = LOOP
7609      End
7610      AliasConditionState = NIGHT DAMAGED
7611      AliasConditionState = SNOW DAMAGED
7612      AliasConditionState = NIGHT SNOW DAMAGED
7613      
7614      ConditionState    = REALLYDAMAGED RUBBLE
7615        Model           = ABBtCmdHQ_ACE
7616        Animation       = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE
7617        AnimationMode   = LOOP
7618      End
7619      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
7620      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
7621      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
7622      
7623      ;**************************************************************************************************************************
7624      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7625      ;for this draw module
7626      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7627        Model              = ABBtCmdHQ_AC
7628        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7629      End
7630      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7631      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7632      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7633      
7634      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7635        Model              = ABBtCmdHQ_ACD
7636        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7637      End
7638      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
7639      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
7640      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
7641      
7642      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7643        Model              = ABBtCmdHQ_ACE
7644        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7645      End
7646      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7647      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7648      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
7649      
7650      ConditionState       = AWAITING_CONSTRUCTION 
7651        Model              = NONE
7652      End
7653      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7654      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7655      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7656      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7657      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7658      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7659      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7660      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7661      AliasConditionState  = SOLD DAMAGED
7662      AliasConditionState  = SOLD REALLYDAMAGED
7663      AliasConditionState  = SOLD NIGHT
7664      AliasConditionState  = SOLD NIGHT DAMAGED
7665      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7666      AliasConditionState  = SOLD NIGHT SNOW
7667      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7668      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7669      ;**************************************************************************************************************************
7670      
7671    End
7672  
7673    ; ----------------- The Door ------------------------
7674    Draw = W3DModelDraw ModuleTag_04
7675    
7676      DefaultConditionState
7677        Model           = ABBtCmdHQ_A7
7678  
7679        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7680        AnimationMode   = MANUAL
7681        Flags           = START_FRAME_FIRST
7682      End
7683      AliasConditionState = NIGHT 
7684      AliasConditionState = SNOW 
7685      AliasConditionState = NIGHT SNOW
7686         
7687      ConditionState    = DAMAGED
7688        Model           = ABBtCmdHQ_A7D
7689        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7690        AnimationMode   = MANUAL
7691        Flags           = START_FRAME_FIRST
7692      End
7693      AliasConditionState = NIGHT DAMAGED
7694      AliasConditionState = SNOW DAMAGED
7695      AliasConditionState = NIGHT SNOW DAMAGED
7696      
7697      ConditionState    = REALLYDAMAGED RUBBLE
7698        Model           = ABBtCmdHQ_A7E
7699        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7700        AnimationMode   = MANUAL
7701        Flags           = START_FRAME_FIRST
7702      End
7703      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
7704      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
7705      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
7706      
7707      ConditionState    = DOOR_1_OPENING
7708        Model           = ABBtCmdHQ_A7
7709        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7710        AnimationMode   = ONCE
7711        Flags           = START_FRAME_FIRST
7712      End   
7713      AliasConditionState = NIGHT DOOR_1_OPENING
7714      AliasConditionState = SNOW DOOR_1_OPENING
7715      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
7716      
7717      ConditionState    = DOOR_1_OPENING DAMAGED
7718        Model           = ABBtCmdHQ_A7D
7719        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7720        AnimationMode   = ONCE
7721        Flags           = START_FRAME_FIRST
7722      End  
7723      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
7724      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
7725      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
7726       
7727      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
7728        Model           = ABBtCmdHQ_A7E
7729        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7730        AnimationMode   = ONCE
7731        Flags           = START_FRAME_FIRST
7732      End
7733      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
7734      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
7735      AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
7736      
7737      ConditionState    = DOOR_1_CLOSING
7738        Model           = ABBtCmdHQ_A7
7739        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7740        AnimationMode   = ONCE_BACKWARDS
7741        Flags           = START_FRAME_LAST
7742      End   
7743      AliasConditionState = NIGHT DOOR_1_CLOSING
7744      AliasConditionState = SNOW DOOR_1_CLOSING
7745      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
7746      
7747      ConditionState    = DOOR_1_CLOSING DAMAGED
7748        Model           = ABBtCmdHQ_A7D
7749        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7750        AnimationMode   = ONCE_BACKWARDS
7751        Flags           = START_FRAME_LAST
7752      End   
7753      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
7754      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
7755      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED
7756      
7757      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7758        Model           = ABBtCmdHQ_A7E
7759        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7760        AnimationMode   = ONCE_BACKWARDS
7761        Flags           = START_FRAME_LAST
7762      End   
7763      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7764      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7765      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
7766      
7767      ConditionState    = DOOR_1_WAITING_OPEN
7768        Model           = ABBtCmdHQ_A7
7769        Animation       = ABBtCmdHQ_A7.ABBtCmdHQ_A7
7770        AnimationMode   = MANUAL
7771        Flags           = START_FRAME_LAST
7772      End   
7773      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
7774      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
7775      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
7776      
7777      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
7778        Model           = ABBtCmdHQ_A7D
7779        Animation       = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D
7780        AnimationMode   = MANUAL
7781        Flags           = START_FRAME_LAST
7782      End   
7783      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
7784      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
7785      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED
7786      
7787      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7788        Model           = ABBtCmdHQ_A7E
7789        Animation       = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E
7790        AnimationMode   = MANUAL
7791        Flags           = START_FRAME_LAST
7792      End  
7793      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7794      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7795      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
7796      
7797      ;**************************************************************************************************************************
7798      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7799      ;for this draw module
7800      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7801        Model              = ABBtCmdHQ_A7
7802        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7803      End
7804      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7805      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7806      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7807      
7808      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7809        Model              = ABBtCmdHQ_A7D
7810        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7811      End
7812      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
7813      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
7814      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
7815      
7816  
7817      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7818        Model              = ABBtCmdHQ_A7E
7819        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7820      End
7821      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
7822      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
7823      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
7824      
7825      ConditionState       = AWAITING_CONSTRUCTION 
7826        Model              = NONE
7827      End
7828      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7829      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7830      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7831      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7832      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7833      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7834      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7835      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7836      AliasConditionState  = SOLD DAMAGED
7837      AliasConditionState  = SOLD REALLYDAMAGED
7838      AliasConditionState  = SOLD NIGHT
7839      AliasConditionState  = SOLD NIGHT DAMAGED
7840      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7841      AliasConditionState  = SOLD NIGHT SNOW
7842      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7843      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7844      ;**************************************************************************************************************************
7845  
7846    End    
7847  
7848    ; ------------ construction-zone fence -----------------
7849    Draw = W3DModelDraw ModuleTag_05
7850    AnimationsRequirePower = No
7851    
7852      DefaultConditionState
7853        Model           = None
7854        TransitionKey   = DOWN_DEFAULT
7855      End
7856      ConditionState    = NIGHT
7857        Model           = None
7858        TransitionKey   = DOWN_DEFAULT
7859      End
7860      ConditionState    = SNOW
7861        Model           = None
7862        TransitionKey   = DOWN_DEFAULT
7863      End
7864      ConditionState    = SNOW NIGHT
7865        Model           = None
7866        TransitionKey   = DOWN_DEFAULT
7867      End
7868      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7869        Model           = ABBtCmdHQ_A4
7870        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7871        AnimationMode   = MANUAL
7872        Flags           = START_FRAME_LAST
7873        TransitionKey   = UP_DAY
7874        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7875        ParticleSysBone = SparksS01 LiveWireSparks02
7876      End
7877      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7878        Model           = ABBtCmdHQ_A4N
7879        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7880        AnimationMode   = MANUAL
7881        Flags           = START_FRAME_LAST
7882        TransitionKey   = UP_NIGHT
7883        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7884        ParticleSysBone = SparksS01 LiveWireSparks02
7885      End
7886      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7887        Model           = ABBtCmdHQ_A4S
7888        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7889        AnimationMode   = MANUAL
7890        Flags           = START_FRAME_LAST
7891        TransitionKey   = UP_SNOW
7892        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7893        ParticleSysBone = SparksS01 LiveWireSparks02
7894      End
7895      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7896        Model           = ABBtCmdHQ_A4SN
7897        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7898        AnimationMode   = MANUAL
7899        Flags           = START_FRAME_LAST
7900        TransitionKey   = UP_SNOWNIGHT
7901        ParticleSysBone = SmokeS01 SmokeBuildingSmall
7902        ParticleSysBone = SparksS01 LiveWireSparks02
7903      End
7904      TransitionState   = DOWN_DEFAULT UP_DAY
7905        Model           = ABBtCmdHQ_A4
7906        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7907        AnimationMode   = ONCE
7908        AnimationSpeedFactorRange = 1.0 1.0
7909        Flags           = START_FRAME_FIRST
7910      End
7911      TransitionState   = DOWN_DEFAULT UP_NIGHT
7912        Model           = ABBtCmdHQ_A4N
7913        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7914        AnimationMode   = ONCE
7915        AnimationSpeedFactorRange = 1.0 1.0
7916        Flags           = START_FRAME_FIRST
7917      End
7918      TransitionState   = DOWN_DEFAULT UP_SNOW
7919        Model           = ABBtCmdHQ_A4S
7920        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7921        AnimationMode   = ONCE
7922        AnimationSpeedFactorRange = 1.0 1.0
7923        Flags           = START_FRAME_FIRST
7924      End
7925      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7926        Model           = ABBtCmdHQ_A4SN
7927        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7928        AnimationMode   = ONCE
7929        AnimationSpeedFactorRange = 1.0 1.0
7930        Flags           = START_FRAME_FIRST
7931      End
7932      TransitionState   = UP_DAY DOWN_DEFAULT
7933        Model           = ABBtCmdHQ_A4
7934        Animation       = ABBtCmdHQ_A4.ABBtCmdHQ_A4
7935        AnimationMode   = ONCE_BACKWARDS
7936        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7937        Flags           = START_FRAME_LAST
7938      End
7939      TransitionState   = UP_NIGHT DOWN_DEFAULT
7940        Model           = ABBtCmdHQ_A4N
7941        Animation       = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N
7942        AnimationMode   = ONCE_BACKWARDS
7943        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7944        Flags           = START_FRAME_LAST
7945      End
7946      TransitionState   = UP_SNOW DOWN_DEFAULT
7947        Model           = ABBtCmdHQ_A4S
7948        Animation       = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S
7949        AnimationMode   = ONCE_BACKWARDS
7950        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7951        Flags           = START_FRAME_LAST
7952      End
7953      TransitionState   = UP_SNOW NIGHT DOWN_DEFAULT
7954        Model           = ABBtCmdHQ_A4SN
7955        Animation       = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN
7956        AnimationMode   = ONCE_BACKWARDS
7957        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7958        Flags           = START_FRAME_LAST
7959      End
7960    End
7961  
7962    ; ------------ under-construction scaffolding -----------------
7963    Draw = W3DModelDraw ModuleTag_06
7964    AnimationsRequirePower = No
7965      MinLODRequired = MEDIUM
7966      DefaultConditionState
7967        Model           = None
7968        TransitionKey   = DOWN_DEFAULT
7969      End
7970      ConditionState    = NIGHT
7971        Model           = None
7972        TransitionKey   = DOWN_DEFAULT
7973      End
7974      ConditionState    = SNOW
7975        Model           = None
7976        TransitionKey   = DOWN_DEFAULT
7977      End
7978      ConditionState    = SNOW NIGHT
7979        Model           = None
7980        TransitionKey   = DOWN_DEFAULT
7981      End
7982      ConditionState    = PARTIALLY_CONSTRUCTED
7983        Model           = ABBtCmdHQ_A6
7984        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
7985        AnimationMode   = MANUAL
7986        Flags           = START_FRAME_LAST
7987        TransitionKey   = UP_DAY
7988        ParticleSysBone = Sparks01 BuildUpBlueSpark
7989        ParticleSysBone = Sparks02 BuildUpBlueSpark
7990        ParticleSysBone = Sparks04 BuildUpBlueSpark
7991        ParticleSysBone = Sparks05 BuildUpBlueSpark
7992        ParticleSysBone = Sparks06 BuildUpBlueSpark
7993        ParticleSysBone = Sparks08 BuildUpBlueSpark
7994        ParticleSysBone = Sparks09 BuildUpBlueSpark
7995      End
7996      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7997        Model           = ABBtCmdHQ_A6N
7998        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
7999        AnimationMode   = MANUAL
8000        Flags           = START_FRAME_LAST
8001        TransitionKey   = UP_NIGHT
8002        ParticleSysBone = Sparks01 BuildUpBlueSpark
8003        ParticleSysBone = Sparks02 BuildUpBlueSpark
8004        ParticleSysBone = Sparks04 BuildUpBlueSpark
8005        ParticleSysBone = Sparks05 BuildUpBlueSpark
8006        ParticleSysBone = Sparks06 BuildUpBlueSpark
8007        ParticleSysBone = Sparks08 BuildUpBlueSpark
8008        ParticleSysBone = Sparks09 BuildUpBlueSpark
8009      End
8010      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
8011        Model           = ABBtCmdHQ_A6S
8012        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
8013        AnimationMode   = MANUAL
8014        Flags           = START_FRAME_LAST
8015        TransitionKey   = UP_SNOW
8016        ParticleSysBone = Sparks01 BuildUpBlueSpark
8017        ParticleSysBone = Sparks02 BuildUpBlueSpark
8018        ParticleSysBone = Sparks04 BuildUpBlueSpark
8019        ParticleSysBone = Sparks05 BuildUpBlueSpark
8020        ParticleSysBone = Sparks06 BuildUpBlueSpark
8021        ParticleSysBone = Sparks08 BuildUpBlueSpark
8022        ParticleSysBone = Sparks09 BuildUpBlueSpark
8023      End
8024      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
8025        Model           = ABBtCmdHQ_A6SN
8026        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
8027        AnimationMode   = MANUAL
8028        Flags           = START_FRAME_LAST
8029        TransitionKey   = UP_SNOWNIGHT
8030        ParticleSysBone = Sparks01 BuildUpBlueSpark
8031        ParticleSysBone = Sparks02 BuildUpBlueSpark
8032        ParticleSysBone = Sparks04 BuildUpBlueSpark
8033        ParticleSysBone = Sparks05 BuildUpBlueSpark
8034        ParticleSysBone = Sparks06 BuildUpBlueSpark
8035        ParticleSysBone = Sparks08 BuildUpBlueSpark
8036        ParticleSysBone = Sparks09 BuildUpBlueSpark
8037      End
8038      TransitionState   = DOWN_DEFAULT UP_DAY
8039       Model            = ABBtCmdHQ_A6
8040        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
8041        AnimationMode   = ONCE
8042        AnimationSpeedFactorRange = 1.0 1.0
8043        Flags           = START_FRAME_FIRST
8044      End
8045      TransitionState   = DOWN_DEFAULT UP_NIGHT
8046       Model            = ABBtCmdHQ_A6N
8047        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
8048        AnimationMode   = ONCE
8049        AnimationSpeedFactorRange = 1.0 1.0
8050        Flags           = START_FRAME_FIRST
8051      End
8052      TransitionState   = DOWN_DEFAULT UP_SNOW
8053       Model            = ABBtCmdHQ_A6S
8054        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
8055        AnimationMode   = ONCE
8056        AnimationSpeedFactorRange = 1.0 1.0
8057        Flags           = START_FRAME_FIRST
8058      End
8059      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8060       Model            = ABBtCmdHQ_A6SN
8061        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
8062        AnimationMode   = ONCE
8063        AnimationSpeedFactorRange = 1.0 1.0
8064        Flags           = START_FRAME_FIRST
8065      End
8066      TransitionState   = UP_DAY DOWN_DEFAULT
8067        Model           = ABBtCmdHQ_A6
8068        Animation       = ABBtCmdHQ_A6.ABBtCmdHQ_A6
8069        AnimationMode   = ONCE_BACKWARDS
8070        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8071        Flags           = START_FRAME_LAST
8072      End
8073      TransitionState   = UP_NIGHT DOWN_DEFAULT
8074        Model           = ABBtCmdHQ_A6N
8075        Animation       = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N
8076        AnimationMode   = ONCE_BACKWARDS
8077        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8078        Flags           = START_FRAME_LAST
8079      End
8080      TransitionState   = UP_SNOW DOWN_DEFAULT
8081        Model           = ABBtCmdHQ_A6S
8082        Animation       = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S
8083        AnimationMode   = ONCE_BACKWARDS
8084        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8085        Flags           = START_FRAME_LAST
8086      End
8087      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8088        Model           = ABBtCmdHQ_A6SN
8089        Animation       = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN
8090        AnimationMode   = ONCE_BACKWARDS
8091        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8092        Flags           = START_FRAME_LAST
8093      End
8094    End
8095  
8096    ; ------------ being-constructed crane -----------------
8097    Draw = W3DModelDraw ModuleTag_07
8098    AnimationsRequirePower = No
8099      DefaultConditionState
8100        Model           = None
8101        TransitionKey   = DOWN_DEFAULT
8102      End
8103      ConditionState    = NIGHT
8104        Model           = None
8105        TransitionKey   = DOWN_DEFAULT
8106      End
8107      ConditionState    = SNOW
8108        Model           = None
8109        TransitionKey   = DOWN_DEFAULT
8110      End
8111      ConditionState    = SNOW NIGHT
8112        Model           = None
8113        TransitionKey   = DOWN_DEFAULT
8114      End
8115      ConditionState    = SOLD
8116        Model           = NONE
8117      End
8118  
8119      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
8120        Model           = ABBtCmdHQ_A5
8121        Animation       = ABBtCmdHQ_A5.ABBtCmdHQ_A5
8122        AnimationMode   = LOOP
8123        TransitionKey   = UP_DAY
8124      End
8125  
8126      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
8127        Model           = ABBtCmdHQ_A5N
8128        Animation       = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N
8129        AnimationMode   = LOOP
8130        TransitionKey   = UP_NIGHT
8131      End
8132      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
8133        Model           = ABBtCmdHQ_A5S
8134        Animation       = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S
8135        AnimationMode   = LOOP
8136        TransitionKey   = UP_SNOW
8137      End
8138      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
8139        Model           = ABBtCmdHQ_A5SN
8140        Animation       = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN
8141        AnimationMode   = LOOP
8142        TransitionKey   = UP_SNOWNIGHT
8143      End
8144      TransitionState   = DOWN_DEFAULT UP_DAY
8145        Model           = ABBtCmdHQ_A3
8146        Animation       = ABBtCmdHQ_A3.ABBtCmdHQ_A3
8147        AnimationMode   = ONCE
8148        AnimationSpeedFactorRange = 1.0 1.0
8149        Flags           = START_FRAME_FIRST
8150      End
8151  
8152      TransitionState   = DOWN_DEFAULT UP_NIGHT
8153        Model           = ABBtCmdHQ_A3N
8154        Animation       = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N
8155        AnimationMode   = ONCE
8156        AnimationSpeedFactorRange = 1.0 1.0
8157        Flags           = START_FRAME_FIRST
8158      End
8159      TransitionState   = DOWN_DEFAULT UP_SNOW
8160        Model           = ABBtCmdHQ_A3S
8161        ; @todo srj -- not found
8162        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8163        AnimationMode   = ONCE
8164        AnimationSpeedFactorRange = 1.0 1.0
8165        Flags           = START_FRAME_FIRST
8166      End
8167      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8168        Model           = ABBtCmdHQ_A3SN
8169        Animation       = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN
8170        AnimationMode   = ONCE
8171        AnimationSpeedFactorRange = 1.0 1.0
8172        Flags           = START_FRAME_FIRST
8173      End
8174      TransitionState   = UP_DAY DOWN_DEFAULT
8175        Model           = ABBtCmdHQ_A3
8176        Animation       = ABBtCmdHQ_A3.ABBtCmdHQ_A3
8177        AnimationMode   = ONCE_BACKWARDS
8178        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8179        Flags           = START_FRAME_LAST
8180      End
8181      TransitionState   = UP_NIGHT DOWN_DEFAULT
8182        Model           = ABBtCmdHQ_A3N
8183        Animation       = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N
8184        AnimationMode   = ONCE_BACKWARDS
8185        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8186        Flags           = START_FRAME_LAST
8187      End
8188      TransitionState   = UP_SNOW DOWN_DEFAULT
8189        Model           = ABBtCmdHQ_A3S
8190        ; @todo srj -- not found
8191        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8192        AnimationMode   = ONCE_BACKWARDS
8193        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8194        Flags           = START_FRAME_LAST
8195      End
8196      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8197        Model           = ABBtCmdHQ_A3S
8198        Animation       = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S
8199        AnimationMode   = ONCE_BACKWARDS
8200        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8201        Flags           = START_FRAME_LAST
8202      End
8203    End
8204  
8205    ; Officers club flag
8206    Draw = W3DModelDraw ModuleTag_OfficersClub
8207      OkToChangeModelColor = No
8208  
8209      ConditionState       = NONE
8210        Model              = None
8211      End
8212      AliasConditionState  = DAMAGED
8213      AliasConditionState  = REALLYDAMAGED
8214      AliasConditionState  = RUBBLE
8215      AliasConditionState  = REALLYDAMAGED RUBBLE
8216      ConditionState       = PREORDER
8217        Model              = OCFlagUSA
8218        Animation          = OCFlagUSA.OCFlagUSA
8219        AnimationMode      = LOOP
8220        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8221      End
8222      ConditionState       = PREORDER DAMAGED
8223        Model              = OCFlagUSA_D
8224        Animation          = OCFlagUSA_D.OCFlagUSA_D
8225        AnimationMode      = LOOP
8226        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8227      End
8228      ConditionState       = PREORDER REALLYDAMAGED RUBBLE
8229        Model              = OCFlagUSA_E
8230        Animation          = OCFlagUSA_E.OCFlagUSA_E
8231        AnimationMode      = LOOP
8232        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8233      End
8234    End
8235  
8236    
8237    PlacementViewAngle  = -135
8238  
8239    ; ***DESIGN parameters ***
8240    DisplayName           = OBJECT:CommandCenter 
8241    Side                  = AmericaLaserGeneral
8242    EditorSorting         = STRUCTURE
8243    BuildCost             = 2000
8244    BuildTime             = 45.0           ; in seconds
8245    EnergyProduction      = 0   ;Command Center should be free
8246    CommandSet            = Lazr_AmericaCommandCenterCommandSet
8247    VisionRange           = 300.0           ; Shroud clearing distance
8248    ShroudClearingRange   = 300
8249    ArmorSet
8250      Conditions          = None
8251      Armor               = StructureArmorTough
8252      DamageFX            = StructureDamageFXNoShake
8253    End
8254    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
8255  
8256    ; *** AUDIO Parameters ***
8257    VoiceSelect           = CommandCenterUSASelect
8258    SoundOnDamaged        = BuildingDamagedStateLight
8259    SoundOnReallyDamaged  = BuildingDestroy
8260  
8261    UnitSpecificSounds
8262      UnderConstruction     = UnderConstructionLoop
8263    End
8264  
8265    ; *** ENGINEERING Parameters ***
8266    RadarPriority       = STRUCTURE
8267    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY
8268    Body                = StructureBody ModuleTag_08
8269      MaxHealth         = 5000.0
8270      InitialHealth     = 5000.0
8271  
8272      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8273      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8274      SubdualDamageCap = 5200
8275      SubdualDamageHealRate = 500
8276      SubdualDamageHealAmount = 100
8277    End
8278  
8279    Behavior = PreorderCreate ModuleTag_PreorderCreate
8280    End
8281  
8282    Behavior = GrantUpgradeCreate ModuleTag_09
8283      UpgradeToGrant           = Upgrade_AmericaRadar
8284      ExemptStatus      = UNDER_CONSTRUCTION
8285    End
8286    Behavior = ProductionUpdate ModuleTag_11
8287      NumDoorAnimations            = 1
8288      DoorOpeningTime              = 1500  ;in mSeconds
8289      DoorWaitOpenTime             = 3000  ;in mSeconds
8290      DoorCloseTime                = 1500  ;in mSeconds
8291      ConstructionCompleteDuration = 1500  ;in mSeconds
8292    End
8293    Behavior = RadarUpdate ModuleTag_12
8294      RadarExtendTime   = 4000     ;in mSeconds
8295    End
8296    Behavior = DefaultProductionExitUpdate ModuleTag_13
8297      UnitCreatePoint   = X:-18.0  Y:  35.0   Z:0.0
8298      NaturalRallyPoint = X: 60.0  Y:  35.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
8299    End
8300    Behavior = BaseRegenerateUpdate ModuleTag_14
8301      ;No data
8302    End
8303    Behavior             = DestroyDie ModuleTag_15
8304      ;nothing
8305    End
8306    Behavior             = CreateObjectDie ModuleTag_16
8307      CreationList  = OCL_LargeStructureDebris
8308    End
8309    Behavior             = CreateObjectDie ModuleTag_17
8310      CreationList  = OCL_AmericanRangerDebris10
8311      ExemptStatus  = UNDER_CONSTRUCTION
8312    End
8313    Behavior             = FXListDie ModuleTag_18
8314      DeathFX       = FX_StructureMediumDeath
8315    End
8316    Behavior         = RadarUpgrade ModuleTag_19
8317      TriggeredBy   = Upgrade_AmericaRadar
8318    End
8319    Behavior           = OCLSpecialPower ModuleTag_20
8320      SpecialPowerTemplate = SuperweaponDaisyCutter
8321      UpgradeOCL           = SCIENCE_MOAB SUPERWEAPON_MOAB
8322      OCL                  = SUPERWEAPON_DaisyCutter
8323      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8324    End
8325    Behavior           = OCLSpecialPower ModuleTag_21
8326      SpecialPowerTemplate = SpecialPowerSpyDrone
8327      OCL                  = SUPERWEAPON_SpyDrone
8328      CreateLocation       = CREATE_ABOVE_LOCATION
8329    End
8330    Behavior           = OCLSpecialPower ModuleTag_22
8331      SpecialPowerTemplate = SuperweaponParadropAmerica
8332      UpgradeOCL           = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
8333      UpgradeOCL           = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
8334      OCL                  = SUPERWEAPON_Paradrop1
8335      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8336      OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs.
8337    End 
8338  ;  Behavior           = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05
8339  ;    SpecialPowerTemplate = SuperweaponCarpetBomb
8340  ;    OCL                  = SUPERWEAPON_CarpetBomb
8341  ;    CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8342  ;  End 
8343    Behavior           = OCLSpecialPower ModuleTag_24
8344      SpecialPowerTemplate = SpecialPowerSpySatellite
8345      OCL                  = SUPERWEAPON_SpySatellite
8346      CreateLocation       = CREATE_AT_LOCATION
8347    End
8348    Behavior    = OCLSpecialPower ModuleTag_25
8349      SpecialPowerTemplate = SuperweaponCrateDrop
8350      OCL                  = SUPERWEAPON_CrateDrop
8351      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8352    End
8353    Behavior           = OCLSpecialPower ModuleTag_26
8354      SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike
8355      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3
8356      UpgradeOCL           = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
8357      OCL                  = SUPERWEAPON_A10ThunderboltMissileStrike1
8358      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8359    End
8360    Behavior           = OCLSpecialPower ModuleTag_27
8361      SpecialPowerTemplate = SuperweaponEmergencyRepair
8362      UpgradeOCL           = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3
8363      UpgradeOCL           = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2
8364      OCL                  = SUPERWEAPON_RepairVehicles1
8365      CreateLocation       = CREATE_AT_LOCATION
8366    End
8367  
8368  ;;;; **NOTE put this back in?
8369  
8370    ; note that this power isn't normally available to human players, only to AI ones
8371    ;Behavior           = DefectorSpecialPower ModuleTag_28
8372    ;  SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params
8373    ;End
8374  
8375    ;Kris: Now launched by OCLSpecialPower for DaisyCutter.
8376    ;Behavior           = OCLSpecialPower ModuleTag_29
8377    ;  SpecialPowerTemplate = SuperweaponMOAB
8378    ;  OCL                  = SUPERWEAPON_MOAB
8379    ;  CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8380    ;End
8381  
8382    Behavior = FlammableUpdate ModuleTag_30
8383      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
8384      AflameDamageAmount = 5       ; taking this much damage...
8385      AflameDamageDelay = 500       ; this often.
8386    End
8387  
8388    Behavior = TransitionDamageFX ModuleTag_31
8389      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
8390      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
8391      ;---------------------------------------------------------------------------------------
8392      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
8393      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
8394      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
8395    End
8396  
8397  
8398    Behavior = SpecialAbility ModuleTag_32
8399      SpecialPowerTemplate = SuperweaponSpectreGunship
8400      UpdateModuleStartsAttack = Yes
8401    End
8402    Behavior           = SpectreGunshipDeploymentUpdate ModuleTag_33
8403      SpecialPowerTemplate = SuperweaponSpectreGunship
8404      GunshipTemplateName  = AmericaJetSpectreGunship
8405      AttackAreaRadius     = 200
8406      CreateLocation       = CREATE_AT_EDGE_FARTHEST_FROM_TARGET
8407                             ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET
8408    End
8409    Behavior           = OCLSpecialPower ModuleTag_34
8410      SpecialPowerTemplate = SuperweaponLeafletDrop
8411      OCL                  = SUPERWEAPON_LeafletDrop
8412      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
8413    End
8414  
8415    ;Behavior = CommandSetUpgrade ModuleTag_35
8416    ;  CommandSet = Lazr_AmericaCommandCenterCommandSetToMOAB
8417    ;  TriggeredBy   = Upgrade_AmericaMOAB
8418    ;End
8419    Behavior = GrantScienceUpgrade ModuleTag_Science
8420      GrantScience = SCIENCE_MOAB
8421      TriggeredBy = Upgrade_AmericaMOAB
8422    End
8423  
8424    Geometry            = BOX
8425    GeometryMajorRadius = 60.0
8426    GeometryMinorRadius = 70.0
8427    GeometryHeight      = 49.0
8428    GeometryIsSmall     = No
8429    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
8430    Shadow              = SHADOW_VOLUME
8431    BuildCompletion     = PLACED_BY_PLAYER
8432  
8433  End
8434  
8435  
8436  
8437  
8438  ;------------------------------------------------------------------------------
8439  Object Lazr_AmericaPowerPlant
8440  
8441    ; *** ART Parameters ***
8442    SelectPortrait         = SAPowerPlant_L
8443    ButtonImage            = SAPowerPlant
8444  
8445  ; ---- the building itself ------
8446    Draw = W3DModelDraw ModuleTag_01
8447      OkToChangeModelColor = Yes
8448  
8449      ; day ********************************************
8450      ConditionState       = NONE;
8451        Model              = ABPWRPLANT
8452        Animation          = ABPWRPLANT.ABPWRPLANT
8453        AnimationMode      = LOOP
8454        ParticleSysBone    = Smoke02 SteamVent
8455      End
8456      ConditionState       = DAMAGED
8457        Model              = ABPWRPLANT_D
8458        ParticleSysBone    = Smoke01 SmolderingSmoke 
8459        ParticleSysBone    = Smoke02 SteamVent
8460        ParticleSysBone    = Smoke03 SmolderingSmoke
8461        ParticleSysBone    = Fire01 SmolderingFireLarge
8462        ParticleSysBone    = Sparks01 LiveWireSparks
8463        ParticleSysBone    = Sparks02 LiveWireSparks
8464      End
8465      ConditionState       = REALLYDAMAGED RUBBLE
8466        Model              = ABPWRPLANT_E
8467        ParticleSysBone    = Smoke01 SmolderingSmoke 
8468        ParticleSysBone    = Smoke02 SteamVent
8469        ParticleSysBone    = Smoke03 SmolderingSmoke
8470        ParticleSysBone    = Smoke04 SmolderingSmoke 
8471        ParticleSysBone    = Smoke05 SmolderingSmoke 
8472        ParticleSysBone    = Smoke06 SmolderingSmoke
8473        ParticleSysBone    = Fire01 SmolderingFireLarge 
8474        ParticleSysBone    = Fire02 SmolderingFireLarge
8475        ParticleSysBone    = Fire03 SmolderingFireLarge
8476        ParticleSysBone    = Spark01 LiveWireSparks
8477      End
8478  
8479      ; day upgrade
8480      ConditionState = POWER_PLANT_UPGRADED ;
8481        Model = ABPWRPLANT
8482        Animation     = ABPWRPLANT.ABPWRPLANT
8483        AnimationMode = LOOP
8484        ParticleSysBone = Smoke02 SteamVent
8485        ParticleSysBone = Spark01 LiveWireSparks
8486        ParticleSysBone = Spark02 LiveWireSparks02
8487        ParticleSysBone = Spark03 LiveWireSparks02 
8488        ParticleSysBone = Spark04 LiveWireSparks
8489        ParticleSysBone = Spark05 LiveWireSparks02
8490        ParticleSysBone = Spark06 LiveWireSparks 
8491      End
8492      ConditionState = DAMAGED POWER_PLANT_UPGRADED
8493        Model = ABPWRPLANT_D
8494        ParticleSysBone = Smoke01 SmolderingSmoke 
8495        ParticleSysBone = Smoke02 SteamVent
8496        ParticleSysBone = Smoke03 SmolderingSmoke
8497        ParticleSysBone = Fire01 SmolderingFireLarge
8498        ParticleSysBone = Spark01 LiveWireSparks
8499        ParticleSysBone = Spark02 LiveWireSparks02
8500        ParticleSysBone = Spark03 LiveWireSparks02 
8501        ParticleSysBone = Spark04 LiveWireSparks
8502        ParticleSysBone = Spark05 LiveWireSparks02
8503        ParticleSysBone = Spark06 LiveWireSparks 
8504      End
8505      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
8506        Model = ABPWRPLANT_E
8507        ParticleSysBone = Smoke01 SmolderingSmoke 
8508        ParticleSysBone = Smoke02 SteamVent
8509        ParticleSysBone = Smoke03 SmolderingSmoke
8510        ParticleSysBone = Smoke04 SmolderingSmoke 
8511        ParticleSysBone = Smoke05 SmolderingSmoke 
8512        ParticleSysBone = Smoke06 SmolderingSmoke
8513        ParticleSysBone = Fire01 SmolderingFireLarge 
8514        ParticleSysBone = Fire02 SmolderingFireLarge
8515        ParticleSysBone = Fire03 SmolderingFireLarge
8516        ParticleSysBone = Spark01 LiveWireSparks
8517        ParticleSysBone = Spark02 LiveWireSparks02
8518        ParticleSysBone = Spark03 LiveWireSparks02 
8519        ParticleSysBone = Spark04 LiveWireSparks
8520        ParticleSysBone = Spark05 LiveWireSparks02
8521        ParticleSysBone = Spark06 LiveWireSparks 
8522      End
8523  
8524      ; night 
8525      ConditionState = NIGHT;
8526        Model = ABPWRPLANT_N
8527        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
8528        AnimationMode = LOOP
8529        ParticleSysBone = Smoke02 SteamVent
8530      End
8531      ConditionState       = DAMAGED NIGHT
8532        Model              = ABPWRPLANT_DN
8533        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
8534        AnimationMode      = LOOP
8535        ParticleSysBone    = Smoke01 SmolderingSmoke 
8536        ParticleSysBone    = Smoke02 SteamVent
8537        ParticleSysBone    = Smoke03 SmolderingSmoke
8538        ParticleSysBone    = Fire01 SmolderingFireLarge
8539        ParticleSysBone    = Sparks01 LiveWireSparks
8540        ParticleSysBone    = Sparks02 LiveWireSparks
8541        ParticleSysBone    = Sparks03 LiveWireSparks02
8542      End
8543      ConditionState = REALLYDAMAGED RUBBLE NIGHT;
8544        Model = ABPWRPLANT_EN
8545        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
8546        AnimationMode = LOOP
8547        ParticleSysBone = Smoke01 SmolderingSmoke 
8548        ParticleSysBone = Smoke02 SteamVent
8549        ParticleSysBone = Smoke03 SmolderingSmoke
8550        ParticleSysBone = Smoke04 SmolderingSmoke 
8551        ParticleSysBone = Smoke05 SmolderingSmoke 
8552        ParticleSysBone = Smoke06 SmolderingSmoke
8553        ParticleSysBone = Fire01 SmolderingFireLarge 
8554        ParticleSysBone = Fire02 SmolderingFireLarge
8555        ParticleSysBone = Fire03 SmolderingFireLarge
8556        ParticleSysBone = Sparks01 LiveWireSparks
8557        ParticleSysBone = Sparks02 LiveWireSparks02
8558        ParticleSysBone = Sparks03 LiveWireSparks02 
8559        ParticleSysBone = Sparks04 LiveWireSparks
8560        ParticleSysBone = Sparks05 LiveWireSparks02
8561        ParticleSysBone = Sparks07 LiveWireSparks 
8562      End
8563  
8564      ; night upgraded
8565      ConditionState = NIGHT POWER_PLANT_UPGRADED
8566        Model = ABPWRPLANT_N
8567        Animation     = ABPWRPLANT_N.ABPWRPLANT_N
8568        AnimationMode = LOOP
8569        ParticleSysBone = Smoke02 SteamVent
8570        ParticleSysBone = Sparks02 LiveWireSparks02
8571        ParticleSysBone = Sparks03 LiveWireSparks02 
8572        ParticleSysBone = Sparks04 LiveWireSparks
8573        ParticleSysBone = Sparks05 LiveWireSparks02
8574        ParticleSysBone = Sparks07 LiveWireSparks 
8575        ParticleSysBone = Sparks08 LiveWireSparks02
8576        ParticleSysBone = Sparks09 LiveWireSparks 
8577        ParticleSysBone = Sparks10 LiveWireSparks02
8578        ParticleSysBone = Sparks11 LiveWireSparks 
8579      End
8580      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED
8581        Model              = ABPWRPLANT_DN
8582        Animation          = ABPWRPLANT_DN.ABPWRPLANT_DN
8583        AnimationMode      = LOOP
8584        ParticleSysBone    = Smoke01 SmolderingSmoke 
8585        ParticleSysBone    = Smoke02 SteamVent
8586        ParticleSysBone    = Smoke03 SmolderingSmoke
8587        ParticleSysBone    = Fire01 SmolderingFireLarge
8588        ParticleSysBone = Sparks02 LiveWireSparks02
8589        ParticleSysBone = Sparks03 LiveWireSparks02 
8590        ParticleSysBone = Sparks04 LiveWireSparks
8591        ParticleSysBone = Sparks05 LiveWireSparks02
8592        ParticleSysBone = Sparks07 LiveWireSparks 
8593        ParticleSysBone = Sparks08 LiveWireSparks02
8594        ParticleSysBone = Sparks09 LiveWireSparks 
8595        ParticleSysBone = Sparks10 LiveWireSparks02
8596        ParticleSysBone = Sparks11 LiveWireSparks 
8597      End
8598      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED
8599        Model = ABPWRPLANT_EN
8600        Animation     = ABPWRPLANT_EN.ABPWRPLANT_EN
8601        AnimationMode = LOOP
8602        ParticleSysBone = Smoke01 SmolderingSmoke 
8603        ParticleSysBone = Smoke02 SteamVent
8604        ParticleSysBone = Smoke03 SmolderingSmoke
8605        ParticleSysBone = Smoke04 SmolderingSmoke 
8606        ParticleSysBone = Smoke05 SmolderingSmoke 
8607        ParticleSysBone = Smoke06 SmolderingSmoke
8608        ParticleSysBone = Fire01 SmolderingFireLarge 
8609        ParticleSysBone = Fire02 SmolderingFireLarge
8610        ParticleSysBone = Fire03 SmolderingFireLarge
8611        ParticleSysBone = Sparks02 LiveWireSparks02
8612        ParticleSysBone = Sparks03 LiveWireSparks02 
8613        ParticleSysBone = Sparks04 LiveWireSparks
8614        ParticleSysBone = Sparks05 LiveWireSparks02
8615        ParticleSysBone = Sparks07 LiveWireSparks 
8616        ParticleSysBone = Sparks08 LiveWireSparks02
8617        ParticleSysBone = Sparks09 LiveWireSparks 
8618        ParticleSysBone = Sparks10 LiveWireSparks02
8619        ParticleSysBone = Sparks11 LiveWireSparks 
8620      End
8621      
8622      
8623          ; day ********************************************
8624      ConditionState       = SNOW
8625        Model              = ABPWRPLANT_S
8626        Animation          = ABPWRPLANT_S.ABPWRPLANT_S
8627        AnimationMode      = LOOP
8628        ParticleSysBone    = Smoke02 SteamVent
8629      End
8630      ConditionState       = DAMAGED SNOW
8631        Model              = ABPWRPLANT_DS
8632        ParticleSysBone    = Smoke01 SmolderingSmoke 
8633        ParticleSysBone    = Smoke02 SteamVent
8634        ParticleSysBone    = Smoke03 SmolderingSmoke
8635        ParticleSysBone    = Fire01 SmolderingFireLarge
8636        ParticleSysBone    = Sparks01 LiveWireSparks
8637        ParticleSysBone    = Sparks02 LiveWireSparks
8638      End
8639      ConditionState       = REALLYDAMAGED RUBBLE SNOW
8640        Model              = ABPWRPLANT_ES
8641        ParticleSysBone    = Smoke01 SmolderingSmoke 
8642        ParticleSysBone    = Smoke02 SteamVent
8643        ParticleSysBone    = Smoke03 SmolderingSmoke
8644        ParticleSysBone    = Smoke04 SmolderingSmoke 
8645        ParticleSysBone    = Smoke05 SmolderingSmoke 
8646        ParticleSysBone    = Smoke06 SmolderingSmoke
8647        ParticleSysBone    = Fire01 SmolderingFireLarge 
8648        ParticleSysBone    = Fire02 SmolderingFireLarge
8649        ParticleSysBone    = Fire03 SmolderingFireLarge
8650        ParticleSysBone    = Spark01 LiveWireSparks
8651      End
8652  
8653  
8654      ; day upgrade
8655      ConditionState = POWER_PLANT_UPGRADED SNOW;
8656        Model = ABPWRPLANT_S
8657        Animation     = ABPWRPLANT_S.ABPWRPLANT_S
8658        AnimationMode = LOOP
8659        ParticleSysBone = Smoke02 SteamVent
8660        ParticleSysBone = Spark01 LiveWireSparks
8661        ParticleSysBone = Spark02 LiveWireSparks02
8662        ParticleSysBone = Spark03 LiveWireSparks02 
8663        ParticleSysBone = Spark04 LiveWireSparks
8664        ParticleSysBone = Spark05 LiveWireSparks02
8665        ParticleSysBone = Spark06 LiveWireSparks 
8666      End
8667      ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
8668        Model = ABPWRPLANT_DS
8669        ParticleSysBone = Smoke01 SmolderingSmoke 
8670        ParticleSysBone = Smoke02 SteamVent
8671        ParticleSysBone = Smoke03 SmolderingSmoke
8672        ParticleSysBone = Fire01 SmolderingFireLarge
8673        ParticleSysBone = Spark01 LiveWireSparks
8674        ParticleSysBone = Spark02 LiveWireSparks02
8675        ParticleSysBone = Spark03 LiveWireSparks02 
8676        ParticleSysBone = Spark04 LiveWireSparks
8677        ParticleSysBone = Spark05 LiveWireSparks02
8678        ParticleSysBone = Spark06 LiveWireSparks 
8679      End
8680      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
8681        Model = ABPWRPLANT_ES
8682        ParticleSysBone = Smoke01 SmolderingSmoke 
8683        ParticleSysBone = Smoke02 SteamVent
8684        ParticleSysBone = Smoke03 SmolderingSmoke
8685        ParticleSysBone = Smoke04 SmolderingSmoke 
8686        ParticleSysBone = Smoke05 SmolderingSmoke 
8687        ParticleSysBone = Smoke06 SmolderingSmoke
8688        ParticleSysBone = Fire01 SmolderingFireLarge 
8689        ParticleSysBone = Fire02 SmolderingFireLarge
8690        ParticleSysBone = Fire03 SmolderingFireLarge
8691        ParticleSysBone = Spark01 LiveWireSparks
8692        ParticleSysBone = Spark02 LiveWireSparks02
8693        ParticleSysBone = Spark03 LiveWireSparks02 
8694        ParticleSysBone = Spark04 LiveWireSparks
8695        ParticleSysBone = Spark05 LiveWireSparks02
8696        ParticleSysBone = Spark06 LiveWireSparks 
8697      End
8698  
8699  
8700      ; night 
8701      ConditionState = NIGHT SNOW;
8702        Model = ABPWRPLANT_NS
8703        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
8704        AnimationMode = LOOP
8705        ParticleSysBone = Smoke02 SteamVent
8706      End
8707      ConditionState       = DAMAGED NIGHT SNOW
8708        Model              = ABPWRPLANT_DNS
8709        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
8710        AnimationMode      = LOOP
8711        ParticleSysBone    = Smoke01 SmolderingSmoke 
8712        ParticleSysBone    = Smoke02 SteamVent
8713        ParticleSysBone    = Smoke03 SmolderingSmoke
8714        ParticleSysBone    = Fire01 SmolderingFireLarge
8715        ParticleSysBone    = Sparks01 LiveWireSparks
8716        ParticleSysBone    = Sparks02 LiveWireSparks
8717        ParticleSysBone    = Sparks03 LiveWireSparks02
8718      End
8719      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW;
8720        Model = ABPWRPLANT_ENS
8721        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
8722        AnimationMode = LOOP
8723        ParticleSysBone = Smoke01 SmolderingSmoke 
8724        ParticleSysBone = Smoke02 SteamVent
8725        ParticleSysBone = Smoke03 SmolderingSmoke
8726        ParticleSysBone = Smoke04 SmolderingSmoke 
8727        ParticleSysBone = Smoke05 SmolderingSmoke 
8728        ParticleSysBone = Smoke06 SmolderingSmoke
8729        ParticleSysBone = Fire01 SmolderingFireLarge 
8730        ParticleSysBone = Fire02 SmolderingFireLarge
8731        ParticleSysBone = Fire03 SmolderingFireLarge
8732        ParticleSysBone = Sparks01 LiveWireSparks
8733        ParticleSysBone = Sparks02 LiveWireSparks02
8734        ParticleSysBone = Sparks03 LiveWireSparks02 
8735        ParticleSysBone = Sparks04 LiveWireSparks
8736        ParticleSysBone = Sparks05 LiveWireSparks02
8737        ParticleSysBone = Sparks07 LiveWireSparks 
8738      End
8739  
8740      ; night upgraded
8741      ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW
8742        Model = ABPWRPLANT_NS
8743        Animation     = ABPWRPLANT_NS.ABPWRPLANT_NS
8744        AnimationMode = LOOP
8745        ParticleSysBone = Smoke02 SteamVent
8746        ParticleSysBone = Sparks02 LiveWireSparks02
8747        ParticleSysBone = Sparks03 LiveWireSparks02 
8748        ParticleSysBone = Sparks04 LiveWireSparks
8749        ParticleSysBone = Sparks05 LiveWireSparks02
8750        ParticleSysBone = Sparks07 LiveWireSparks 
8751        ParticleSysBone = Sparks08 LiveWireSparks02
8752        ParticleSysBone = Sparks09 LiveWireSparks 
8753        ParticleSysBone = Sparks10 LiveWireSparks02
8754        ParticleSysBone = Sparks11 LiveWireSparks 
8755      End
8756      ConditionState       = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW
8757        Model              = ABPWRPLANT_DNS
8758        Animation          = ABPWRPLANT_DNS.ABPWRPLANT_DNS
8759        AnimationMode      = LOOP
8760        ParticleSysBone    = Smoke01 SmolderingSmoke 
8761        ParticleSysBone    = Smoke02 SteamVent
8762        ParticleSysBone    = Smoke03 SmolderingSmoke
8763        ParticleSysBone    = Fire01 SmolderingFireLarge
8764        ParticleSysBone = Sparks02 LiveWireSparks02
8765        ParticleSysBone = Sparks03 LiveWireSparks02 
8766        ParticleSysBone = Sparks04 LiveWireSparks
8767        ParticleSysBone = Sparks05 LiveWireSparks02
8768        ParticleSysBone = Sparks07 LiveWireSparks 
8769        ParticleSysBone = Sparks08 LiveWireSparks02
8770        ParticleSysBone = Sparks09 LiveWireSparks 
8771        ParticleSysBone = Sparks10 LiveWireSparks02
8772        ParticleSysBone = Sparks11 LiveWireSparks 
8773      End
8774      ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW
8775        Model = ABPWRPLANT_ENS
8776        Animation     = ABPWRPLANT_ENS.ABPWRPLANT_ENS
8777        AnimationMode = LOOP
8778        ParticleSysBone = Smoke01 SmolderingSmoke 
8779        ParticleSysBone = Smoke02 SteamVent
8780        ParticleSysBone = Smoke03 SmolderingSmoke
8781        ParticleSysBone = Smoke04 SmolderingSmoke 
8782        ParticleSysBone = Smoke05 SmolderingSmoke 
8783        ParticleSysBone = Smoke06 SmolderingSmoke
8784        ParticleSysBone = Fire01 SmolderingFireLarge 
8785        ParticleSysBone = Fire02 SmolderingFireLarge
8786        ParticleSysBone = Fire03 SmolderingFireLarge
8787        ParticleSysBone = Sparks02 LiveWireSparks02
8788        ParticleSysBone = Sparks03 LiveWireSparks02 
8789        ParticleSysBone = Sparks04 LiveWireSparks
8790        ParticleSysBone = Sparks05 LiveWireSparks02
8791        ParticleSysBone = Sparks07 LiveWireSparks 
8792        ParticleSysBone = Sparks08 LiveWireSparks02
8793        ParticleSysBone = Sparks09 LiveWireSparks 
8794        ParticleSysBone = Sparks10 LiveWireSparks02
8795        ParticleSysBone = Sparks11 LiveWireSparks 
8796      End
8797      
8798      ;**************************************************************************************************************************
8799      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8800      ;for this draw module
8801      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8802        Model              = ABPWRPLANT
8803        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8804      End
8805      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8806        Model              = ABPWRPLANT_D
8807        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8808      End
8809      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8810        Model              = ABPWRPLANT_E
8811        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8812      End
8813      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8814        Model              = ABPWRPLANT_N
8815        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8816      End
8817      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8818        Model              = ABPWRPLANT_DN
8819        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8820      End
8821      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8822        Model              = ABPWRPLANT_EN
8823        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8824      End
8825      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8826        Model              = ABPWRPLANT_S
8827        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8828      End
8829      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8830        Model              = ABPWRPLANT_DS
8831        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8832      End
8833      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8834        Model              = ABPWRPLANT_ES
8835        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8836      End
8837      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8838        Model              = ABPWRPLANT_NS
8839        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8840      End
8841      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8842        Model              = ABPWRPLANT_DNS
8843        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8844      End
8845      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8846        Model              = ABPWRPLANT_ENS
8847        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8848      End
8849  
8850      ConditionState       = AWAITING_CONSTRUCTION 
8851        Model              = NONE
8852      End
8853      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8854      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8855      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8856      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8857      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8858      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8859      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8860      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8861      AliasConditionState  = SOLD DAMAGED
8862      AliasConditionState  = SOLD REALLYDAMAGED
8863      AliasConditionState  = SOLD NIGHT
8864      AliasConditionState  = SOLD NIGHT DAMAGED
8865      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8866      AliasConditionState  = SOLD SNOW
8867      AliasConditionState  = SOLD SNOW DAMAGED
8868      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8869      AliasConditionState  = SOLD NIGHT SNOW
8870      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8871      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8872      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
8873      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
8874      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
8875      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
8876      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
8877      AliasConditionState  = SOLD SNOW POWER_PLANT_UPGRADED
8878      AliasConditionState  = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED
8879      AliasConditionState  = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
8880      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
8881      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
8882      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
8883      ;**************************************************************************************************************************
8884      
8885      
8886   
8887      
8888  
8889      
8890    End
8891  
8892    ; ------------ construction-zone fence -----------------
8893  
8894    Draw = W3DModelDraw ModuleTag_02
8895    AnimationsRequirePower = No
8896      DefaultConditionState
8897        Model           = None
8898        TransitionKey   = DOWN_DEFAULT
8899      End
8900      ConditionState    = NIGHT
8901        Model           = None
8902        TransitionKey   = DOWN_DEFAULT
8903      End
8904      ConditionState    = SNOW
8905        Model           = None
8906        TransitionKey   = DOWN_DEFAULT
8907      End
8908      ConditionState    = SNOW NIGHT
8909        Model           = None
8910        TransitionKey   = DOWN_DEFAULT
8911      End
8912      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8913        Model           = ABPwrPlant_A4
8914        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8915        AnimationMode   = MANUAL
8916        Flags           = START_FRAME_LAST
8917        TransitionKey   = UP_DAY
8918        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8919        ParticleSysBone = SparksS01 LiveWireSparks02
8920      End
8921      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8922        Model           = ABPwrPlant_A4N
8923        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8924        AnimationMode   = MANUAL
8925        Flags           = START_FRAME_LAST
8926        TransitionKey   = UP_NIGHT
8927        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8928        ParticleSysBone = SparksS01 LiveWireSparks02
8929      End
8930      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8931        Model           = ABPwrPlant_A4S
8932        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8933        AnimationMode   = MANUAL
8934        Flags           = START_FRAME_LAST
8935        TransitionKey   = UP_SNOW
8936        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8937        ParticleSysBone = SparksS01 LiveWireSparks02
8938      End
8939      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8940        Model           = ABPwrPlant_A4S
8941        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8942        AnimationMode   = MANUAL
8943        Flags           = START_FRAME_LAST
8944        TransitionKey   = UP_SNOWNIGHT
8945        ParticleSysBone = SmokeS01 SmokeBuildingSmall
8946        ParticleSysBone = SparksS01 LiveWireSparks02
8947      End
8948      TransitionState   = DOWN_DEFAULT UP_DAY
8949        Model           = ABPwrPlant_A4
8950        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8951        AnimationMode   = ONCE
8952        AnimationSpeedFactorRange = 1.0 1.0
8953        Flags           = START_FRAME_FIRST
8954      End
8955      TransitionState   = DOWN_DEFAULT UP_NIGHT
8956        Model           = ABPwrPlant_A4N
8957        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8958        AnimationMode   = ONCE
8959        AnimationSpeedFactorRange = 1.0 1.0
8960        Flags           = START_FRAME_FIRST
8961      End
8962      TransitionState   = DOWN_DEFAULT UP_SNOW
8963        Model           = ABPwrPlant_A4S
8964        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8965        AnimationMode   = ONCE
8966        AnimationSpeedFactorRange = 1.0 1.0
8967        Flags           = START_FRAME_FIRST
8968      End
8969      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8970        Model           = ABPwrPlant_A4SN
8971        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
8972        AnimationMode   = ONCE
8973        AnimationSpeedFactorRange = 1.0 1.0
8974        Flags           = START_FRAME_FIRST
8975      End
8976      TransitionState   = UP_DAY DOWN_DEFAULT
8977        Model           = ABPwrPlant_A4
8978        Animation       = ABPwrPlant_A4.ABPwrPlant_A4
8979        AnimationMode   = ONCE_BACKWARDS
8980        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8981        Flags           = START_FRAME_LAST
8982      End
8983      TransitionState   = UP_NIGHT DOWN_DEFAULT
8984        Model           = ABPwrPlant_A4N
8985        Animation       = ABPwrPlant_A4N.ABPwrPlant_A4N
8986        AnimationMode   = ONCE_BACKWARDS
8987        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8988        Flags           = START_FRAME_LAST
8989      End
8990      TransitionState   = UP_SNOW DOWN_DEFAULT
8991        Model           = ABPwrPlant_A4S
8992        Animation       = ABPwrPlant_A4S.ABPwrPlant_A4S
8993        AnimationMode   = ONCE_BACKWARDS
8994        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8995        Flags           = START_FRAME_LAST
8996      End
8997      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8998        Model           = ABPwrPlant_A4SN
8999        Animation       = ABPwrPlant_A4SN.ABPwrPlant_A4SN
9000        AnimationMode   = ONCE_BACKWARDS
9001        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9002        Flags           = START_FRAME_LAST
9003      End
9004    End
9005  
9006    ; ------------ under-construction scaffolding -----------------
9007    Draw = W3DModelDraw ModuleTag_03
9008    AnimationsRequirePower = No
9009      MinLODRequired = MEDIUM
9010      DefaultConditionState
9011        Model           = None
9012        TransitionKey   = DOWN_DEFAULT
9013      End
9014      ConditionState    = NIGHT
9015        Model           = None
9016        TransitionKey   = DOWN_DEFAULT
9017      End
9018      ConditionState    = SNOW
9019        Model           = None
9020        TransitionKey   = DOWN_DEFAULT
9021      End
9022      ConditionState    = SNOW NIGHT
9023        Model           = None
9024        TransitionKey   = DOWN_DEFAULT
9025      End
9026      ConditionState    = PARTIALLY_CONSTRUCTED
9027        Model           = ABPwrPlant_A6
9028        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
9029        AnimationMode   = MANUAL
9030        Flags           = START_FRAME_LAST
9031        TransitionKey   = UP_DAY
9032        ParticleSysBone = SparksS01 BuildUpBlueSpark
9033        ParticleSysBone = SparksS02 BuildUpBlueSpark
9034        ParticleSysBone = SparksS03 SparksSmall
9035        ParticleSysBone = SparksS06 BuildUpBlueSpark
9036      End
9037      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9038        Model           = ABPwrPlant_A6N
9039        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9040        AnimationMode   = MANUAL
9041        Flags           = START_FRAME_LAST
9042        TransitionKey   = UP_NIGHT
9043        ParticleSysBone = SparksS01 BuildUpBlueSpark
9044        ParticleSysBone = SparksS02 BuildUpBlueSpark
9045        ParticleSysBone = SparksS03 SparksSmall
9046        ParticleSysBone = SparksS06 BuildUpBlueSpark
9047      End
9048      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9049        Model           = ABPwrPlant_A6S
9050        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9051        AnimationMode   = MANUAL
9052        Flags           = START_FRAME_LAST
9053        TransitionKey   = UP_SNOW
9054        ParticleSysBone = SparksS01 BuildUpBlueSpark
9055        ParticleSysBone = SparksS02 BuildUpBlueSpark
9056        ParticleSysBone = SparksS03 SparksSmall
9057        ParticleSysBone = SparksS06 BuildUpBlueSpark
9058      End
9059      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9060        Model           = ABPwrPlant_A6SN
9061        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9062        AnimationMode   = MANUAL
9063        Flags           = START_FRAME_LAST
9064        TransitionKey   = UP_SNOWNIGHT
9065        ParticleSysBone = SparksS01 BuildUpBlueSpark
9066        ParticleSysBone = SparksS02 BuildUpBlueSpark
9067        ParticleSysBone = SparksS03 SparksSmall
9068        ParticleSysBone = SparksS06 BuildUpBlueSpark
9069      End
9070      TransitionState   = DOWN_DEFAULT UP_DAY
9071       Model            = ABPwrPlant_A6
9072        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
9073        AnimationMode   = ONCE
9074        AnimationSpeedFactorRange = 1.0 1.0
9075        Flags           = START_FRAME_FIRST
9076      End
9077      TransitionState   = DOWN_DEFAULT UP_NIGHT
9078       Model            = ABPwrPlant_A6N
9079        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9080        AnimationMode   = ONCE
9081        AnimationSpeedFactorRange = 1.0 1.0
9082        Flags           = START_FRAME_FIRST
9083      End
9084      TransitionState   = DOWN_DEFAULT UP_SNOW
9085       Model            = ABPwrPlant_A6S
9086        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9087        AnimationMode   = ONCE
9088  
9089        AnimationSpeedFactorRange = 1.0 1.0
9090        Flags           = START_FRAME_FIRST
9091      End
9092      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9093       Model            = ABPwrPlant_A6SN
9094        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9095        AnimationMode   = ONCE
9096        AnimationSpeedFactorRange = 1.0 1.0
9097        Flags           = START_FRAME_FIRST
9098      End
9099      TransitionState   = UP_DAY DOWN_DEFAULT
9100        Model           = ABPwrPlant_A6
9101        Animation       = ABPwrPlant_A6.ABPwrPlant_A6
9102        AnimationMode   = ONCE_BACKWARDS
9103        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9104        Flags           = START_FRAME_LAST
9105      End
9106      TransitionState   = UP_NIGHT DOWN_DEFAULT
9107        Model           = ABPwrPlant_A6N
9108        Animation       = ABPwrPlant_A6N.ABPwrPlant_A6N
9109        AnimationMode   = ONCE_BACKWARDS
9110        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9111        Flags           = START_FRAME_LAST
9112      End
9113      TransitionState   = UP_SNOW DOWN_DEFAULT
9114        Model           = ABPwrPlant_A6S
9115        Animation       = ABPwrPlant_A6S.ABPwrPlant_A6S
9116        AnimationMode   = ONCE_BACKWARDS
9117        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9118        Flags           = START_FRAME_LAST
9119      End
9120      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9121        Model           = ABPwrPlant_A6SN
9122        Animation       = ABPwrPlant_A6SN.ABPwrPlant_A6SN
9123        AnimationMode   = ONCE_BACKWARDS
9124        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9125        Flags           = START_FRAME_LAST
9126      End
9127    End
9128  
9129    ; ------------ being-constructed crane -----------------
9130    Draw = W3DModelDraw ModuleTag_04
9131    AnimationsRequirePower = No
9132      DefaultConditionState
9133        Model           = None
9134        TransitionKey   = DOWN_DEFAULT
9135      End
9136      ConditionState    = NIGHT
9137        Model           = None
9138        TransitionKey   = DOWN_DEFAULT
9139      End
9140      ConditionState    = SNOW
9141        Model           = None
9142        TransitionKey   = DOWN_DEFAULT
9143      End
9144      ConditionState    = SNOW NIGHT
9145        Model           = None
9146        TransitionKey   = DOWN_DEFAULT
9147      End
9148      ConditionState    = SOLD
9149        Model           = NONE
9150      End
9151  
9152      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
9153        Model           = ABPwrPlant_A5
9154        Animation       = ABPwrPlant_A5.ABPwrPlant_A5
9155        AnimationMode   = LOOP
9156        TransitionKey  = UP_DAY
9157      End
9158  
9159      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
9160        Model           = ABPwrPlant_A5N
9161        Animation       = ABPwrPlant_A5N.ABPwrPlant_A5N
9162        AnimationMode   = LOOP
9163        TransitionKey  = UP_NIGHT
9164      End
9165      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
9166        Model           = ABPwrPlant_A5S
9167        Animation       = ABPwrPlant_A5S.ABPwrPlant_A5S
9168        AnimationMode   = LOOP
9169        TransitionKey  = UP_SNOW
9170      End
9171      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
9172        Model           = ABPwrPlant_A5SN
9173        Animation       = ABPwrPlant_A5SN.ABPwrPlant_A5SN
9174        AnimationMode   = LOOP
9175        TransitionKey  = UP_SNOWNIGHT
9176      End
9177      TransitionState   = DOWN_DEFAULT UP_DAY
9178        Model            = ABPwrPlant_AB
9179        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
9180        AnimationMode   = ONCE
9181        AnimationSpeedFactorRange = 1.0 1.0
9182        Flags           = START_FRAME_FIRST
9183      End
9184  
9185      TransitionState   = DOWN_DEFAULT UP_NIGHT
9186        Model            = ABPwrPlant_ABN
9187        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
9188        AnimationMode   = ONCE
9189        AnimationSpeedFactorRange = 1.0 1.0
9190        Flags           = START_FRAME_FIRST
9191      End
9192  
9193      TransitionState   = DOWN_DEFAULT UP_SNOW
9194        Model            = ABPwrPlant_ABS
9195        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
9196        AnimationMode   = ONCE
9197        AnimationSpeedFactorRange = 1.0 1.0
9198        Flags           = START_FRAME_FIRST
9199      End
9200      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9201        Model            = ABPwrPlant_ABSN
9202        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
9203        AnimationMode   = ONCE
9204        AnimationSpeedFactorRange = 1.0 1.0
9205        Flags           = START_FRAME_FIRST
9206      End
9207      TransitionState   = UP_DAY DOWN_DEFAULT
9208        Model            = ABPwrPlant_AB
9209        Animation       = ABPwrPlant_AB.ABPwrPlant_AB
9210        AnimationMode   = ONCE_BACKWARDS
9211        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9212        Flags           = START_FRAME_LAST
9213      End
9214      TransitionState   = UP_NIGHT DOWN_DEFAULT
9215        Model            = ABPwrPlant_ABN
9216        Animation       = ABPwrPlant_ABN.ABPwrPlant_ABN
9217        AnimationMode   = ONCE_BACKWARDS
9218        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9219        Flags           = START_FRAME_LAST
9220      End
9221      TransitionState   = UP_SNOW DOWN_DEFAULT
9222        Model            = ABPwrPlant_ABS
9223        Animation       = ABPwrPlant_ABS.ABPwrPlant_ABS
9224        AnimationMode   = ONCE_BACKWARDS
9225        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9226        Flags           = START_FRAME_LAST
9227      End
9228      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9229        Model            = ABPwrPlant_ABSN
9230        Animation       = ABPwrPlant_ABSN.ABPwrPlant_ABSN
9231        AnimationMode   = ONCE_BACKWARDS
9232        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9233        Flags           = START_FRAME_LAST
9234      End
9235    End
9236   
9237  ; ---- the control rods -----
9238    Draw = W3DModelDraw ModuleTag_05
9239      OkToChangeModelColor = Yes
9240  
9241      ; no upgrade
9242      ConditionState = NONE
9243        Model ABPWRPLANT_A1
9244      End
9245      AliasConditionState = SNOW
9246      AliasConditionState = NIGHT
9247      AliasConditionState = SNOW NIGHT
9248  
9249      ConditionState = DAMAGED
9250        Model ABPWRPLANT_A1D
9251      End
9252      AliasConditionState = DAMAGED SNOW
9253      AliasConditionState = DAMAGED NIGHT
9254      AliasConditionState = DAMAGED SNOW NIGHT
9255  
9256      ConditionState = REALLYDAMAGED RUBBLE
9257        Model ABPWRPLANT_A1E
9258      End
9259      AliasConditionState = REALLYDAMAGED RUBBLE SNOW
9260      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
9261      AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT
9262  
9263  
9264      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9265        Model              = ABPWRPLANT_A1
9266        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9267      End
9268      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9269      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9270      AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9271  
9272      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9273        Model              = ABPWRPLANT_A1D
9274        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9275      End
9276      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9277      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9278      AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9279  
9280      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9281        Model              = ABPWRPLANT_A1E
9282        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9283      End
9284      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9285      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9286      AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT
9287  
9288      ; first to upgrade
9289      ConditionState = POWER_PLANT_UPGRADING
9290        Model ABPWRPLANT_A1
9291        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
9292        AnimationMode = ONCE
9293        Flags         = START_FRAME_FIRST
9294      End
9295      AliasConditionState = POWER_PLANT_UPGRADING SNOW
9296      AliasConditionState = POWER_PLANT_UPGRADING NIGHT
9297      AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT
9298  
9299      ConditionState = DAMAGED POWER_PLANT_UPGRADING
9300        Model ABPWRPLANT_A1D
9301        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
9302        AnimationMode = ONCE
9303        Flags         = START_FRAME_FIRST
9304      End
9305      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW
9306      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT
9307      AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT
9308  
9309      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING
9310        Model ABPWRPLANT_A1E
9311        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
9312        AnimationMode = ONCE
9313        Flags         = START_FRAME_FIRST
9314      End
9315      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW
9316      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT
9317      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT
9318  
9319      ; already upgraded
9320      ConditionState = POWER_PLANT_UPGRADED
9321        Model ABPWRPLANT_A1
9322        Animation     = ABPWRPLANT_A1.ABPWRPLANT_A1
9323        AnimationMode = MANUAL
9324        Flags         = START_FRAME_LAST
9325      End
9326      AliasConditionState = POWER_PLANT_UPGRADED SNOW
9327      AliasConditionState = POWER_PLANT_UPGRADED NIGHT
9328      AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT
9329  
9330      ConditionState = DAMAGED POWER_PLANT_UPGRADED
9331        Model ABPWRPLANT_A1D
9332        Animation     = ABPWRPLANT_A1D.ABPWRPLANT_A1D
9333        AnimationMode = MANUAL
9334        Flags         = START_FRAME_LAST
9335      End
9336      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW
9337      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT
9338      AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT
9339  
9340      ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED
9341        Model ABPWRPLANT_A1E
9342        Animation     = ABPWRPLANT_A1E.ABPWRPLANT_A1E
9343        AnimationMode = MANUAL
9344        Flags         = START_FRAME_LAST
9345      End
9346      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW
9347      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT
9348      AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT
9349   
9350    
9351      ConditionState       = AWAITING_CONSTRUCTION 
9352        Model              = NONE
9353      End
9354      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9355      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9356      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9357      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9358      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9359      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9360      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9361      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9362      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9363      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9364      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9365      AliasConditionState  = SOLD DAMAGED
9366      AliasConditionState  = SOLD REALLYDAMAGED
9367      AliasConditionState  = SOLD NIGHT
9368      AliasConditionState  = SOLD NIGHT DAMAGED
9369      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9370      AliasConditionState  = SOLD NIGHT SNOW
9371      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9372      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9373      AliasConditionState  = SOLD DAMAGED POWER_PLANT_UPGRADED
9374      AliasConditionState  = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED
9375      AliasConditionState  = SOLD NIGHT POWER_PLANT_UPGRADED
9376      AliasConditionState  = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED
9377      AliasConditionState  = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED
9378      AliasConditionState  = SOLD NIGHT SNOW POWER_PLANT_UPGRADED
9379      AliasConditionState  = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED
9380      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED
9381      ;**************************************************************************************************************************
9382    
9383    End
9384    
9385    
9386   
9387    PlacementViewAngle = -45
9388  
9389    ; ***DESIGN parameters ***
9390    DisplayName      = OBJECT:ColdFusionReactor
9391    Side             = AmericaLaserGeneral
9392    EditorSorting    = STRUCTURE
9393    Prerequisites
9394  ;    Object = Lazr_AmericaCommandCenter
9395    End
9396    BuildCost        = 700
9397    BuildTime        = 10.0           ; in seconds
9398    EnergyProduction = 8
9399    EnergyBonus      = 8
9400    VisionRange      = 200.0           ; Shroud clearing distance
9401    ShroudClearingRange = 200
9402    ArmorSet
9403      Conditions     = None
9404      Armor          = StructureArmor
9405      DamageFX       = StructureDamageFXNoShake
9406    End
9407    CommandSet       = Lazr_AmericaPowerPlantCommandSet
9408    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
9409  
9410    ; *** AUDIO Parameters ***
9411    VoiceSelect = ColdFusionReactorSelect
9412    SoundOnDamaged        = BuildingDamagedStateLight
9413    SoundOnReallyDamaged  = BuildingDestroy
9414  
9415    UnitSpecificSounds
9416      UnderConstruction     = UnderConstructionLoop
9417    End
9418  
9419    ; *** ENGINEERING Parameters ***
9420    RadarPriority   = STRUCTURE
9421    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY
9422    Body            = StructureBody ModuleTag_06
9423      MaxHealth       = 800.0
9424      InitialHealth   = 800.0
9425  
9426      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9427      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9428      SubdualDamageCap = 1000
9429      SubdualDamageHealRate = 500
9430      SubdualDamageHealAmount = 100
9431    End
9432  
9433    Behavior = PowerPlantUpgrade ModuleTag_07
9434      TriggeredBy = Upgrade_AmericaAdvancedControlRods
9435    End
9436  
9437    Behavior = BaseRegenerateUpdate ModuleTag_08
9438      ;No data
9439    End
9440    Behavior = PowerPlantUpdate ModuleTag_09
9441      RodsExtendTime = 600
9442    End
9443  
9444  
9445    Behavior = DestroyDie ModuleTag_10
9446      ;nothing
9447    End
9448    Behavior             = CreateObjectDie ModuleTag_11
9449      CreationList  = OCL_ABPowerPlantExplode
9450    End
9451    Behavior             = CreateObjectDie ModuleTag_12
9452      CreationList  = OCL_AmericanRangerDebris02
9453      ExemptStatus  = UNDER_CONSTRUCTION
9454    End
9455    Behavior        = FXListDie ModuleTag_13
9456      DeathFX       = FX_StructureSmallDeath
9457    End
9458  
9459    Behavior = ProductionUpdate ModuleTag_14
9460      ; nothing
9461    End
9462  
9463    Behavior = FlammableUpdate ModuleTag_16
9464      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
9465      AflameDamageAmount = 5       ; taking this much damage...
9466      AflameDamageDelay = 500       ; this often.
9467    End
9468  
9469    Behavior = TransitionDamageFX ModuleTag_17
9470      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
9471      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9472      ;---------------------------------------------------------------------------------------
9473      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
9474      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
9475      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
9476    End
9477  
9478    Geometry            = BOX
9479    GeometryMajorRadius = 22.0
9480    GeometryMinorRadius = 30.0
9481    GeometryHeight      = 46.0
9482    GeometryIsSmall     = No
9483    Shadow          = SHADOW_VOLUME
9484    BuildCompletion = PLACED_BY_PLAYER
9485  
9486  End
9487  
9488  
9489  
9490  
9491  
9492  
9493  ;------------------------------------------------------------------------------
9494  Object Lazr_AmericaParticleCannonUplink
9495  
9496    ; *** ART Parameters ***
9497    SelectPortrait         = SAUplink_L
9498    ButtonImage            = SAUplink
9499  
9500    Draw = W3DModelDraw ModuleTag_01
9501      ExtraPublicBone        = FX01
9502      ExtraPublicBone        = FX02
9503      ExtraPublicBone        = FX03
9504      ExtraPublicBone        = FX04
9505      ExtraPublicBone        = FX05
9506      OkToChangeModelColor = Yes
9507      
9508      
9509      ; day **************************************
9510      ConditionState       = NONE
9511        Model              = ABSDILink
9512        Animation          = ABSDILink.ABSDILink
9513        AnimationMode      = LOOP
9514        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9515      End
9516      ConditionState       = DAMAGED
9517        Model              = ABSDILink_D
9518        Animation          = ABSDILink_D.ABSDILink_D
9519        AnimationMode      = LOOP
9520        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9521      End
9522      ConditionState       = REALLYDAMAGED RUBBLE
9523        Model              = ABSDILink_E
9524        Animation          = ABSDILink_E.ABSDILink_E
9525        AnimationMode      = LOOP
9526        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9527      End
9528  
9529  
9530      ; night *************************************
9531      ConditionState       = NIGHT
9532        Model              = ABSDILink_N
9533        Animation          = ABSDILink_N.ABSDILink_N
9534        AnimationMode      = LOOP
9535        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9536      End
9537      ConditionState       = DAMAGED NIGHT
9538        Model              = ABSDILink_DN
9539        Animation          = ABSDILink_DN.ABSDILink_DN
9540        AnimationMode      = LOOP
9541        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9542      End
9543      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
9544        Model              = ABSDILink_EN
9545        Animation          = ABSDILink_EN.ABSDILink_EN
9546        AnimationMode      = LOOP
9547        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9548      End
9549      
9550      ; day snow **************************************
9551      ConditionState       = SNOW
9552        Model              = ABSDILink_S
9553        Animation          = ABSDILink_S.ABSDILink_S
9554        AnimationMode      = LOOP
9555        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9556      End
9557      ConditionState       = DAMAGED SNOW
9558        Model              = ABSDILink_DS
9559        Animation          = ABSDILink_DS.ABSDILink_DS
9560        AnimationMode      = LOOP
9561        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9562      End
9563      ConditionState       = REALLYDAMAGED RUBBLE SNOW
9564        Model              = ABSDILink_ES
9565        Animation          = ABSDILink_ES.ABSDILink_ES
9566        AnimationMode      = LOOP
9567        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9568      End
9569  
9570      ; night snow *************************************
9571      ConditionState       = NIGHT SNOW
9572        Model              = ABSDILink_NS
9573        Animation          = ABSDILink_NS.ABSDILink_NS
9574        AnimationMode      = LOOP
9575        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9576      End
9577      ConditionState       = DAMAGED NIGHT SNOW
9578        Model              = ABSDILink_DNS
9579        Animation          = ABSDILink_DNS.ABSDILink_DNS
9580        AnimationMode      = LOOP
9581        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9582      End
9583      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
9584        Model              = ABSDILink_ENS
9585        Animation          = ABSDILink_ENS.ABSDILink_ENS
9586        AnimationMode      = LOOP
9587        Flags              = MAINTAIN_FRAME_ACROSS_STATES
9588      End
9589  
9590      ;**************************************************************************************************************************
9591      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9592      ;for this draw module
9593      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9594        Model              = ABSDILink
9595        Animation          = ABSDILink.ABSDILink
9596        AnimationMode      = LOOP
9597        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9598      End
9599      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9600        Model              = ABSDILink_D
9601        Animation          = ABSDILink_D.ABSDILink_D
9602        AnimationMode      = LOOP
9603        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9604      End
9605      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9606        Model              = ABSDILink_E
9607        Animation          = ABSDILink_E.ABSDILink_E
9608        AnimationMode      = LOOP
9609        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9610      End
9611      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9612        Model              = ABSDILink_N
9613        Animation          = ABSDILink_N.ABSDILink_N
9614        AnimationMode      = LOOP
9615        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9616      End
9617      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
9618        Model              = ABSDILink_DN
9619        Animation          = ABSDILink_DN.ABSDILink_DN
9620        AnimationMode      = LOOP
9621        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9622      End
9623      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
9624        Model              = ABSDILink_EN
9625        Animation          = ABSDILink_EN.ABSDILink_EN
9626        AnimationMode      = LOOP
9627        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9628      End
9629      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9630        Model              = ABSDILink_S
9631        Animation          = ABSDILink_S.ABSDILink_S
9632        AnimationMode      = LOOP
9633        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9634      End
9635      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
9636        Model              = ABSDILink_DS
9637        Animation          = ABSDILink_DS.ABSDILink_DS
9638        AnimationMode      = LOOP
9639        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9640      End
9641      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
9642        Model              = ABSDILink_ES
9643        Animation          = ABSDILink_ES.ABSDILink_ES
9644        AnimationMode      = LOOP
9645        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9646      End
9647      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9648        Model              = ABSDILink_NS
9649        Animation          = ABSDILink_NS.ABSDILink_NS
9650        AnimationMode      = LOOP
9651        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9652      End
9653      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
9654        Model              = ABSDILink_DNS
9655        Animation          = ABSDILink_DNS.ABSDILink_DNS
9656        AnimationMode      = LOOP
9657        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9658      End
9659      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
9660        Model              = ABSDILink_ENS
9661        Animation          = ABSDILink_ENS.ABSDILink_ENS
9662        AnimationMode      = LOOP
9663        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9664      End
9665  
9666      ConditionState       = AWAITING_CONSTRUCTION 
9667        Model              = NONE
9668      End
9669      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9670      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9671      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9672      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9673      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9674      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9675      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9676      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9677      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9678      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9679      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9680      AliasConditionState  = SOLD 
9681      AliasConditionState  = SOLD DAMAGED
9682      AliasConditionState  = SOLD REALLYDAMAGED
9683      AliasConditionState  = SOLD NIGHT
9684      AliasConditionState  = SOLD NIGHT DAMAGED
9685      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9686      AliasConditionState  = SOLD SNOW
9687      AliasConditionState  = SOLD SNOW DAMAGED
9688      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9689      AliasConditionState  = SOLD NIGHT SNOW
9690      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9691      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9692      ;**************************************************************************************************************************
9693  
9694  
9695  
9696    End
9697  
9698    ;------------ the cannon section (hatch, dish animations) -----------
9699    Draw = W3DModelDraw ModuleTag_02
9700      ExtraPublicBone        = FXConnector
9701      ExtraPublicBone        = FXMain
9702      OkToChangeModelColor = Yes
9703      ; day **************************************
9704      ConditionState       = NONE
9705        Model              = ABSDILink_A1
9706        Animation          = ABSDILink_A1.ABSDILink_A1
9707        AnimationMode      = MANUAL
9708        Flags              = START_FRAME_FIRST
9709      End
9710      AliasConditionState  = NIGHT 
9711      AliasConditionState  = NIGHT SNOW
9712      AliasConditionState  = SNOW
9713      
9714      ConditionState       = DAMAGED
9715        Model              = ABSDILink_A1D
9716        Animation          = ABSDILink_A1D.ABSDILink_A1D
9717        AnimationMode      = MANUAL
9718        Flags              = START_FRAME_FIRST
9719      End
9720      AliasConditionState  = NIGHT DAMAGED
9721      AliasConditionState  = NIGHT SNOW DAMAGED
9722      AliasConditionState  = SNOW DAMAGED
9723      
9724      ConditionState       = REALLYDAMAGED RUBBLE
9725        Model              = ABSDILink_A1E
9726        Animation          = ABSDILink_A1E.ABSDILink_A1E
9727        AnimationMode      = MANUAL
9728        Flags              = START_FRAME_FIRST
9729      End
9730      AliasConditionState  = NIGHT REALLYDAMAGED RUBBLE
9731      AliasConditionState  = NIGHT SNOW REALLYDAMAGED RUBBLE
9732      AliasConditionState  = SNOW REALLYDAMAGED RUBBLE
9733      
9734      ConditionState       = AWAITING_CONSTRUCTION
9735        Model              = None
9736      End
9737      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION
9738      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION
9739      AliasConditionState  = SNOW AWAITING_CONSTRUCTION
9740      
9741      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9742        Model              = ABSDILink_A1
9743        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9744      End
9745      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9746      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9747      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9748      
9749      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9750        Model              = ABSDILink_A1D
9751        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9752      End
9753      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9754      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9755      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9756  
9757      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9758        Model              = ABSDILink_A1E
9759        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9760      End
9761      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9762      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9763      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
9764  
9765      ;Preparing to fire!
9766      ConditionState       = UNPACKING
9767        Model              = ABSDILink_A1
9768        Animation          = ABSDILink_A1.ABSDILink_A1
9769        AnimationMode      = ONCE
9770        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9771      End
9772      AliasConditionState  = NIGHT UNPACKING
9773      AliasConditionState  = NIGHT SNOW UNPACKING
9774      AliasConditionState  = SNOW UNPACKING
9775      
9776      ConditionState       = UNPACKING DAMAGED
9777        Model              = ABSDILink_A1D
9778        Animation          = ABSDILink_A1D.ABSDILink_A1D
9779        AnimationMode      = ONCE
9780        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9781      End
9782      AliasConditionState  = NIGHT UNPACKING DAMAGED
9783      AliasConditionState  = NIGHT SNOW UNPACKING DAMAGED
9784      AliasConditionState  = SNOW UNPACKING DAMAGED
9785      
9786      ConditionState       = UNPACKING REALLYDAMAGED RUBBLE
9787        Model              = ABSDILink_A1E
9788        Animation          = ABSDILink_A1E.ABSDILink_A1E
9789        AnimationMode      = ONCE
9790        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
9791      End
9792      AliasConditionState  = NIGHT UNPACKING REALLYDAMAGED RUBBLE
9793      AliasConditionState  = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE
9794      AliasConditionState  = SNOW UNPACKING REALLYDAMAGED RUBBLE
9795  
9796      ;Ready to fire -- or firing!
9797      ConditionState       = DEPLOYED
9798        Model              = ABSDILink_A1
9799        Animation          = ABSDILink_A1.ABSDILink_A1
9800        AnimationMode      = MANUAL
9801        Flags              = START_FRAME_LAST
9802      End
9803      AliasConditionState  = NIGHT DEPLOYED
9804      AliasConditionState  = NIGHT SNOW DEPLOYED
9805      AliasConditionState  = SNOW DEPLOYED
9806      
9807      ConditionState       = DEPLOYED DAMAGED
9808        Model              = ABSDILink_A1D
9809        Animation          = ABSDILink_A1D.ABSDILink_A1D
9810        AnimationMode      = MANUAL
9811        Flags              = START_FRAME_LAST
9812      End
9813      AliasConditionState  = NIGHT DEPLOYED DAMAGED
9814      AliasConditionState  = NIGHT SNOW DEPLOYED DAMAGED
9815      AliasConditionState  = SNOW DEPLOYED DAMAGED
9816      
9817      ConditionState       = DEPLOYED REALLYDAMAGED RUBBLE
9818        Model              = ABSDILink_A1E
9819        Animation          = ABSDILink_A1E.ABSDILink_A1E
9820        AnimationMode      = MANUAL
9821        Flags              = START_FRAME_LAST
9822      End
9823      AliasConditionState  = NIGHT DEPLOYED REALLYDAMAGED RUBBLE
9824      AliasConditionState  = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE
9825      AliasConditionState  = SNOW DEPLOYED REALLYDAMAGED RUBBLE
9826     
9827      ;Packing up (recharging for new attack)
9828      ConditionState       = PACKING
9829        Model              = ABSDILink_A1
9830        Animation          = ABSDILink_A1.ABSDILink_A1
9831        AnimationMode      = ONCE_BACKWARDS
9832        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9833      End
9834      AliasConditionState  = NIGHT PACKING
9835      AliasConditionState  = NIGHT SNOW PACKING
9836      AliasConditionState  = SNOW PACKING
9837      
9838      ConditionState       = PACKING DAMAGED
9839        Model              = ABSDILink_A1D
9840        Animation          = ABSDILink_A1D.ABSDILink_A1D
9841        AnimationMode      = ONCE_BACKWARDS
9842        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9843      End
9844      AliasConditionState  = NIGHT PACKING DAMAGED
9845      AliasConditionState  = NIGHT SNOW PACKING DAMAGED
9846      AliasConditionState  = SNOW PACKING DAMAGED
9847      
9848      ConditionState       = PACKING REALLYDAMAGED RUBBLE
9849        Model              = ABSDILink_A1E
9850        Animation          = ABSDILink_A1E.ABSDILink_A1E
9851        AnimationMode      = ONCE_BACKWARDS
9852        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
9853      End
9854      AliasConditionState  = NIGHT PACKING REALLYDAMAGED RUBBLE
9855      AliasConditionState  = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE
9856      AliasConditionState  = SNOW PACKING REALLYDAMAGED RUBBLE
9857  
9858     
9859      ConditionState       = SOLD DEPLOYED
9860        Model              = NONE
9861      End     
9862      ConditionState       = SOLD SNOW DEPLOYED
9863         Model             = NONE
9864      End   
9865      ConditionState       = SOLD NIGHT DEPLOYED
9866         Model             = NONE
9867      End    
9868      ConditionState       = SOLD NIGHT SNOW DEPLOYED
9869         Model             = NONE
9870      End   
9871    End
9872  
9873  
9874    ; ------------ construction-zone fence -----------------
9875    Draw = W3DModelDraw ModuleTag_03
9876    AnimationsRequirePower = No
9877      DefaultConditionState
9878        Model           = None
9879        TransitionKey   = DOWN_DEFAULT
9880      End
9881      ConditionState    = NIGHT
9882        Model           = None
9883        TransitionKey   = DOWN_DEFAULT
9884      End
9885      ConditionState    = SNOW
9886        Model           = None
9887        TransitionKey   = DOWN_DEFAULT
9888      End
9889      ConditionState    = SNOW NIGHT
9890        Model           = None
9891        TransitionKey   = DOWN_DEFAULT
9892      End
9893      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9894        Model           = ABSDILink_A4
9895        Animation       = ABSDILink_A4.ABSDILink_A4
9896        AnimationMode   = MANUAL
9897        Flags           = START_FRAME_LAST
9898        TransitionKey   = UP_DAY
9899        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9900        ParticleSysBone = SparksS01 LiveWireSparks02
9901      End
9902      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9903        Model           = ABSDILink_A4N
9904        Animation       = ABSDILink_A4N.ABSDILink_A4N
9905        AnimationMode   = MANUAL
9906        Flags           = START_FRAME_LAST
9907        TransitionKey   = UP_NIGHT
9908        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9909        ParticleSysBone = SparksS01 LiveWireSparks02
9910      End
9911      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9912        Model           = ABSDILink_A4S
9913        Animation       = ABSDILink_A4S.ABSDILink_A4S
9914        AnimationMode   = MANUAL
9915        Flags           = START_FRAME_LAST
9916        TransitionKey   = UP_SNOW
9917        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9918        ParticleSysBone = SparksS01 LiveWireSparks02
9919      End
9920      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9921        Model           = ABSDILink_A4SN
9922        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9923        AnimationMode   = MANUAL
9924        Flags           = START_FRAME_LAST
9925        TransitionKey   = UP_SNOWNIGHT
9926        ParticleSysBone = SmokeS01 SmokeBuildingSmall
9927        ParticleSysBone = SparksS01 LiveWireSparks02
9928      End
9929      TransitionState   = DOWN_DEFAULT UP_DAY
9930        Model           = ABSDILink_A4
9931        Animation       = ABSDILink_A4.ABSDILink_A4
9932        AnimationMode   = ONCE
9933        AnimationSpeedFactorRange = 1.0 1.0
9934        Flags           = START_FRAME_FIRST
9935      End
9936      TransitionState   = DOWN_DEFAULT UP_NIGHT
9937        Model           = ABSDILink_A4N
9938        Animation       = ABSDILink_A4N.ABSDILink_A4N
9939        AnimationMode   = ONCE
9940        AnimationSpeedFactorRange = 1.0 1.0
9941        Flags           = START_FRAME_FIRST
9942      End
9943      TransitionState   = DOWN_DEFAULT UP_SNOW
9944        Model           = ABSDILink_A4S
9945        Animation       = ABSDILink_A4S.ABSDILink_A4S
9946        AnimationMode   = ONCE
9947        AnimationSpeedFactorRange = 1.0 1.0
9948        Flags           = START_FRAME_FIRST
9949      End
9950      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9951        Model           = ABSDILink_A4SN
9952        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9953        AnimationMode   = ONCE
9954        AnimationSpeedFactorRange = 1.0 1.0
9955        Flags           = START_FRAME_FIRST
9956      End
9957      TransitionState   = UP_DAY DOWN_DEFAULT
9958        Model           = ABSDILink_A4
9959        Animation       = ABSDILink_A4.ABSDILink_A4
9960        AnimationMode   = ONCE_BACKWARDS
9961        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9962        Flags           = START_FRAME_LAST
9963      End
9964      TransitionState   = UP_NIGHT DOWN_DEFAULT
9965        Model           = ABSDILink_A4N
9966        Animation       = ABSDILink_A4N.ABSDILink_A4N
9967        AnimationMode   = ONCE_BACKWARDS
9968        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9969        Flags           = START_FRAME_LAST
9970      End
9971      TransitionState   = UP_SNOW DOWN_DEFAULT
9972        Model           = ABSDILink_A4S
9973        Animation       = ABSDILink_A4S.ABSDILink_A4S
9974        AnimationMode   = ONCE_BACKWARDS
9975        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9976        Flags           = START_FRAME_LAST
9977      End
9978      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9979        Model           = ABSDILink_A4SN
9980        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
9981        AnimationMode   = ONCE_BACKWARDS
9982        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9983        Flags           = START_FRAME_LAST
9984      End
9985    End
9986  
9987    ; ------------ under-construction scaffolding -----------------
9988    Draw = W3DModelDraw ModuleTag_04
9989    AnimationsRequirePower = No
9990      MinLODRequired = MEDIUM
9991      DefaultConditionState
9992        Model           = None
9993        TransitionKey   = DOWN_DEFAULT
9994      End
9995      ConditionState    = NIGHT
9996        Model           = None
9997        TransitionKey   = DOWN_DEFAULT
9998      End
9999      ConditionState    = SNOW
10000        Model           = None
10001        TransitionKey   = DOWN_DEFAULT
10002      End
10003      ConditionState    = SNOW NIGHT
10004        Model           = None
10005        TransitionKey   = DOWN_DEFAULT
10006      End
10007      ConditionState    = PARTIALLY_CONSTRUCTED
10008        Model           = ABSDILink_A6
10009        Animation       = ABSDILink_A6.ABSDILink_A6
10010        AnimationMode   = MANUAL
10011        Flags           = START_FRAME_LAST
10012        TransitionKey   = UP_DAY
10013        ParticleSysBone = Sparks01 BuildUpBlueSpark
10014        ParticleSysBone = Sparks02 BuildUpBlueSpark
10015        ParticleSysBone = Sparks03 BuildUpBlueSpark
10016        ParticleSysBone = Sparks04 BuildUpBlueSpark
10017        ParticleSysBone = Sparks05 BuildUpBlueSpark
10018      End
10019      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
10020        Model           = ABSDILink_A6N
10021        Animation       = ABSDILink_A6N.ABSDILink_A6N
10022        AnimationMode   = MANUAL
10023        Flags           = START_FRAME_LAST
10024        TransitionKey   = UP_NIGHT
10025        ParticleSysBone = Sparks01 BuildUpBlueSpark
10026        ParticleSysBone = Sparks02 BuildUpBlueSpark
10027        ParticleSysBone = Sparks03 BuildUpBlueSpark
10028        ParticleSysBone = Sparks04 BuildUpBlueSpark
10029        ParticleSysBone = Sparks05 BuildUpBlueSpark
10030      End
10031      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
10032        Model           = ABSDILink_A6S
10033        Animation       = ABSDILink_A6S.ABSDILink_A6S
10034        AnimationMode   = MANUAL
10035        Flags           = START_FRAME_LAST
10036        TransitionKey   = UP_SNOW
10037        ParticleSysBone = Sparks01 BuildUpBlueSpark
10038        ParticleSysBone = Sparks02 BuildUpBlueSpark
10039        ParticleSysBone = Sparks03 BuildUpBlueSpark
10040        ParticleSysBone = Sparks04 BuildUpBlueSpark
10041        ParticleSysBone = Sparks05 BuildUpBlueSpark
10042      End
10043      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10044        Model           = ABSDILink_A6SN
10045        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10046        AnimationMode   = MANUAL
10047        Flags           = START_FRAME_LAST
10048        TransitionKey   = UP_SNOWNIGHT
10049        ParticleSysBone = Sparks01 BuildUpBlueSpark
10050        ParticleSysBone = Sparks02 BuildUpBlueSpark
10051        ParticleSysBone = Sparks03 BuildUpBlueSpark
10052        ParticleSysBone = Sparks04 BuildUpBlueSpark
10053        ParticleSysBone = Sparks05 BuildUpBlueSpark
10054      End
10055      TransitionState   = DOWN_DEFAULT UP_DAY
10056       Model            = ABSDILink_A6
10057        Animation       = ABSDILink_A6.ABSDILink_A6
10058        AnimationMode   = ONCE
10059        AnimationSpeedFactorRange = 1.0 1.0
10060        Flags           = START_FRAME_FIRST
10061      End
10062      TransitionState   = DOWN_DEFAULT UP_NIGHT
10063       Model            = ABSDILink_A6N
10064        Animation       = ABSDILink_A6N.ABSDILink_A6N
10065        AnimationMode   = ONCE
10066        AnimationSpeedFactorRange = 1.0 1.0
10067        Flags           = START_FRAME_FIRST
10068      End
10069      TransitionState   = DOWN_DEFAULT UP_SNOW
10070       Model            = ABSDILink_A6S
10071        Animation       = ABSDILink_A6S.ABSDILink_A6S
10072        AnimationMode   = ONCE
10073        AnimationSpeedFactorRange = 1.0 1.0
10074        Flags           = START_FRAME_FIRST
10075      End
10076      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10077       Model            = ABSDILink_A6SN
10078        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10079        AnimationMode   = ONCE
10080        AnimationSpeedFactorRange = 1.0 1.0
10081        Flags           = START_FRAME_FIRST
10082      End
10083      TransitionState   = UP_DAY DOWN_DEFAULT
10084        Model           = ABSDILink_A6
10085        Animation       = ABSDILink_A6.ABSDILink_A6
10086        AnimationMode   = ONCE_BACKWARDS
10087        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10088        Flags           = START_FRAME_LAST
10089      End
10090      TransitionState   = UP_NIGHT DOWN_DEFAULT
10091        Model           = ABSDILink_A6N
10092        Animation       = ABSDILink_A6N.ABSDILink_A6N
10093        AnimationMode   = ONCE_BACKWARDS
10094        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10095        Flags           = START_FRAME_LAST
10096      End
10097      TransitionState   = UP_SNOW DOWN_DEFAULT
10098        Model           = ABSDILink_A6S
10099        Animation       = ABSDILink_A6S.ABSDILink_A6S
10100        AnimationMode   = ONCE_BACKWARDS
10101        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10102        Flags           = START_FRAME_LAST
10103      End
10104      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10105        Model           = ABSDILink_A6SN
10106        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
10107        AnimationMode   = ONCE_BACKWARDS
10108        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10109        Flags           = START_FRAME_LAST
10110      End
10111    End
10112  
10113    ; ------------ being-constructed crane -----------------
10114    Draw = W3DModelDraw ModuleTag_05
10115    AnimationsRequirePower = No
10116      DefaultConditionState
10117        Model           = None
10118        TransitionKey   = DOWN_DEFAULT
10119      End
10120      ConditionState    = NIGHT
10121        Model           = None
10122        TransitionKey   = DOWN_DEFAULT
10123      End
10124      ConditionState    = SNOW
10125        Model           = None
10126        TransitionKey   = DOWN_DEFAULT
10127      End
10128      ConditionState    = SNOW NIGHT
10129        Model           = None
10130        TransitionKey   = DOWN_DEFAULT
10131      End
10132      ConditionState    = SOLD
10133        Model           = NONE
10134      End
10135  
10136      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
10137        Model           = ABSDILink_A5
10138        Animation       = ABSDILink_A5.ABSDILink_A5
10139        AnimationMode   = LOOP
10140        TransitionKey  = UP_DAY
10141      End
10142  
10143      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
10144        Model           = ABSDILink_A5N
10145        Animation       = ABSDILink_A5N.ABSDILink_A5N
10146        AnimationMode   = LOOP
10147        TransitionKey  = UP_NIGHT
10148      End
10149      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
10150        Model           = ABSDILink_A5S
10151        Animation       = ABSDILink_A5S.ABSDILink_A5S
10152        AnimationMode   = LOOP
10153        TransitionKey  = UP_SNOW
10154      End
10155      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
10156        Model           = ABSDILink_A5SN
10157        Animation       = ABSDILink_A5SN.ABSDILink_A5SN
10158        AnimationMode   = LOOP
10159        TransitionKey  = UP_SNOWNIGHT
10160      End
10161      TransitionState   = DOWN_DEFAULT UP_DAY
10162        Model            = ABSDILink_AB
10163        Animation       = ABSDILink_AB.ABSDILink_AB
10164        AnimationMode   = ONCE
10165        AnimationSpeedFactorRange = 1.0 1.0
10166        Flags           = START_FRAME_FIRST
10167      End
10168  
10169      TransitionState   = DOWN_DEFAULT UP_NIGHT
10170        Model            = ABSDILink_ABN
10171        Animation       = ABSDILink_ABN.ABSDILink_ABN
10172        AnimationMode   = ONCE
10173        AnimationSpeedFactorRange = 1.0 1.0
10174        Flags           = START_FRAME_FIRST
10175      End
10176      TransitionState   = DOWN_DEFAULT UP_SNOW
10177        Model            = ABSDILink_ABS
10178        Animation       = ABSDILink_ABS.ABSDILink_ABS
10179        AnimationMode   = ONCE
10180        AnimationSpeedFactorRange = 1.0 1.0
10181        Flags           = START_FRAME_FIRST
10182      End
10183      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10184        Model            = ABSDILink_ABSN
10185        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
10186        AnimationMode   = ONCE
10187        AnimationSpeedFactorRange = 1.0 1.0
10188        Flags           = START_FRAME_FIRST
10189      End
10190      TransitionState   = UP_DAY DOWN_DEFAULT
10191        Model            = ABSDILink_AB
10192        Animation       = ABSDILink_AB.ABSDILink_AB
10193        AnimationMode   = ONCE_BACKWARDS
10194        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10195        Flags           = START_FRAME_LAST
10196      End
10197      TransitionState   = UP_NIGHT DOWN_DEFAULT
10198        Model            = ABSDILink_ABN
10199        Animation       = ABSDILink_ABN.ABSDILink_ABN
10200        AnimationMode   = ONCE_BACKWARDS
10201        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10202        Flags           = START_FRAME_LAST
10203      End
10204      TransitionState   = UP_SNOW DOWN_DEFAULT
10205        Model            = ABSDILink_ABS
10206        Animation       = ABSDILink_ABS.ABSDILink_ABS
10207        AnimationMode   = ONCE_BACKWARDS
10208        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10209        Flags           = START_FRAME_LAST
10210      End
10211      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10212        Model            = ABSDILink_ABSN
10213        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
10214        AnimationMode   = ONCE_BACKWARDS
10215        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10216        Flags           = START_FRAME_LAST
10217      End
10218    End
10219   
10220    PlacementViewAngle = -45
10221  
10222    ; ***DESIGN parameters ***
10223    DisplayName      = OBJECT:ParticleCannon 
10224    Side = AmericaLaserGeneral
10225    EditorSorting    = STRUCTURE
10226    Prerequisites
10227      Object = Lazr_AmericaStrategyCenter
10228    End
10229    BuildCost        = 5000
10230    BuildTime        = 60.0           ; in seconds
10231    EnergyProduction = -10
10232    VisionRange     = 200.0           ; Shroud clearing distance
10233    ShroudClearingRange = 200
10234    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
10235                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
10236  
10237    ArmorSet
10238      Conditions      = None
10239      Armor           = StructureArmorTough
10240      DamageFX        = StructureDamageFXNoShake
10241    End
10242    CommandSet        = Lazr_AmericaParticleUplinkCannonCommandSet
10243    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
10244  
10245    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
10246    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
10247  
10248    ; *** AUDIO Parameters ***
10249    VoiceSelect = ParticleCannonSelect
10250    SoundOnDamaged        = BuildingDamagedStateLight
10251    SoundOnReallyDamaged  = BuildingDestroy
10252  
10253    UnitSpecificSounds
10254      UnderConstruction     = UnderConstructionLoop
10255    End
10256  
10257    ; *** ENGINEERING Parameters ***
10258    RadarPriority   = STRUCTURE
10259    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
10260    Body            = StructureBody ModuleTag_06
10261      MaxHealth       = 4000.0
10262      InitialHealth   = 4000.0
10263  
10264      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10265      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10266      SubdualDamageCap = 4200
10267      SubdualDamageHealRate = 500
10268      SubdualDamageHealAmount = 100
10269    End
10270    Behavior = BaseRegenerateUpdate ModuleTag_07
10271      ;No data
10272    End
10273  
10274    Behavior = SpecialPowerCreate ModuleTag_16
10275      ;nothing
10276    End
10277    Behavior = SpecialAbility ModuleTag_11
10278      SpecialPowerTemplate = SuperweaponParticleUplinkCannon
10279      UpdateModuleStartsAttack = Yes
10280    End
10281    Behavior = ParticleUplinkCannonUpdate ModuleTag_12
10282      SpecialPowerTemplate            = SuperweaponParticleUplinkCannon
10283  
10284      ;The values trigger the various pre-stages before being ready to actually fire.
10285      ;The total combined value of these determines the first sign of activity in the 
10286      ;cannon.
10287      BeginChargeTime                 = 5000 ;The outer nodes begin to charge.
10288      RaiseAntennaTime                = 4667 ;The hatch opens and raises antenna (matches animation speed)
10289      ReadyDelayTime                  = 2000 ;The time after antenna is raised prior to being ready to fire.
10290  
10291      ;***NOTE -- these values effect gameplay*****
10292      TotalFiringTime                 = 10000     ;The total ground contact time of the beam
10293  
10294      DamagePerSecond                 = 400       ;Amount of damage inflicted per second
10295      TotalDamagePulses               = 40        ;The total number of damage pulses -- less means more damage per pulse, but less accurate
10296      WidthGrowTime                   = 2000      ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking)
10297      BeamTravelTime                  = 2500      ;How long it takes for the beam to hit the ground after leaving the firing dish.
10298      DamageType                      = PARTICLE_BEAM ;Type of damage inflicted.
10299      DamageRadiusScalar              = 3.4       ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too!
10300      RevealRange                     = 50.0      ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death.
10301      ;********************************************
10302  
10303      ;Bone names for required elements
10304      OuterEffectBoneName             = FX          ;The base name for the outer node bones.
10305      OuterEffectNumBones             = 5           ;The number of outer nodes.
10306      ConnectorBoneName               = FXConnector ;The name of the bone where the connector lasers meet.
10307      FireBoneName                    = FXMain      ;The name of the bone where the main beam is fired from.
10308  
10309      ;These are particle systems tied to the outer nodes in varying intensities.
10310      OuterNodesLightFlareParticleSystem    = ParticleUplinkCannon_OuterNodeLightFlare
10311      OuterNodesMediumFlareParticleSystem   = ParticleUplinkCannon_OuterNodeMediumFlare
10312      OuterNodesIntenseFlareParticleSystem  = ParticleUplinkCannon_OuterNodeIntenseFlare
10313  
10314      ;The connectors system connects each of the outer nodes to the central node that receives
10315      ;the lasers from outside.
10316      ConnectorMediumLaserName        = ParticleUplinkCannon_MediumConnectorLaser
10317      ConnectorIntenseLaserName       = ParticleUplinkCannon_IntenseConnectorLaser
10318  
10319      ;Currently commented out -- These
10320      ;ConnectorMediumFlare            = ParticleUplinkCannon_InnerConnectorMediumFlare
10321      ;ConnectorIntenseFlare           = ParticleUplinkCannon_InnerConnectorIntenseFlare
10322  
10323      ;This is the name of the bone on the building where the beam is fired from
10324      LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire
10325      ParticleBeamLaserName           = ParticleUplinkCannon_OrbitalLaser
10326      GroundHitFX                     = FX_ParticleUplinkCannon_BeamHitsGround     ;TotalScorchMarks determines how many times this gets called.
10327  
10328      ;The flare fxlist that is played over and over during the beam firing process. Be
10329      ;mindful of the delay because that effects both art and sound.
10330      BeamLaunchFX                   = FX_ParticleUplinkCannon_BeamLaunchIteration
10331      DelayBetweenLaunchFX           = 1000
10332  
10333      ;Each scorch mark creates an object in the world, so while making more looks better
10334      ;it becomes a performance issue. The scalar will calculate the size of the scorch
10335      ;mark to make based on the current size of the beam (which changes dynamically). The
10336      ;number also matches the number of times the "GroundHitFX" is called.
10337      TotalScorchMarks               = 20
10338      ScorchMarkScalar               = 2.4
10339  
10340      ;***NOTE -- these values effect gameplay***
10341      ;The swath of death is the path the laser tracers centered on the targeted position.
10342      ;If the amplitude is zero, the line will go straight, with a higher value, it'll do
10343      ;a sine wave iteration, but always goes through the target point.
10344      SwathOfDeathDistance           = 200.0
10345      SwathOfDeathAmplitude          = 50.0
10346  
10347  
10348      ManualDrivingSpeed             = 20
10349      ManualFastDrivingSpeed         = 40
10350      DoubleClickToFastDriveDelay    = 500
10351  
10352      ;***SOUNDS!****
10353      PoweringUpSoundLoop            = ParticleUplinkCannon_PowerupSoundLoop
10354      UnpackToIdleSoundLoop          = ParticleUplinkCannon_UnpackToIdleSoundLoop
10355      FiringToPackSoundLoop          = ParticleUplinkCannon_FiringToPackSoundLoop
10356      GroundAnnihilationSoundLoop    = ParticleUplinkCannon_GroundAnnihilationSoundLoop
10357  
10358      ;The trail left behind creates an object that inflicts extra damage for a short period of time.
10359      DamagePulseRemnantObjectName   = ParticleUplinkCannonTrailRemnant
10360    End
10361    
10362    Behavior = FlammableUpdate ModuleTag_14
10363      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10364      AflameDamageAmount = 5       ; taking this much damage...
10365      AflameDamageDelay = 500       ; this often.
10366    End
10367  
10368    Behavior = ProductionUpdate ModuleTag_15
10369      ; This is needed in order to get a public timer to work!
10370    End
10371  
10372    Behavior = TransitionDamageFX ModuleTag_17
10373      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
10374      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10375      ;---------------------------------------------------------------------------------------
10376      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10377      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
10378      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
10379    End
10380  
10381    Behavior = SlowDeathBehavior ModuleTag_18
10382      ; don't run this death if we are under construction...
10383      ExemptStatus   = UNDER_CONSTRUCTION
10384      DestructionDelay = 2000
10385      FX             = INITIAL FX_ParticleUplinkDeathInitial
10386      OCL            = INITIAL OCL_SDILinkLasers
10387      FX             = FINAL   FX_StructureMediumDeath
10388      OCL            = FINAL   OCL_ParticleUplinkDeathFinal
10389    End
10390  
10391    Behavior = InstantDeathBehavior ModuleTag_19
10392      ; if we are under construction, use this death instead
10393      RequiredStatus = UNDER_CONSTRUCTION
10394      OCL            = OCL_ABPowerPlantExplode
10395      FX             = FX_StructureMediumDeath
10396    End
10397  
10398    Geometry            = BOX
10399    GeometryMajorRadius = 64.0
10400    GeometryMinorRadius = 38.0
10401    GeometryHeight      = 38.0
10402    GeometryIsSmall     = No
10403    Shadow          = SHADOW_VOLUME
10404    BuildCompletion = PLACED_BY_PLAYER
10405  
10406  End
10407  
10408  
10409  
10410  
10411  
10412  
10413  
10414  ;------------------------------------------------------------------------------
10415  
10416  Object Lazr_AmericaStrategyCenter
10417  
10418    ; *** ART Parameters ***
10419    SelectPortrait         = SAStrategyCenter_L
10420    ButtonImage            = SAStrategyCenter
10421    Draw = W3DModelDraw ModuleTag_01
10422      OkToChangeModelColor = Yes
10423  
10424      ; day ***************************************************
10425      ConditionState = NONE
10426        Model              = ABStrategy
10427        Animation          = ABStrategy.ABStrategy
10428        AnimationMode      = LOOP
10429      End
10430      ConditionState = DAMAGED
10431        Model              = ABStrategy_D
10432        Animation          = ABStrategy_D.ABStrategy_D
10433        AnimationMode      = LOOP
10434      End
10435      ConditionState = REALLYDAMAGED RUBBLE
10436        Model              = ABStrategy_E
10437        Animation          = ABStrategy_E.ABStrategy_E
10438        AnimationMode      = LOOP
10439      End
10440         
10441      ; SNOW ***************************************************
10442      ConditionState = SNOW
10443        Model              = ABStrategy_S
10444        Animation          = ABStrategy_S.ABStrategy_S
10445        AnimationMode      = LOOP
10446      End
10447      ConditionState = DAMAGED SNOW
10448        Model              = ABStrategy_DS
10449        Animation          = ABStrategy_DS.ABStrategy_DS
10450        AnimationMode      = LOOP
10451      End
10452      ConditionState = REALLYDAMAGED RUBBLE SNOW
10453        Model              = ABStrategy_ES
10454        Animation          = ABStrategy_ES.ABStrategy_ES
10455        AnimationMode      = LOOP
10456      End
10457      
10458      ; night **************************************************
10459      ConditionState = NIGHT
10460        Model              = ABStrategy_N
10461        Animation          = ABStrategy_N.ABStrategy_N
10462        AnimationMode      = ONCE_BACKWARDS
10463        Flags              = START_FRAME_FIRST
10464      End
10465      ConditionState = NIGHT DAMAGED
10466        Model              = ABStrategy_DN
10467        Animation          = ABStrategy_DN.ABStrategy_DN
10468        AnimationMode      = LOOP
10469      End
10470      ConditionState = NIGHT REALLYDAMAGED RUBBLE
10471        Model              = ABStrategy_EN
10472        Animation          = ABStrategy_EN.ABStrategy_EN
10473        AnimationMode      = LOOP
10474      End
10475      
10476      ; night Snow**************************************************
10477      ConditionState = NIGHT SNOW
10478        Model              = ABStrategy_NS
10479        Animation          = ABStrategy_NS.ABStrategy_NS
10480        AnimationMode      = ONCE_BACKWARDS
10481        Flags              = START_FRAME_FIRST
10482      End
10483      ConditionState = NIGHT DAMAGED SNOW
10484        Model              = ABStrategy_DNS
10485        Animation          = ABStrategy_DNS.ABStrategy_DNS
10486        AnimationMode      = LOOP
10487      End
10488      ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW
10489        Model              = ABStrategy_ENS
10490        Animation          = ABStrategy_ENS.ABStrategy_ENS
10491        AnimationMode      = LOOP
10492      End
10493  
10494      ;**************************************************************************************************************************
10495      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10496      ;for this draw module
10497      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10498        Model              = ABStrategy
10499        Animation          = ABStrategy.ABStrategy
10500        AnimationMode      = LOOP
10501        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10502      End
10503      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10504        Model              = ABStrategy_D
10505        Animation          = ABStrategy_D.ABStrategy_D
10506        AnimationMode      = LOOP
10507        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10508      End
10509      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10510        Model              = ABStrategy_E
10511        Animation          = ABStrategy_E.ABStrategy_E
10512        AnimationMode      = LOOP
10513        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10514      End
10515      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10516        Model              = ABStrategy_N
10517        Animation          = ABStrategy_N.ABStrategy_N
10518        AnimationMode      = LOOP
10519        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10520      End
10521      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
10522        Model              = ABStrategy_DN
10523        Animation          = ABStrategy_DN.ABStrategy_DN
10524        AnimationMode      = LOOP
10525        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10526      End
10527      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
10528        Model              = ABStrategy_EN
10529        Animation          = ABStrategy_EN.ABStrategy_EN
10530        AnimationMode      = LOOP
10531        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10532      End
10533      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10534        Model              = ABStrategy_S
10535        Animation          = ABStrategy_S.ABStrategy_S
10536        AnimationMode      = LOOP
10537        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10538      End
10539      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
10540        Model              = ABStrategy_DS
10541        Animation          = ABStrategy_DS.ABStrategy_DS
10542        AnimationMode      = LOOP
10543        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10544      End
10545      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
10546        Model              = ABStrategy_ES
10547        Animation          = ABStrategy_ES.ABStrategy_ES
10548        AnimationMode      = LOOP
10549        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10550      End
10551      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10552        Model              = ABStrategy_NS
10553        Animation          = ABStrategy_NS.ABStrategy_NS
10554        AnimationMode      = LOOP
10555        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10556      End
10557      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
10558        Model              = ABStrategy_DNS
10559        Animation          = ABStrategy_DNS.ABStrategy_DNS
10560        AnimationMode      = LOOP
10561        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10562      End
10563      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
10564        Model              = ABStrategy_ENS
10565        Animation          = ABStrategy_ENS.ABStrategy_ENS
10566        AnimationMode      = LOOP
10567        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10568      End
10569  
10570      ConditionState       = AWAITING_CONSTRUCTION 
10571        Model              = NONE
10572      End
10573      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10574      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10575      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10576      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10577      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10578      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10579      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10580      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10581      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10582      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10583      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10584      AliasConditionState  = SOLD 
10585      AliasConditionState  = SOLD DAMAGED
10586      AliasConditionState  = SOLD REALLYDAMAGED
10587      AliasConditionState  = SOLD NIGHT
10588      AliasConditionState  = SOLD NIGHT DAMAGED
10589      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10590      AliasConditionState  = SOLD SNOW
10591      AliasConditionState  = SOLD SNOW DAMAGED
10592      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10593      AliasConditionState  = SOLD NIGHT SNOW
10594      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10595      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10596      ;**************************************************************************************************************************
10597  
10598  
10599    End
10600  
10601    ; ------------ construction-zone fence -----------------
10602    Draw = W3DModelDraw ModuleTag_02
10603    AnimationsRequirePower = No
10604      OkToChangeModelColor = Yes
10605      DefaultConditionState
10606        Model           = None
10607        TransitionKey   = DOWN_DEFAULT
10608      End
10609      ConditionState    = NIGHT
10610        Model           = None
10611        TransitionKey   = DOWN_DEFAULT
10612      End
10613      ConditionState    = SNOW
10614        Model           = None
10615        TransitionKey   = DOWN_DEFAULT
10616      End
10617      ConditionState    = SNOW NIGHT
10618        Model           = None
10619        TransitionKey   = DOWN_DEFAULT
10620      End
10621      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10622        Model           = ABStrategy_A4
10623        Animation       = ABStrategy_A4.ABStrategy_A4
10624        AnimationMode   = MANUAL
10625        Flags           = START_FRAME_LAST
10626        TransitionKey   = UP_DAY
10627        ParticleSysBone = SparksS01 LiveWireSparks02
10628        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10629      End
10630      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10631        Model           = ABStrategy_A4N
10632        Animation       = ABStrategy_A4N.ABStrategy_A4N
10633        AnimationMode   = MANUAL
10634        Flags           = START_FRAME_LAST
10635        TransitionKey   = UP_NIGHT
10636        ParticleSysBone = SparksS01 LiveWireSparks02
10637        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10638      End
10639      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10640        Model           = ABStrategy_A4S
10641        Animation       = ABStrategy_A4S.ABStrategy_A4S
10642        AnimationMode   = MANUAL
10643        Flags           = START_FRAME_LAST
10644        TransitionKey   = UP_SNOW
10645        ParticleSysBone = SparksS01 LiveWireSparks02
10646        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10647      End
10648      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10649        Model           = ABStrategy_A4SN
10650        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10651        AnimationMode   = MANUAL
10652        Flags           = START_FRAME_LAST
10653        TransitionKey   = UP_SNOWNIGHT
10654        ParticleSysBone = SparksS01 LiveWireSparks02
10655        ParticleSysBone = SmokeS01 SmokeBuildingSmall
10656      End
10657      TransitionState   = DOWN_DEFAULT UP_DAY
10658        Model           = ABStrategy_A4
10659        Animation       = ABStrategy_A4.ABStrategy_A4
10660        AnimationMode   = ONCE
10661        AnimationSpeedFactorRange = 1.0 1.0
10662        Flags           = START_FRAME_FIRST
10663      End
10664      TransitionState   = DOWN_DEFAULT UP_NIGHT
10665        Model           = ABStrategy_A4N
10666        Animation       = ABStrategy_A4N.ABStrategy_A4N
10667        AnimationMode   = ONCE
10668        AnimationSpeedFactorRange = 1.0 1.0
10669        Flags           = START_FRAME_FIRST
10670      End
10671      TransitionState   = DOWN_DEFAULT UP_SNOW
10672        Model           = ABStrategy_A4S
10673        Animation       = ABStrategy_A4S.ABStrategy_A4S
10674        AnimationMode   = ONCE
10675        AnimationSpeedFactorRange = 1.0 1.0
10676        Flags           = START_FRAME_FIRST
10677      End
10678      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10679        Model           = ABStrategy_A4SN
10680        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10681        AnimationMode   = ONCE
10682        AnimationSpeedFactorRange = 1.0 1.0
10683        Flags           = START_FRAME_FIRST
10684      End
10685      TransitionState   = UP_DAY DOWN_DEFAULT
10686        Model           = ABStrategy_A4
10687        Animation       = ABStrategy_A4.ABStrategy_A4
10688        AnimationMode   = ONCE_BACKWARDS
10689        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10690        Flags           = START_FRAME_LAST
10691      End
10692      TransitionState   = UP_NIGHT DOWN_DEFAULT
10693        Model           = ABStrategy_A4N
10694        Animation       = ABStrategy_A4N.ABStrategy_A4N
10695        AnimationMode   = ONCE_BACKWARDS
10696        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10697        Flags           = START_FRAME_LAST
10698      End
10699      TransitionState   = UP_SNOW DOWN_DEFAULT
10700        Model           = ABStrategy_A4S
10701        Animation       = ABStrategy_A4S.ABStrategy_A4S
10702        AnimationMode   = ONCE_BACKWARDS
10703        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10704        Flags           = START_FRAME_LAST
10705      End
10706  
10707      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10708        Model           = ABStrategy_A4SN
10709        Animation       = ABStrategy_A4SN.ABStrategy_A4SN
10710        AnimationMode   = ONCE_BACKWARDS
10711        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10712        Flags           = START_FRAME_LAST
10713      End
10714    End
10715  
10716    ; ------------ under-construction scaffolding -----------------
10717    Draw = W3DModelDraw ModuleTag_03
10718    AnimationsRequirePower = No
10719      MinLODRequired = MEDIUM
10720      OkToChangeModelColor = Yes
10721  
10722      DefaultConditionState
10723        Model           = None
10724        TransitionKey   = DOWN_DEFAULT
10725      End
10726      ConditionState    = NIGHT
10727        Model           = None
10728        TransitionKey   = DOWN_DEFAULT
10729      End
10730      ConditionState    = SNOW
10731        Model           = None
10732        TransitionKey   = DOWN_DEFAULT
10733      End
10734      ConditionState    = SNOW NIGHT
10735        Model           = None
10736        TransitionKey   = DOWN_DEFAULT
10737      End
10738      ConditionState    = PARTIALLY_CONSTRUCTED
10739        Model           = ABStrategy_A6
10740        Animation       = ABStrategy_A6.ABStrategy_A6
10741        AnimationMode   = MANUAL
10742        Flags           = START_FRAME_LAST
10743        TransitionKey   = UP_DAY
10744        ParticleSysBone = Sparks01 BuildUpBlueSpark
10745        ParticleSysBone = Sparks02 BuildUpBlueSpark
10746        ParticleSysBone = Sparks03 BuildUpBlueSpark
10747        ParticleSysBone = Sparks04 BuildUpBlueSpark
10748        ParticleSysBone = Sparks05 BuildUpBlueSpark
10749        ParticleSysBone = Sparks06 BuildUpBlueSpark
10750      End
10751      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
10752        Model           = ABStrategy_A6N
10753        Animation       = ABStrategy_A6N.ABStrategy_A6N
10754        AnimationMode   = MANUAL
10755        Flags           = START_FRAME_LAST
10756        TransitionKey   = UP_NIGHT
10757        ParticleSysBone = Sparks01 BuildUpBlueSpark
10758        ParticleSysBone = Sparks02 BuildUpBlueSpark
10759        ParticleSysBone = Sparks03 BuildUpBlueSpark
10760        ParticleSysBone = Sparks04 BuildUpBlueSpark
10761        ParticleSysBone = Sparks05 BuildUpBlueSpark
10762        ParticleSysBone = Sparks06 BuildUpBlueSpark
10763      End
10764      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
10765        Model           = ABStrategy_A6S
10766        Animation       = ABStrategy_A6S.ABStrategy_A6S
10767        AnimationMode   = MANUAL
10768        Flags           = START_FRAME_LAST
10769        TransitionKey   = UP_SNOW
10770        ParticleSysBone = Sparks01 BuildUpBlueSpark
10771        ParticleSysBone = Sparks02 BuildUpBlueSpark
10772        ParticleSysBone = Sparks03 BuildUpBlueSpark
10773        ParticleSysBone = Sparks04 BuildUpBlueSpark
10774        ParticleSysBone = Sparks05 BuildUpBlueSpark
10775        ParticleSysBone = Sparks06 BuildUpBlueSpark
10776      End
10777      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10778        Model           = ABStrategy_A6SN
10779        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10780        AnimationMode   = MANUAL
10781        Flags           = START_FRAME_LAST
10782        TransitionKey   = UP_SNOWNIGHT
10783        ParticleSysBone = Sparks01 BuildUpBlueSpark
10784        ParticleSysBone = Sparks02 BuildUpBlueSpark
10785        ParticleSysBone = Sparks03 BuildUpBlueSpark
10786        ParticleSysBone = Sparks04 BuildUpBlueSpark
10787        ParticleSysBone = Sparks05 BuildUpBlueSpark
10788        ParticleSysBone = Sparks06 BuildUpBlueSpark
10789      End
10790      TransitionState   = DOWN_DEFAULT UP_DAY
10791       Model            = ABStrategy_A6
10792        Animation       = ABStrategy_A6.ABStrategy_A6
10793        AnimationMode   = ONCE
10794        AnimationSpeedFactorRange = 1.0 1.0
10795        Flags           = START_FRAME_FIRST
10796      End
10797      TransitionState   = DOWN_DEFAULT UP_NIGHT
10798       Model            = ABStrategy_A6N
10799        Animation       = ABStrategy_A6N.ABStrategy_A6N
10800        AnimationMode   = ONCE
10801        AnimationSpeedFactorRange = 1.0 1.0
10802        Flags           = START_FRAME_FIRST
10803      End
10804      TransitionState   = DOWN_DEFAULT UP_SNOW
10805       Model            = ABStrategy_A6S
10806        Animation       = ABStrategy_A6S.ABStrategy_A6S
10807        AnimationMode   = ONCE
10808        AnimationSpeedFactorRange = 1.0 1.0
10809        Flags           = START_FRAME_FIRST
10810      End
10811      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10812       Model            = ABStrategy_A6SN
10813        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10814        AnimationMode   = ONCE
10815        AnimationSpeedFactorRange = 1.0 1.0
10816        Flags           = START_FRAME_FIRST
10817      End
10818      TransitionState   = UP_DAY DOWN_DEFAULT
10819        Model           = ABStrategy_A6
10820        Animation       = ABStrategy_A6.ABStrategy_A6
10821        AnimationMode   = ONCE_BACKWARDS
10822        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10823        Flags           = START_FRAME_LAST
10824      End
10825      TransitionState   = UP_NIGHT DOWN_DEFAULT
10826        Model           = ABStrategy_A6N
10827        Animation       = ABStrategy_A6N.ABStrategy_A6N
10828        AnimationMode   = ONCE_BACKWARDS
10829        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10830        Flags           = START_FRAME_LAST
10831      End
10832      TransitionState   = UP_SNOW DOWN_DEFAULT
10833        Model           = ABStrategy_A6S
10834        Animation       = ABStrategy_A6S.ABStrategy_A6S
10835        AnimationMode   = ONCE_BACKWARDS
10836        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10837        Flags           = START_FRAME_LAST
10838      End
10839      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10840        Model           = ABStrategy_A6SN
10841        Animation       = ABStrategy_A6SN.ABStrategy_A6SN
10842        AnimationMode   = ONCE_BACKWARDS
10843        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10844        Flags           = START_FRAME_LAST
10845      End
10846    End
10847  
10848    ; ------------ being-constructed crane -----------------
10849    Draw = W3DModelDraw ModuleTag_04
10850    AnimationsRequirePower = No
10851      DefaultConditionState
10852        Model           = None
10853        TransitionKey   = DOWN_DEFAULT
10854      End
10855      ConditionState    = NIGHT
10856        Model           = None
10857        TransitionKey   = DOWN_DEFAULT
10858      End
10859      ConditionState    = SNOW
10860        Model           = None
10861        TransitionKey   = DOWN_DEFAULT
10862      End
10863      ConditionState    = SNOW NIGHT
10864  
10865        Model           = None
10866        TransitionKey   = DOWN_DEFAULT
10867      End
10868      ConditionState    = SOLD
10869        Model           = NONE
10870      End
10871  
10872      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
10873        Model           = ABStrategy_A5
10874        Animation       = ABStrategy_A5.ABStrategy_A5
10875        AnimationMode   = LOOP
10876        TransitionKey  = UP_DAY
10877      End
10878  
10879      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
10880        Model           = ABStrategy_A5N
10881        Animation       = ABStrategy_A5N.ABStrategy_A5N
10882        AnimationMode   = LOOP
10883        TransitionKey  = UP_NIGHT
10884      End
10885  
10886      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
10887        Model           = ABStrategy_A5S
10888        Animation       = ABStrategy_A5S.ABStrategy_A5S
10889        AnimationMode   = LOOP
10890        TransitionKey  = UP_SNOW
10891      End
10892      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
10893        Model           = ABStrategy_A5SN
10894        Animation       = ABStrategy_A5SN.ABStrategy_A5SN
10895        AnimationMode   = LOOP
10896        TransitionKey  = UP_SNOWNIGHT
10897      End
10898      TransitionState   = DOWN_DEFAULT UP_DAY
10899        Model            = ABStrategy_AB
10900        Animation       = ABStrategy_AB.ABStrategy_AB
10901        AnimationMode   = ONCE
10902        AnimationSpeedFactorRange = 1.0 1.0
10903        Flags           = START_FRAME_FIRST
10904      End
10905  
10906      TransitionState   = DOWN_DEFAULT UP_NIGHT
10907        Model            = ABStrategy_ABN
10908        Animation       = ABStrategy_ABN.ABStrategy_ABN
10909        AnimationMode   = ONCE
10910        AnimationSpeedFactorRange = 1.0 1.0
10911        Flags           = START_FRAME_FIRST
10912      End
10913      TransitionState   = DOWN_DEFAULT UP_SNOW
10914        Model            = ABStrategy_ABS
10915        Animation       = ABStrategy_ABS.ABStrategy_ABS
10916        AnimationMode   = ONCE
10917        AnimationSpeedFactorRange = 1.0 1.0
10918        Flags           = START_FRAME_FIRST
10919      End
10920      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10921        Model            = ABStrategy_ABSN
10922        Animation       = ABStrategy_ABSN.ABStrategy_ABSN
10923        AnimationMode   = ONCE
10924        AnimationSpeedFactorRange = 1.0 1.0
10925        Flags           = START_FRAME_FIRST
10926      End
10927      TransitionState   = UP_DAY DOWN_DEFAULT
10928        Model            = ABStrategy_AB
10929        Animation       = ABStrategy_AB.ABStrategy_AB
10930        AnimationMode   = ONCE_BACKWARDS
10931        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10932        Flags           = START_FRAME_LAST
10933      End
10934      TransitionState   = UP_NIGHT DOWN_DEFAULT
10935        Model            = ABStrategy_ABN
10936        Animation       = ABStrategy_ABN.ABStrategy_ABN
10937        AnimationMode   = ONCE_BACKWARDS
10938        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10939        Flags           = START_FRAME_LAST
10940      End
10941      TransitionState   = UP_SNOW DOWN_DEFAULT
10942        Model            = ABStrategy_ABS
10943        Animation       = ABStrategy_ABS.ABStrategy_ABS
10944        AnimationMode   = ONCE_BACKWARDS
10945        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10946        Flags           = START_FRAME_LAST
10947      End
10948      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10949        Model            = ABStrategy_ABSN
10950        Animation       = ABStrategy_ABSN.ABStrategy_ABSN
10951        AnimationMode   = ONCE_BACKWARDS
10952        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10953        Flags           = START_FRAME_LAST
10954      End
10955    End
10956  
10957    ; ------------ BOMBARDMENT BATTLE PLAN -----------------
10958    Draw = W3DModelDraw ModuleTag_05
10959      OkToChangeModelColor = Yes
10960      DefaultConditionState
10961        Model           = ABStrategy_A1
10962        Animation       = ABStrategy_A1.ABStrategy_A1
10963        AnimationMode   = ONCE_BACKWARDS
10964        Flags           = START_FRAME_FIRST
10965      End
10966      AliasConditionState = DAMAGED
10967      AliasConditionState = REALLYDAMAGED
10968      AliasConditionState = NIGHT
10969      AliasConditionState = NIGHT SNOW
10970      AliasConditionState = SNOW
10971      AliasConditionState = NIGHT DAMAGED
10972      AliasConditionState = NIGHT SNOW DAMAGED
10973      AliasConditionState = SNOW DAMAGED
10974      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10975      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
10976      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10977      
10978      ConditionState    = DOOR_1_OPENING
10979        Model           = ABStrategy_A1
10980        Animation       = ABStrategy_A1.ABStrategy_A1
10981        AnimationMode   = ONCE
10982      End
10983      AliasConditionState = DAMAGED DOOR_1_OPENING
10984      AliasConditionState = REALLYDAMAGED DOOR_1_OPENING
10985      AliasConditionState = NIGHT DOOR_1_OPENING
10986      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
10987      AliasConditionState = SNOW DOOR_1_OPENING
10988      AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING
10989      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING
10990      AliasConditionState = SNOW DAMAGED DOOR_1_OPENING
10991      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
10992      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
10993      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
10994      
10995      ConditionState    = DOOR_1_CLOSING
10996        Model           = ABStrategy_A1
10997        Animation       = ABStrategy_A1.ABStrategy_A1
10998        AnimationMode   = ONCE_BACKWARDS
10999        Flags           = START_FRAME_LAST
11000      End
11001      AliasConditionState = DAMAGED DOOR_1_CLOSING
11002      AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING
11003      AliasConditionState = NIGHT DOOR_1_CLOSING
11004      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
11005      AliasConditionState = SNOW DOOR_1_CLOSING
11006      AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING
11007      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING
11008      AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING
11009      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11010      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11011      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11012      
11013      ConditionState    = DOOR_1_WAITING_TO_CLOSE
11014        Model           = NONE
11015      End
11016      AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE
11017      AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11018      AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE
11019      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11020      AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE
11021      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11022      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11023      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11024      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11025      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11026      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11027  
11028  
11029      ;**************************************************************************************************************************
11030      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11031      ;for this draw module
11032      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11033        Model              = ABStrategy_A1
11034        Animation          = ABStrategy_A1.ABStrategy_A1
11035        AnimationMode      = MANUAL
11036        Flags              = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11037      End
11038      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11039      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11040      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11041      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11042      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
11043      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
11044      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
11045      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
11046      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
11047      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
11048      AliasConditionState  =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
11049      
11050      ConditionState       = AWAITING_CONSTRUCTION 
11051        Model              = NONE
11052      End
11053      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11054      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11055      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11056      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11057      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11058      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11059      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11060      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11061      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11062      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11063      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11064      AliasConditionState  = SOLD DOOR_1_WAITING_TO_CLOSE
11065      AliasConditionState  = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE
11066      AliasConditionState  = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11067      AliasConditionState  = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE
11068      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11069      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11070      AliasConditionState  = SOLD SNOW DOOR_1_WAITING_TO_CLOSE
11071      AliasConditionState  = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11072      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11073      AliasConditionState  = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11074      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11075      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11076      ;**************************************************************************************************************************
11077  
11078      
11079    End
11080    
11081    Draw = W3DModelDraw ModuleTag_06
11082      ;***This is the bombardment cannon object that only shows up when ready to fire***
11083      OkToChangeModelColor = Yes
11084      DefaultConditionState
11085        Model           = ABStrategy_A8
11086        WeaponLaunchBone  = PRIMARY Muzzle
11087        WeaponMuzzleFlash               = PRIMARY MuzzleFX
11088        WeaponRecoilBone                = PRIMARY Barrel
11089        Turret                          = Turret01
11090        TurretPitch                     = TurretEL
11091        HideSubObject   = Chassis
11092      End
11093      AliasConditionState = DAMAGED
11094      AliasConditionState = REALLYDAMAGED
11095      AliasConditionState = NIGHT
11096      AliasConditionState = NIGHT SNOW
11097      AliasConditionState = SNOW
11098      AliasConditionState = NIGHT DAMAGED
11099      AliasConditionState = NIGHT SNOW DAMAGED
11100      AliasConditionState = SNOW DAMAGED
11101      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11102      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11103      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11104      
11105      ConditionState    = DOOR_1_WAITING_TO_CLOSE
11106        Model           = ABStrategy_A8
11107        ShowSubObject   = Chassis
11108      End
11109      AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE
11110      AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11111      AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE
11112      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11113      AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE
11114      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11115      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11116      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11117      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11118      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11119      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE
11120      
11121      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11122        Model              = ABStrategy_A8
11123        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11124      End
11125      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11126      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11127      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11128      
11129      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11130        Model              = ABStrategy_A8
11131        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11132      End
11133      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
11134      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
11135      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
11136      
11137      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
11138        Model              = ABStrategy_A8
11139        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11140      End
11141      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT
11142      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW
11143      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW
11144      
11145      
11146      
11147      
11148      ConditionState       = AWAITING_CONSTRUCTION 
11149        Model              = NONE
11150      End
11151      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11152      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11153      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11154      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11155      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11156      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11157      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11158      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11159      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11160      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11161      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11162      AliasConditionState  = SOLD 
11163      AliasConditionState  = SOLD DAMAGED
11164      AliasConditionState  = SOLD REALLYDAMAGED
11165      AliasConditionState  = SOLD NIGHT
11166      AliasConditionState  = SOLD NIGHT DAMAGED
11167      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11168      AliasConditionState  = SOLD SNOW
11169      AliasConditionState  = SOLD SNOW DAMAGED
11170      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11171      AliasConditionState  = SOLD NIGHT SNOW
11172      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11173      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11174      AliasConditionState  = SOLD DOOR_1_WAITING_TO_CLOSE
11175      AliasConditionState  = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE
11176      AliasConditionState  = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11177      AliasConditionState  = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE
11178      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE
11179      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11180      AliasConditionState  = SOLD SNOW DOOR_1_WAITING_TO_CLOSE
11181      AliasConditionState  = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11182      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11183      AliasConditionState  = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE
11184      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE
11185      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE
11186  
11187      
11188    End
11189  
11190    ; ------------ HOLD THE LINE BATTLE PLAN -----------------
11191    Draw = W3DModelDraw ModuleTag_07
11192      OkToChangeModelColor = Yes
11193      DefaultConditionState
11194        Model           = ABStrategy_A7
11195        Animation       = ABStrategy_A7.ABStrategy_A7
11196        AnimationMode   = ONCE_BACKWARDS
11197        Flags           = START_FRAME_FIRST
11198      End
11199      AliasConditionState = DAMAGED
11200      AliasConditionState = REALLYDAMAGED
11201      AliasConditionState = NIGHT
11202      AliasConditionState = NIGHT SNOW
11203      AliasConditionState = SNOW
11204      AliasConditionState = NIGHT DAMAGED
11205      AliasConditionState = NIGHT SNOW DAMAGED
11206      AliasConditionState = SNOW DAMAGED
11207      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11208      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11209      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11210      
11211      ConditionState    = DOOR_2_OPENING
11212        Model           = ABStrategy_A7
11213        Animation       = ABStrategy_A7.ABStrategy_A7
11214        AnimationMode   = ONCE
11215      End
11216      AliasConditionState = DAMAGED DOOR_2_OPENING
11217      AliasConditionState = REALLYDAMAGED DOOR_2_OPENING
11218      AliasConditionState = NIGHT DOOR_2_OPENING
11219      AliasConditionState = NIGHT SNOW DOOR_2_OPENING
11220      AliasConditionState = SNOW DOOR_2_OPENING
11221      AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING
11222      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING
11223      AliasConditionState = SNOW DAMAGED DOOR_2_OPENING
11224      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING
11225      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
11226      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
11227      
11228      ConditionState    = DOOR_2_CLOSING
11229        Model           = ABStrategy_A7
11230        Animation       = ABStrategy_A7.ABStrategy_A7
11231        AnimationMode   = ONCE_BACKWARDS
11232        Flags           = START_FRAME_LAST
11233      End
11234      AliasConditionState = DAMAGED DOOR_2_CLOSING
11235      AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING
11236      AliasConditionState = NIGHT DOOR_2_CLOSING
11237      AliasConditionState = NIGHT SNOW DOOR_2_CLOSING
11238      AliasConditionState = SNOW DOOR_2_CLOSING
11239      AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING
11240      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING
11241      AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING
11242      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11243      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11244      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
11245      
11246      ConditionState    = DOOR_2_WAITING_TO_CLOSE
11247        Model           = ABStrategy_A7
11248        Animation       = ABStrategy_A7.ABStrategy_A7
11249        AnimationMode   = ONCE
11250        Flags           = START_FRAME_LAST
11251      End
11252      AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE
11253      AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11254      AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE
11255      AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE
11256      AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE
11257      AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE
11258      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11259      AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11260      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11261      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11262      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE
11263      
11264      ;**************************************************************************************************************************
11265      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11266      ;for this draw module
11267      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11268        Model              = ABStrategy_A7
11269        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11270      End
11271      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11272      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11273      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11274          
11275      ConditionState       = AWAITING_CONSTRUCTION 
11276        Model              = NONE
11277      End
11278      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11279      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11280      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11281      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11282      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11283      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11284      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11285      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11286      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11287      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11288      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11289      AliasConditionState  = SOLD 
11290      AliasConditionState  = SOLD DAMAGED
11291      AliasConditionState  = SOLD REALLYDAMAGED
11292      AliasConditionState  = SOLD NIGHT
11293      AliasConditionState  = SOLD NIGHT DAMAGED
11294      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11295      AliasConditionState  = SOLD SNOW
11296      AliasConditionState  = SOLD SNOW DAMAGED
11297      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11298      AliasConditionState  = SOLD NIGHT SNOW
11299      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11300      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11301      AliasConditionState  = SOLD DOOR_2_WAITING_TO_CLOSE
11302      AliasConditionState  = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE
11303      AliasConditionState  = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11304      AliasConditionState  = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE
11305      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE
11306      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11307      AliasConditionState  = SOLD SNOW DOOR_2_WAITING_TO_CLOSE
11308      AliasConditionState  = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11309      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11310      AliasConditionState  = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE
11311      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE
11312      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE
11313      ;************************************************************************************************************************** 
11314    End
11315  
11316    ; ------------ SEARCH AND DESTROY BATTLE PLAN -----------------
11317    Draw = W3DModelDraw ModuleTag_08
11318      OkToChangeModelColor = Yes
11319      DefaultConditionState
11320        Model           = ABStrategy_A2
11321        Animation       = ABStrategy_A2.ABStrategy_A2
11322        AnimationMode   = ONCE_BACKWARDS
11323        Flags           = START_FRAME_FIRST
11324      End
11325      AliasConditionState = DAMAGED
11326      AliasConditionState = REALLYDAMAGED
11327      AliasConditionState = NIGHT
11328      AliasConditionState = NIGHT SNOW
11329      AliasConditionState = SNOW
11330      AliasConditionState = NIGHT DAMAGED
11331      AliasConditionState = NIGHT SNOW DAMAGED
11332      AliasConditionState = SNOW DAMAGED
11333      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11334      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11335      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11336      
11337      ConditionState    = DOOR_3_OPENING
11338        Model           = ABStrategy_A2
11339        Animation       = ABStrategy_A2.ABStrategy_A2
11340        AnimationMode   = ONCE
11341      End
11342      AliasConditionState = DAMAGED DOOR_3_OPENING
11343      AliasConditionState = REALLYDAMAGED DOOR_3_OPENING
11344      AliasConditionState = NIGHT DOOR_3_OPENING
11345      AliasConditionState = NIGHT SNOW DOOR_3_OPENING
11346      AliasConditionState = SNOW DOOR_3_OPENING
11347      AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING
11348      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING
11349      AliasConditionState = SNOW DAMAGED DOOR_3_OPENING
11350      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
11351      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
11352      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
11353      
11354      ConditionState    = DOOR_3_CLOSING
11355        Model           = ABStrategy_A2
11356        Animation       = ABStrategy_A2.ABStrategy_A2
11357        AnimationMode   = ONCE_BACKWARDS
11358        Flags           = START_FRAME_LAST
11359      End
11360      AliasConditionState = DAMAGED DOOR_3_CLOSING
11361      AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING
11362      AliasConditionState = NIGHT DOOR_3_CLOSING
11363      AliasConditionState = NIGHT SNOW DOOR_3_CLOSING
11364      AliasConditionState = SNOW DOOR_3_CLOSING
11365      AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING
11366      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING
11367      AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING
11368      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11369      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11370      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
11371      
11372      ConditionState    = DOOR_3_WAITING_TO_CLOSE
11373        Model           = NONE
11374      End
11375      AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE
11376      AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11377      AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE
11378      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11379      AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE
11380      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11381      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11382      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11383      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11384      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11385      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11386      
11387      
11388      ;**************************************************************************************************************************
11389      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11390      ;for this draw module
11391      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11392        Model              = ABStrategy_A2
11393        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11394      End
11395      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11396      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11397      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11398          
11399      ConditionState       = AWAITING_CONSTRUCTION 
11400        Model              = NONE
11401      End
11402      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11403      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11404      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11405      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11406      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11407      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11408      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11409      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11410      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11411      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11412      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11413      AliasConditionState  = SOLD 
11414      AliasConditionState  = SOLD DAMAGED
11415      AliasConditionState  = SOLD REALLYDAMAGED
11416      AliasConditionState  = SOLD NIGHT
11417      AliasConditionState  = SOLD NIGHT DAMAGED
11418      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11419      AliasConditionState  = SOLD SNOW
11420      AliasConditionState  = SOLD SNOW DAMAGED
11421      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11422      AliasConditionState  = SOLD NIGHT SNOW
11423      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11424      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11425      AliasConditionState  = SOLD DOOR_3_WAITING_TO_CLOSE
11426      AliasConditionState  = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE
11427      AliasConditionState  = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11428      AliasConditionState  = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE
11429      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11430      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11431      AliasConditionState  = SOLD SNOW DOOR_3_WAITING_TO_CLOSE
11432      AliasConditionState  = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11433      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11434      AliasConditionState  = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11435      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11436      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11437      ;**************************************************************************************************************************
11438      
11439      
11440    End
11441    Draw = W3DModelDraw ModuleTag_09
11442      ;***This is the radar array that only shows up when plan is active***
11443      OkToChangeModelColor = Yes
11444      DefaultConditionState
11445        Model           = NONE
11446      End
11447      AliasConditionState = DAMAGED
11448      AliasConditionState = REALLYDAMAGED
11449      AliasConditionState = NIGHT
11450      AliasConditionState = NIGHT SNOW
11451      AliasConditionState = SNOW
11452      AliasConditionState = NIGHT DAMAGED
11453      AliasConditionState = NIGHT SNOW DAMAGED
11454      AliasConditionState = SNOW DAMAGED
11455      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11456      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
11457      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11458      
11459      ConditionState    = DOOR_3_WAITING_TO_CLOSE
11460        Model           = ABStrategy_A3
11461        Animation       = ABStrategy_A3.ABStrategy_A3
11462        AnimationMode   = LOOP
11463      End
11464      AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE
11465      AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11466      AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE
11467      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11468      AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE
11469      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11470      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11471      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11472      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11473      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11474      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE
11475      
11476      ConditionState       = AWAITING_CONSTRUCTION 
11477        Model              = NONE
11478      End
11479      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11480      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11481      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11482      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11483      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11484      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11485      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11486      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11487      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11488      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11489      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11490      AliasConditionState  = SOLD 
11491      AliasConditionState  = SOLD DAMAGED
11492      AliasConditionState  = SOLD REALLYDAMAGED
11493      AliasConditionState  = SOLD NIGHT
11494      AliasConditionState  = SOLD NIGHT DAMAGED
11495      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11496      AliasConditionState  = SOLD SNOW
11497      AliasConditionState  = SOLD SNOW DAMAGED
11498      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11499      AliasConditionState  = SOLD NIGHT SNOW
11500      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11501      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11502      AliasConditionState  = SOLD DOOR_3_WAITING_TO_CLOSE
11503      AliasConditionState  = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE
11504      AliasConditionState  = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11505      AliasConditionState  = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE
11506      AliasConditionState  = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE
11507      AliasConditionState  = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11508      AliasConditionState  = SOLD SNOW DOOR_3_WAITING_TO_CLOSE
11509      AliasConditionState  = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11510      AliasConditionState  = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11511      AliasConditionState  = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE
11512      AliasConditionState  = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE
11513      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE
11514      
11515    End
11516   
11517    PlacementViewAngle = -45
11518  
11519    ; ***DESIGN parameters ***
11520    DisplayName      = OBJECT:StrategyCenter
11521    Side = AmericaLaserGeneral
11522    EditorSorting    = STRUCTURE
11523    Prerequisites
11524      Object = Lazr_AmericaWarFactory Lazr_AmericaAirfield
11525    End
11526    CommandSet          = Lazr_AmericaStrategyCenterCommandSet
11527    BuildCost           = 2500
11528    BuildTime           = 60.0           ; in seconds
11529    EnergyProduction    = -2
11530    VisionRange         = 400.0           ; Shroud clearing distance
11531  
11532    MaxSimultaneousOfType = 1
11533  
11534    ShroudClearingRange = 400
11535    WeaponSet
11536      Conditions           = None 
11537      Weapon               = PRIMARY StrategyCenterGun
11538      AutoChooseSources    = PRIMARY NONE
11539    End
11540    ArmorSet
11541      Conditions      = None
11542      Armor           = StructureArmor
11543      DamageFX        = StructureDamageFXNoShake
11544    End
11545    ExperienceValue     = 250 250 250 250  ; Experience point value at each level
11546  
11547    ; *** AUDIO Parameters ***
11548    VoiceSelect = StrategyCenterSelect
11549    SoundOnDamaged        = BuildingDamagedStateLight
11550    SoundOnReallyDamaged  = BuildingDestroy
11551  
11552    UnitSpecificSounds
11553      UnderConstruction     = UnderConstructionLoop
11554    End
11555  
11556    UnitSpecificSounds
11557      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
11558      TurretMoveStart = NoSound
11559      TurretMoveLoop  = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop
11560    End
11561  
11562    ; *** ENGINEERING Parameters ***
11563    RadarPriority   = STRUCTURE
11564    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH
11565    Body            = StructureBody ModuleTag_10
11566      MaxHealth       = 1500.0
11567      InitialHealth   = 1500.0
11568  
11569      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
11570      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
11571      SubdualDamageCap = 1700
11572      SubdualDamageHealRate = 500
11573      SubdualDamageHealAmount = 100
11574    End
11575    Behavior = ProductionUpdate ModuleTag_11
11576      ; nothing
11577    End
11578    Behavior = BaseRegenerateUpdate ModuleTag_12
11579      ;No data
11580    End 
11581  
11582    Behavior = SpecialAbility ModuleTag_13
11583      SpecialPowerTemplate = SpecialAbilityChangeBattlePlans
11584      UpdateModuleStartsAttack = Yes
11585    End
11586    Behavior = BattlePlanUpdate ModuleTag_14
11587      SpecialPowerTemplate              = SpecialAbilityChangeBattlePlans
11588  
11589      ;Transition Timings
11590      BombardmentPlanAnimationTime      = 7000
11591      HoldTheLinePlanAnimationTime      = 7000
11592      SearchAndDestroyPlanAnimationTime = 7000
11593      TransitionIdleTime                = 0
11594  
11595      ;Messages
11596      BombardmentMessageLabel      = MESSAGE:BattlePlanBombardmentInitiated
11597      HoldTheLineMessageLabel      = MESSAGE:BattlePlanHoldTheLineInitiated
11598      SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated
11599  
11600      ;Audio hooks
11601      BombardmentPlanUnpackSoundName        = StrategyCenter_BombardmentPlanUnpackSound
11602      BombardmentPlanPackSoundName          = StrategyCenter_BombardmentPlanPackSound
11603      BombardmentAnnouncementName           = StrategyCenter_BombardmentPlanAnnouncement
11604      SearchAndDestroyPlanUnpackSoundName   = StrategyCenter_SearchAndDestroyPlanUnpack
11605      SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop
11606      SearchAndDestroyPlanPackSoundName     = StrategyCenter_SearchAndDestroyPlanPack
11607      SearchAndDestroyAnnouncementName      = StrategyCenter_SearchAndDestroyAnnouncement
11608      HoldTheLinePlanUnpackSoundName        = StrategyCenter_HoldTheLinePlanUnpack
11609      HoldTheLinePlanPackSoundName          = StrategyCenter_HoldTheLinePlanPack
11610      HoldTheLineAnnouncementName           = StrategyCenter_HoldTheLineAnnouncement
11611  
11612      ;Army bonuses granted by different battle plans
11613      ValidMemberKindOf                   = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these...
11614      InvalidMemberKindOf                 = DOZER STRUCTURE AIRCRAFT DRONE   ;...but make sure they don't have any of these
11615      BattlePlanChangeParalyzeTime          = 5000 ;Subjected to paralyzation whenever a battle plan is changed.
11616      HoldTheLinePlanArmorDamageScalar      = 0.9 ;Armor damage bonus scalar -- LESS is better!
11617      SearchAndDestroyPlanSightRangeScalar  = 1.2 ;Sight range bonus -- more is better!
11618      ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file!
11619  
11620      ;Building bonuses granted based on battle plan mode.
11621      StrategyCenterSearchAndDestroySightRangeScalar = 2.0
11622      StrategyCenterSearchAndDestroyDetectsStealth   = Yes
11623      StrategyCenterHoldTheLineMaxHealthScalar       = 2.0
11624      StrategyCenterHoldTheLineMaxHealthChangeType   = PRESERVE_RATIO
11625  
11626    ;Revealing info
11627    ;VisionObjectName = VisionObject
11628  
11629    End
11630  
11631    Behavior = AIUpdateInterface ModuleTag_15
11632      Turret
11633        ControlledWeaponSlots    = PRIMARY
11634        TurretTurnRate      = 60   // turn rate, in degrees per sec
11635        TurretPitchRate     = 60
11636        AllowsPitch         = Yes
11637        FiresWhileTurning   = Yes
11638        NaturalTurretPitch  = 45 ; this keeps it aimed half way between land and sky
11639                                 ; since you never know from whence cometh danger
11640        NaturalTurretAngle = -90  ; this turret points backwards normally
11641  
11642        FirePitch           = 45       ; Instead of aiming pitchwise at the target, it will aim here
11643        MinIdleScanInterval = 500    ; in milliseconds
11644        MaxIdleScanInterval = 1000   ; in milliseconds
11645        MinIdleScanAngle    = 0      ; in degrees off the natural turret angle
11646        MaxIdleScanAngle    = 60     ; in degrees off the natural turret angle
11647      End
11648      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
11649    End
11650  
11651    Behavior = StealthDetectorUpdate ModuleTag_16
11652      DetectionRate       = 500   ; how often to rescan for stealthed things in my sight (msec)
11653      InitiallyDisabled   = Yes   ; only will be active when search & destroy plan active.
11654      DetectionRange     =  500    ;Dustin, enable this for independant balancing!
11655      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
11656      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
11657    End
11658  
11659    Behavior                   = SpyVisionSpecialPower SpyTag_1
11660      SpecialPowerTemplate     = SuperweaponCIAIntelligence   
11661      BaseDuration             =  30000 ;in milliseconds
11662      BonusDurationPerCaptured =  10000 ;in milliseconds
11663      MaxDuration              = 240000 ;in milliseconds    
11664    End
11665    Behavior                   = SpyVisionUpdate SpyTag_2
11666      ;<NO DATA>
11667    End
11668  
11669    Behavior = DestroyDie ModuleTag_17
11670      ;nothing
11671    End
11672    Behavior             = CreateObjectDie ModuleTag_18
11673      CreationList  = OCL_ABPowerPlantExplode
11674    End
11675    Behavior             = CreateObjectDie ModuleTag_19
11676      CreationList  = Lazr_OCL_AmericanRangerDebris04
11677      ExemptStatus  = UNDER_CONSTRUCTION
11678    End
11679    Behavior             = FXListDie ModuleTag_20
11680      DeathFX       = FX_StructureMediumDeath
11681    End
11682  
11683    Behavior = FlammableUpdate ModuleTag_22
11684      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
11685      AflameDamageAmount = 5       ; taking this much damage...
11686      AflameDamageDelay = 500       ; this often.
11687    End
11688  
11689    Behavior = TransitionDamageFX ModuleTag_23
11690      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
11691      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11692      ;---------------------------------------------------------------------------------------
11693      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
11694      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
11695      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
11696    End
11697  
11698  
11699    Geometry            = BOX
11700    GeometryMajorRadius = 62.0
11701    GeometryMinorRadius = 44.0
11702    GeometryHeight      = 24.0
11703    GeometryIsSmall     = No
11704    Shadow          = SHADOW_VOLUME
11705    BuildCompletion = PLACED_BY_PLAYER
11706  
11707  End
11708  
11709  ;------------------------------------------------------------------------------
11710  
11711  Object Lazr_AmericaAirfield
11712  
11713    ; *** ART Parameters ***
11714    SelectPortrait         = SAACommand_L
11715    ButtonImage            = SAACommand
11716    Draw = W3DModelDraw ModuleTag_01
11717  
11718      ExtraPublicBone = Runway1Parking1 
11719      ExtraPublicBone = Runway1Parking2 
11720      ExtraPublicBone = Runway2Parking1 
11721      ExtraPublicBone = Runway2Parking2 
11722      ExtraPublicBone = Runway1Park1Han
11723      ExtraPublicBone = Runway1Park2Han
11724      ExtraPublicBone = Runway2Park1Han
11725      ExtraPublicBone = Runway2Park2Han 
11726      ExtraPublicBone = Runway1Prep1 
11727      ExtraPublicBone = Runway1Prep2 
11728      ExtraPublicBone = Runway2Prep1 
11729      ExtraPublicBone = Runway2Prep2 
11730      ExtraPublicBone = RunwayStart1 
11731      ExtraPublicBone = RunwayStart2 
11732      ExtraPublicBone = RunwayEnd1 
11733      ExtraPublicBone = RunwayEnd2
11734      ExtraPublicBone = HeliPark01
11735  
11736      OkToChangeModelColor = Yes
11737  
11738      ; day ********************************************
11739      DefaultConditionState
11740        Model              = ABArFrcCmd
11741        Animation          = ABArFrcCmd.ABArFrcCmd
11742        AnimationMode      = LOOP
11743      End
11744      ConditionState       = DAMAGED
11745        Model              = ABArFrcCmd_D
11746        Animation          = ABArFrcCmd_D.ABArFrcCmd_D
11747        AnimationMode      = LOOP
11748        ParticleSysBone    = Smoke01 SmolderingSmoke
11749        ParticleSysBone    = Smoke02 SmolderingSmoke
11750        ParticleSysBone    = Smoke03 SmolderingSmoke
11751        ParticleSysBone    = Fire01 SmolderingFire
11752      End
11753      ConditionState       = REALLYDAMAGED RUBBLE
11754        Model              = ABArFrcCmd_E
11755        Animation          = ABArFrcCmd_E.ABArFrcCmd_E
11756        AnimationMode      = LOOP
11757        ParticleSysBone    = Smoke01 SmolderingSmoke
11758        ParticleSysBone    = Smoke02 SmolderingSmoke
11759        ParticleSysBone    = Smoke03 SmolderingSmoke
11760        ParticleSysBone    = Smoke04 SmolderingSmoke
11761        ParticleSysBone    = Smoke05 SmokeFactionLarge
11762        ParticleSysBone    = Smoke06 SmokeFactionLarge
11763        ParticleSysBone    = Fire01 SmolderingFire
11764        ParticleSysBone    = Fire02 SmolderingFire
11765        ParticleSysBone    = Fire03 FireFactionLarge
11766        ParticleSysBone    = Spark01 SparksLarge
11767      End
11768      
11769      ConditionState       = SNOW
11770        Model              = ABArFrcCmd_S
11771        Animation          = ABArFrcCmd_S.ABArFrcCmd_S
11772        AnimationMode      = LOOP
11773      End
11774      ConditionState       = DAMAGED SNOW
11775        Model              = ABArFrcCmd_DS
11776        Animation          = ABArFrcCmd_DS.ABArFrcCmd_DS
11777        AnimationMode      = LOOP
11778        ParticleSysBone    = Smoke01 SmolderingSmoke
11779        ParticleSysBone    = Smoke02 SmolderingSmoke
11780        ParticleSysBone    = Smoke03 SmolderingSmoke
11781        ParticleSysBone    = Fire01 SmolderingFire
11782      End
11783      ConditionState       = REALLYDAMAGED RUBBLE SNOW
11784        Model              = ABArFrcCmd_ES
11785        Animation          = ABArFrcCmd_ES.ABArFrcCmd_ES
11786        AnimationMode      = LOOP
11787        ParticleSysBone    = Smoke01 SmolderingSmoke
11788        ParticleSysBone    = Smoke02 SmolderingSmoke
11789        ParticleSysBone    = Smoke03 SmolderingSmoke
11790        ParticleSysBone    = Smoke04 SmolderingSmoke
11791        ParticleSysBone    = Smoke05 SmokeFactionLarge
11792        ParticleSysBone    = Smoke06 SmokeFactionLarge
11793        ParticleSysBone    = Fire01 SmolderingFire
11794        ParticleSysBone    = Fire02 SmolderingFire
11795        ParticleSysBone    = Fire03 FireFactionLarge
11796        ParticleSysBone    = Spark01 SparksLarge
11797      End
11798  
11799      ; night ******************************************
11800      ConditionState       = NIGHT
11801        Model              = ABArFrcCmd_N
11802        Animation          = ABArFrcCmd_N.ABArFrcCmd_N
11803        AnimationMode      = LOOP
11804      End
11805      ConditionState       = DAMAGED NIGHT
11806        Model              = ABArFrcCmd_ND
11807        Animation          = ABArFrcCmd_ND.ABArFrcCmd_ND
11808        AnimationMode      = LOOP
11809      End
11810      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
11811        Model              = ABArFrcCmd_NE
11812        Animation          = ABArFrcCmd_NE.ABArFrcCmd_NE
11813        AnimationMode      = LOOP
11814      End
11815      
11816      ConditionState       = NIGHT SNOW
11817        Model              = ABArFrcCmd_NS
11818        Animation          = ABArFrcCmd_NS.ABArFrcCmd_NS
11819        AnimationMode      = LOOP
11820      End
11821      ConditionState       = DAMAGED NIGHT SNOW
11822        Model              = ABArFrcCmd_NDS
11823        Animation          = ABArFrcCmd_NDS.ABArFrcCmd_NDS
11824        AnimationMode      = LOOP
11825      End
11826      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
11827        Model              = ABArFrcCmd_NES
11828        Animation          = ABArFrcCmd_NES.ABArFrcCmd_NES
11829        AnimationMode      = LOOP
11830      End
11831      
11832         ;**************************************************************************************************************************
11833      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
11834      ;for this draw module
11835      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
11836        Model              = ABArFrcCmd
11837        Animation          = ABArFrcCmd.ABArFrcCmd
11838        AnimationMode      = LOOP
11839        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11840      End
11841      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
11842        Model              = ABArFrcCmd_D
11843        Animation          = ABArFrcCmd_D.ABArFrcCmd_D
11844        AnimationMode      = LOOP
11845        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11846      End
11847      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
11848        Model              = ABArFrcCmd_E
11849        Animation          = ABArFrcCmd_E.ABArFrcCmd_E
11850        AnimationMode      = LOOP
11851        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11852      End
11853      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
11854        Model              = ABArFrcCmd_N
11855        Animation          = ABArFrcCmd_N.ABArFrcCmd_N
11856        AnimationMode      = LOOP
11857        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11858      End
11859      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
11860        Model              = ABArFrcCmd_ND
11861        Animation          = ABArFrcCmd_ND.ABArFrcCmd_ND
11862        AnimationMode      = LOOP
11863        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11864      End
11865      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
11866        Model              = ABArFrcCmd_NE
11867        Animation          = ABArFrcCmd_NE.ABArFrcCmd_NE
11868        AnimationMode      = LOOP
11869        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11870      End
11871      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
11872        Model              = ABArFrcCmd_S
11873        Animation          = ABArFrcCmd_S.ABArFrcCmd_S
11874        AnimationMode      = LOOP
11875        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11876      End
11877      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
11878        Model              = ABArFrcCmd_DS
11879        Animation          = ABArFrcCmd_DS.ABArFrcCmd_DS
11880        AnimationMode      = LOOP
11881        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11882      End
11883      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
11884        Model              = ABArFrcCmd_ES
11885        Animation          = ABArFrcCmd_ES.ABArFrcCmd_ES
11886        AnimationMode      = LOOP
11887        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11888      End
11889      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
11890        Model              = ABArFrcCmd_NS
11891        Animation          = ABArFrcCmd_NS.ABArFrcCmd_NS
11892        AnimationMode      = LOOP
11893        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11894      End
11895      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
11896        Model              = ABArFrcCmd_NDS
11897        Animation          = ABArFrcCmd_NDS.ABArFrcCmd_NDS
11898        AnimationMode      = LOOP
11899        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11900      End
11901      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
11902        Model              = ABArFrcCmd_NES
11903        Animation          = ABArFrcCmd_NES.ABArFrcCmd_NES
11904        AnimationMode      = LOOP
11905        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
11906      End
11907  
11908      ConditionState       = AWAITING_CONSTRUCTION 
11909        Model              = NONE
11910      End
11911      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
11912      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
11913      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
11914      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
11915      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
11916      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
11917      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
11918      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
11919      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
11920      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
11921      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
11922      AliasConditionState  = SOLD 
11923      AliasConditionState  = SOLD DAMAGED
11924      AliasConditionState  = SOLD REALLYDAMAGED
11925      AliasConditionState  = SOLD NIGHT
11926      AliasConditionState  = SOLD NIGHT DAMAGED
11927      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
11928      AliasConditionState  = SOLD SNOW
11929      AliasConditionState  = SOLD SNOW DAMAGED
11930      AliasConditionState  = SOLD SNOW REALLYDAMAGED
11931      AliasConditionState  = SOLD NIGHT SNOW
11932      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
11933      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
11934      ;**************************************************************************************************************************
11935  
11936    End
11937  
11938    ; ------------ blinky production lights -----------------
11939    Draw = W3DModelDraw ModuleTag_02
11940      DefaultConditionState
11941        Model              = None
11942      End
11943      ConditionState       = ACTIVELY_CONSTRUCTING
11944        Model              = ABArFrcCmd_A9
11945        Animation          = ABArFrcCmd_A9.ABArFrcCmd_A9
11946        AnimationMode      = LOOP
11947      End
11948    End
11949  
11950    ; ----------------- door #1 -------------------
11951    Draw                = W3DModelDraw ModuleTag_03
11952      ConditionState    = NONE
11953        Model           = ABArFrcCmd_A7
11954        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11955        AnimationMode   = MANUAL
11956        Flags           = START_FRAME_FIRST
11957      End
11958      AliasConditionState = NIGHT 
11959      AliasConditionState = SNOW 
11960      AliasConditionState = NIGHT SNOW 
11961      AliasConditionState = NIGHT DAMAGED
11962      AliasConditionState = SNOW DAMAGED
11963      AliasConditionState = NIGHT SNOW DAMAGED
11964      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
11965      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
11966      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE 
11967         
11968      ConditionState    = DOOR_1_OPENING
11969        Model           = ABArFrcCmd_A7
11970        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11971        AnimationMode   = ONCE
11972        Flags           = START_FRAME_FIRST
11973      End 
11974      AliasConditionState = NIGHT DOOR_1_OPENING
11975      AliasConditionState = SNOW DOOR_1_OPENING
11976      AliasConditionState = NIGHT SNOW DOOR_1_OPENING
11977      AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING
11978      AliasConditionState = SNOW DAMAGED DOOR_1_OPENING
11979      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING
11980      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING
11981      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
11982      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING
11983       
11984      ConditionState    = DOOR_1_CLOSING
11985        Model           = ABArFrcCmd_A7
11986        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
11987        AnimationMode   = ONCE_BACKWARDS
11988        Flags           = START_FRAME_LAST
11989      End   
11990      AliasConditionState = NIGHT DOOR_1_CLOSING
11991      AliasConditionState = SNOW DOOR_1_CLOSING
11992      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING
11993      AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING
11994      AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING
11995      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING
11996      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11997      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING
11998      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE  DOOR_1_CLOSING
11999      
12000      ConditionState    = DOOR_1_WAITING_OPEN
12001        Model           = ABArFrcCmd_A7
12002        Animation       = ABArFrcCmd_A7.ABArFrcCmd_A7
12003        AnimationMode   = MANUAL
12004        Flags           = START_FRAME_LAST
12005      End   
12006      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
12007      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
12008      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN
12009      AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN
12010      AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN
12011      AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN
12012      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
12013      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
12014      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN
12015      
12016      
12017      ;**************************************************************************************************************************
12018      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12019      ;for this draw module
12020      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12021        Model              = ABArFrcCmd_A7
12022        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12023      End
12024      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12025      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12026      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12027      
12028      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12029        Model              = ABArFrcCmd_A7
12030        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12031      End
12032  
12033      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12034      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12035      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12036      
12037      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12038        Model              = ABArFrcCmd_A7
12039        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12040      End
12041      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12042      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12043      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12044      
12045      ConditionState       = AWAITING_CONSTRUCTION 
12046        Model              = NONE
12047      End
12048      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12049      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12050      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12051      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12052      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12053      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12054      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12055      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12056      AliasConditionState  = SOLD 
12057      AliasConditionState  = SOLD DAMAGED
12058      AliasConditionState  = SOLD REALLYDAMAGED
12059      AliasConditionState  = SOLD NIGHT
12060      AliasConditionState  = SOLD NIGHT DAMAGED
12061      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12062      AliasConditionState  = SOLD SNOW
12063      AliasConditionState  = SOLD SNOW DAMAGED
12064      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12065      AliasConditionState  = SOLD NIGHT SNOW
12066      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12067      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12068      ;**************************************************************************************************************************
12069      
12070    End
12071  
12072    ; ----------------- door #2 -------------------
12073    Draw                = W3DModelDraw ModuleTag_04
12074      DefaultConditionState
12075        Model           = ABArFrcCmd_A8
12076        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12077        AnimationMode   = MANUAL
12078        Flags           = START_FRAME_FIRST
12079      End
12080      AliasConditionState = NIGHT 
12081      AliasConditionState = SNOW 
12082      AliasConditionState = NIGHT SNOW 
12083      AliasConditionState = NIGHT DAMAGED
12084      AliasConditionState = SNOW DAMAGED
12085      AliasConditionState = NIGHT SNOW DAMAGED
12086      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12087      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12088      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE 
12089      
12090      
12091      ConditionState    = DOOR_2_OPENING
12092        Model           = ABArFrcCmd_A8
12093        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12094        AnimationMode   = ONCE
12095        Flags           = START_FRAME_FIRST
12096      End
12097      AliasConditionState = NIGHT DOOR_2_OPENING
12098      AliasConditionState = SNOW DOOR_2_OPENING
12099      AliasConditionState = NIGHT SNOW DOOR_2_OPENING
12100      AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING
12101      AliasConditionState = SNOW DAMAGED DOOR_2_OPENING
12102      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING
12103      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING
12104      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
12105      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING
12106     
12107         
12108      ConditionState    = DOOR_2_CLOSING
12109        Model           = ABArFrcCmd_A8
12110        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12111        AnimationMode   = ONCE_BACKWARDS
12112        Flags           = START_FRAME_LAST
12113      End   
12114      AliasConditionState = NIGHT DOOR_2_CLOSING
12115      AliasConditionState = SNOW DOOR_2_CLOSING
12116      AliasConditionState = NIGHT SNOW DOOR_2_CLOSING
12117      AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING
12118      AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING
12119      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING
12120      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12121      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12122      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING
12123      
12124      ConditionState    = DOOR_2_WAITING_OPEN
12125        Model           = ABArFrcCmd_A8
12126        Animation       = ABArFrcCmd_A8.ABArFrcCmd_A8
12127        AnimationMode   = MANUAL
12128        Flags           = START_FRAME_LAST 
12129      End 
12130      AliasConditionState = NIGHT DOOR_2_WAITING_OPEN
12131      AliasConditionState = SNOW DOOR_2_WAITING_OPEN
12132      AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN
12133      AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN
12134      AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN
12135      AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN
12136      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12137      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12138      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN
12139      
12140          ;**************************************************************************************************************************
12141      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12142      ;for this draw module
12143      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12144        Model              = ABArFrcCmd_A8
12145        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12146      End
12147      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12148      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12149      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12150      
12151      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12152        Model              = ABArFrcCmd_A8
12153        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12154      End
12155      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12156      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12157      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12158      
12159      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12160        Model              = ABArFrcCmd_A8
12161        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12162      End
12163      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12164      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12165      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12166      
12167      ConditionState       = AWAITING_CONSTRUCTION 
12168        Model              = NONE
12169      End
12170      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12171      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12172      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12173      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12174      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12175      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12176      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12177      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12178      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12179      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12180      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12181      AliasConditionState  = SOLD 
12182      AliasConditionState  = SOLD DAMAGED
12183      AliasConditionState  = SOLD REALLYDAMAGED
12184      AliasConditionState  = SOLD NIGHT
12185      AliasConditionState  = SOLD NIGHT DAMAGED
12186      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12187      AliasConditionState  = SOLD SNOW
12188      AliasConditionState  = SOLD SNOW DAMAGED
12189      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12190      AliasConditionState  = SOLD NIGHT SNOW
12191      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12192      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12193      ;**************************************************************************************************************************
12194      
12195    End
12196    
12197    ; ----------------- door #3 -------------------
12198    Draw                = W3DModelDraw ModuleTag_05
12199      DefaultConditionState
12200        Model           = ABArFrcCmd_A2
12201        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12202        AnimationMode   = MANUAL
12203        Flags           = START_FRAME_FIRST
12204      End
12205      AliasConditionState = NIGHT 
12206      AliasConditionState = SNOW 
12207      AliasConditionState = NIGHT SNOW 
12208      AliasConditionState = NIGHT DAMAGED
12209      AliasConditionState = SNOW DAMAGED
12210      AliasConditionState = NIGHT SNOW DAMAGED
12211      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12212      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12213      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
12214      
12215      
12216      ConditionState    = DOOR_3_OPENING
12217        Model           = ABArFrcCmd_A2
12218        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12219        AnimationMode   = ONCE
12220        Flags           = START_FRAME_FIRST
12221      End   
12222      AliasConditionState = NIGHT DOOR_3_OPENING
12223      AliasConditionState = SNOW DOOR_3_OPENING
12224      AliasConditionState = NIGHT SNOW DOOR_3_OPENING
12225      AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING
12226      AliasConditionState = SNOW DAMAGED DOOR_3_OPENING
12227      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING
12228      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING
12229      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
12230      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING
12231      
12232      ConditionState    = DOOR_3_CLOSING
12233        Model           = ABArFrcCmd_A2
12234        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12235        AnimationMode   = ONCE_BACKWARDS
12236        Flags           = START_FRAME_LAST
12237      End   
12238      AliasConditionState = NIGHT DOOR_3_CLOSING
12239      AliasConditionState = SNOW DOOR_3_CLOSING
12240      AliasConditionState = NIGHT SNOW DOOR_3_CLOSING
12241      AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING
12242      AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING
12243      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING
12244      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12245      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12246      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING
12247      
12248      ConditionState    = DOOR_3_WAITING_OPEN
12249        Model           = ABArFrcCmd_A2
12250        Animation       = ABArFrcCmd_A2.ABArFrcCmd_A2
12251        AnimationMode   = MANUAL
12252        Flags           = START_FRAME_LAST
12253      End  
12254      AliasConditionState = NIGHT DOOR_3_WAITING_OPEN
12255      AliasConditionState = SNOW DOOR_3_WAITING_OPEN
12256      AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN
12257      AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN
12258      AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN
12259      AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN
12260      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12261      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12262      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN
12263          
12264      
12265          ;**************************************************************************************************************************
12266      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12267      ;for this draw module
12268      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12269        Model              = ABArFrcCmd_A2
12270        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12271      End
12272      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12273      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12274      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12275      
12276      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12277        Model              = ABArFrcCmd_A2
12278        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12279      End
12280      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12281      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12282      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12283      
12284      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12285        Model              = ABArFrcCmd_A2
12286        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12287      End
12288      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12289      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12290      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12291      
12292      ConditionState       = AWAITING_CONSTRUCTION 
12293        Model              = NONE
12294      End
12295      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12296      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12297      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12298      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12299      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12300      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12301      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12302      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12303      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12304      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12305      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12306      AliasConditionState  = SOLD 
12307      AliasConditionState  = SOLD DAMAGED
12308      AliasConditionState  = SOLD REALLYDAMAGED
12309      AliasConditionState  = SOLD NIGHT
12310      AliasConditionState  = SOLD NIGHT DAMAGED
12311      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12312      AliasConditionState  = SOLD SNOW
12313      AliasConditionState  = SOLD SNOW DAMAGED
12314      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12315      AliasConditionState  = SOLD NIGHT SNOW
12316      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12317      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12318      ;**************************************************************************************************************************
12319         
12320    End
12321  
12322    ; ----------------- door #4 -------------------
12323    Draw                = W3DModelDraw ModuleTag_06
12324      DefaultConditionState
12325        Model           = ABArFrcCmd_A3
12326        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12327        AnimationMode   = MANUAL
12328        Flags           = START_FRAME_FIRST
12329      End
12330      AliasConditionState = NIGHT 
12331      AliasConditionState = SNOW 
12332      AliasConditionState = NIGHT SNOW 
12333      AliasConditionState = NIGHT DAMAGED
12334      AliasConditionState = SNOW DAMAGED
12335      AliasConditionState = NIGHT SNOW DAMAGED
12336      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
12337      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
12338      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
12339      
12340      ConditionState    = DOOR_4_OPENING
12341        Model           = ABArFrcCmd_A3
12342        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12343        AnimationMode   = ONCE
12344        Flags           = START_FRAME_FIRST
12345      End   
12346      AliasConditionState = NIGHT DOOR_4_OPENING
12347      AliasConditionState = SNOW DOOR_4_OPENING
12348      AliasConditionState = NIGHT SNOW DOOR_4_OPENING
12349      AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING
12350      AliasConditionState = SNOW DAMAGED DOOR_4_OPENING
12351      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING
12352      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING
12353      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING
12354      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING
12355      
12356      ConditionState    = DOOR_4_CLOSING
12357        Model           = ABArFrcCmd_A3
12358        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12359        AnimationMode   = ONCE_BACKWARDS
12360        Flags           = START_FRAME_LAST
12361      End   
12362      AliasConditionState = NIGHT DOOR_4_CLOSING
12363      AliasConditionState = SNOW DOOR_4_CLOSING
12364      AliasConditionState = NIGHT SNOW DOOR_4_CLOSING
12365      AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING
12366      AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING
12367      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING
12368      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12369      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12370      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING
12371      
12372      ConditionState    = DOOR_4_WAITING_OPEN
12373        Model           = ABArFrcCmd_A3
12374        Animation       = ABArFrcCmd_A3.ABArFrcCmd_A3
12375        AnimationMode   = MANUAL
12376        Flags           = START_FRAME_LAST
12377      End 
12378      AliasConditionState = NIGHT DOOR_4_WAITING_OPEN
12379      AliasConditionState = SNOW DOOR_4_WAITING_OPEN
12380      AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN
12381      AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN
12382      AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN
12383      AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN
12384      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12385      AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12386      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN
12387      
12388      ;**************************************************************************************************************************
12389      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
12390      ;for this draw module
12391      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12392        Model              = ABArFrcCmd_A3
12393        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12394      End
12395      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
12396      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
12397      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
12398      
12399      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
12400        Model              = ABArFrcCmd_A3
12401        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12402      End
12403      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
12404      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
12405      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
12406      
12407      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
12408        Model              = ABArFrcCmd_A3
12409        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
12410      End
12411      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
12412      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
12413      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
12414      
12415      ConditionState       = AWAITING_CONSTRUCTION 
12416        Model              = NONE
12417      End
12418      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
12419      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
12420      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
12421      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
12422      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
12423      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
12424      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
12425      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
12426      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
12427      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
12428      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
12429      AliasConditionState  = SOLD 
12430      AliasConditionState  = SOLD DAMAGED
12431      AliasConditionState  = SOLD REALLYDAMAGED
12432      AliasConditionState  = SOLD NIGHT
12433      AliasConditionState  = SOLD NIGHT DAMAGED
12434      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
12435      AliasConditionState  = SOLD SNOW
12436      AliasConditionState  = SOLD SNOW DAMAGED
12437      AliasConditionState  = SOLD SNOW REALLYDAMAGED
12438      AliasConditionState  = SOLD NIGHT SNOW
12439      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
12440      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
12441      ;**************************************************************************************************************************
12442    End
12443  
12444    ; ------------ construction-zone fence -----------------
12445    Draw = W3DModelDraw ModuleTag_07
12446    AnimationsRequirePower = No
12447      DefaultConditionState
12448        Model           = None
12449        TransitionKey   = DOWN_DEFAULT
12450      End
12451      ConditionState    = NIGHT
12452        Model           = None
12453        TransitionKey   = DOWN_DEFAULT
12454      End
12455      ConditionState    = SNOW
12456        Model           = None
12457        TransitionKey   = DOWN_DEFAULT
12458      End
12459      ConditionState    = SNOW NIGHT
12460        Model           = None
12461        TransitionKey   = DOWN_DEFAULT
12462      End
12463      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12464        Model           = ABArFrcCmd_A4
12465        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12466        AnimationMode   = MANUAL
12467        Flags           = START_FRAME_LAST
12468        TransitionKey   = UP_DAY
12469        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12470        ParticleSysBone = SparksS01 LiveWireSparks02
12471      End
12472      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12473        Model           = ABArFrcCmd_A4N
12474        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12475        AnimationMode   = MANUAL
12476        Flags           = START_FRAME_LAST
12477        TransitionKey   = UP_NIGHT
12478        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12479        ParticleSysBone = SparksS01 LiveWireSparks02
12480      End
12481      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12482        Model           = ABArFrcCmd_A4S
12483        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12484        AnimationMode   = MANUAL
12485        Flags           = START_FRAME_LAST
12486        TransitionKey   = UP_SNOW
12487        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12488        ParticleSysBone = SparksS01 LiveWireSparks02
12489      End
12490      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
12491        Model           = ABArFrcCmd_A4SN
12492  ; @todo srj -- missing
12493        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12494        AnimationMode   = MANUAL
12495        Flags           = START_FRAME_LAST
12496        TransitionKey   = UP_SNOWNIGHT
12497        ParticleSysBone = SmokeS01 SmokeBuildingSmall
12498        ParticleSysBone = SparksS01 LiveWireSparks02
12499      End
12500      TransitionState   = DOWN_DEFAULT UP_DAY
12501        Model           = ABArFrcCmd_A4
12502        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12503        AnimationMode   = ONCE
12504        AnimationSpeedFactorRange = 1.0 1.0
12505        Flags           = START_FRAME_FIRST
12506      End
12507      TransitionState   = DOWN_DEFAULT UP_NIGHT
12508        Model           = ABArFrcCmd_A4N
12509        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12510        AnimationMode   = ONCE
12511        AnimationSpeedFactorRange = 1.0 1.0
12512        Flags           = START_FRAME_FIRST
12513      End
12514      TransitionState   = DOWN_DEFAULT UP_SNOW
12515        Model           = ABArFrcCmd_A4S
12516        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12517        AnimationMode   = ONCE
12518        AnimationSpeedFactorRange = 1.0 1.0
12519        Flags           = START_FRAME_FIRST
12520      End
12521      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12522        Model           = ABArFrcCmd_A4SN
12523  ; @todo srj -- missing
12524        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12525        AnimationMode   = ONCE
12526        AnimationSpeedFactorRange = 1.0 1.0
12527        Flags           = START_FRAME_FIRST
12528      End
12529      TransitionState   = UP_DAY DOWN_DEFAULT
12530        Model           = ABArFrcCmd_A4
12531        Animation       = ABArFrcCmd_A4.ABArFrcCmd_A4
12532        AnimationMode   = ONCE_BACKWARDS
12533        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12534        Flags           = START_FRAME_LAST
12535      End
12536      TransitionState   = UP_NIGHT DOWN_DEFAULT
12537        Model           = ABArFrcCmd_A4N
12538        Animation       = ABArFrcCmd_A4N.ABArFrcCmd_A4N
12539        AnimationMode   = ONCE_BACKWARDS
12540        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12541        Flags           = START_FRAME_LAST
12542      End
12543      TransitionState   = UP_SNOW DOWN_DEFAULT
12544        Model           = ABArFrcCmd_A4S
12545        Animation       = ABArFrcCmd_A4S.ABArFrcCmd_A4S
12546        AnimationMode   = ONCE_BACKWARDS
12547        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12548        Flags           = START_FRAME_LAST
12549      End
12550      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12551        Model           = ABArFrcCmd_A4SN
12552  ; @todo srj -- missing
12553        Animation       = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN
12554        AnimationMode   = ONCE_BACKWARDS
12555        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12556        Flags           = START_FRAME_LAST
12557      End
12558    End
12559  
12560    ; ------------ under-construction scaffolding -----------------
12561    Draw = W3DModelDraw ModuleTag_08
12562    AnimationsRequirePower = No
12563      MinLODRequired = MEDIUM
12564      DefaultConditionState
12565        Model           = None
12566        TransitionKey   = DOWN_DEFAULT
12567      End
12568      ConditionState    = NIGHT
12569        Model           = None
12570        TransitionKey   = DOWN_DEFAULT
12571      End
12572      ConditionState    = SNOW
12573        Model           = None
12574        TransitionKey   = DOWN_DEFAULT
12575      End
12576      ConditionState    = SNOW NIGHT
12577        Model           = None
12578        TransitionKey   = DOWN_DEFAULT
12579      End
12580      ConditionState    = PARTIALLY_CONSTRUCTED
12581        Model           = ABArFrcCmd_A6
12582        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12583        AnimationMode   = MANUAL
12584        Flags           = START_FRAME_LAST
12585        TransitionKey   = UP_DAY
12586        ParticleSysBone = Sparks01 BuildUpBlueSpark
12587        ParticleSysBone = Sparks02 BuildUpBlueSpark
12588        ParticleSysBone = Sparks03 BuildUpBlueSpark
12589        ParticleSysBone = Sparks04 BuildUpBlueSpark
12590        ParticleSysBone = Sparks05 BuildUpBlueSpark
12591        ParticleSysBone = Sparks06 BuildUpBlueSpark
12592      End
12593      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
12594        Model           = ABArFrcCmd_A6N
12595        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12596        AnimationMode   = MANUAL
12597        Flags           = START_FRAME_LAST
12598        TransitionKey   = UP_NIGHT
12599        ParticleSysBone = Sparks01 BuildUpBlueSpark
12600        ParticleSysBone = Sparks02 BuildUpBlueSpark
12601        ParticleSysBone = Sparks03 BuildUpBlueSpark
12602        ParticleSysBone = Sparks04 BuildUpBlueSpark
12603        ParticleSysBone = Sparks05 BuildUpBlueSpark
12604        ParticleSysBone = Sparks06 BuildUpBlueSpark
12605      End
12606      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
12607        Model           = ABArFrcCmd_A6S
12608        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12609        AnimationMode   = MANUAL
12610        Flags           = START_FRAME_LAST
12611        TransitionKey   = UP_SNOW
12612        ParticleSysBone = Sparks01 BuildUpBlueSpark
12613        ParticleSysBone = Sparks02 BuildUpBlueSpark
12614        ParticleSysBone = Sparks03 BuildUpBlueSpark
12615        ParticleSysBone = Sparks04 BuildUpBlueSpark
12616        ParticleSysBone = Sparks05 BuildUpBlueSpark
12617        ParticleSysBone = Sparks06 BuildUpBlueSpark
12618      End
12619      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
12620        Model           = ABArFrcCmd_A6SN
12621  ; @todo srj -- missing
12622        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12623        AnimationMode   = MANUAL
12624        Flags           = START_FRAME_LAST
12625        TransitionKey   = UP_SNOWNIGHT
12626        ParticleSysBone = Sparks01 BuildUpBlueSpark
12627        ParticleSysBone = Sparks02 BuildUpBlueSpark
12628        ParticleSysBone = Sparks03 BuildUpBlueSpark
12629        ParticleSysBone = Sparks04 BuildUpBlueSpark
12630        ParticleSysBone = Sparks05 BuildUpBlueSpark
12631        ParticleSysBone = Sparks06 BuildUpBlueSpark
12632      End
12633      TransitionState   = DOWN_DEFAULT UP_DAY
12634       Model            = ABArFrcCmd_A6
12635        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12636        AnimationMode   = ONCE
12637        AnimationSpeedFactorRange = 1.0 1.0
12638        Flags           = START_FRAME_FIRST
12639      End
12640      TransitionState   = DOWN_DEFAULT UP_NIGHT
12641       Model            = ABArFrcCmd_A6N
12642        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12643        AnimationMode   = ONCE
12644        AnimationSpeedFactorRange = 1.0 1.0
12645        Flags           = START_FRAME_FIRST
12646      End
12647  
12648      TransitionState   = DOWN_DEFAULT UP_SNOW
12649       Model            = ABArFrcCmd_A6S
12650        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12651        AnimationMode   = ONCE
12652        AnimationSpeedFactorRange = 1.0 1.0
12653        Flags           = START_FRAME_FIRST
12654      End
12655      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12656       Model            = ABArFrcCmd_A6SN
12657  ; @todo srj -- missing
12658        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12659        AnimationMode   = ONCE
12660        AnimationSpeedFactorRange = 1.0 1.0
12661        Flags           = START_FRAME_FIRST
12662      End
12663      TransitionState   = UP_DAY DOWN_DEFAULT
12664        Model           = ABArFrcCmd_A6
12665        Animation       = ABArFrcCmd_A6.ABArFrcCmd_A6
12666        AnimationMode   = ONCE_BACKWARDS
12667        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12668        Flags           = START_FRAME_LAST
12669      End
12670      TransitionState   = UP_NIGHT DOWN_DEFAULT
12671        Model           = ABArFrcCmd_A6N
12672        Animation       = ABArFrcCmd_A6N.ABArFrcCmd_A6N
12673        AnimationMode   = ONCE_BACKWARDS
12674        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12675        Flags           = START_FRAME_LAST
12676      End
12677      TransitionState   = UP_SNOW DOWN_DEFAULT
12678        Model           = ABArFrcCmd_A6S
12679        Animation       = ABArFrcCmd_A6S.ABArFrcCmd_A6S
12680        AnimationMode   = ONCE_BACKWARDS
12681        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12682        Flags           = START_FRAME_LAST
12683      End
12684      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12685        Model           = ABArFrcCmd_A6SN
12686  ; @todo srj -- missing
12687        Animation       = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN
12688        AnimationMode   = ONCE_BACKWARDS
12689        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12690        Flags           = START_FRAME_LAST
12691      End
12692    End
12693  
12694    ; ------------ being-constructed crane -----------------
12695    Draw = W3DModelDraw ModuleTag_09
12696    AnimationsRequirePower = No
12697      DefaultConditionState
12698        Model           = None
12699        TransitionKey   = DOWN_DEFAULT
12700      End
12701      ConditionState    = NIGHT
12702        Model           = None
12703        TransitionKey   = DOWN_DEFAULT
12704      End
12705      ConditionState    = SNOW
12706        Model           = None
12707        TransitionKey   = DOWN_DEFAULT
12708      End
12709      ConditionState    = SNOW NIGHT
12710        Model           = None
12711        TransitionKey   = DOWN_DEFAULT
12712      End
12713      ConditionState    = SOLD
12714        Model           = NONE
12715      End
12716  
12717      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
12718        Model           = ABArFrcCmd_A5
12719        Animation       = ABArFrcCmd_A5.ABArFrcCmd_A5
12720        AnimationMode   = LOOP
12721        TransitionKey   = UP_DAY
12722      End
12723  
12724      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
12725        Model           = ABArFrcCmd_A5N
12726        Animation       = ABArFrcCmd_A5N.ABArFrcCmd_A5N
12727        AnimationMode   = LOOP
12728        TransitionKey   = UP_NIGHT
12729      End
12730      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
12731        Model           = ABArFrcCmd_A5S
12732        Animation       = ABArFrcCmd_A5S.ABArFrcCmd_A5S
12733        AnimationMode   = LOOP
12734        TransitionKey   = UP_SNOW
12735      End
12736      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
12737        Model           = ABArFrcCmd_A5SN
12738        Animation       = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN
12739        AnimationMode   = LOOP
12740        TransitionKey   = UP_SNOWNIGHT
12741      End
12742      TransitionState   = DOWN_DEFAULT UP_DAY
12743        Model           = ABArFrcCmd_AB
12744        Animation       = ABArFrcCmd_AB.ABArFrcCmd_AB
12745        AnimationMode   = ONCE
12746        AnimationSpeedFactorRange = 1.0 1.0
12747        Flags           = START_FRAME_FIRST
12748      End
12749  
12750      TransitionState   = DOWN_DEFAULT UP_NIGHT
12751        Model           = ABArFrcCmd_ABN
12752        Animation       = ABArFrcCmd_ABN.ABArFrcCmd_ABN
12753        AnimationMode   = ONCE
12754        AnimationSpeedFactorRange = 1.0 1.0
12755        Flags           = START_FRAME_FIRST
12756      End
12757      TransitionState   = DOWN_DEFAULT UP_SNOW
12758        Model           = ABArFrcCmd_ABS
12759        ; @todo srj -- not found
12760        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12761        AnimationMode   = ONCE
12762        AnimationSpeedFactorRange = 1.0 1.0
12763        Flags           = START_FRAME_FIRST
12764      End
12765      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
12766        Model           = ABArFrcCmd_ABSN
12767        Animation       = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN
12768        AnimationMode   = ONCE
12769        AnimationSpeedFactorRange = 1.0 1.0
12770        Flags           = START_FRAME_FIRST
12771      End
12772      TransitionState   = UP_DAY DOWN_DEFAULT
12773        Model           = ABArFrcCmd_AB
12774        Animation       = ABArFrcCmd_AB.ABArFrcCmd_AB
12775        AnimationMode   = ONCE_BACKWARDS
12776        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12777        Flags           = START_FRAME_LAST
12778      End
12779      TransitionState   = UP_NIGHT DOWN_DEFAULT
12780        Model           = ABArFrcCmd_ABN
12781        Animation       = ABArFrcCmd_ABN.ABArFrcCmd_ABN
12782        AnimationMode   = ONCE_BACKWARDS
12783        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12784        Flags           = START_FRAME_LAST
12785      End
12786      TransitionState   = UP_SNOW DOWN_DEFAULT
12787        Model           = ABArFrcCmd_ABS
12788        ; @todo srj -- not found
12789        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12790        AnimationMode   = ONCE_BACKWARDS
12791        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12792        Flags           = START_FRAME_LAST
12793      End
12794      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
12795        Model           = ABArFrcCmd_ABS
12796        Animation       = ABArFrcCmd_ABS.ABArFrcCmd_ABS
12797        AnimationMode   = ONCE_BACKWARDS
12798        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
12799        Flags           = START_FRAME_LAST
12800      End
12801    End
12802  
12803    PlacementViewAngle = -45
12804  
12805    ; ***DESIGN parameters ***
12806    DisplayName      = OBJECT:Airfield
12807    Side             = AmericaLaserGeneral
12808    EditorSorting    = STRUCTURE
12809    Prerequisites
12810      Object = Lazr_AmericaSupplyCenter
12811    End
12812    BuildCost           = 1000
12813    BuildTime           = 30.0           ; in seconds
12814    EnergyProduction    = -1
12815    CommandSet          = Lazr_AmericaAirfieldCommandSet
12816    VisionRange         = 200.0           ; Shroud clearing distance
12817    ShroudClearingRange = 200
12818    ArmorSet
12819      Conditions        = None
12820      Armor             = StructureArmor
12821      DamageFX          = StructureDamageFXNoShake
12822    End
12823    ExperienceValue     = 150 150 150 150  ; Experience point value at each level
12824  
12825    ; *** AUDIO Parameters ***
12826    VoiceSelect         = AirfieldUSASelect
12827    SoundOnDamaged        = BuildingDamagedStateLight
12828    SoundOnReallyDamaged  = BuildingDestroy
12829  
12830    UnitSpecificSounds
12831      UnderConstruction     = UnderConstructionLoop
12832    End
12833  
12834    ; *** ENGINEERING Parameters ***
12835    RadarPriority       = STRUCTURE
12836    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT
12837    Body                = StructureBody ModuleTag_10
12838      MaxHealth         = 1500.0
12839      InitialHealth     = 1500.0
12840  
12841      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
12842      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
12843      SubdualDamageCap = 1700
12844      SubdualDamageHealRate = 500
12845      SubdualDamageHealAmount = 100
12846    End
12847    
12848    Behavior = ParkingPlaceBehavior ModuleTag_11
12849      HealAmountPerSecond     = 10
12850      NumRows                 = 2
12851      NumCols                 = 2
12852      HasRunways              = Yes
12853      ApproachHeight          = 50
12854    End
12855  
12856    Behavior = ProductionUpdate ModuleTag_12
12857      NumDoorAnimations            = 4
12858      DoorOpeningTime              = 2000  ;in mSeconds
12859      DoorWaitOpenTime             = 3000  ;in mSeconds
12860      DoorCloseTime                = 2000  ;in mSeconds
12861      ConstructionCompleteDuration = 1000  ;in mSeconds
12862    End
12863    Behavior = BaseRegenerateUpdate ModuleTag_13
12864      ;No data
12865    End 
12866  
12867    Behavior = DestroyDie ModuleTag_14
12868      ;nothing
12869    End
12870    Behavior             = CreateObjectDie ModuleTag_15
12871      CreationList  = OCL_ABPowerPlantExplode
12872    End
12873    Behavior             = CreateObjectDie ModuleTag_16
12874      CreationList  = OCL_AmericanRangerDebris02
12875      ExemptStatus  = UNDER_CONSTRUCTION
12876    End
12877    Behavior             = FXListDie ModuleTag_17
12878      DeathFX       = FX_StructureMediumDeath
12879    End
12880  
12881    Behavior = FlammableUpdate ModuleTag_19
12882      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
12883      AflameDamageAmount = 5       ; taking this much damage...
12884      AflameDamageDelay = 500       ; this often.
12885    End
12886  
12887    Behavior = TransitionDamageFX ModuleTag_31
12888      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
12889      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
12890      ;---------------------------------------------------------------------------------------
12891      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
12892      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
12893      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
12894    End
12895  
12896    Geometry            = BOX
12897    GeometryMajorRadius = 112.0
12898    GeometryMinorRadius = 74.0
12899    GeometryHeight      = 25.0
12900    GeometryIsSmall     = No
12901    FactoryExitWidth    = 25
12902    Shadow          = SHADOW_VOLUME
12903    BuildCompletion = PLACED_BY_PLAYER
12904  
12905  End
12906  
12907  
12908  
12909  
12910  
12911  
12912  
12913  ;------------------------------------------------------------------------------
12914  Object Lazr_AmericaSupplyCenter
12915  
12916    ; *** ART Parameters ***
12917    SelectPortrait         = SASupplyCntr_L
12918    ButtonImage            = SASupplyCntr
12919    Draw = W3DModelDraw ModuleTag_01
12920      OkToChangeModelColor = Yes
12921  
12922      ; day **************************************
12923      ConditionState       = NONE
12924        Model              = ABSupplyCT
12925        Animation          = ABSupplyCT.ABSupplyCT
12926        AnimationMode      = LOOP
12927        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12928      End
12929      ConditionState       = DAMAGED
12930        Model              = ABSupplyCT_D
12931        Animation          = ABSupplyCT_D.ABSupplyCT_D
12932        AnimationMode      = LOOP
12933        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12934        ParticleSysBone    = Smoke01 SmolderingSmoke
12935        ParticleSysBone    = Smoke02 SmolderingSmoke
12936        ParticleSysBone    = Smoke03 SmolderingSmoke
12937        ParticleSysBone    = Smoke04 SmolderingSmoke
12938        ParticleSysBone    = Smoke01 SmolderingFire
12939        ParticleSysBone    = Smoke02 SmolderingFire
12940        ParticleSysBone    = Smoke03 SmolderingFire
12941        ParticleSysBone    = Smoke04 SmolderingFire
12942      End
12943       ConditionState      = REALLYDAMAGED RUBBLE
12944        Model              = ABSupplyCT_E
12945        Animation          = ABSupplyCT_E.ABSupplyCT_E
12946        AnimationMode      = LOOP
12947        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12948        ParticleSysBone    = Smoke01 SmolderingSmoke
12949        ParticleSysBone    = Smoke02 SmolderingSmoke
12950        ParticleSysBone    = Smoke03 SmolderingSmoke
12951        ParticleSysBone    = Smoke04 SmolderingSmoke
12952        ParticleSysBone    = Smoke05 SmolderingSmoke
12953        ParticleSysBone    = Smoke06 SmolderingSmoke
12954        ParticleSysBone    = Smoke01 SmolderingFire
12955        ParticleSysBone    = Smoke02 SmolderingFire
12956        ParticleSysBone    = Smoke03 SmolderingFire
12957        ParticleSysBone    = Smoke04 SmolderingFire
12958        ParticleSysBone    = Smoke05 SmolderingFire
12959        ParticleSysBone    = Smoke06 SmolderingFire
12960      End
12961  
12962      
12963      ; day Snow **************************************
12964      ConditionState       = SNOW
12965        Model              = ABSupplyCT_S
12966        Animation          = ABSupplyCT_S.ABSupplyCT_S
12967        AnimationMode      = LOOP
12968        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12969      End
12970      ConditionState       = DAMAGED SNOW
12971        Model              = ABSupplyCT_DS
12972        Animation          = ABSupplyCT_DS.ABSupplyCT_DS
12973        AnimationMode      = LOOP
12974        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12975        ParticleSysBone    = Smoke01 SmolderingSmoke
12976        ParticleSysBone    = Smoke02 SmolderingSmoke
12977        ParticleSysBone    = Smoke03 SmolderingSmoke
12978        ParticleSysBone    = Smoke04 SmolderingSmoke
12979        ParticleSysBone    = Smoke01 SmolderingFire
12980        ParticleSysBone    = Smoke02 SmolderingFire
12981        ParticleSysBone    = Smoke03 SmolderingFire
12982        ParticleSysBone    = Smoke04 SmolderingFire
12983      End
12984       ConditionState      = REALLYDAMAGED RUBBLE SNOW
12985        Model              = ABSupplyCT_ES
12986        Animation          = ABSupplyCT_ES.ABSupplyCT_ES
12987        AnimationMode      = LOOP
12988        Flags              = MAINTAIN_FRAME_ACROSS_STATES
12989        ParticleSysBone    = Smoke01 SmolderingSmoke
12990        ParticleSysBone    = Smoke02 SmolderingSmoke
12991        ParticleSysBone    = Smoke03 SmolderingSmoke
12992        ParticleSysBone    = Smoke04 SmolderingSmoke
12993        ParticleSysBone    = Smoke05 SmolderingSmoke
12994        ParticleSysBone    = Smoke06 SmolderingSmoke
12995        ParticleSysBone    = Smoke01 SmolderingFire
12996        ParticleSysBone    = Smoke02 SmolderingFire
12997        ParticleSysBone    = Smoke03 SmolderingFire
12998        ParticleSysBone    = Smoke04 SmolderingFire
12999        ParticleSysBone    = Smoke05 SmolderingFire
13000        ParticleSysBone    = Smoke06 SmolderingFire
13001      End
13002  
13003      
13004  
13005      ; Night *************************************
13006        ConditionState     = NIGHT
13007        Model              = ABSupplyCT_N
13008        Animation          = ABSupplyCT_N.ABSupplyCT_N
13009        AnimationMode      = LOOP
13010        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13011      End 
13012        ConditionState     = DAMAGED NIGHT
13013        Model              = ABSupplyCT_DN
13014        Animation          = ABSupplyCT_DN.ABSupplyCT_DN
13015        AnimationMode      = LOOP
13016        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13017      End 
13018        ConditionState     = REALLYDAMAGED RUBBLE NIGHT
13019        Model              = ABSupplyCT_EN
13020        Animation          = ABSupplyCT_EN.ABSupplyCT_EN
13021        AnimationMode      = LOOP
13022        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13023      End
13024  
13025      
13026      ; Night Snow*************************************
13027        ConditionState     = NIGHT SNOW
13028        Model              = ABSupplyCT_NS
13029        Animation          = ABSupplyCT_NS.ABSupplyCT_NS
13030        AnimationMode      = LOOP
13031        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13032      End 
13033        ConditionState     = DAMAGED NIGHT SNOW
13034        Model              = ABSupplyCT_DNS
13035        Animation          = ABSupplyCT_DNS.ABSupplyCT_DNS
13036        AnimationMode      = LOOP
13037        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13038      End 
13039        ConditionState     = REALLYDAMAGED RUBBLE NIGHT SNOW
13040        Model              = ABSupplyCT_ENS
13041        Animation          = ABSupplyCT_ENS.ABSupplyCT_ENS
13042        AnimationMode      = LOOP
13043        Flags              = MAINTAIN_FRAME_ACROSS_STATES
13044      End
13045      
13046          ;**************************************************************************************************************************
13047      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13048      ;for this draw module
13049      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13050        Model              = ABSupplyCT
13051        Animation          = ABSupplyCT.ABSupplyCT
13052        AnimationMode      = LOOP
13053        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13054      End
13055      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13056        Model              = ABSupplyCT_D
13057        Animation          = ABSupplyCT_D.ABSupplyCT_D
13058        AnimationMode      = LOOP
13059        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13060      End
13061      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13062        Model              = ABSupplyCT_E
13063        Animation          = ABSupplyCT_E.ABSupplyCT_E
13064        AnimationMode      = LOOP
13065        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13066      End
13067      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13068        Model              = ABSupplyCT_N
13069        Animation          = ABSupplyCT_N.ABSupplyCT_N
13070        AnimationMode      = LOOP
13071        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13072      End
13073      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13074        Model              = ABSupplyCT_DN
13075        Animation          = ABSupplyCT_DN.ABSupplyCT_DN
13076        AnimationMode      = LOOP
13077        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13078      End
13079      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13080        Model              = ABSupplyCT_EN
13081        Animation          = ABSupplyCT_EN.ABSupplyCT_EN
13082        AnimationMode      = LOOP
13083        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13084      End
13085      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13086        Model              = ABSupplyCT_S
13087        Animation          = ABSupplyCT_S.ABSupplyCT_S
13088        AnimationMode      = LOOP
13089        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13090      End
13091      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13092        Model              = ABSupplyCT_DS
13093        Animation          = ABSupplyCT_DS.ABSupplyCT_DS
13094        AnimationMode      = LOOP
13095        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13096      End
13097      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13098        Model              = ABSupplyCT_ES
13099        Animation          = ABSupplyCT_ES.ABSupplyCT_ES
13100        AnimationMode      = LOOP
13101        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13102      End
13103      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13104        Model              = ABSupplyCT_NS
13105        Animation          = ABSupplyCT_NS.ABSupplyCT_NS
13106        AnimationMode      = LOOP
13107        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13108      End
13109      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13110        Model              = ABSupplyCT_DNS
13111        Animation          = ABSupplyCT_DNS.ABSupplyCT_DNS
13112        AnimationMode      = LOOP
13113        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13114      End
13115      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13116        Model              = ABSupplyCT_ENS
13117        Animation          = ABSupplyCT_ENS.ABSupplyCT_ENS
13118        AnimationMode      = LOOP
13119        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13120      End
13121  
13122      ConditionState       = AWAITING_CONSTRUCTION 
13123        Model              = NONE
13124      End
13125      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13126      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13127      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13128      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13129      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13130      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13131      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13132      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13133      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13134      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13135      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13136      AliasConditionState  = SOLD 
13137      AliasConditionState  = SOLD DAMAGED
13138      AliasConditionState  = SOLD REALLYDAMAGED
13139      AliasConditionState  = SOLD NIGHT
13140      AliasConditionState  = SOLD NIGHT DAMAGED
13141      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13142      AliasConditionState  = SOLD SNOW
13143      AliasConditionState  = SOLD SNOW DAMAGED
13144      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13145      AliasConditionState  = SOLD NIGHT SNOW
13146      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13147      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13148      ;**************************************************************************************************************************
13149  
13150  
13151   
13152    End
13153  
13154    ; ------------ construction-zone fence -----------------
13155    Draw = W3DModelDraw ModuleTag_02
13156    AnimationsRequirePower = No
13157      DefaultConditionState
13158        Model           = None
13159        TransitionKey   = DOWN_DEFAULT
13160      End
13161      ConditionState    = NIGHT
13162        Model           = None
13163        TransitionKey   = DOWN_DEFAULT
13164      End
13165      ConditionState    = SNOW
13166        Model           = None
13167        TransitionKey   = DOWN_DEFAULT
13168      End
13169      ConditionState    = SNOW NIGHT
13170        Model           = None
13171        TransitionKey   = DOWN_DEFAULT
13172      End
13173      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13174        Model           = ABSupplyCT_A4
13175        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13176        AnimationMode   = MANUAL
13177        Flags           = START_FRAME_LAST
13178        TransitionKey   = UP_DAY
13179        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13180        ParticleSysBone = SparksS01 LiveWireSparks02
13181      End
13182      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13183        Model           = ABSupplyCT_A4N
13184        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13185        AnimationMode   = MANUAL
13186        Flags           = START_FRAME_LAST
13187        TransitionKey   = UP_NIGHT
13188        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13189        ParticleSysBone = SparksS01 LiveWireSparks02
13190      End
13191      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13192        Model           = ABSupplyCT_A4S
13193        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13194        AnimationMode   = MANUAL
13195        Flags           = START_FRAME_LAST
13196        TransitionKey   = UP_SNOW
13197        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13198        ParticleSysBone = SparksS01 LiveWireSparks02
13199      End
13200      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13201        Model           = ABSupplyCT_A4SN
13202        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13203        AnimationMode   = MANUAL
13204        Flags           = START_FRAME_LAST
13205        TransitionKey   = UP_SNOWNIGHT
13206        ParticleSysBone = SmokeS01 SmokeBuildingSmall
13207        ParticleSysBone = SparksS01 LiveWireSparks02
13208      End
13209      TransitionState   = DOWN_DEFAULT UP_DAY
13210        Model           = ABSupplyCT_A4
13211        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13212        AnimationMode   = ONCE
13213        AnimationSpeedFactorRange = 1.0 1.0
13214        Flags           = START_FRAME_FIRST
13215      End
13216      TransitionState   = DOWN_DEFAULT UP_NIGHT
13217        Model           = ABSupplyCT_A4N
13218        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13219        AnimationMode   = ONCE
13220        AnimationSpeedFactorRange = 1.0 1.0
13221        Flags           = START_FRAME_FIRST
13222      End
13223      TransitionState   = DOWN_DEFAULT UP_SNOW
13224        Model           = ABSupplyCT_A4S
13225        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13226        AnimationMode   = ONCE
13227        AnimationSpeedFactorRange = 1.0 1.0
13228        Flags           = START_FRAME_FIRST
13229      End
13230      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13231        Model           = ABSupplyCT_A4SN
13232        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13233        AnimationMode   = ONCE
13234        AnimationSpeedFactorRange = 1.0 1.0
13235        Flags           = START_FRAME_FIRST
13236      End
13237      TransitionState   = UP_DAY DOWN_DEFAULT
13238        Model           = ABSupplyCT_A4
13239        Animation       = ABSupplyCT_A4.ABSupplyCT_A4
13240        AnimationMode   = ONCE_BACKWARDS
13241        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13242        Flags           = START_FRAME_LAST
13243      End
13244      TransitionState   = UP_NIGHT DOWN_DEFAULT
13245        Model           = ABSupplyCT_A4N
13246        Animation       = ABSupplyCT_A4N.ABSupplyCT_A4N
13247        AnimationMode   = ONCE_BACKWARDS
13248        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13249        Flags           = START_FRAME_LAST
13250      End
13251      TransitionState   = UP_SNOW DOWN_DEFAULT
13252        Model           = ABSupplyCT_A4S
13253        Animation       = ABSupplyCT_A4S.ABSupplyCT_A4S
13254        AnimationMode   = ONCE_BACKWARDS
13255        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13256        Flags           = START_FRAME_LAST
13257      End
13258      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13259        Model           = ABSupplyCT_A4SN
13260        Animation       = ABSupplyCT_A4SN.ABSupplyCT_A4SN
13261        AnimationMode   = ONCE_BACKWARDS
13262        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13263        Flags           = START_FRAME_LAST
13264      End
13265    End
13266  
13267    ; ------------ under-construction scaffolding -----------------
13268    Draw = W3DModelDraw ModuleTag_03
13269    AnimationsRequirePower = No
13270      MinLODRequired = MEDIUM
13271      DefaultConditionState
13272        Model           = None
13273        TransitionKey   = DOWN_DEFAULT
13274      End
13275      ConditionState    = NIGHT
13276        Model           = None
13277        TransitionKey   = DOWN_DEFAULT
13278      End
13279      ConditionState    = SNOW
13280        Model           = None
13281        TransitionKey   = DOWN_DEFAULT
13282      End
13283      ConditionState    = SNOW NIGHT
13284        Model           = None
13285        TransitionKey   = DOWN_DEFAULT
13286      End
13287      ConditionState    = PARTIALLY_CONSTRUCTED
13288        Model           = ABSupplyCT_A6
13289        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13290        AnimationMode   = MANUAL
13291        Flags           = START_FRAME_LAST
13292        TransitionKey   = UP_DAY
13293        ParticleSysBone = Sparks01 BuildUpBlueSpark
13294        ParticleSysBone = Sparks02 BuildUpBlueSpark
13295        ParticleSysBone = Sparks03 BuildUpBlueSpark
13296        ParticleSysBone = Sparks04 BuildUpBlueSpark
13297        ParticleSysBone = Sparks05 BuildUpBlueSpark
13298        ParticleSysBone = Sparks06 BuildUpBlueSpark
13299      End
13300      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
13301        Model           = ABSupplyCT_A6N
13302        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13303        AnimationMode   = MANUAL
13304        Flags           = START_FRAME_LAST
13305        TransitionKey   = UP_NIGHT
13306        ParticleSysBone = Sparks01 BuildUpBlueSpark
13307        ParticleSysBone = Sparks02 BuildUpBlueSpark
13308        ParticleSysBone = Sparks03 BuildUpBlueSpark
13309        ParticleSysBone = Sparks04 BuildUpBlueSpark
13310        ParticleSysBone = Sparks05 BuildUpBlueSpark
13311        ParticleSysBone = Sparks06 BuildUpBlueSpark
13312      End
13313      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
13314        Model           = ABSupplyCT_A6S
13315        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13316        AnimationMode   = MANUAL
13317        Flags           = START_FRAME_LAST
13318        TransitionKey   = UP_SNOW
13319        ParticleSysBone = Sparks01 BuildUpBlueSpark
13320        ParticleSysBone = Sparks02 BuildUpBlueSpark
13321        ParticleSysBone = Sparks03 BuildUpBlueSpark
13322        ParticleSysBone = Sparks04 BuildUpBlueSpark
13323        ParticleSysBone = Sparks05 BuildUpBlueSpark
13324        ParticleSysBone = Sparks06 BuildUpBlueSpark
13325      End
13326      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
13327        Model           = ABSupplyCT_A6SN
13328        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13329        AnimationMode   = MANUAL
13330        Flags           = START_FRAME_LAST
13331        TransitionKey   = UP_SNOWNIGHT
13332        ParticleSysBone = Sparks01 BuildUpBlueSpark
13333        ParticleSysBone = Sparks02 BuildUpBlueSpark
13334        ParticleSysBone = Sparks03 BuildUpBlueSpark
13335        ParticleSysBone = Sparks04 BuildUpBlueSpark
13336        ParticleSysBone = Sparks05 BuildUpBlueSpark
13337        ParticleSysBone = Sparks06 BuildUpBlueSpark
13338      End
13339      TransitionState   = DOWN_DEFAULT UP_DAY
13340       Model            = ABSupplyCT_A6
13341        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13342        AnimationMode   = ONCE
13343        AnimationSpeedFactorRange = 1.0 1.0
13344        Flags           = START_FRAME_FIRST
13345      End
13346      TransitionState   = DOWN_DEFAULT UP_NIGHT
13347       Model            = ABSupplyCT_A6N
13348        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13349        AnimationMode   = ONCE
13350        AnimationSpeedFactorRange = 1.0 1.0
13351        Flags           = START_FRAME_FIRST
13352      End
13353      TransitionState   = DOWN_DEFAULT UP_SNOW
13354       Model            = ABSupplyCT_A6S
13355        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13356        AnimationMode   = ONCE
13357        AnimationSpeedFactorRange = 1.0 1.0
13358        Flags           = START_FRAME_FIRST
13359      End
13360      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13361       Model            = ABSupplyCT_A6SN
13362        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13363        AnimationMode   = ONCE
13364        AnimationSpeedFactorRange = 1.0 1.0
13365        Flags           = START_FRAME_FIRST
13366      End
13367      TransitionState   = UP_DAY DOWN_DEFAULT
13368        Model           = ABSupplyCT_A6
13369        Animation       = ABSupplyCT_A6.ABSupplyCT_A6
13370        AnimationMode   = ONCE_BACKWARDS
13371        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13372        Flags           = START_FRAME_LAST
13373      End
13374      TransitionState   = UP_NIGHT DOWN_DEFAULT
13375        Model           = ABSupplyCT_A6N
13376        Animation       = ABSupplyCT_A6N.ABSupplyCT_A6N
13377        AnimationMode   = ONCE_BACKWARDS
13378        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13379        Flags           = START_FRAME_LAST
13380      End
13381      TransitionState   = UP_SNOW DOWN_DEFAULT
13382        Model           = ABSupplyCT_A6S
13383        Animation       = ABSupplyCT_A6S.ABSupplyCT_A6S
13384        AnimationMode   = ONCE_BACKWARDS
13385        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13386        Flags           = START_FRAME_LAST
13387      End
13388      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13389        Model           = ABSupplyCT_A6SN
13390        Animation       = ABSupplyCT_A6SN.ABSupplyCT_A6SN
13391        AnimationMode   = ONCE_BACKWARDS
13392        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13393        Flags           = START_FRAME_LAST
13394      End
13395    End
13396  
13397    ; ------------ being-constructed crane -----------------
13398    Draw = W3DModelDraw ModuleTag_04
13399    AnimationsRequirePower = No
13400      DefaultConditionState
13401        Model           = None
13402        TransitionKey   = DOWN_DEFAULT
13403      End
13404      ConditionState    = NIGHT
13405        Model           = None
13406        TransitionKey   = DOWN_DEFAULT
13407      End
13408      ConditionState    = SNOW
13409        Model           = None
13410        TransitionKey   = DOWN_DEFAULT
13411      End
13412      ConditionState    = SNOW NIGHT
13413        Model           = None
13414        TransitionKey   = DOWN_DEFAULT
13415      End
13416      ConditionState    = SOLD
13417        Model           = NONE
13418      End
13419  
13420      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
13421        Model           = ABSupplyCT_A5
13422        Animation       = ABSupplyCT_A5.ABSupplyCT_A5
13423        AnimationMode   = LOOP
13424        TransitionKey  = UP_DAY
13425      End
13426  
13427      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
13428        Model           = ABSupplyCT_A5N
13429        Animation       = ABSupplyCT_A5N.ABSupplyCT_A5N
13430        AnimationMode   = LOOP
13431        TransitionKey  = UP_NIGHT
13432      End
13433      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
13434        Model           = ABSupplyCT_A5S
13435        Animation       = ABSupplyCT_A5S.ABSupplyCT_A5S
13436        AnimationMode   = LOOP
13437        TransitionKey  = UP_SNOW
13438      End
13439      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
13440        Model           = ABSupplyCT_A5SN
13441        Animation       = ABSupplyCT_A5SN.ABSupplyCT_A5SN
13442        AnimationMode   = LOOP
13443        TransitionKey  = UP_SNOWNIGHT
13444      End
13445      TransitionState   = DOWN_DEFAULT UP_DAY
13446        Model            = ABSupplyCT_AB
13447        Animation       = ABSupplyCT_AB.ABSupplyCT_AB
13448        AnimationMode   = ONCE
13449        AnimationSpeedFactorRange = 1.0 1.0
13450        Flags           = START_FRAME_FIRST
13451      End
13452  
13453      TransitionState   = DOWN_DEFAULT UP_NIGHT
13454        Model            = ABSupplyCT_ABN
13455        Animation       = ABSupplyCT_ABN.ABSupplyCT_ABN
13456        AnimationMode   = ONCE
13457        AnimationSpeedFactorRange = 1.0 1.0
13458        Flags           = START_FRAME_FIRST
13459      End
13460      TransitionState   = DOWN_DEFAULT UP_SNOW
13461        Model            = ABSupplyCT_ABS
13462        Animation       = ABSupplyCT_ABS.ABSupplyCT_ABS
13463        AnimationMode   = ONCE
13464        AnimationSpeedFactorRange = 1.0 1.0
13465        Flags           = START_FRAME_FIRST
13466      End
13467      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
13468        Model            = ABSupplyCT_ABSN
13469        Animation       = ABSupplyCT_ABSN.ABSupplyCT_ABSN
13470        AnimationMode   = ONCE
13471        AnimationSpeedFactorRange = 1.0 1.0
13472        Flags           = START_FRAME_FIRST
13473      End
13474      TransitionState   = UP_DAY DOWN_DEFAULT
13475        Model            = ABSupplyCT_AB
13476        Animation       = ABSupplyCT_AB.ABSupplyCT_AB
13477        AnimationMode   = ONCE_BACKWARDS
13478        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13479        Flags           = START_FRAME_LAST
13480      End
13481      TransitionState   = UP_NIGHT DOWN_DEFAULT
13482        Model            = ABSupplyCT_ABN
13483        Animation       = ABSupplyCT_ABN.ABSupplyCT_ABN
13484        AnimationMode   = ONCE_BACKWARDS
13485        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13486        Flags           = START_FRAME_LAST
13487      End
13488      TransitionState   = UP_SNOW DOWN_DEFAULT
13489        Model            = ABSupplyCT_ABS
13490        Animation       = ABSupplyCT_ABS.ABSupplyCT_ABS
13491        AnimationMode   = ONCE_BACKWARDS
13492        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13493        Flags           = START_FRAME_LAST
13494      End
13495      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
13496        Model            = ABSupplyCT_ABSN
13497        Animation       = ABSupplyCT_ABSN.ABSupplyCT_ABSN
13498        AnimationMode   = ONCE_BACKWARDS
13499        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
13500        Flags           = START_FRAME_LAST
13501      End
13502    End
13503   
13504    ; ------------ Grabbing box crane arm -----------------
13505    Draw = W3DModelDraw ModuleTag_19
13506      OkToChangeModelColor = Yes   
13507      ConditionState    = NONE                        ; sit there
13508        Model           = ABSupplyCT_A8
13509        Animation       = ABSupplyCT_A8.ABSupplyCT_A8
13510        AnimationMode   = LOOP
13511        Flags           = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13512        WaitForStateToFinishIfPossible = TRANS_Playing
13513      End
13514      AliasConditionState  =  NIGHT
13515      AliasConditionState  =  SNOW
13516      AliasConditionState  =  NIGHT SNOW
13517      AliasConditionState  =  DAMAGED
13518      AliasConditionState  =  NIGHT DAMAGED
13519      AliasConditionState  =  SNOW DAMAGED
13520      AliasConditionState  =  NIGHT SNOW DAMAGED
13521      AliasConditionState  =  REALLYDAMAGED RUBBLE
13522      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE
13523      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE
13524      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE
13525      
13526      ConditionState    = DOCKING_ACTIVE              ; play arm box anim once
13527        Model           = ABSupplyCT_A7
13528        Animation       = ABSupplyCT_A7.ABSupplyCT_A7
13529        AnimationMode   = ONCE
13530        Flags           = START_FRAME_FIRST
13531        TransitionKey   = TRANS_Playing
13532      End
13533      AliasConditionState  =  NIGHT DOCKING_ACTIVE
13534      AliasConditionState  =  SNOW DOCKING_ACTIVE
13535      AliasConditionState  =  NIGHT SNOW DOCKING_ACTIVE
13536      AliasConditionState  =  DAMAGED DOCKING_ACTIVE
13537      AliasConditionState  =  NIGHT DAMAGED DOCKING_ACTIVE
13538      AliasConditionState  =  SNOW DAMAGED DOCKING_ACTIVE
13539      AliasConditionState  =  NIGHT SNOW DAMAGED DOCKING_ACTIVE
13540      AliasConditionState  =  REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13541      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13542      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13543      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE
13544      
13545    End
13546    
13547      ; ------------ Spinny Belt -----------------
13548    Draw = W3DModelDraw ModuleTag_SpinnyBelt
13549      OkToChangeModelColor = Yes   
13550      ConditionState    = NONE                        ; sit there
13551        Model           = ABSupplyCT_A9
13552        Animation       = ABSupplyCT_A9.ABSupplyCT_A9
13553        AnimationMode   = LOOP
13554      End
13555      AliasConditionState  =  NIGHT
13556      AliasConditionState  =  SNOW
13557      AliasConditionState  =  NIGHT SNOW
13558      AliasConditionState  =  DAMAGED
13559      AliasConditionState  =  NIGHT DAMAGED
13560      AliasConditionState  =  SNOW DAMAGED
13561      AliasConditionState  =  NIGHT SNOW DAMAGED
13562      AliasConditionState  =  REALLYDAMAGED RUBBLE
13563      AliasConditionState  =  NIGHT REALLYDAMAGED RUBBLE
13564      AliasConditionState  =  SNOW REALLYDAMAGED RUBBLE
13565      AliasConditionState  =  NIGHT SNOW REALLYDAMAGED RUBBLE
13566      
13567      
13568      ;**************************************************************************************************************************
13569      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13570      ;for this draw module
13571      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13572        Model              = ABSupplyCT_A9
13573        Animation          = ABSupplyCT_A9.ABSupplyCT_A9
13574        AnimationMode      = LOOP
13575        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES
13576      End
13577      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13578      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13579      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13580      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13581      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13582      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13583      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13584      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13585      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13586      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13587      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13588      
13589  
13590      ConditionState       = AWAITING_CONSTRUCTION 
13591        Model              = NONE
13592      End
13593      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13594      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13595      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13596      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13597      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13598      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13599      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13600      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13601      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13602      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13603      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13604      AliasConditionState  = SOLD 
13605      AliasConditionState  = SOLD DAMAGED
13606      AliasConditionState  = SOLD REALLYDAMAGED
13607      AliasConditionState  = SOLD NIGHT
13608      AliasConditionState  = SOLD NIGHT DAMAGED
13609      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13610      AliasConditionState  = SOLD SNOW
13611      AliasConditionState  = SOLD SNOW DAMAGED
13612      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13613      AliasConditionState  = SOLD NIGHT SNOW
13614      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13615      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13616      ;**************************************************************************************************************************
13617    End
13618  
13619    PlacementViewAngle = -45
13620  
13621    ; ***DESIGN parameters ***
13622    DisplayName      = OBJECT:SupplyCenter
13623    Side             = AmericaLaserGeneral
13624    EditorSorting    = STRUCTURE
13625    Prerequisites
13626      Object = Lazr_AmericaPowerPlant
13627    End
13628  
13629  
13630    BuildCost        = 2000
13631    RefundValue      = 400 ; With nothing (or zero) listed, we sell for half price. 
13632    BuildTime        = 10.0           ; in seconds
13633    EnergyProduction = -1
13634    CommandSet       = Lazr_AmericaSupplyCenterCommandSet
13635    VisionRange      = 200.0           ; Shroud clearing distance
13636    ShroudClearingRange = 200
13637    ArmorSet
13638      Conditions      = None
13639      Armor           = StructureArmor
13640      DamageFX        = StructureDamageFXNoShake
13641    End
13642    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
13643  
13644    ; *** AUDIO Parameters ***
13645    VoiceSelect = SupplyCenterUSASelect
13646    SoundOnDamaged        = BuildingDamagedStateLight
13647    SoundOnReallyDamaged  = BuildingDestroy
13648  
13649    UnitSpecificSounds
13650      UnderConstruction     = UnderConstructionLoop
13651    End
13652  
13653    ; *** ENGINEERING Parameters ***
13654    RadarPriority       = STRUCTURE
13655    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER
13656    Body                = StructureBody ModuleTag_05
13657      MaxHealth       = 2000.0
13658      InitialHealth   = 2000.0
13659  
13660      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
13661      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
13662      SubdualDamageCap = 2200
13663      SubdualDamageHealRate = 500
13664      SubdualDamageHealAmount = 100
13665    End
13666    Behavior = SupplyCenterCreate ModuleTag_06
13667      ;nothing
13668    End
13669    Behavior = DestroyDie ModuleTag_07
13670      ;nothing
13671    End
13672    Behavior             = CreateObjectDie ModuleTag_08
13673      CreationList  = Lazr_OCL_AmericanRangerDebris03
13674      ExemptStatus  = UNDER_CONSTRUCTION
13675    End
13676    Behavior = ProductionUpdate ModuleTag_09
13677      ; nothing
13678    End
13679    Behavior = SupplyCenterProductionExitUpdate ModuleTag_10
13680      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
13681      NaturalRallyPoint = X: 44.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
13682    End
13683    Behavior = BaseRegenerateUpdate ModuleTag_11
13684      ;No data
13685    End 
13686    Behavior            = SpawnBehavior ModuleTag_12
13687      SpawnNumber       = 1
13688      SpawnReplaceDelay = 9999
13689      SpawnTemplateName = Lazr_AmericaVehicleChinook
13690      OneShot           = Yes
13691      CanReclaimOrphans = No
13692      SlavesHaveFreeWill = Yes
13693    End
13694  
13695    Behavior = SupplyCenterDockUpdate ModuleTag_13
13696      NumberApproachPositions = 9 ; There are 9 approach bones in the art
13697    End
13698  
13699    Behavior = FlammableUpdate ModuleTag_15
13700      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
13701      AflameDamageAmount = 5       ; taking this much damage...
13702      AflameDamageDelay = 500       ; this often.
13703    End
13704    
13705    Behavior             = CreateObjectDie ModuleTag_16
13706      CreationList  = OCL_LargeStructureDebris
13707    End
13708    Behavior             = FXListDie ModuleTag_17
13709      DeathFX       = FX_StructureSmallDeath
13710    End
13711  
13712    Behavior = TransitionDamageFX ModuleTag_18
13713      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
13714      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
13715      ;---------------------------------------------------------------------------------------
13716      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
13717      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
13718      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
13719    End
13720    
13721    Geometry            = BOX
13722    GeometryMajorRadius = 44.0
13723    GeometryMinorRadius = 45.0
13724    GeometryHeight      = 24.0
13725    GeometryIsSmall     = No
13726    Shadow          = SHADOW_VOLUME
13727    BuildCompletion = PLACED_BY_PLAYER
13728  
13729  End
13730  
13731  ;------------------------------------------------------------------------------
13732  Object Lazr_AmericaSupplyDropZone
13733  
13734    ; *** ART Parameters ***
13735    SelectPortrait         = SADropZone_L
13736    ButtonImage            = SADropZone
13737      Draw                 = W3DModelDraw ModuleTag_01
13738      OkToChangeModelColor = Yes   
13739      ConditionState       = NONE
13740        Model              = ABSupDrop
13741        ParticleSysBone    = Flare01 LandingZoneSmoke
13742        Animation          = ABSupDrop.ABSupDrop
13743        AnimationMode      = LOOP
13744      End
13745      
13746      ConditionState       = DAMAGED
13747        Model              = ABSupDrop_D
13748        ParticleSysBone    = Flare01 LandingZoneSmoke
13749        Animation          = ABSupDrop_D.ABSupDrop_D
13750        AnimationMode      = LOOP
13751      End
13752     
13753      ConditionState     = REALLYDAMAGED RUBBLE
13754        Model              = ABSupDrop_E
13755        ParticleSysBone    = Flare01 LandingZoneSmoke
13756        Animation          = ABSupDrop_E.ABSupDrop_E
13757        AnimationMode      = LOOP
13758      End
13759      
13760      ConditionState       = NIGHT
13761        Model              = ABSupDrop_N
13762        ParticleSysBone    = Flare01 LandingZoneSmoke
13763        Animation          = ABSupDrop_N.ABSupDrop_N
13764        AnimationMode      = LOOP
13765      End
13766      
13767      ConditionState       = DAMAGED NIGHT
13768        Model              = ABSupDrop_DN
13769        ParticleSysBone    = Flare01 LandingZoneSmoke
13770        Animation          = ABSupDrop_DN.ABSupDrop_DN
13771        AnimationMode      = LOOP
13772      End
13773     
13774      ConditionState     = REALLYDAMAGED RUBBLE NIGHT
13775        Model              = ABSupDrop_EN
13776        ParticleSysBone    = Flare01 LandingZoneSmoke
13777        Animation          = ABSupDrop_EN.ABSupDrop_EN
13778        AnimationMode      = LOOP
13779      End
13780      
13781      ;----------- SNOW
13782      
13783      ConditionState       = SNOW
13784        Model              = ABSupDrop_S
13785        ParticleSysBone    = Flare01 LandingZoneSmoke
13786        Animation          = ABSupDrop_S.ABSupDrop_S
13787        AnimationMode      = LOOP
13788      End
13789      
13790      ConditionState       = DAMAGED SNOW
13791        Model              = ABSupDrop_DS
13792        ParticleSysBone    = Flare01 LandingZoneSmoke
13793        Animation          = ABSupDrop_DS.ABSupDrop_DS
13794  
13795        AnimationMode      = LOOP
13796      End
13797     
13798      ConditionState     = REALLYDAMAGED RUBBLE SNOW
13799        Model              = ABSupDrop_ES
13800        ParticleSysBone    = Flare01 LandingZoneSmoke
13801        Animation          = ABSupDrop_ES.ABSupDrop_ES
13802        AnimationMode      = LOOP
13803      End
13804      
13805      ;---------- SNOW NIGHT
13806      
13807      ConditionState       = NIGHT SNOW
13808        Model              = ABSupDrop_NS
13809        ParticleSysBone    = Flare01 LandingZoneSmoke
13810        Animation          = ABSupDrop_NS.ABSupDrop_NS
13811        AnimationMode      = LOOP
13812      End
13813      
13814      ConditionState       = DAMAGED NIGHT SNOW
13815        Model              = ABSupDrop_DNS
13816        ParticleSysBone    = Flare01 LandingZoneSmoke
13817        Animation          = ABSupDrop_DNS.ABSupDrop_DNS
13818        AnimationMode      = LOOP
13819      End
13820     
13821      ConditionState     = REALLYDAMAGED RUBBLE NIGHT SNOW
13822        Model              = ABSupDrop_ENS
13823        ParticleSysBone    = Flare01 LandingZoneSmoke
13824        Animation          = ABSupDrop_ENS.ABSupDrop_ENS
13825        AnimationMode      = LOOP
13826      End
13827      
13828      ;**************************************************************************************************************************
13829      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
13830      ;for this draw module
13831      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13832        Model              = ABSupDrop
13833        Animation          = ABSupDrop.ABSupDrop
13834        AnimationMode      = LOOP
13835        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13836      End
13837      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
13838        Model              = ABSupDrop_D
13839        Animation          = ABSupDrop_D.ABSupDrop_D
13840        AnimationMode      = LOOP
13841        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13842      End
13843      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
13844        Model              = ABSupDrop_E
13845        Animation          = ABSupDrop_E.ABSupDrop_E
13846        AnimationMode      = LOOP
13847        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13848      End
13849      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
13850        Model              = ABSupDrop_N
13851        Animation          = ABSupDrop_N.ABSupDrop_N
13852        AnimationMode      = LOOP
13853        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13854      End
13855      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
13856        Model              = ABSupDrop_DN
13857        Animation          = ABSupDrop_DN.ABSupDrop_DN
13858        AnimationMode      = LOOP
13859        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13860      End
13861      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
13862        Model              = ABSupDrop_EN
13863        Animation          = ABSupDrop_EN.ABSupDrop_EN
13864        AnimationMode      = LOOP
13865        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13866      End
13867      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
13868        Model              = ABSupDrop_S
13869        Animation          = ABSupDrop_S.ABSupDrop_S
13870        AnimationMode      = LOOP
13871        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13872      End
13873      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
13874        Model              = ABSupDrop_DS
13875        Animation          = ABSupDrop_DS.ABSupDrop_DS
13876        AnimationMode      = LOOP
13877        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13878      End
13879      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
13880        Model              = ABSupDrop_ES
13881        Animation          = ABSupDrop_ES.ABSupDrop_ES
13882        AnimationMode      = LOOP
13883        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13884      End
13885      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
13886        Model              = ABSupDrop_NS
13887        Animation          = ABSupDrop_NS.ABSupDrop_NS
13888        AnimationMode      = LOOP
13889        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13890      End
13891      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
13892        Model              = ABSupDrop_DNS
13893        Animation          = ABSupDrop_DNS.ABSupDrop_DNS
13894        AnimationMode      = LOOP
13895        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13896      End
13897      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
13898        Model              = ABSupDrop_ENS
13899        Animation          = ABSupDrop_ENS.ABSupDrop_ENS
13900        AnimationMode      = LOOP
13901        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
13902      End
13903  
13904      ConditionState       = AWAITING_CONSTRUCTION 
13905        Model              = NONE
13906      End
13907      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
13908      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
13909      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
13910      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
13911      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
13912      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
13913      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
13914      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
13915      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
13916      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
13917      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
13918      AliasConditionState  = SOLD 
13919      AliasConditionState  = SOLD DAMAGED
13920      AliasConditionState  = SOLD REALLYDAMAGED
13921      AliasConditionState  = SOLD NIGHT
13922      AliasConditionState  = SOLD NIGHT DAMAGED
13923      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
13924      AliasConditionState  = SOLD SNOW
13925      AliasConditionState  = SOLD SNOW DAMAGED
13926      AliasConditionState  = SOLD SNOW REALLYDAMAGED
13927      AliasConditionState  = SOLD NIGHT SNOW
13928      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
13929      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
13930      ;**************************************************************************************************************************    
13931      
13932   
13933  
13934    End
13935   
13936    ; ------------ construction-zone fence -----------------
13937    Draw                = W3DModelDraw ModuleTag_02
13938    AnimationsRequirePower = No
13939      DefaultConditionState
13940        Model           = None
13941        TransitionKey   = DOWN_DEFAULT
13942      End
13943      ConditionState    = NIGHT
13944        Model           = None
13945        TransitionKey   = DOWN_DEFAULT
13946      End
13947      ConditionState    = SNOW
13948        Model           = None
13949        TransitionKey   = DOWN_DEFAULT
13950      End
13951      ConditionState    = SNOW NIGHT
13952        Model           = None
13953        TransitionKey   = DOWN_DEFAULT
13954      End
13955      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13956        Model           = ABSupDrop_A4
13957        Animation       = ABSupDrop_A4.ABSupDrop_A4
13958        AnimationMode   = MANUAL
13959        Flags           = START_FRAME_LAST
13960        TransitionKey   = UP_DAY
13961      End
13962      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13963        Model           = ABSupDrop_A4N
13964        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
13965        AnimationMode   = MANUAL
13966        Flags           = START_FRAME_LAST
13967        TransitionKey   = UP_NIGHT
13968      End
13969      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13970        Model           = ABSupDrop_A4S
13971        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
13972        AnimationMode   = MANUAL
13973        Flags           = START_FRAME_LAST
13974        TransitionKey   = UP_SNOW
13975      End
13976      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
13977        Model           = ABSupDrop_A4SN
13978        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
13979        AnimationMode   = MANUAL
13980        Flags           = START_FRAME_LAST
13981        TransitionKey   = UP_SNOWNIGHT
13982      End
13983      TransitionState   = DOWN_DEFAULT UP_DAY
13984        Model           = ABSupDrop_A4
13985        Animation       = ABSupDrop_A4.ABSupDrop_A4
13986        AnimationMode   = ONCE
13987        AnimationSpeedFactorRange = 1.0 1.0
13988        Flags           = START_FRAME_FIRST
13989      End
13990      TransitionState   = DOWN_DEFAULT UP_NIGHT
13991        Model           = ABSupDrop_A4N
13992        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
13993        AnimationMode   = ONCE
13994        AnimationSpeedFactorRange = 1.0 1.0
13995        Flags           = START_FRAME_FIRST
13996      End
13997      TransitionState   = DOWN_DEFAULT UP_SNOW
13998        Model           = ABSupDrop_A4S
13999        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
14000        AnimationMode   = ONCE
14001        AnimationSpeedFactorRange = 1.0 1.0
14002        Flags           = START_FRAME_FIRST
14003      End
14004      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14005        Model           = ABSupDrop_A4SN
14006        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
14007        AnimationMode   = ONCE
14008        AnimationSpeedFactorRange = 1.0 1.0
14009        Flags           = START_FRAME_FIRST
14010      End
14011      TransitionState   = UP_DAY DOWN_DEFAULT
14012        Model           = ABSupDrop_A4
14013        Animation       = ABSupDrop_A4.ABSupDrop_A4
14014        AnimationMode   = ONCE_BACKWARDS
14015        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14016        Flags           = START_FRAME_LAST
14017      End
14018      TransitionState   = UP_NIGHT DOWN_DEFAULT
14019        Model           = ABSupDrop_A4N
14020        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
14021        AnimationMode   = ONCE_BACKWARDS
14022        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14023        Flags           = START_FRAME_LAST
14024      End
14025      TransitionState   = UP_SNOW DOWN_DEFAULT
14026        Model           = ABSupDrop_A4S
14027        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
14028        AnimationMode   = ONCE_BACKWARDS
14029        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14030        Flags           = START_FRAME_LAST
14031      End
14032      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14033        Model           = ABSupDrop_A4SN
14034        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
14035        AnimationMode   = ONCE_BACKWARDS
14036        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14037        Flags           = START_FRAME_LAST
14038      End
14039    End
14040  
14041    ; ------------ under-construction scaffolding -----------------
14042    Draw                = W3DModelDraw ModuleTag_03
14043    AnimationsRequirePower = No
14044      MinLODRequired    = MEDIUM
14045      DefaultConditionState
14046        Model           = None
14047        TransitionKey   = DOWN_DEFAULT
14048      End
14049      ConditionState    = NIGHT
14050        Model           = None
14051        TransitionKey   = DOWN_DEFAULT
14052      End
14053      ConditionState    = SNOW
14054        Model           = None
14055        TransitionKey   = DOWN_DEFAULT
14056      End
14057      ConditionState    = SNOW NIGHT
14058        Model           = None
14059        TransitionKey   = DOWN_DEFAULT
14060      End
14061      ConditionState    = PARTIALLY_CONSTRUCTED
14062        Model           = ABSupDrop_A6
14063        Animation       = ABSupDrop_A6.ABSupDrop_A6
14064        AnimationMode   = MANUAL
14065        Flags           = START_FRAME_LAST
14066        TransitionKey   = UP_DAY
14067        ParticleSysBone = Sparks01 BuildUpBlueSpark
14068        ParticleSysBone = Sparks02 BuildUpBlueSpark
14069        ParticleSysBone = Sparks03 BuildUpBlueSpark
14070        ParticleSysBone = Sparks04 BuildUpBlueSpark
14071        ParticleSysBone = Sparks05 BuildUpBlueSpark
14072        ParticleSysBone = Sparks06 BuildUpBlueSpark
14073      End
14074      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
14075        Model           = ABSupDrop_A6N
14076        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14077        AnimationMode   = MANUAL
14078        Flags           = START_FRAME_LAST
14079        TransitionKey   = UP_NIGHT
14080        ParticleSysBone = Sparks01 BuildUpBlueSpark
14081        ParticleSysBone = Sparks02 BuildUpBlueSpark
14082        ParticleSysBone = Sparks03 BuildUpBlueSpark
14083        ParticleSysBone = Sparks04 BuildUpBlueSpark
14084        ParticleSysBone = Sparks05 BuildUpBlueSpark
14085        ParticleSysBone = Sparks06 BuildUpBlueSpark
14086      End
14087      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
14088        Model           = ABSupDrop_A6S
14089        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14090        AnimationMode   = MANUAL
14091        Flags           = START_FRAME_LAST
14092        TransitionKey   = UP_SNOW
14093        ParticleSysBone = Sparks01 BuildUpBlueSpark
14094        ParticleSysBone = Sparks02 BuildUpBlueSpark
14095        ParticleSysBone = Sparks03 BuildUpBlueSpark
14096        ParticleSysBone = Sparks04 BuildUpBlueSpark
14097        ParticleSysBone = Sparks05 BuildUpBlueSpark
14098        ParticleSysBone = Sparks06 BuildUpBlueSpark
14099      End
14100      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
14101        Model           = ABSupDrop_A6SN
14102        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14103        AnimationMode   = MANUAL
14104        Flags           = START_FRAME_LAST
14105        TransitionKey   = UP_SNOWNIGHT
14106        ParticleSysBone = Sparks01 BuildUpBlueSpark
14107        ParticleSysBone = Sparks02 BuildUpBlueSpark
14108        ParticleSysBone = Sparks03 BuildUpBlueSpark
14109        ParticleSysBone = Sparks04 BuildUpBlueSpark
14110        ParticleSysBone = Sparks05 BuildUpBlueSpark
14111        ParticleSysBone = Sparks06 BuildUpBlueSpark
14112      End
14113      TransitionState   = DOWN_DEFAULT UP_DAY
14114       Model            = ABSupDrop_A6
14115        Animation       = ABSupDrop_A6.ABSupDrop_A6
14116        AnimationMode   = ONCE
14117        AnimationSpeedFactorRange = 1.0 1.0
14118        Flags           = START_FRAME_FIRST
14119      End
14120      TransitionState   = DOWN_DEFAULT UP_NIGHT
14121       Model            = ABSupDrop_A6N
14122        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14123        AnimationMode   = ONCE
14124        AnimationSpeedFactorRange = 1.0 1.0
14125        Flags           = START_FRAME_FIRST
14126      End
14127      TransitionState   = DOWN_DEFAULT UP_SNOW
14128       Model            = ABSupDrop_A6S
14129        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14130        AnimationMode   = ONCE
14131        AnimationSpeedFactorRange = 1.0 1.0
14132        Flags           = START_FRAME_FIRST
14133      End
14134      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14135       Model            = ABSupDrop_A6SN
14136        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14137        AnimationMode   = ONCE
14138        AnimationSpeedFactorRange = 1.0 1.0
14139        Flags           = START_FRAME_FIRST
14140      End
14141      TransitionState   = UP_DAY DOWN_DEFAULT
14142        Model           = ABSupDrop_A6
14143        Animation       = ABSupDrop_A6.ABSupDrop_A6
14144        AnimationMode   = ONCE_BACKWARDS
14145        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14146        Flags           = START_FRAME_LAST
14147      End
14148      TransitionState   = UP_NIGHT DOWN_DEFAULT
14149        Model           = ABSupDrop_A6N
14150        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
14151        AnimationMode   = ONCE_BACKWARDS
14152        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14153        Flags           = START_FRAME_LAST
14154      End
14155      TransitionState   = UP_SNOW DOWN_DEFAULT
14156        Model           = ABSupDrop_A6S
14157        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
14158        AnimationMode   = ONCE_BACKWARDS
14159        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14160        Flags           = START_FRAME_LAST
14161      End
14162      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14163        Model           = ABSupDrop_A6SN
14164        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
14165        AnimationMode   = ONCE_BACKWARDS
14166        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14167        Flags           = START_FRAME_LAST
14168      End
14169    End
14170    PlacementViewAngle = -45
14171  
14172    ; ***DESIGN parameters ***
14173    DisplayName         = OBJECT:AmericaSupplyDropZone
14174    Side                = AmericaLaserGeneral
14175    EditorSorting       = STRUCTURE
14176    BuildCost           = 2500
14177    BuildTime           = 45.0           ; in seconds
14178    Prerequisites
14179      Object            = Lazr_AmericaStrategyCenter
14180    End
14181    EnergyProduction = -4
14182    ShroudClearingRange = 100
14183    ArmorSet
14184      Conditions        = None
14185      Armor             = StructureArmor
14186      DamageFX          = StructureDamageFXNoShake
14187    End
14188    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
14189  
14190    ; *** AUDIO Parameters ***
14191    VoiceSelect = SupplyDropZoneSelect
14192  
14193    UnitSpecificSounds
14194      UnderConstruction     = UnderConstructionLoop
14195    End
14196  
14197  
14198    ; *** ENGINEERING Parameters ***  
14199    ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows 
14200    ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE...
14201    ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML 
14202    KindOf              = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE
14203    RadarPriority       = STRUCTURE
14204    
14205    Body                = ActiveBody ModuleTag_04
14206      MaxHealth         = 1000.0
14207      InitialHealth     = 1000.0
14208  
14209      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14210      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14211      SubdualDamageCap = 1200
14212      SubdualDamageHealRate = 500
14213      SubdualDamageHealAmount = 100
14214    End
14215  
14216    Behavior       = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet 
14217      OCL          = OCL_AmericaSupplyDropZoneCrateDrop
14218      MinDelay     = 120000
14219      MaxDelay     = 120000
14220      CreateAtEdge = Yes ; as opposed to just creating on self
14221    End
14222  
14223    Behavior  = DestroyDie ModuleTag_06
14224    End
14225    
14226    Behavior             = CreateObjectDie ModuleTag_07
14227      CreationList  = Lazr_OCL_AmericanRangerDebris03
14228      ExemptStatus  = UNDER_CONSTRUCTION
14229    End
14230    
14231    Behavior                  = CreateObjectDie ModuleTag_08
14232      CreationList       = OCL_LargeStructureDebris
14233    End
14234  
14235    Behavior             = FlammableUpdate ModuleTag_09
14236      AflameDuration     = 5000         ; If I catch fire, I'll burn for this long...
14237      AflameDamageAmount = 5       ; taking this much damage...
14238      AflameDamageDelay  = 500       ; this often.
14239    End
14240    
14241    Behavior                  = FXListDie ModuleTag_10
14242      DeathFX            = FX_StructureMediumDeath
14243    End
14244  
14245    Behavior = BaseRegenerateUpdate ModuleTag_11
14246      ;No data
14247    End 
14248  
14249    Behavior = TransitionDamageFX ModuleTag_31
14250      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
14251      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
14252      ;---------------------------------------------------------------------------------------
14253      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
14254      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
14255      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
14256    End
14257  
14258    Geometry            = BOX
14259    GeometryMajorRadius = 27.0
14260    GeometryMinorRadius = 27.0
14261    GeometryHeight      = 9.0
14262    GeometryIsSmall     = No
14263    Shadow              = SHADOW_VOLUME
14264  
14265  End
14266  
14267  
14268  
14269  
14270  ;------------------------------------------------------------------------------
14271  Object Lazr_AmericaBarracks
14272   
14273    ; *** ART Parameters ***
14274    SelectPortrait         = SABarracks_L
14275    ButtonImage            = SABarracks
14276    PlacementViewAngle     = -45
14277      
14278    ;Main barracks model
14279    Draw                   = W3DModelDraw ModuleTag_01
14280      OkToChangeModelColor = Yes
14281      
14282      ;DAY *******************************
14283      ConditionState       = NONE
14284        Model              = ABBARRACKS
14285        Animation          = ABBarracks.ABBarracks
14286        AnimationMode      = LOOP
14287      End
14288      ConditionState       = DAMAGED
14289        Model              = ABBarracks_D
14290        Animation          = ABBarracks_D.ABBarracks_D
14291        AnimationMode      = LOOP
14292      End
14293      ConditionState       = REALLYDAMAGED RUBBLE
14294        Model              = ABBarracks_E
14295        Animation          = ABBarracks_E.ABBarracks_E
14296        AnimationMode      = LOOP
14297      End
14298  
14299      
14300      ;NIGHT *****************************
14301      ConditionState       = NIGHT
14302        Model              = ABBARRACKS_N
14303        Animation          = ABBarracks_N.ABBarracks_N
14304        AnimationMode      = LOOP
14305      End
14306      ConditionState       = DAMAGED NIGHT
14307        Model              = ABBarracks_DN
14308        Animation          = ABBarracks_DN.ABBarracks_DN
14309        AnimationMode      = LOOP
14310      End
14311      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
14312        Model              = ABBarracks_EN
14313        Animation          = ABBarracks_EN.ABBarracks_EN
14314        AnimationMode      = LOOP
14315      End
14316  
14317  
14318      ;SNOW ******************************
14319      ConditionState       = SNOW
14320        Model              = ABBARRACKS_S
14321        Animation          = ABBarracks_S.ABBarracks_S
14322        AnimationMode      = LOOP
14323      End
14324      ConditionState       = DAMAGED SNOW
14325        Model              = ABBarracks_DS
14326        Animation          = ABBarracks_DS.ABBarracks_DS
14327        AnimationMode      = LOOP
14328      End
14329       ConditionState      = REALLYDAMAGED RUBBLE SNOW
14330        Model              = ABBarracks_ES
14331        Animation          = ABBarracks_ES.ABBarracks_ES
14332        AnimationMode      = LOOP
14333      End
14334  
14335  
14336      ;SNOW AND NIGHT ********************
14337      ConditionState       = SNOW NIGHT
14338        Model              = ABBARRACKS_NS
14339        Animation          = ABBarracks_NS.ABBarracks_NS
14340        AnimationMode      = LOOP
14341      End
14342      ConditionState       = DAMAGED SNOW NIGHT
14343        Model              = ABBarracks_DNS
14344        Animation          = ABBarracks_DNS.ABBarracks_DNS
14345        AnimationMode      = LOOP
14346      End
14347      ConditionState       = REALLYDAMAGED RUBBLE SNOW NIGHT
14348        Model              = ABBarracks_ENS
14349        Animation          = ABBarracks_ENS.ABBarracks_ENS
14350        AnimationMode      = LOOP
14351      End
14352  
14353  
14354          ;**************************************************************************************************************************
14355      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
14356      ;for this draw module
14357      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14358        Model              = ABBarracks
14359        Animation          = ABBarracks.ABBarracks
14360        AnimationMode      = LOOP
14361        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14362      End
14363      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
14364        Model              = ABBarracks_D
14365        Animation          = ABBarracks_D.ABBarracks_D
14366        AnimationMode      = LOOP
14367        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14368      End
14369      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
14370        Model              = ABBarracks_E
14371        Animation          = ABBarracks_E.ABBarracks_E
14372        AnimationMode      = LOOP
14373        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14374      End
14375      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
14376        Model              = ABBarracks_N
14377        Animation          = ABBarracks_N.ABBarracks_N
14378        AnimationMode      = LOOP
14379        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14380      End
14381      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
14382        Model              = ABBarracks_DN
14383        Animation          = ABBarracks_DN.ABBarracks_DN
14384        AnimationMode      = LOOP
14385        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14386      End
14387      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
14388        Model              = ABBarracks_EN
14389        Animation          = ABBarracks_EN.ABBarracks_EN
14390        AnimationMode      = LOOP
14391        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14392      End
14393      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
14394        Model              = ABBarracks_S
14395        Animation          = ABBarracks_S.ABBarracks_S
14396        AnimationMode      = LOOP
14397        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14398      End
14399      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
14400        Model              = ABBarracks_DS
14401        Animation          = ABBarracks_DS.ABBarracks_DS
14402        AnimationMode      = LOOP
14403        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14404      End
14405      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
14406        Model              = ABBarracks_ES
14407        Animation          = ABBarracks_ES.ABBarracks_ES
14408        AnimationMode      = LOOP
14409        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14410      End
14411      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
14412        Model              = ABBarracks_NS
14413        Animation          = ABBarracks_NS.ABBarracks_NS
14414        AnimationMode      = LOOP
14415        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14416      End
14417      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
14418        Model              = ABBarracks_DNS
14419        Animation          = ABBarracks_DNS.ABBarracks_DNS
14420        AnimationMode      = LOOP
14421        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14422      End
14423      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
14424        Model              = ABBarracks_ENS
14425        Animation          = ABBarracks_ENS.ABBarracks_ENS
14426        AnimationMode      = LOOP
14427        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
14428      End
14429  
14430      ConditionState       = AWAITING_CONSTRUCTION 
14431        Model              = NONE
14432      End
14433      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
14434      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
14435      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
14436      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
14437      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
14438      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
14439      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
14440      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
14441      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
14442      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
14443      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
14444      AliasConditionState  = SOLD 
14445      AliasConditionState  = SOLD DAMAGED
14446      AliasConditionState  = SOLD REALLYDAMAGED
14447      AliasConditionState  = SOLD NIGHT
14448      AliasConditionState  = SOLD NIGHT DAMAGED
14449      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
14450      AliasConditionState  = SOLD SNOW
14451      AliasConditionState  = SOLD SNOW DAMAGED
14452      AliasConditionState  = SOLD SNOW REALLYDAMAGED
14453      AliasConditionState  = SOLD NIGHT SNOW
14454      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
14455      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
14456      ;**************************************************************************************************************************
14457      
14458    End
14459  
14460  ;  Draw = W3DModelDraw ModuleTag_TestFlag
14461  ;    DefaultConditionState
14462  ;      Model           = ABBarracks_FA
14463  ;      Animation       = ABBarracks_FA.ABBarracks_FA
14464  ;      AnimationMode   = LOOP
14465  ;    End
14466  ;    ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14467  ;      Model           = None
14468  ;    End
14469  ;  End
14470  
14471    ; ------------ construction-zone fence -----------------
14472    Draw = W3DModelDraw ModuleTag_02
14473    AnimationsRequirePower = No
14474      DefaultConditionState
14475        Model           = None
14476        TransitionKey   = DOWN_DEFAULT
14477      End
14478      ConditionState    = NIGHT
14479        Model           = None
14480        TransitionKey   = DOWN_DEFAULT
14481      End
14482      ConditionState    = SNOW
14483        Model           = None
14484        TransitionKey   = DOWN_DEFAULT
14485      End
14486      ConditionState    = SNOW NIGHT
14487        Model           = None
14488        TransitionKey   = DOWN_DEFAULT
14489      End
14490      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14491        Model           = ABBarracks_A4
14492        Animation       = ABBarracks_A4.ABBarracks_A4
14493        AnimationMode   = MANUAL
14494        Flags           = START_FRAME_LAST
14495        TransitionKey   = UP_DAY
14496        ParticleSysBone = SparksS01 LiveWireSparks02
14497      End
14498      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14499        Model           = ABBarracks_A4N
14500        Animation       = ABBarracks_A4N.ABBarracks_A4N
14501        AnimationMode   = MANUAL
14502        Flags           = START_FRAME_LAST
14503        TransitionKey   = UP_NIGHT
14504        ParticleSysBone = SparksS01 LiveWireSparks02
14505      End
14506  
14507      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14508        Model           = ABBarracks_A4S
14509        Animation       = ABBarracks_A4S.ABBarracks_A4S
14510        AnimationMode   = MANUAL
14511        Flags           = START_FRAME_LAST
14512        TransitionKey   = UP_SNOW
14513        ParticleSysBone = SparksS01 LiveWireSparks02
14514      End
14515      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
14516        Model           = ABBarracks_A4SN
14517        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14518        AnimationMode   = MANUAL
14519        Flags           = START_FRAME_LAST
14520        TransitionKey   = UP_SNOWNIGHT
14521        ParticleSysBone = SparksS01 LiveWireSparks02
14522      End
14523      TransitionState   = DOWN_DEFAULT UP_DAY
14524        Model           = ABBarracks_A4
14525        Animation       = ABBarracks_A4.ABBarracks_A4
14526        AnimationMode   = ONCE
14527        AnimationSpeedFactorRange = 1.0 1.0
14528        Flags           = START_FRAME_FIRST
14529      End
14530      TransitionState   = DOWN_DEFAULT UP_NIGHT
14531        Model           = ABBarracks_A4N
14532        Animation       = ABBarracks_A4N.ABBarracks_A4N
14533        AnimationMode   = ONCE
14534        AnimationSpeedFactorRange = 1.0 1.0
14535        Flags           = START_FRAME_FIRST
14536      End
14537      TransitionState   = DOWN_DEFAULT UP_SNOW
14538        Model           = ABBarracks_A4S
14539        Animation       = ABBarracks_A4S.ABBarracks_A4S
14540        AnimationMode   = ONCE
14541        AnimationSpeedFactorRange = 1.0 1.0
14542        Flags           = START_FRAME_FIRST
14543      End
14544      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14545        Model           = ABBarracks_A4SN
14546        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14547        AnimationMode   = ONCE
14548        AnimationSpeedFactorRange = 1.0 1.0
14549        Flags           = START_FRAME_FIRST
14550      End
14551      TransitionState   = UP_DAY DOWN_DEFAULT
14552        Model           = ABBarracks_A4
14553        Animation       = ABBarracks_A4.ABBarracks_A4
14554        AnimationMode   = ONCE_BACKWARDS
14555        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14556        Flags           = START_FRAME_LAST
14557      End
14558      TransitionState   = UP_NIGHT DOWN_DEFAULT
14559        Model           = ABBarracks_A4N
14560        Animation       = ABBarracks_A4N.ABBarracks_A4N
14561        AnimationMode   = ONCE_BACKWARDS
14562        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14563        Flags           = START_FRAME_LAST
14564      End
14565      TransitionState   = UP_SNOW DOWN_DEFAULT
14566        Model           = ABBarracks_A4S
14567        Animation       = ABBarracks_A4S.ABBarracks_A4S
14568        AnimationMode   = ONCE_BACKWARDS    
14569        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14570        Flags           = START_FRAME_LAST
14571      End  
14572      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14573        Model           = ABBarracks_A4SN
14574        Animation       = ABBarracks_A4SN.ABBarracks_A4SN
14575        AnimationMode   = ONCE_BACKWARDS    
14576        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14577        Flags           = START_FRAME_LAST
14578      End 
14579     End
14580  
14581    ; ------------ under-construction scaffolding -----------------
14582    Draw = W3DModelDraw ModuleTag_03
14583    AnimationsRequirePower = No
14584      MinLODRequired = MEDIUM
14585      DefaultConditionState
14586        Model           = None
14587        TransitionKey   = DOWN_DEFAULT
14588      End
14589      ConditionState    = NIGHT
14590        Model           = None
14591        TransitionKey   = DOWN_DEFAULT
14592      End
14593      ConditionState    = SNOW
14594        Model           = None
14595        TransitionKey   = DOWN_DEFAULT
14596      End
14597      ConditionState    = SNOW NIGHT
14598        Model           = None
14599        TransitionKey   = DOWN_DEFAULT
14600      End
14601      ConditionState    = PARTIALLY_CONSTRUCTED
14602        Model           = ABBarracks_A6
14603        Animation       = ABBarracks_A6.ABBarracks_A6
14604        AnimationMode   = MANUAL
14605        Flags           = START_FRAME_LAST
14606        TransitionKey   = UP_DAY
14607        ParticleSysBone = Sparks01 BuildUpBlueSpark
14608        ParticleSysBone = Sparks02 BuildUpBlueSpark
14609        ParticleSysBone = Sparks03 BuildUpBlueSpark
14610        ParticleSysBone = Sparks04 BuildUpBlueSpark
14611        ParticleSysBone = Sparks05 BuildUpBlueSpark
14612        ParticleSysBone = Sparks06 BuildUpBlueSpark
14613      End
14614      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
14615        Model           = ABBarracks_A6N
14616        Animation       = ABBarracks_A6N.ABBarracks_A6N
14617        AnimationMode   = MANUAL
14618        Flags           = START_FRAME_LAST
14619        TransitionKey   = UP_NIGHT
14620        ParticleSysBone = Sparks01 BuildUpBlueSpark
14621        ParticleSysBone = Sparks02 BuildUpBlueSpark
14622        ParticleSysBone = Sparks03 BuildUpBlueSpark
14623        ParticleSysBone = Sparks04 BuildUpBlueSpark
14624        ParticleSysBone = Sparks05 BuildUpBlueSpark
14625        ParticleSysBone = Sparks06 BuildUpBlueSpark
14626      End
14627      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
14628        Model           = ABBarracks_A6S
14629        Animation       = ABBarracks_A6S.ABBarracks_A6S
14630        AnimationMode   = MANUAL
14631        Flags           = START_FRAME_LAST
14632        TransitionKey   = UP_SNOW
14633        ParticleSysBone = Sparks01 BuildUpBlueSpark
14634        ParticleSysBone = Sparks02 BuildUpBlueSpark
14635        ParticleSysBone = Sparks03 BuildUpBlueSpark
14636        ParticleSysBone = Sparks04 BuildUpBlueSpark
14637        ParticleSysBone = Sparks05 BuildUpBlueSpark
14638        ParticleSysBone = Sparks06 BuildUpBlueSpark
14639      End
14640      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
14641        Model           = ABBarracks_A6SN
14642        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14643        AnimationMode   = MANUAL
14644        Flags           = START_FRAME_LAST
14645        TransitionKey   = UP_SNOWNIGHT
14646        ParticleSysBone = Sparks01 BuildUpBlueSpark
14647        ParticleSysBone = Sparks02 BuildUpBlueSpark
14648        ParticleSysBone = Sparks03 BuildUpBlueSpark
14649        ParticleSysBone = Sparks04 BuildUpBlueSpark
14650        ParticleSysBone = Sparks05 BuildUpBlueSpark
14651        ParticleSysBone = Sparks06 BuildUpBlueSpark
14652      End 
14653     TransitionState   = DOWN_DEFAULT UP_DAY
14654       Model            = ABBarracks_A6
14655        Animation       = ABBarracks_A6.ABBarracks_A6
14656        AnimationMode   = ONCE
14657        AnimationSpeedFactorRange = 1.0 1.0
14658        Flags           = START_FRAME_FIRST
14659      End
14660      TransitionState   = DOWN_DEFAULT UP_NIGHT
14661       Model            = ABBarracks_A6N
14662        Animation       = ABBarracks_A6N.ABBarracks_A6N
14663        AnimationMode   = ONCE
14664        AnimationSpeedFactorRange = 1.0 1.0
14665        Flags           = START_FRAME_FIRST
14666      End
14667      TransitionState   = DOWN_DEFAULT UP_SNOW
14668       Model            = ABBarracks_A6S
14669        Animation       = ABBarracks_A6S.ABBarracks_A6S
14670        AnimationMode   = ONCE
14671        AnimationSpeedFactorRange = 1.0 1.0
14672        Flags           = START_FRAME_FIRST
14673      End
14674      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14675       Model            = ABBarracks_A6SN
14676        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14677        AnimationMode   = ONCE
14678        AnimationSpeedFactorRange = 1.0 1.0
14679        Flags           = START_FRAME_FIRST
14680      End
14681      TransitionState   = UP_DAY DOWN_DEFAULT
14682        Model           = ABBarracks_A6
14683        Animation       = ABBarracks_A6.ABBarracks_A6
14684        AnimationMode   = ONCE_BACKWARDS
14685        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14686        Flags           = START_FRAME_LAST
14687      End
14688      TransitionState   = UP_NIGHT DOWN_DEFAULT
14689        Model           = ABBarracks_A6N
14690        Animation       = ABBarracks_A6N.ABBarracks_A6N
14691        AnimationMode   = ONCE_BACKWARDS
14692        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14693        Flags           = START_FRAME_LAST
14694      End
14695      TransitionState   = UP_SNOW DOWN_DEFAULT
14696        Model           = ABBarracks_A6S
14697        Animation       = ABBarracks_A6S.ABBarracks_A6S
14698        AnimationMode   = ONCE_BACKWARDS
14699        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14700        Flags           = START_FRAME_LAST
14701      End
14702      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14703        Model           = ABBarracks_A6SN
14704        Animation       = ABBarracks_A6SN.ABBarracks_A6SN
14705        AnimationMode   = ONCE_BACKWARDS
14706        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14707        Flags           = START_FRAME_LAST
14708      End
14709    End
14710  
14711    ; ------------ being-constructed crane -----------------
14712    Draw = W3DModelDraw ModuleTag_04
14713    AnimationsRequirePower = No
14714      DefaultConditionState
14715        Model           = None
14716        TransitionKey   = DOWN_DEFAULT
14717      End
14718      ConditionState    = NIGHT
14719        Model           = None
14720        TransitionKey   = DOWN_DEFAULT
14721      End
14722      ConditionState    = SNOW
14723        Model           = None
14724        TransitionKey   = DOWN_DEFAULT
14725      End
14726      ConditionState    = SNOW NIGHT
14727        Model           = None
14728        TransitionKey   = DOWN_DEFAULT
14729      End
14730      ConditionState    = SOLD
14731        Model           = NONE
14732      End
14733  
14734      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
14735        Model           = ABBarracks_A5
14736        Animation       = ABBarracks_A5.ABBarracks_A5
14737        AnimationMode   = LOOP
14738        TransitionKey   = UP_DAY
14739      End
14740  
14741      ConditionState    = NIGHT ACTIVELY_BEING_CONSTRUCTED
14742        Model           = ABBarracks_A5N
14743        Animation       = ABBarracks_A5N.ABBarracks_A5N
14744        AnimationMode   = LOOP
14745        TransitionKey   = UP_NIGHT
14746      End
14747      ConditionState    = SNOW ACTIVELY_BEING_CONSTRUCTED
14748        Model           = ABBarracks_A5S
14749        Animation       = ABBarracks_A5S.ABBarracks_A5S
14750        AnimationMode   = LOOP
14751        TransitionKey   = UP_SNOW
14752      End
14753      ConditionState    = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
14754        Model           = ABBarracks_A5SN
14755        Animation       = ABBarracks_A5SN.ABBarracks_A5SN
14756        AnimationMode   = LOOP
14757        TransitionKey   = UP_SNOWNIGHT
14758      End 
14759     TransitionState    = DOWN_DEFAULT UP_DAY
14760        Model           = ABBarracks_AB
14761        Animation       = ABBarracks_AB.ABBarracks_AB
14762        AnimationMode   = ONCE
14763        AnimationSpeedFactorRange = 1.0 1.0
14764        Flags           = START_FRAME_FIRST
14765      End
14766  
14767      TransitionState   = DOWN_DEFAULT UP_NIGHT
14768        Model           = ABBarracks_ABN
14769        Animation       = ABBarracks_ABN.ABBarracks_ABN
14770        AnimationMode   = ONCE
14771        AnimationSpeedFactorRange = 1.0 1.0
14772        Flags           = START_FRAME_FIRST
14773      End
14774      TransitionState   = DOWN_DEFAULT UP_SNOW
14775        Model           = ABBarracks_ABS
14776        Animation       = ABBarracks_ABS.ABBarracks_ABS
14777        AnimationMode   = ONCE
14778        AnimationSpeedFactorRange = 1.0 1.0
14779        Flags           = START_FRAME_FIRST
14780      End
14781      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
14782        Model           = ABBarracks_ABSN
14783        Animation       = ABBarracks_ABSN.ABBarracks_ABSN
14784        AnimationMode   = ONCE
14785        AnimationSpeedFactorRange = 1.0 1.0
14786        Flags           = START_FRAME_FIRST
14787      End
14788      TransitionState   = UP_DAY DOWN_DEFAULT
14789        Model           = ABBarracks_AB
14790        Animation       = ABBarracks_AB.ABBarracks_AB
14791        AnimationMode   = ONCE_BACKWARDS
14792        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14793        Flags           = START_FRAME_LAST
14794      End
14795      TransitionState   = UP_NIGHT DOWN_DEFAULT
14796        Model           = ABBarracks_ABN
14797        Animation       = ABBarracks_ABN.ABBarracks_ABN
14798        AnimationMode   = ONCE_BACKWARDS
14799        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14800        Flags           = START_FRAME_LAST
14801      End
14802      TransitionState   = UP_SNOW DOWN_DEFAULT
14803        Model           = ABBarracks_ABS
14804        Animation       = ABBarracks_ABS.ABBarracks_ABS
14805        AnimationMode   = ONCE_BACKWARDS
14806        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14807        Flags           = START_FRAME_LAST
14808      End
14809      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
14810        Model           = ABBarracks_ABSN
14811        Animation       = ABBarracks_ABSN.ABBarracks_ABSN
14812        AnimationMode   = ONCE_BACKWARDS
14813        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
14814        Flags           = START_FRAME_LAST
14815      End
14816    End
14817   
14818    ; ***DESIGN parameters ***
14819    DisplayName         = OBJECT:Barracks
14820    Side                = AmericaLaserGeneral
14821    EditorSorting       = STRUCTURE
14822    BuildCost           = 600
14823    BuildTime           = 10.0           ; in seconds
14824    EnergyProduction    = 0
14825    CommandSet          = Lazr_AmericaBarracksCommandSet
14826    VisionRange         = 200.0           ; Shroud clearing distance
14827    ShroudClearingRange = 200
14828    ArmorSet
14829      Conditions        = None
14830      Armor             = StructureArmor
14831      DamageFX          = StructureDamageFXNoShake
14832    End
14833    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
14834  
14835    Prerequisites
14836  ;    Object = Lazr_AmericaPowerPlant
14837    End
14838   
14839    ; *** AUDIO Parameters ***
14840    VoiceSelect = BarracksUSASelect
14841    SoundOnDamaged        = BuildingDamagedStateLight
14842    SoundOnReallyDamaged  = BuildingDestroy
14843  
14844    UnitSpecificSounds
14845      UnderConstruction     = UnderConstructionLoop
14846    End
14847  
14848    ; *** ENGINEERING Parameters ***
14849    RadarPriority        = STRUCTURE
14850    KindOf               = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS
14851    Body                 = StructureBody ModuleTag_05
14852      MaxHealth          = 1000.0
14853      InitialHealth      = 1000.0
14854  
14855      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14856      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14857      SubdualDamageCap = 1200
14858      SubdualDamageHealRate = 500
14859      SubdualDamageHealAmount = 100
14860    End
14861    Behavior = HealContain ModuleTag_06
14862      ContainMax          = 10 ;way bigger than the # of objects we can have  
14863      TimeForFullHeal     = 2000   ;(in milliseconds)
14864      AllowInsideKindOf   = INFANTRY
14865      AllowAlliesInside   = Yes
14866      AllowNeutralInside  = No
14867      AllowEnemiesInside  = No
14868    End
14869    Behavior = DestroyDie ModuleTag_07
14870      ;nothing
14871    End
14872    Behavior                  = CreateObjectDie ModuleTag_08
14873      CreationList       = OCL_LargeStructureDebris
14874    End
14875    Behavior                  = CreateObjectDie ModuleTag_09
14876      CreationList       = OCL_AmericanRangerDebris02
14877      ExemptStatus       = UNDER_CONSTRUCTION
14878    End
14879    Behavior                  = FXListDie ModuleTag_10
14880      DeathFX            = FX_StructureMediumDeath
14881    End
14882    Behavior = ProductionUpdate ModuleTag_11
14883      ; nothing
14884    End
14885    Behavior = DefaultProductionExitUpdate ModuleTag_12
14886      UnitCreatePoint    = X:  0.0  Y:  0.0   Z:0.0
14887      NaturalRallyPoint  = X: 55.0  Y:  0.0   Z:0.0
14888    End
14889    Behavior = BaseRegenerateUpdate ModuleTag_13
14890      ;No data
14891    End 
14892  
14893    Behavior = FlammableUpdate ModuleTag_15
14894      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14895      AflameDamageAmount = 5       ; taking this much damage...
14896      AflameDamageDelay = 500       ; this often.
14897    End
14898  
14899    Behavior = TransitionDamageFX ModuleTag_16
14900      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
14901      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
14902      ;---------------------------------------------------------------------------------------
14903      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
14904      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
14905      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
14906    End
14907  
14908    Geometry             = BOX
14909    GeometryMajorRadius  = 55.0
14910    GeometryMinorRadius  = 45.0
14911    GeometryHeight       = 20.0
14912    GeometryIsSmall      = No
14913    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
14914    Shadow               = SHADOW_VOLUME
14915    BuildCompletion      = PLACED_BY_PLAYER
14916   
14917  End
14918  
14919  
14920  
14921  ;------------------------------------------------------------------------------
14922  Object Lazr_AmericaWarFactory
14923  
14924    ; *** ART Parameters ***
14925    SelectPortrait = SACWeaponsfact_L
14926    ButtonImage            = SACWeaponsfact
14927    
14928    ; ------------ the main factory itself -----------------
14929    Draw = W3DModelDraw ModuleTag_01
14930      OkToChangeModelColor = Yes  
14931      ; day **************************************************
14932      DefaultConditionState
14933        Model           = ABWarFact
14934        Animation       = ABWarFact.ABWarFact
14935        AnimationMode   = LOOP
14936        ParticleSysBone = Smoke01 SteamVent
14937        ParticleSysBone = Smoke02 SteamVent     
14938      End    
14939      ConditionState = DAMAGED
14940        Model           = ABWarFact_D
14941        Animation       = ABWarFact_D.ABWarFact_D
14942        AnimationMode   = LOOP
14943      End
14944      ConditionState = REALLYDAMAGED RUBBLE
14945        Model           = ABWarFact_E
14946        Animation       = ABWarFact_E.ABWarFact_E
14947        AnimationMode   = LOOP 
14948      End
14949  
14950  
14951      ; night *************************************************
14952      ConditionState = NIGHT
14953        Model           = ABWarFact_N
14954        Animation       = ABWarFact_N.ABWarFact_N
14955        AnimationMode   = LOOP
14956      End
14957      ConditionState = DAMAGED NIGHT
14958        Model           = ABWarFact_DN
14959        Animation       = ABWarFact_DN.ABWarFact_DN
14960        AnimationMode   = LOOP  
14961      End
14962      ConditionState = REALLYDAMAGED RUBBLE NIGHT
14963        Model           = ABWarFact_EN
14964        Animation       = ABWarFact_EN.ABWarFact_EN
14965        AnimationMode   = LOOP 
14966      End
14967      
14968      ; snow *************************************************
14969      ConditionState = SNOW
14970        Model           = ABWarFact_S
14971        Animation       = ABWarFact_S.ABWarFact_S
14972        AnimationMode   = LOOP
14973      End
14974      ConditionState = DAMAGED SNOW
14975        Model           = ABWarFact_DS
14976        Animation       = ABWarFact_DS.ABWarFact_DS
14977        AnimationMode   = LOOP
14978      End
14979      ConditionState = REALLYDAMAGED RUBBLE SNOW
14980        Model           = ABWarFact_ES
14981        Animation       = ABWarFact_ES.ABWarFact_ES
14982        AnimationMode   = LOOP 
14983      End
14984  
14985  
14986      ; night snow *************************************************
14987      ConditionState = NIGHT SNOW
14988        Model           = ABWarFact_NS
14989        Animation       = ABWarFact_NS.ABWarFact_NS
14990        AnimationMode   = LOOP
14991      End
14992      ConditionState = DAMAGED NIGHT SNOW
14993        Model           = ABWarFact_DNS
14994        Animation       = ABWarFact_DNS.ABWarFact_DNS
14995        AnimationMode   = LOOP  
14996      End
14997      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
14998        Model           = ABWarFact_ENS
14999        Animation       = ABWarFact_ENS.ABWarFact_ENS
15000        AnimationMode   = LOOP 
15001      End
15002  
15003      ;**************************************************************************************************************************
15004      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
15005      ;for this draw module
15006      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15007        Model              = ABWarFact
15008        Animation          = ABWarFact.ABWarFact
15009        AnimationMode      = LOOP
15010        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15011      End
15012      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
15013        Model              = ABWarFact_D
15014        Animation          = ABWarFact_D.ABWarFact_D
15015        AnimationMode      = LOOP
15016        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15017      End
15018      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
15019        Model              = ABWarFact_E
15020        Animation          = ABWarFact_E.ABWarFact_E
15021        AnimationMode      = LOOP
15022        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15023      End
15024      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
15025        Model              = ABWarFact_N
15026        Animation          = ABWarFact_N.ABWarFact_N
15027        AnimationMode      = LOOP
15028        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15029      End
15030      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
15031        Model              = ABWarFact_DN
15032        Animation          = ABWarFact_DN.ABWarFact_DN
15033        AnimationMode      = LOOP
15034        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15035      End
15036      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
15037        Model              = ABWarFact_EN
15038        Animation          = ABWarFact_EN.ABWarFact_EN
15039        AnimationMode      = LOOP
15040        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15041      End
15042      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
15043        Model              = ABWarFact_S
15044        Animation          = ABWarFact_S.ABWarFact_S
15045        AnimationMode      = LOOP
15046        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15047      End
15048      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
15049        Model              = ABWarFact_DS
15050        Animation          = ABWarFact_DS.ABWarFact_DS
15051        AnimationMode      = LOOP
15052        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15053      End
15054      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
15055        Model              = ABWarFact_ES
15056        Animation          = ABWarFact_ES.ABWarFact_ES
15057        AnimationMode      = LOOP
15058        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15059      End
15060      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
15061        Model              = ABWarFact_NS
15062        Animation          = ABWarFact_NS.ABWarFact_NS
15063        AnimationMode      = LOOP
15064        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15065      End
15066      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
15067        Model              = ABWarFact_DNS
15068        Animation          = ABWarFact_DNS.ABWarFact_DNS
15069        AnimationMode      = LOOP
15070        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15071      End
15072      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
15073        Model              = ABWarFact_ENS
15074        Animation          = ABWarFact_ENS.ABWarFact_ENS
15075        AnimationMode      = LOOP
15076        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15077      End
15078  
15079      ConditionState       = AWAITING_CONSTRUCTION 
15080        Model              = NONE
15081      End
15082      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15083      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15084      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
15085      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
15086      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
15087      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
15088      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
15089      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
15090      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
15091      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
15092      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
15093      AliasConditionState  = SOLD 
15094      AliasConditionState  = SOLD DAMAGED
15095      AliasConditionState  = SOLD REALLYDAMAGED
15096      AliasConditionState  = SOLD NIGHT
15097      AliasConditionState  = SOLD NIGHT DAMAGED
15098      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
15099      AliasConditionState  = SOLD SNOW
15100      AliasConditionState  = SOLD SNOW DAMAGED
15101      AliasConditionState  = SOLD SNOW REALLYDAMAGED
15102      AliasConditionState  = SOLD NIGHT SNOW
15103      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
15104      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
15105      ;**************************************************************************************************************************
15106  
15107  
15108    End
15109  
15110    ; ----------------- the factory door -------------------
15111    Draw = W3DModelDraw ModuleTag_02
15112      DefaultConditionState
15113        Model           = ABWarFact_A8
15114        Animation       = ABWarFact_A8.ABWarFact_A8
15115        AnimationMode   = MANUAL
15116        Flags           = START_FRAME_FIRST
15117      End
15118      AliasConditionState = NIGHT 
15119      AliasConditionState = SNOW
15120      AliasConditionState = SNOW NIGHT
15121      
15122      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15123        Model           = ABWarFact_A8
15124        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15125      End
15126      AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15127      AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15128      AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15129      
15130      ConditionState    = DAMAGED
15131        Model           = ABWarFact_A8D
15132        Animation       = ABWarFact_A8D.ABWarFact_A8D
15133        AnimationMode   = MANUAL
15134        Flags           = START_FRAME_FIRST
15135      End
15136      AliasConditionState = NIGHT DAMAGED
15137      AliasConditionState = SNOW DAMAGED
15138      AliasConditionState = SNOW NIGHT DAMAGED
15139      
15140      ConditionState    = REALLYDAMAGED RUBBLE
15141        Model           = ABWarFact_A8E
15142        Animation       = ABWarFact_A8E.ABWarFact_A8E
15143        AnimationMode   = MANUAL
15144        Flags           = START_FRAME_FIRST
15145      End
15146      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
15147      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
15148      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
15149      
15150      ConditionState    = DOOR_1_OPENING
15151        Model           = ABWarFact_A8
15152        Animation       = ABWarFact_A8.ABWarFact_A8
15153        AnimationMode   = ONCE
15154        Flags           = START_FRAME_FIRST
15155      End   
15156      AliasConditionState = NIGHT DOOR_1_OPENING
15157      AliasConditionState = SNOW DOOR_1_OPENING
15158      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
15159      
15160      ConditionState    = DOOR_1_OPENING DAMAGED
15161        Model           = ABWarFact_A8D
15162        Animation       = ABWarFact_A8D.ABWarFact_A8D
15163        AnimationMode   = ONCE
15164        Flags           = START_FRAME_FIRST
15165      End   
15166      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
15167      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
15168      AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED
15169      
15170      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
15171        Model           = ABWarFact_A8E
15172        Animation       = ABWarFact_A8E.ABWarFact_A8E
15173        AnimationMode   = ONCE
15174        Flags           = START_FRAME_FIRST
15175      End
15176      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
15177      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
15178      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
15179      
15180      ConditionState    = DOOR_1_CLOSING
15181        Model           = ABWarFact_A8
15182        Animation       = ABWarFact_A8.ABWarFact_A8
15183        AnimationMode   = ONCE_BACKWARDS
15184        Flags           = START_FRAME_LAST
15185      End   
15186      AliasConditionState = NIGHT DOOR_1_CLOSING
15187      AliasConditionState = SNOW DOOR_1_CLOSING
15188      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
15189  
15190      
15191      ConditionState    = DOOR_1_CLOSING DAMAGED
15192        Model           = ABWarFact_A8D
15193        Animation       = ABWarFact_A8D.ABWarFact_A8D
15194        AnimationMode   = ONCE_BACKWARDS
15195        Flags           = START_FRAME_LAST
15196      End   
15197      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
15198      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
15199      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
15200      
15201      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15202        Model           = ABWarFact_A8E
15203        Animation       = ABWarFact_A8E.ABWarFact_A8E
15204        AnimationMode   = ONCE_BACKWARDS
15205        Flags           = START_FRAME_LAST
15206      End   
15207      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15208      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15209      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
15210      
15211      ConditionState    = DOOR_1_WAITING_OPEN
15212        Model           = ABWarFact_A8
15213        Animation       = ABWarFact_A8.ABWarFact_A8
15214        AnimationMode   = MANUAL
15215        Flags           = START_FRAME_LAST
15216      End   
15217      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
15218      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
15219      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
15220      
15221      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
15222        Model           = ABWarFact_A8D
15223        Animation       = ABWarFact_A8D.ABWarFact_A8D
15224        AnimationMode   = MANUAL
15225        Flags           = START_FRAME_LAST
15226      End   
15227      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
15228      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
15229      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
15230      
15231      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15232        Model           = ABWarFact_A8E
15233        Animation       = ABWarFact_A8E.ABWarFact_A8E
15234        AnimationMode   = MANUAL
15235        Flags           = START_FRAME_LAST
15236      End   
15237      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15238      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15239      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
15240      
15241      ConditionState       = AWAITING_CONSTRUCTION 
15242        Model              = NONE
15243      End
15244      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15245      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15246      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
15247      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
15248      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
15249      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
15250      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
15251      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
15252      AliasConditionState  = SOLD 
15253      AliasConditionState  = SOLD DAMAGED
15254      AliasConditionState  = SOLD REALLYDAMAGED
15255      AliasConditionState  = SOLD NIGHT
15256      AliasConditionState  = SOLD NIGHT DAMAGED
15257      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
15258      AliasConditionState  = SOLD SNOW
15259      AliasConditionState  = SOLD SNOW DAMAGED
15260      AliasConditionState  = SOLD SNOW REALLYDAMAGED
15261      AliasConditionState  = SOLD NIGHT SNOW
15262      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
15263      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
15264    End
15265  
15266    ; ------------------ the construction crane ------------
15267    Draw = W3DModelDraw ModuleTag_03
15268      ; -----------------------------------------------------------
15269      OkToChangeModelColor = Yes
15270      ; -----------------------------------------------------------
15271      DefaultConditionState
15272        Model           = ABWarFact_A1
15273        Animation       = ABWarFact_A1.ABWarFact_A1
15274        AnimationMode   = LOOP
15275        TransitionKey   = TRANS_Idle
15276      End
15277      ConditionState    = DAMAGED
15278        Model           = ABWarFact_A1D
15279        Animation       = ABWarFact_A1D.ABWarFact_A1D
15280        AnimationMode   = LOOP
15281        TransitionKey   = TRANS_IdleDamaged
15282      End
15283      ConditionState    = REALLYDAMAGED RUBBLE
15284        Model           = ABWarFact_A1E
15285        Animation       = ABWarFact_A1E.ABWarFact_A1E
15286        AnimationMode   = LOOP
15287        TransitionKey   = TRANS_IdleReallyDamaged
15288      End
15289  
15290      ; -----------------------------------------------------------
15291      TransitionState   = TRANS_Constructing TRANS_Idle
15292        Model           = ABWarFact_A3
15293        Animation       = ABWarFact_A3.ABWarFact_A3
15294        AnimationMode   = ONCE
15295        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15296      End
15297      TransitionState   = TRANS_ConstructingDamaged TRANS_IdleDamaged
15298        Model           = ABWarFact_A3D
15299        Animation       = ABWarFact_A3D.ABWarFact_A3D
15300        AnimationMode   = ONCE
15301        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15302      End
15303      TransitionState   = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged
15304        Model           = ABWarFact_A3E
15305        Animation       = ABWarFact_A3E.ABWarFact_A3E
15306        AnimationMode   = ONCE
15307        Flags           = MAINTAIN_FRAME_ACROSS_STATES
15308      End
15309  
15310      ; -----------------------------------------------------------
15311      ConditionState    = ACTIVELY_CONSTRUCTING
15312        Model           = ABWarFact_A3
15313        Animation       = ABWarFact_A3.ABWarFact_A3
15314        AnimationMode   = ONCE
15315        TransitionKey   = TRANS_Constructing
15316        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15317      End
15318      ConditionState    = ACTIVELY_CONSTRUCTING DAMAGED
15319        Model           = ABWarFact_A3D
15320        Animation       = ABWarFact_A3D.ABWarFact_A3D
15321        AnimationMode   = ONCE
15322        TransitionKey   = TRANS_ConstructingDamaged
15323        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15324      End
15325      ConditionState    = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15326        Model           = ABWarFact_A3E
15327        Animation       = ABWarFact_A3E.ABWarFact_A3E
15328        AnimationMode   = ONCE
15329        TransitionKey   = TRANS_ConstructingReallyDamaged
15330        Flags           = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
15331      End
15332      ; -----------------------------------------------------------
15333      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD
15334        Model           = ABWarFact_A1
15335        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15336      End
15337      ConditionState    = SOLD
15338        Model           = NONE
15339      End    
15340    End
15341  
15342    ; ------------------ the construction conveyor belt ------------
15343    Draw = W3DModelDraw ModuleTag_04
15344      OkToChangeModelColor = Yes
15345      DefaultConditionState
15346        Model           = ABWarFact_A7
15347        Animation       = ABWarFact_A7.ABWarFact_A7
15348        AnimationMode   = MANUAL
15349        Flags           = START_FRAME_FIRST
15350      End
15351      AliasConditionState = SNOW
15352      AliasConditionState = NIGHT
15353      AliasConditionState = SNOW NIGHT
15354      
15355      ConditionState    = SOLD
15356        Model           = NONE
15357      End 
15358      AliasConditionState = SNOW SOLD
15359      AliasConditionState = NIGHT SOLD
15360      AliasConditionState = SNOW NIGHT SOLD 
15361  
15362  
15363      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED 
15364        Model           = ABWarFact_A7
15365        Flags           = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15366      End
15367      AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15368      AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15369      AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15370      
15371      ConditionState    = DAMAGED
15372        Model           = ABWarFact_A7D
15373        Animation       = ABWarFact_A7D.ABWarFact_A7D
15374        AnimationMode   = MANUAL
15375        Flags           = START_FRAME_FIRST
15376      End
15377      AliasConditionState = SNOW DAMAGED
15378      AliasConditionState = NIGHT DAMAGED
15379      AliasConditionState = SNOW NIGHT DAMAGED
15380      
15381      ConditionState    = REALLYDAMAGED RUBBLE
15382        Model           = ABWarFact_A7E
15383        Animation       = ABWarFact_A7E.ABWarFact_A7E
15384        AnimationMode   = MANUAL
15385        Flags           = START_FRAME_FIRST
15386      End
15387      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
15388      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
15389      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
15390      
15391      ConditionState    = ACTIVELY_CONSTRUCTING
15392        Model           = ABWarFact_A7
15393        Animation       = ABWarFact_A7.ABWarFact_A7
15394        AnimationMode   = LOOP
15395      End
15396      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING
15397      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING
15398      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING
15399      
15400      ConditionState    = ACTIVELY_CONSTRUCTING DAMAGED
15401        Model           = ABWarFact_A7D
15402        Animation       = ABWarFact_A7D.ABWarFact_A7D
15403        AnimationMode   = LOOP
15404      End
15405      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED
15406      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED
15407      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED
15408      
15409      ConditionState    = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15410        Model           = ABWarFact_A7E
15411        Animation       = ABWarFact_A7E.ABWarFact_A7E
15412        AnimationMode   = LOOP
15413      End
15414      AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15415      AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15416      AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
15417      
15418    End
15419  
15420    ; ------------ construction done flashing lights ----------
15421    Draw = W3DModelDraw ModuleTag_05
15422      DefaultConditionState
15423        Model           = None
15424      End
15425      ConditionState    = SOLD
15426        Model           = NONE
15427      End    
15428      ConditionState    = SOLD SNOW
15429         Model          = NONE
15430      End   
15431      ConditionState    = SOLD NIGHT
15432         Model          = NONE
15433      End    
15434      ConditionState    = SOLD NIGHT SNOW
15435         Model          = NONE
15436      End   
15437      ConditionState    = CONSTRUCTION_COMPLETE
15438        Model           = ABWarFact_A2
15439        Animation       = ABWarFact_A2.ABWarFact_A2
15440        AnimationMode   = LOOP
15441        Flags           = START_FRAME_FIRST
15442      End  
15443    End
15444      
15445    ; ------------ construction-zone fence -----------------
15446    Draw = W3DModelDraw ModuleTag_06
15447    AnimationsRequirePower = No
15448      DefaultConditionState
15449        Model           = None
15450        TransitionKey   = DOWN_DEFAULT
15451      End
15452      ConditionState    = NIGHT
15453        Model           = None
15454        TransitionKey   = DOWN_DEFAULT
15455      End
15456      ConditionState    = SNOW
15457        Model           = None
15458        TransitionKey   = DOWN_DEFAULT
15459      End
15460      ConditionState    = SNOW NIGHT
15461        Model           = None
15462        TransitionKey   = DOWN_DEFAULT
15463      End
15464      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15465        Model           = ABWarFact_A4
15466        Animation       = ABWarFact_A4.ABWarFact_A4
15467        AnimationMode   = MANUAL
15468        Flags           = START_FRAME_LAST
15469        TransitionKey   = UP_DAY
15470        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15471        ParticleSysBone = SparksS01 LiveWireSparks02
15472      End
15473      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15474        Model           = ABWarFact_A4N
15475        Animation       = ABWarFact_A4N.ABWarFact_A4N
15476        AnimationMode   = MANUAL
15477        Flags           = START_FRAME_LAST
15478        TransitionKey   = UP_NIGHT
15479        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15480        ParticleSysBone = SparksS01 LiveWireSparks02
15481      End
15482      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15483        Model           = ABWarFact_A4S
15484        Animation       = ABWarFact_A4S.ABWarFact_A4S
15485        AnimationMode   = MANUAL
15486        Flags           = START_FRAME_LAST
15487        TransitionKey   = UP_SNOW
15488        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15489        ParticleSysBone = SparksS01 LiveWireSparks02
15490      End
15491      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15492        Model           = ABWarFact_A4SN
15493        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15494        AnimationMode   = MANUAL
15495        Flags           = START_FRAME_LAST
15496        TransitionKey   = UP_SNOWNIGHT
15497        ParticleSysBone = SmokeS01 SmokeBuildingSmall
15498        ParticleSysBone = SparksS01 LiveWireSparks02
15499      End
15500      TransitionState   = DOWN_DEFAULT UP_DAY
15501        Model           = ABWarFact_A4
15502        Animation       = ABWarFact_A4.ABWarFact_A4
15503        AnimationMode   = ONCE
15504        AnimationSpeedFactorRange = 1.0 1.0
15505        Flags           = START_FRAME_FIRST
15506      End
15507      TransitionState   = DOWN_DEFAULT UP_NIGHT
15508        Model           = ABWarFact_A4N
15509        Animation       = ABWarFact_A4N.ABWarFact_A4N
15510        AnimationMode   = ONCE
15511        AnimationSpeedFactorRange = 1.0 1.0
15512        Flags           = START_FRAME_FIRST
15513      End
15514      TransitionState   = DOWN_DEFAULT UP_SNOW
15515        Model           = ABWarFact_A4S
15516        Animation       = ABWarFact_A4S.ABWarFact_A4S
15517        AnimationMode   = ONCE
15518        AnimationSpeedFactorRange = 1.0 1.0
15519        Flags           = START_FRAME_FIRST
15520      End
15521      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15522        Model           = ABWarFact_A4SN
15523        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15524        AnimationMode   = ONCE
15525        AnimationSpeedFactorRange = 1.0 1.0
15526        Flags           = START_FRAME_FIRST
15527      End
15528      TransitionState   = UP_DAY DOWN_DEFAULT
15529        Model           = ABWarFact_A4
15530        Animation       = ABWarFact_A4.ABWarFact_A4
15531        AnimationMode   = ONCE_BACKWARDS
15532        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15533        Flags           = START_FRAME_LAST
15534      End
15535      TransitionState   = UP_NIGHT DOWN_DEFAULT
15536        Model           = ABWarFact_A4N
15537        Animation       = ABWarFact_A4N.ABWarFact_A4N
15538        AnimationMode   = ONCE_BACKWARDS
15539        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15540        Flags           = START_FRAME_LAST
15541      End
15542      TransitionState   = UP_SNOW DOWN_DEFAULT
15543        Model           = ABWarFact_A4S
15544        Animation       = ABWarFact_A4S.ABWarFact_A4S
15545        AnimationMode   = ONCE_BACKWARDS
15546        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15547        Flags           = START_FRAME_LAST
15548      End
15549      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15550        Model           = ABWarFact_A4SN
15551        Animation       = ABWarFact_A4SN.ABWarFact_A4SN
15552        AnimationMode   = ONCE_BACKWARDS
15553        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15554        Flags           = START_FRAME_LAST
15555      End
15556    End
15557  
15558    ; ------------ under-construction scaffolding -----------------
15559    Draw = W3DModelDraw ModuleTag_07
15560    AnimationsRequirePower = No
15561      MinLODRequired = MEDIUM
15562      DefaultConditionState
15563        Model           = None
15564        TransitionKey   = DOWN_DEFAULT
15565      End
15566      ConditionState    = NIGHT
15567        Model           = None
15568        TransitionKey   = DOWN_DEFAULT
15569      End
15570      ConditionState    = SNOW
15571        Model           = None
15572        TransitionKey   = DOWN_DEFAULT
15573      End
15574      ConditionState    = SNOW NIGHT
15575        Model           = None
15576        TransitionKey   = DOWN_DEFAULT
15577      End
15578      ConditionState    = PARTIALLY_CONSTRUCTED
15579        Model           = ABWarFact_A6
15580        Animation       = ABWarFact_A6.ABWarFact_A6
15581        AnimationMode   = MANUAL
15582        Flags           = START_FRAME_LAST
15583        TransitionKey   = UP_DAY
15584        ParticleSysBone = Sparks01 BuildUpBlueSpark
15585        ParticleSysBone = Sparks02 BuildUpBlueSpark
15586        ParticleSysBone = Sparks03 BuildUpBlueSpark
15587        ParticleSysBone = Sparks04 BuildUpBlueSpark
15588        ParticleSysBone = Sparks05 BuildUpBlueSpark
15589        ParticleSysBone = Sparks06 BuildUpBlueSpark
15590      End
15591      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
15592        Model           = ABWarFact_A6N
15593        Animation       = ABWarFact_A6N.ABWarFact_A6N
15594        AnimationMode   = MANUAL
15595        Flags           = START_FRAME_LAST
15596        TransitionKey   = UP_NIGHT
15597        ParticleSysBone = Sparks01 BuildUpBlueSpark
15598        ParticleSysBone = Sparks02 BuildUpBlueSpark
15599        ParticleSysBone = Sparks03 BuildUpBlueSpark
15600        ParticleSysBone = Sparks04 BuildUpBlueSpark
15601        ParticleSysBone = Sparks05 BuildUpBlueSpark
15602        ParticleSysBone = Sparks06 BuildUpBlueSpark
15603      End
15604      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
15605        Model           = ABWarFact_A6S
15606        Animation       = ABWarFact_A6S.ABWarFact_A6S
15607        AnimationMode   = MANUAL
15608        Flags           = START_FRAME_LAST
15609        TransitionKey   = UP_SNOW
15610        ParticleSysBone = Sparks01 BuildUpBlueSpark
15611        ParticleSysBone = Sparks02 BuildUpBlueSpark
15612        ParticleSysBone = Sparks03 BuildUpBlueSpark
15613        ParticleSysBone = Sparks04 BuildUpBlueSpark
15614        ParticleSysBone = Sparks05 BuildUpBlueSpark
15615        ParticleSysBone = Sparks06 BuildUpBlueSpark
15616      End
15617      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
15618        Model           = ABWarFact_A6SN
15619        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15620        AnimationMode   = MANUAL
15621        Flags           = START_FRAME_LAST
15622        TransitionKey   = UP_SNOWNIGHT
15623        ParticleSysBone = Sparks01 BuildUpBlueSpark
15624        ParticleSysBone = Sparks02 BuildUpBlueSpark
15625        ParticleSysBone = Sparks03 BuildUpBlueSpark
15626        ParticleSysBone = Sparks04 BuildUpBlueSpark
15627        ParticleSysBone = Sparks05 BuildUpBlueSpark
15628        ParticleSysBone = Sparks06 BuildUpBlueSpark
15629      End
15630      TransitionState   = DOWN_DEFAULT UP_DAY
15631       Model            = ABWarFact_A6
15632        Animation       = ABWarFact_A6.ABWarFact_A6
15633        AnimationMode   = ONCE
15634        AnimationSpeedFactorRange = 1.0 1.0
15635        Flags           = START_FRAME_FIRST
15636      End
15637      TransitionState   = DOWN_DEFAULT UP_NIGHT
15638       Model            = ABWarFact_A6N
15639        Animation       = ABWarFact_A6N.ABWarFact_A6N
15640        AnimationMode   = ONCE
15641        AnimationSpeedFactorRange = 1.0 1.0
15642        Flags           = START_FRAME_FIRST
15643      End
15644      TransitionState   = DOWN_DEFAULT UP_SNOW
15645       Model            = ABWarFact_A6S
15646        Animation       = ABWarFact_A6S.ABWarFact_A6S
15647        AnimationMode   = ONCE
15648        AnimationSpeedFactorRange = 1.0 1.0
15649        Flags           = START_FRAME_FIRST
15650      End
15651      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15652       Model            = ABWarFact_A6SN
15653        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15654        AnimationMode   = ONCE
15655        AnimationSpeedFactorRange = 1.0 1.0
15656        Flags           = START_FRAME_FIRST
15657      End
15658      TransitionState   = UP_DAY DOWN_DEFAULT
15659        Model           = ABWarFact_A6
15660        Animation       = ABWarFact_A6.ABWarFact_A6
15661        AnimationMode   = ONCE_BACKWARDS
15662        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15663        Flags           = START_FRAME_LAST
15664      End
15665      TransitionState   = UP_NIGHT DOWN_DEFAULT
15666        Model           = ABWarFact_A6N
15667        Animation       = ABWarFact_A6N.ABWarFact_A6N
15668        AnimationMode   = ONCE_BACKWARDS
15669        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15670        Flags           = START_FRAME_LAST
15671      End
15672      TransitionState   = UP_SNOW DOWN_DEFAULT
15673        Model           = ABWarFact_A6S
15674        Animation       = ABWarFact_A6S.ABWarFact_A6S
15675        AnimationMode   = ONCE_BACKWARDS
15676        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15677        Flags           = START_FRAME_LAST
15678      End
15679      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15680        Model           = ABWarFact_A6SN
15681        Animation       = ABWarFact_A6SN.ABWarFact_A6SN
15682        AnimationMode   = ONCE_BACKWARDS
15683        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15684        Flags           = START_FRAME_LAST
15685      End
15686    End
15687  
15688    ; ------------ being-constructed crane -----------------
15689    Draw = W3DModelDraw ModuleTag_08
15690    AnimationsRequirePower = No
15691      DefaultConditionState
15692        Model           = None
15693        TransitionKey   = DOWN_DEFAULT
15694      End
15695      ConditionState    = NIGHT
15696        Model           = None
15697        TransitionKey   = DOWN_DEFAULT
15698      End
15699      ConditionState    = SNOW
15700        Model           = None
15701        TransitionKey   = DOWN_DEFAULT
15702      End
15703      ConditionState    = SNOW NIGHT
15704        Model           = None
15705        TransitionKey   = DOWN_DEFAULT
15706      End
15707      ConditionState    = SOLD
15708        Model           = NONE
15709      End
15710  
15711      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
15712        Model           = ABWarFact_A5
15713        Animation       = ABWarFact_A5.ABWarFact_A5
15714        AnimationMode   = LOOP
15715        TransitionKey  = UP_DAY
15716      End
15717  
15718      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
15719        Model           = ABWarFact_A5N
15720        Animation       = ABWarFact_A5N.ABWarFact_A5N
15721        AnimationMode   = LOOP
15722        TransitionKey  = UP_NIGHT
15723      End
15724      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
15725        Model           = ABWarFact_A5S
15726        Animation       = ABWarFact_A5S.ABWarFact_A5S
15727        AnimationMode   = LOOP
15728        TransitionKey  = UP_SNOW
15729      End
15730      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
15731        Model           = ABWarFact_A5SN
15732        Animation       = ABWarFact_A5SN.ABWarFact_A5SN
15733        AnimationMode   = LOOP
15734        TransitionKey  = UP_SNOWNIGHT
15735      End
15736      TransitionState   = DOWN_DEFAULT UP_DAY
15737        Model            = ABWarFact_AB
15738        Animation       = ABWarFact_AB.ABWarFact_AB
15739        AnimationMode   = ONCE
15740        AnimationSpeedFactorRange = 1.0 1.0
15741        Flags           = START_FRAME_FIRST
15742      End
15743  
15744      TransitionState   = DOWN_DEFAULT UP_NIGHT
15745        Model            = ABWarFact_ABN
15746        Animation       = ABWarFact_ABN.ABWarFact_ABN
15747        AnimationMode   = ONCE
15748        AnimationSpeedFactorRange = 1.0 1.0
15749        Flags           = START_FRAME_FIRST
15750      End
15751      TransitionState   = DOWN_DEFAULT UP_SNOW
15752        Model            = ABWarFact_ABS
15753        Animation       = ABWarFact_ABS.ABWarFact_ABS
15754        AnimationMode   = ONCE
15755        AnimationSpeedFactorRange = 1.0 1.0
15756        Flags           = START_FRAME_FIRST
15757      End 
15758      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
15759        Model            = ABWarFact_ABSN
15760        Animation       = ABWarFact_ABSN.ABWarFact_ABSN
15761        AnimationMode   = ONCE
15762        AnimationSpeedFactorRange = 1.0 1.0
15763        Flags           = START_FRAME_FIRST
15764      End 
15765     TransitionState   = UP_DAY DOWN_DEFAULT
15766        Model            = ABWarFact_AB
15767        Animation       = ABWarFact_AB.ABWarFact_AB
15768        AnimationMode   = ONCE_BACKWARDS
15769        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15770        Flags           = START_FRAME_LAST
15771      End
15772      TransitionState   = UP_NIGHT DOWN_DEFAULT
15773        Model            = ABWarFact_ABN
15774        Animation       = ABWarFact_ABN.ABWarFact_ABN
15775        AnimationMode   = ONCE_BACKWARDS
15776        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15777        Flags           = START_FRAME_LAST
15778      End
15779      TransitionState   = UP_SNOW DOWN_DEFAULT
15780        Model            = ABWarFact_ABS
15781        Animation       = ABWarFact_ABS.ABWarFact_ABS
15782        AnimationMode   = ONCE_BACKWARDS
15783        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15784        Flags           = START_FRAME_LAST
15785      End
15786      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
15787        Model            = ABWarFact_ABSN
15788        Animation       = ABWarFact_ABSN.ABWarFact_ABSN
15789        AnimationMode   = ONCE_BACKWARDS
15790        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
15791        Flags           = START_FRAME_LAST
15792      End
15793    End
15794    
15795    PlacementViewAngle = -135
15796  
15797    ; ***DESIGN parameters ***
15798    DisplayName      = OBJECT:WarFactory
15799    Side             = AmericaLaserGeneral
15800    EditorSorting    = STRUCTURE
15801    Prerequisites
15802      Object = Lazr_AmericaSupplyCenter
15803    End
15804    BuildCost        = 2000
15805    BuildTime        = 15.0           ; in seconds
15806  
15807    EnergyProduction = -1
15808    CommandSet       = Lazr_AmericaWarFactoryCommandSet
15809    VisionRange     = 200.0           ; Shroud clearing distance
15810    ShroudClearingRange = 200
15811    ArmorSet
15812      Conditions      = None
15813      Armor           = StructureArmor
15814      DamageFX        = StructureDamageFXNoShake
15815    End
15816    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
15817  
15818    ; *** AUDIO Parameters ***
15819    VoiceSelect = WarFactoryUSASelect
15820    SoundOnDamaged        = BuildingDamagedStateLight
15821    SoundOnReallyDamaged  = BuildingDestroy
15822  
15823    UnitSpecificSounds
15824      UnderConstruction     = UnderConstructionLoop
15825    End
15826  
15827    ; *** ENGINEERING Parameters ***
15828    RadarPriority   = STRUCTURE
15829    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY
15830    Body            = StructureBody ModuleTag_09
15831      MaxHealth       = 2000.0
15832      InitialHealth   = 2000.0
15833  
15834      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
15835      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
15836      SubdualDamageCap = 2200
15837      SubdualDamageHealRate = 500
15838      SubdualDamageHealAmount = 100
15839    End
15840    Behavior = ProductionUpdate ModuleTag_10
15841      NumDoorAnimations            = 1
15842      DoorOpeningTime              = 3250  ;in mSeconds
15843      DoorWaitOpenTime             = 3000  ;in mSeconds
15844      DoorCloseTime                = 4000  ;in mSeconds
15845      ConstructionCompleteDuration = 1500  ;in mSeconds
15846    End
15847    Behavior = DefaultProductionExitUpdate ModuleTag_11
15848      UnitCreatePoint   = X: -10.0  Y:-30.0   Z:0.0
15849      NaturalRallyPoint = X: 53.0  Y:-30.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
15850    End
15851    Behavior = RepairDockUpdate ModuleTag_12
15852      TimeForFullHeal   = 5000   ;(in milliseconds)     
15853      NumberApproachPositions = 5
15854    End
15855    Behavior = BaseRegenerateUpdate ModuleTag_13
15856      ;No data
15857    End 
15858    
15859  ;---- Removed module
15860  ;  Behavior = SlowDeathBehavior ModuleTag_14
15861  ;    DestructionDelay = 500
15862  ;    FX             = FINAL   FX_StructureMediumDeath
15863  ;    OCL            = FINAL   OCL_AmericaWarFactoryDebris
15864  ;  End
15865  
15866    Behavior = TransitionDamageFX ModuleTag_15
15867      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
15868      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
15869      ;---------------------------------------------------------------------------------------
15870      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
15871      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
15872      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
15873    End
15874  
15875    Behavior             = CreateObjectDie ModuleTag_16
15876      CreationList  = OCL_AmericanRangerDebris05
15877      ExemptStatus  = UNDER_CONSTRUCTION
15878    End
15879  
15880    Behavior = FlammableUpdate ModuleTag_18
15881      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15882      AflameDamageAmount = 5       ; taking this much damage...
15883      AflameDamageDelay = 500       ; this often.
15884    End
15885    
15886    Behavior             = CreateObjectDie ModuleTag_20
15887      CreationList  = OCL_LargeStructureDebris
15888    End
15889    
15890    Behavior             = FXListDie ModuleTag_21
15891      DeathFX       = FX_StructureMediumDeath
15892    End
15893    
15894    Behavior             = DestroyDie ModuleTag_22
15895      ;nothing
15896    End
15897  
15898    Geometry            = BOX
15899    GeometryMajorRadius = 53.0
15900    GeometryMinorRadius = 60.0
15901    GeometryHeight      = 40.0
15902    GeometryIsSmall     = No
15903    FactoryExitWidth    = 25     ; How much space to leave for units exiting.
15904    Shadow          = SHADOW_VOLUME
15905    BuildCompletion = PLACED_BY_PLAYER
15906  
15907  End
15908  
15909  
15910  
15911  
15912  
15913  ;------------------------------------------------------------------------------
15914  Object Lazr_AmericaFireBase
15915  
15916    ; *** ART Parameters ***
15917    SelectPortrait         = SAFirebase_L
15918    ButtonImage            = SAFirebase
15919    Draw = W3DModelDraw ModuleTag_01
15920  
15921      IgnoreConditionStates = NIGHT
15922  
15923      OkToChangeModelColor = Yes
15924  
15925      ExtraPublicBone = STATION01
15926      ExtraPublicBone = STATION02
15927      ExtraPublicBone = STATION03
15928      ExtraPublicBone = STATION04
15929  
15930  
15931      DefaultConditionState
15932        Model             = ABFIREBASE
15933        WeaponMuzzleFlash  = PRIMARY MuzzleFX
15934        WeaponRecoilBone   = PRIMARY Barrel
15935        Turret            = TURRET01
15936        TurretPitch       = TURRETEL
15937        WeaponLaunchBone  = PRIMARY   MUZZLE01
15938        WeaponFireFXBone  = PRIMARY   MUZZLEFX
15939      End
15940      
15941      ConditionState      = DAMAGED
15942        Model             = ABFIREBASE_D
15943      End
15944      
15945      ConditionState      = REALLYDAMAGED RUBBLE
15946        Model             = ABFIREBASE_E
15947      End
15948      
15949      ConditionState      = SNOW
15950        Model             = ABFIREBASE_S
15951      End
15952      
15953      ConditionState      = DAMAGED SNOW
15954        Model             = ABFIREBASE_DS
15955      End
15956      
15957      ConditionState      = REALLYDAMAGED RUBBLE SNOW
15958        Model             = ABFIREBASE_ES
15959      End
15960     
15961      ;**************************************************************************************************************************
15962      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
15963      ;for this draw module
15964  
15965      ConditionState       = AWAITING_CONSTRUCTION 
15966        Model              = NONE
15967      End
15968      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
15969      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
15970      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
15971      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
15972      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
15973      AliasConditionState  = SOLD 
15974      AliasConditionState  = SOLD DAMAGED
15975      AliasConditionState  = SOLD REALLYDAMAGED
15976      AliasConditionState  = SOLD SNOW
15977      AliasConditionState  = SOLD SNOW DAMAGED
15978      AliasConditionState  = SOLD SNOW REALLYDAMAGED
15979      ;**************************************************************************************************************************
15980  
15981      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
15982        Model              = ABFIREBASE
15983        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15984      End
15985  
15986      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
15987        Model              = ABFIREBASE_S
15988        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15989      End
15990      
15991      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
15992        Model              = ABFIREBASE_D
15993        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15994      End
15995      
15996      ConditionState       = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
15997        Model              = ABFIREBASE_DS
15998        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
15999      End
16000      
16001      ;**************************************************************************************************************************
16002    End
16003  
16004  
16005  
16006    ; ------------ construction-zone fence -----------------
16007    Draw                = W3DModelDraw ModuleTag_02
16008    AnimationsRequirePower = No
16009      DefaultConditionState
16010        Model           = None
16011        TransitionKey   = DOWN_DEFAULT
16012      End
16013      ConditionState    = NIGHT
16014        Model           = None
16015        TransitionKey   = DOWN_DEFAULT
16016      End
16017      ConditionState    = SNOW
16018        Model           = None
16019        TransitionKey   = DOWN_DEFAULT
16020      End
16021      ConditionState    = SNOW NIGHT
16022        Model           = None
16023        TransitionKey   = DOWN_DEFAULT
16024      End
16025      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16026        Model           = ABSupDrop_A4
16027        Animation       = ABSupDrop_A4.ABSupDrop_A4
16028        AnimationMode   = MANUAL
16029        Flags           = START_FRAME_LAST
16030        TransitionKey   = UP_DAY
16031      End
16032      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16033        Model           = ABSupDrop_A4N
16034        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16035        AnimationMode   = MANUAL
16036        Flags           = START_FRAME_LAST
16037        TransitionKey   = UP_NIGHT
16038      End
16039      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16040        Model           = ABSupDrop_A4S
16041        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16042        AnimationMode   = MANUAL
16043        Flags           = START_FRAME_LAST
16044        TransitionKey   = UP_SNOW
16045      End
16046      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16047        Model           = ABSupDrop_A4SN
16048        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16049        AnimationMode   = MANUAL
16050        Flags           = START_FRAME_LAST
16051        TransitionKey   = UP_SNOWNIGHT
16052      End
16053      TransitionState   = DOWN_DEFAULT UP_DAY
16054        Model           = ABSupDrop_A4
16055        Animation       = ABSupDrop_A4.ABSupDrop_A4
16056        AnimationMode   = ONCE
16057        AnimationSpeedFactorRange = 1.0 1.0
16058        Flags           = START_FRAME_FIRST
16059      End
16060      TransitionState   = DOWN_DEFAULT UP_NIGHT
16061        Model           = ABSupDrop_A4N
16062        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16063        AnimationMode   = ONCE
16064        AnimationSpeedFactorRange = 1.0 1.0
16065        Flags           = START_FRAME_FIRST
16066      End
16067      TransitionState   = DOWN_DEFAULT UP_SNOW
16068        Model           = ABSupDrop_A4S
16069        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16070        AnimationMode   = ONCE
16071        AnimationSpeedFactorRange = 1.0 1.0
16072        Flags           = START_FRAME_FIRST
16073      End
16074      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16075        Model           = ABSupDrop_A4SN
16076        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16077        AnimationMode   = ONCE
16078        AnimationSpeedFactorRange = 1.0 1.0
16079        Flags           = START_FRAME_FIRST
16080      End
16081      TransitionState   = UP_DAY DOWN_DEFAULT
16082        Model           = ABSupDrop_A4
16083        Animation       = ABSupDrop_A4.ABSupDrop_A4
16084        AnimationMode   = ONCE_BACKWARDS
16085        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16086        Flags           = START_FRAME_LAST
16087      End
16088      TransitionState   = UP_NIGHT DOWN_DEFAULT
16089        Model           = ABSupDrop_A4N
16090        Animation       = ABSupDrop_A4N.ABSupDrop_A4N
16091        AnimationMode   = ONCE_BACKWARDS
16092        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16093        Flags           = START_FRAME_LAST
16094      End
16095      TransitionState   = UP_SNOW DOWN_DEFAULT
16096        Model           = ABSupDrop_A4S
16097        Animation       = ABSupDrop_A4S.ABSupDrop_A4S
16098        AnimationMode   = ONCE_BACKWARDS
16099        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16100        Flags           = START_FRAME_LAST
16101      End
16102      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16103        Model           = ABSupDrop_A4SN
16104        Animation       = ABSupDrop_A4SN.ABSupDrop_A4SN
16105        AnimationMode   = ONCE_BACKWARDS
16106        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16107        Flags           = START_FRAME_LAST
16108      End
16109    End
16110  
16111    ; ------------ under-construction scaffolding -----------------
16112    Draw                = W3DModelDraw ModuleTag_03
16113    AnimationsRequirePower = No
16114      MinLODRequired    = MEDIUM
16115      DefaultConditionState
16116        Model           = None
16117        TransitionKey   = DOWN_DEFAULT
16118      End
16119      ConditionState    = NIGHT
16120        Model           = None
16121        TransitionKey   = DOWN_DEFAULT
16122      End
16123      ConditionState    = SNOW
16124        Model           = None
16125        TransitionKey   = DOWN_DEFAULT
16126      End
16127      ConditionState    = SNOW NIGHT
16128        Model           = None
16129        TransitionKey   = DOWN_DEFAULT
16130      End
16131      ConditionState    = PARTIALLY_CONSTRUCTED
16132        Model           = ABSupDrop_A6
16133        Animation       = ABSupDrop_A6.ABSupDrop_A6
16134        AnimationMode   = MANUAL
16135        Flags           = START_FRAME_LAST
16136        TransitionKey   = UP_DAY
16137        ParticleSysBone = Sparks01 BuildUpBlueSpark
16138        ParticleSysBone = Sparks02 BuildUpBlueSpark
16139        ParticleSysBone = Sparks03 BuildUpBlueSpark
16140        ParticleSysBone = Sparks04 BuildUpBlueSpark
16141        ParticleSysBone = Sparks05 BuildUpBlueSpark
16142        ParticleSysBone = Sparks06 BuildUpBlueSpark
16143      End
16144      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
16145        Model           = ABSupDrop_A6N
16146        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16147        AnimationMode   = MANUAL
16148        Flags           = START_FRAME_LAST
16149        TransitionKey   = UP_NIGHT
16150        ParticleSysBone = Sparks01 BuildUpBlueSpark
16151        ParticleSysBone = Sparks02 BuildUpBlueSpark
16152        ParticleSysBone = Sparks03 BuildUpBlueSpark
16153        ParticleSysBone = Sparks04 BuildUpBlueSpark
16154        ParticleSysBone = Sparks05 BuildUpBlueSpark
16155        ParticleSysBone = Sparks06 BuildUpBlueSpark
16156      End
16157      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
16158        Model           = ABSupDrop_A6S
16159        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16160        AnimationMode   = MANUAL
16161        Flags           = START_FRAME_LAST
16162        TransitionKey   = UP_SNOW
16163        ParticleSysBone = Sparks01 BuildUpBlueSpark
16164        ParticleSysBone = Sparks02 BuildUpBlueSpark
16165        ParticleSysBone = Sparks03 BuildUpBlueSpark
16166        ParticleSysBone = Sparks04 BuildUpBlueSpark
16167        ParticleSysBone = Sparks05 BuildUpBlueSpark
16168        ParticleSysBone = Sparks06 BuildUpBlueSpark
16169      End
16170      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
16171        Model           = ABSupDrop_A6SN
16172        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16173        AnimationMode   = MANUAL
16174        Flags           = START_FRAME_LAST
16175        TransitionKey   = UP_SNOWNIGHT
16176        ParticleSysBone = Sparks01 BuildUpBlueSpark
16177        ParticleSysBone = Sparks02 BuildUpBlueSpark
16178        ParticleSysBone = Sparks03 BuildUpBlueSpark
16179        ParticleSysBone = Sparks04 BuildUpBlueSpark
16180        ParticleSysBone = Sparks05 BuildUpBlueSpark
16181        ParticleSysBone = Sparks06 BuildUpBlueSpark
16182      End
16183      TransitionState   = DOWN_DEFAULT UP_DAY
16184       Model            = ABSupDrop_A6
16185        Animation       = ABSupDrop_A6.ABSupDrop_A6
16186        AnimationMode   = ONCE
16187        AnimationSpeedFactorRange = 1.0 1.0
16188        Flags           = START_FRAME_FIRST
16189      End
16190      TransitionState   = DOWN_DEFAULT UP_NIGHT
16191       Model            = ABSupDrop_A6N
16192        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16193        AnimationMode   = ONCE
16194        AnimationSpeedFactorRange = 1.0 1.0
16195        Flags           = START_FRAME_FIRST
16196      End
16197      TransitionState   = DOWN_DEFAULT UP_SNOW
16198       Model            = ABSupDrop_A6S
16199        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16200        AnimationMode   = ONCE
16201        AnimationSpeedFactorRange = 1.0 1.0
16202        Flags           = START_FRAME_FIRST
16203      End
16204      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16205       Model            = ABSupDrop_A6SN
16206        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16207        AnimationMode   = ONCE
16208        AnimationSpeedFactorRange = 1.0 1.0
16209        Flags           = START_FRAME_FIRST
16210      End
16211      TransitionState   = UP_DAY DOWN_DEFAULT
16212        Model           = ABSupDrop_A6
16213        Animation       = ABSupDrop_A6.ABSupDrop_A6
16214        AnimationMode   = ONCE_BACKWARDS
16215        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16216        Flags           = START_FRAME_LAST
16217      End
16218      TransitionState   = UP_NIGHT DOWN_DEFAULT
16219        Model           = ABSupDrop_A6N
16220        Animation       = ABSupDrop_A6N.ABSupDrop_A6N
16221        AnimationMode   = ONCE_BACKWARDS
16222        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16223        Flags           = START_FRAME_LAST
16224      End
16225      TransitionState   = UP_SNOW DOWN_DEFAULT
16226        Model           = ABSupDrop_A6S
16227        Animation       = ABSupDrop_A6S.ABSupDrop_A6S
16228        AnimationMode   = ONCE_BACKWARDS
16229        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16230        Flags           = START_FRAME_LAST
16231      End
16232      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16233        Model           = ABSupDrop_A6SN
16234        Animation       = ABSupDrop_A6SN.ABSupDrop_A6SN
16235        AnimationMode   = ONCE_BACKWARDS
16236        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16237        Flags           = START_FRAME_LAST
16238      End
16239    End
16240    PlacementViewAngle = -45
16241  
16242  
16243  
16244    ; ***DESIGN parameters ***
16245    DisplayName       = OBJECT:FireBase
16246    Side              = AmericaLaserGeneral
16247    EditorSorting     = STRUCTURE
16248    Prerequisites
16249      Object = Lazr_AmericaPowerPlant
16250    End
16251    BuildCost        = 1000
16252    BuildTime        = 25.0           ; in seconds
16253    EnergyProduction = 0
16254    WeaponSet
16255      Conditions          = None 
16256      Weapon              = PRIMARY     FireBaseHowitzerGun
16257    End
16258    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
16259    ShroudClearingRange = 360
16260    ArmorSet
16261      Conditions      = None
16262      Armor           = FireBaseArmor
16263      DamageFX        = StructureDamageFXNoShake
16264    End
16265    CommandSet        = Lazr_AmericaFireBaseCommandSet
16266    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
16267  
16268    ; *** AUDIO Parameters ***
16269    VoiceSelect = PatriotBatterySelect
16270    SoundOnDamaged        = BuildingDamagedStateLight
16271    SoundOnReallyDamaged  = BuildingDestroy
16272  
16273    UnitSpecificSounds
16274      UnderConstruction     = UnderConstructionLoop
16275    End
16276  
16277    UnitSpecificSounds
16278    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16279      TurretMoveStart = NoSound
16280      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
16281    End
16282  
16283    ; *** ENGINEERING Parameters ***
16284    RadarPriority   = STRUCTURE
16285    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED
16286  
16287  
16288    Body                 = HiveStructureBody ModuleTag_04;
16289      MaxHealth          = 1000.0
16290      InitialHealth      = 1000.0
16291  
16292      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16293      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16294      SubdualDamageCap = 1200
16295      SubdualDamageHealRate = 500
16296      SubdualDamageHealAmount = 100
16297      ;**Careful with these damage types -- because area damage types will already
16298      ;**damage slaves.
16299      ;PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER
16300      ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to
16301    End
16302  
16303   
16304    Behavior = BaseRegenerateUpdate ModuleTag_05
16305      ;No data
16306    End 
16307    Behavior = AIUpdateInterface ModuleTag_06
16308      Turret
16309        TurretTurnRate        = 60   // turn rate, in degrees per sec
16310        TurretPitchRate       = 60
16311        AllowsPitch           = Yes
16312        NaturalTurretPitch    = 1   
16313        GroundUnitPitch       = 40
16314        MinPhysicalPitch      = -20
16315        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
16316        MinIdleScanInterval   = 550    ; in milliseconds
16317        MaxIdleScanInterval   = 950    ; in milliseconds
16318        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
16319        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
16320      End
16321  
16322      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
16323      MoodAttackCheckRate        = 250
16324    End
16325  
16326    Behavior = GarrisonContain ModuleTag_07
16327      ContainMax                    = 4
16328      EnterSound                    = GarrisonEnter
16329      ExitSound                     = GarrisonExit
16330      ImmuneToClearBuildingAttacks  = Yes
16331      DamagePercentToUnits          = 100%
16332  
16333      IsEnclosingContainer          = No
16334  
16335    End
16336  
16337    Behavior = DestroyDie ModuleTag_08
16338      ;nothing
16339    End
16340  
16341    Behavior             = FXListDie ModuleTag_10
16342      DeathFX       = FX_StructureMediumDeath
16343    End
16344  
16345    Behavior = FlammableUpdate ModuleTag_12
16346      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16347      AflameDamageAmount = 5       ; taking this much damage...
16348      AflameDamageDelay = 500       ; this often.
16349    End
16350  
16351    Behavior                  = CreateObjectDie ModuleTag_13
16352      CreationList       = OCL_LargeStructureDebris
16353    End
16354  
16355    Behavior = TransitionDamageFX ModuleTag_14
16356      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
16357      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16358      ;---------------------------------------------------------------------------------------
16359      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
16360      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
16361      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
16362    End
16363  
16364    Behavior = SpecialAbility ModuleTag_15
16365      SpecialPowerTemplate = Lazr_SpecialAbilityLaserGuidedHowitzer
16366      UpdateModuleStartsAttack = Yes
16367      InitiateSound = MissileDefenderVoiceAttackLaser
16368    End
16369  
16370    Behavior = SpecialAbilityUpdate ModuleTag_16
16371      SpecialPowerTemplate = Lazr_SpecialAbilityLaserGuidedHowitzer
16372      StartAbilityRange = 200.0
16373      AbilityAbortRange = 250.0 ;If the target moves outside this range, abort.
16374      PreparationTime = 1000
16375      PersistentPrepTime = 500
16376      SpecialObject = Lazr_HowitzerLaserBeam
16377      SpecialObjectAttachToBone = BARREL01
16378    End
16379  
16380    Geometry            = BOX
16381    GeometryMajorRadius = 26.0
16382    GeometryMinorRadius = 26.0
16383    GeometryHeight      = 15.0
16384    GeometryIsSmall     = No
16385    Shadow          = SHADOW_VOLUME
16386    BuildCompletion = PLACED_BY_PLAYER
16387  
16388  End
16389  
16390  Object Lazr_HowitzerLaserBeam
16391    ; *** ART Parameters ***
16392    Draw = W3DLaserDraw ModuleTag_01
16393      Texture = EXLaser.tga
16394      NumBeams = 3                    ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
16395  
16396      InnerBeamWidth = 0.4            ;The total width of beam
16397      InnerColor = R:255 G:255 B:255 A:250  ;The inside color of the laser (hot)
16398  
16399      OuterBeamWidth = 1.2            ;The total width of beam
16400      OuterColor = R:255 G:0 B:0  A:150 ;The outside color of the laser (cool)
16401      
16402      ;MaxIntensityLifetime = 2000     ;Laser stays at max intensity for specified time in ms.
16403      ;FadeLifetime = 0                ;Laser will fade and delete.
16404  
16405      ;@todo -- add shot ability functionality (instead of instant point A to B)
16406    End
16407  
16408    KindOf = IMMOBILE
16409    ClientUpdate = LaserUpdate ModuleTag_02
16410      MuzzleParticleSystem = GenericLaserFlare
16411      TargetParticleSystem = GenericLaserFlare
16412    End
16413  End
16414  
16415  ;---------------------------------------------------------------------------
16416  Object Lazr_CrusaderLaserBeam
16417     ; *** ART Parameters ***
16418    Draw = W3DLaserDraw ModuleTag_01
16419      Texture = EXLaser4.tga
16420      NumBeams = 5                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
16421      InnerBeamWidth = 0.005                    ;The total width of beam
16422      InnerColor = R:100 G:0 B:0 A:100          ;The inside color of the laser (hot)
16423      OuterBeamWidth = 15                       ;The total width of beam
16424      OuterColor = R:100 G:0 B:0 A:0            ;The outside color of the laser (cool)
16425      Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
16426      ScrollRate = -2500                        ;Scrolls the texture offset this fast -- towards(-) away(+)
16427      Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
16428      SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
16429      TilingScalar = -3                         ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
16430  
16431      ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
16432      ;FadeLifetime = 0                         ;Laser will fade and delete.
16433      ;@todo -- add shot ability functionality (instead of instant point A to B)
16434    End
16435  
16436  
16437    KindOf = IMMOBILE
16438    Geometry = Sphere
16439    GeometryIsSmall = Yes
16440    GeometryMajorRadius = 2.0
16441    ClientUpdate = LaserUpdate ModuleTag_07
16442      MuzzleParticleSystem = PaladinPointDefenseLaserFlare
16443      TargetParticleSystem = GenericRedLaserFlare
16444      PunchThroughScalar = 1.3 ; If our target dies, we get this much bigger so it looks like we punched through
16445    End
16446  
16447    Behavior = DestroyDie ModuleTag_03
16448      ;nothing
16449    End
16450    Behavior = LifetimeUpdate ModuleTag_04
16451      MinLifetime = 205   ; min lifetime in msec
16452      MaxLifetime = 205   ; max lifetime in msec
16453    End
16454  End
16455  
16456  ;----------------------------------------------------------------------------------
16457  
16458  Object Lazr_PaladinLaserBeam
16459    ; *** ART Parameters ***
16460    Draw = W3DLaserDraw ModuleTag_01
16461       Texture = EXLaser4.tga
16462      NumBeams = 5                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
16463      InnerBeamWidth = 0.005                    ;The total width of beam
16464      InnerColor = R:100 G:0 B:0 A:100          ;The inside color of the laser (hot)
16465      OuterBeamWidth = 15                       ;The total width of beam
16466      OuterColor = R:100 G:0 B:0 A:0            ;The outside color of the laser (cool)
16467      Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
16468      ScrollRate = -2500                        ;Scrolls the texture offset this fast -- towards(-) away(+)
16469      Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
16470      SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
16471      TilingScalar = -3                         ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
16472  
16473      ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
16474      ;FadeLifetime = 0                         ;Laser will fade and delete.
16475      ;@todo -- add shot ability functionality (instead of instant point A to B)
16476    End
16477  
16478   
16479    KindOf = IMMOBILE
16480    ClientUpdate = LaserUpdate ModuleTag_02
16481      MuzzleParticleSystem = GenericBlueLaserFlare
16482      TargetParticleSystem = GenericBlueLaserFlare
16483    End
16484    Behavior = LifetimeUpdate ModuleTag_03
16485      MinLifetime = 95   ; min lifetime in msec
16486      MaxLifetime = 95   ; max lifetime in msec
16487    End
16488  End
16489  
16490  
16491  
16492  
16493  
16494  
16495  
16496  
16497  
16498  
16499  
16500  
16501  
16502  
16503  
16504  
16505  
16506  
16507  
16508  
16509  
16510  
16511  
16512  
16513  
16514  
16515  
16516  
16517  
16518  
16519  
16520  
16521  
16522  
16523  
16524  
16525  
16526  
16527  
16528  
16529  
16530  
16531  
16532  
16533  
16534  
16535  
16536  
16537  
16538  
16539  
16540  
16541  
16542  
16543  
16544  ;------------------------------------------------------------------------------
16545  Object Lazr_AmericaPatriotBattery
16546  
16547    ; *** ART Parameters ***
16548    SelectPortrait         = SALaserPatr_L
16549    ButtonImage            = SALaserPatr
16550    Draw = W3DModelDraw ModuleTag_01
16551  
16552      OkToChangeModelColor = Yes
16553  
16554      DefaultConditionState
16555        Model             = ABLaserTrt
16556        Turret            = TURRET01
16557        TurretPitch       = TURRETEL
16558        ;WeaponLaunchBone  = PRIMARY   WeaponA
16559        ;WeaponLaunchBone  = SECONDARY WeaponA
16560        ;WeaponLaunchBone  = TERTIARY  WeaponA
16561        ;WeaponFireFXBone  = PRIMARY   WeaponA
16562        ;WeaponFireFXBone  = SECONDARY WeaponA
16563        ;WeaponFireFXBone  = TERTIARY  WeaponA
16564      End
16565      AliasConditionState = NIGHT
16566      
16567      ConditionState      = DAMAGED
16568        Model             = ABLaserTrt_D
16569      End
16570      AliasConditionState = DAMAGED NIGHT
16571      
16572      ConditionState      = REALLYDAMAGED RUBBLE
16573        Model             = ABLaserTrt_E
16574      End
16575      AliasConditionState = REALLYDAMAGED RUBBLE NIGHT
16576      
16577      
16578      ConditionState      = SNOW
16579        Model             = ABLaserTrt
16580      End
16581      AliasConditionState = SNOW NIGHT
16582      
16583      ConditionState      = DAMAGED SNOW
16584        Model             = ABLaserTrt_D
16585      End
16586      AliasConditionState = SNOW NIGHT DAMAGED
16587      
16588      ConditionState      = REALLYDAMAGED RUBBLE SNOW
16589        Model             = ABLaserTrt_E
16590      End
16591      AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE
16592     
16593      ;**************************************************************************************************************************
16594      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
16595      ;for this draw module
16596      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16597        Model              = ABLaserTrt
16598        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16599      End
16600      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
16601      
16602  
16603      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
16604        Model              = ABLaserTrt
16605        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16606      End
16607      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
16608      
16609      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
16610        Model              = ABLaserTrt_D
16611        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16612      End
16613      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
16614      
16615      
16616      
16617      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
16618        Model              = ABLaserTrt_D
16619        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16620      End
16621      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
16622      
16623      
16624      
16625      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
16626        Model              = ABLaserTrt_E
16627        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16628      End
16629      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
16630      
16631      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
16632        Model              = ABLaserTrt_E
16633        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
16634      End
16635      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
16636      
16637      
16638      
16639      ConditionState       = AWAITING_CONSTRUCTION 
16640        Model              = NONE
16641      End
16642      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
16643      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
16644      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
16645      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
16646      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
16647      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
16648      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
16649      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
16650      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
16651      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
16652      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
16653      AliasConditionState  = SOLD DAMAGED
16654      AliasConditionState  = SOLD REALLYDAMAGED
16655      AliasConditionState  = SOLD NIGHT
16656      AliasConditionState  = SOLD NIGHT DAMAGED
16657      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
16658      AliasConditionState  = SOLD SNOW
16659      AliasConditionState  = SOLD SNOW DAMAGED
16660      AliasConditionState  = SOLD SNOW REALLYDAMAGED
16661      AliasConditionState  = SOLD NIGHT SNOW
16662      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
16663      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
16664      ;**************************************************************************************************************************
16665         
16666  
16667      
16668    End
16669  
16670    ; ------------ construction-zone fence -----------------
16671    Draw = W3DModelDraw ModuleTag_02
16672      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
16673      DefaultConditionState
16674        Model           = None
16675        TransitionKey   = DOWN_DEFAULT
16676      End
16677      ConditionState    = NIGHT
16678        Model           = None
16679        TransitionKey   = DOWN_DEFAULT
16680      End
16681      ConditionState    = SNOW
16682        Model           = None
16683        TransitionKey   = DOWN_DEFAULT
16684      End
16685      ConditionState    = SNOW NIGHT
16686        Model           = None
16687        TransitionKey   = DOWN_DEFAULT
16688      End
16689      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16690        Model           = ABPatriot_A4
16691        Animation       = ABPatriot_A4.ABPatriot_A4
16692        AnimationMode   = MANUAL
16693        Flags           = START_FRAME_LAST
16694        TransitionKey   = UP_DAY
16695      End
16696      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16697        Model           = ABPatriot_A4N
16698        Animation       = ABPatriot_A4N.ABPatriot_A4N
16699        AnimationMode   = MANUAL
16700        Flags           = START_FRAME_LAST
16701        TransitionKey   = UP_NIGHT
16702      End
16703      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16704        Model           = ABPatriot_A4S
16705        Animation       = ABPatriot_A4S.ABPatriot_A4S
16706        AnimationMode   = MANUAL
16707        Flags           = START_FRAME_LAST
16708        TransitionKey   = UP_SNOW
16709      End
16710      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
16711        Model           = ABPatriot_A4SN
16712        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16713        AnimationMode   = MANUAL
16714        Flags           = START_FRAME_LAST
16715        TransitionKey   = UP_SNOWNIGHT
16716      End
16717      TransitionState   = DOWN_DEFAULT UP_DAY
16718        Model           = ABPatriot_A4
16719        Animation       = ABPatriot_A4.ABPatriot_A4
16720        AnimationMode   = ONCE
16721        AnimationSpeedFactorRange = 1.0 1.0
16722        Flags           = START_FRAME_FIRST
16723      End
16724      TransitionState   = DOWN_DEFAULT UP_NIGHT
16725        Model           = ABPatriot_A4N
16726        Animation       = ABPatriot_A4N.ABPatriot_A4N
16727        AnimationMode   = ONCE
16728        AnimationSpeedFactorRange = 1.0 1.0
16729        Flags           = START_FRAME_FIRST
16730      End
16731      TransitionState   = DOWN_DEFAULT UP_SNOW
16732        Model           = ABPatriot_A4S
16733        Animation       = ABPatriot_A4S.ABPatriot_A4S
16734        AnimationMode   = ONCE
16735        AnimationSpeedFactorRange = 1.0 1.0
16736        Flags           = START_FRAME_FIRST
16737      End
16738      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16739        Model           = ABPatriot_A4SN
16740        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16741        AnimationMode   = ONCE
16742        AnimationSpeedFactorRange = 1.0 1.0
16743        Flags           = START_FRAME_FIRST
16744      End
16745      TransitionState   = UP_DAY DOWN_DEFAULT
16746        Model           = ABPatriot_A4
16747        Animation       = ABPatriot_A4.ABPatriot_A4
16748        AnimationMode   = ONCE_BACKWARDS
16749        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16750        Flags           = START_FRAME_LAST
16751      End
16752      TransitionState   = UP_NIGHT DOWN_DEFAULT
16753        Model           = ABPatriot_A4N
16754        Animation       = ABPatriot_A4N.ABPatriot_A4N
16755        AnimationMode   = ONCE_BACKWARDS
16756        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16757        Flags           = START_FRAME_LAST
16758      End
16759      TransitionState   = UP_SNOW DOWN_DEFAULT
16760        Model           = ABPatriot_A4S
16761        Animation       = ABPatriot_A4S.ABPatriot_A4S
16762        AnimationMode   = ONCE_BACKWARDS
16763        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16764        Flags           = START_FRAME_LAST
16765      End
16766      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16767        Model           = ABPatriot_A4SN
16768        Animation       = ABPatriot_A4SN.ABPatriot_A4SN
16769        AnimationMode   = ONCE_BACKWARDS
16770        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16771        Flags           = START_FRAME_LAST
16772      End
16773    End
16774  
16775    ; ------------ under-construction scaffolding -----------------
16776    Draw = W3DModelDraw ModuleTag_03
16777      AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled
16778      MinLODRequired = MEDIUM
16779      DefaultConditionState
16780        Model           = None
16781        TransitionKey   = DOWN_DEFAULT
16782      End
16783      ConditionState    = NIGHT
16784        Model           = None
16785        TransitionKey   = DOWN_DEFAULT
16786      End
16787      ConditionState    = SNOW
16788        Model           = None
16789        TransitionKey   = DOWN_DEFAULT
16790      End
16791      ConditionState    = SNOW NIGHT
16792        Model           = None
16793        TransitionKey   = DOWN_DEFAULT
16794      End
16795      ConditionState    = PARTIALLY_CONSTRUCTED
16796        Model           = ABPatriot_A6
16797        Animation       = ABPatriot_A6.ABPatriot_A6
16798        AnimationMode   = MANUAL
16799        Flags           = START_FRAME_LAST
16800        TransitionKey   = UP_DAY
16801        ParticleSysBone = Sparks01 BuildUpBlueSpark
16802        ParticleSysBone = Sparks02 BuildUpBlueSpark
16803      End
16804      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
16805        Model           = ABPatriot_A6N
16806        Animation       = ABPatriot_A6N.ABPatriot_A6N
16807        AnimationMode   = MANUAL
16808        Flags           = START_FRAME_LAST
16809        TransitionKey   = UP_NIGHT
16810        ParticleSysBone = Sparks01 BuildUpBlueSpark
16811        ParticleSysBone = Sparks02 BuildUpBlueSpark
16812      End
16813      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
16814        Model           = ABPatriot_A6S
16815        Animation       = ABPatriot_A6S.ABPatriot_A6S
16816        AnimationMode   = MANUAL
16817        Flags           = START_FRAME_LAST
16818        TransitionKey   = UP_SNOW
16819        ParticleSysBone = Sparks01 BuildUpBlueSpark
16820        ParticleSysBone = Sparks02 BuildUpBlueSpark
16821      End
16822      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
16823        Model           = ABPatriot_A6SN
16824        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16825        AnimationMode   = MANUAL
16826        Flags           = START_FRAME_LAST
16827        TransitionKey   = UP_SNOWNIGHT
16828        ParticleSysBone = Sparks01 BuildUpBlueSpark
16829        ParticleSysBone = Sparks02 BuildUpBlueSpark
16830      End
16831      TransitionState   = DOWN_DEFAULT UP_DAY
16832        Model           = ABPatriot_A6
16833        Animation       = ABPatriot_A6.ABPatriot_A6
16834        AnimationMode   = ONCE
16835        AnimationSpeedFactorRange = 1.0 1.0
16836        Flags           = START_FRAME_FIRST
16837      End
16838      TransitionState   = DOWN_DEFAULT UP_NIGHT
16839        Model           = ABPatriot_A6N
16840        Animation       = ABPatriot_A6N.ABPatriot_A6N
16841        AnimationMode   = ONCE
16842        AnimationSpeedFactorRange = 1.0 1.0
16843        Flags           = START_FRAME_FIRST
16844      End
16845      TransitionState   = DOWN_DEFAULT UP_SNOW
16846        Model           = ABPatriot_A6S
16847        Animation       = ABPatriot_A6S.ABPatriot_A6S
16848        AnimationMode   = ONCE
16849        AnimationSpeedFactorRange = 1.0 1.0
16850        Flags           = START_FRAME_FIRST
16851      End
16852      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
16853        Model           = ABPatriot_A6SN
16854        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16855        AnimationMode   = ONCE
16856        AnimationSpeedFactorRange = 1.0 1.0
16857        Flags           = START_FRAME_FIRST
16858      End
16859      TransitionState   = UP_DAY DOWN_DEFAULT
16860        Model           = ABPatriot_A6
16861        Animation       = ABPatriot_A6.ABPatriot_A6
16862        AnimationMode   = ONCE_BACKWARDS
16863        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16864        Flags           = START_FRAME_LAST
16865      End
16866      TransitionState   = UP_NIGHT DOWN_DEFAULT
16867        Model           = ABPatriot_A6N
16868        Animation       = ABPatriot_A6N.ABPatriot_A6N
16869        AnimationMode   = ONCE_BACKWARDS
16870        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16871        Flags           = START_FRAME_LAST
16872      End
16873      TransitionState   = UP_SNOW DOWN_DEFAULT
16874        Model           = ABPatriot_A6S
16875        Animation       = ABPatriot_A6S.ABPatriot_A6S
16876        AnimationMode   = ONCE_BACKWARDS
16877        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16878        Flags           = START_FRAME_LAST
16879      End
16880      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
16881        Model           = ABPatriot_A6SN
16882        Animation       = ABPatriot_A6SN.ABPatriot_A6SN
16883        AnimationMode   = ONCE_BACKWARDS
16884        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
16885        Flags           = START_FRAME_LAST
16886      End
16887    End
16888  
16889    PlacementViewAngle = -45
16890  
16891    ; ***DESIGN parameters ***
16892    DisplayName       = OBJECT:Lazr_PatriotBattery
16893    Side              = AmericaLaserGeneral
16894    EditorSorting     = STRUCTURE
16895    Prerequisites
16896      Object = Lazr_AmericaPowerPlant
16897    End
16898    BuildCost        = 1000
16899    BuildTime        = 25.0           
16900    EnergyProduction = -5
16901    WeaponSet
16902      Conditions          = None 
16903      Weapon              = PRIMARY     Lazr_PatriotMissileWeapon
16904      Weapon              = SECONDARY   Lazr_PatriotMissileAssistWeapon
16905      Weapon              = TERTIARY    Lazr_PatriotMissileWeaponAir
16906      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_AI FROM_SCRIPT
16907      AutoChooseSources   = SECONDARY   NONE
16908      AutoChooseSources   = TERTIARY    FROM_PLAYER FROM_AI FROM_SCRIPT  
16909      PreferredAgainst    = PRIMARY     VEHICLE INFANTRY
16910      PreferredAgainst    = SECONDARY   BALLISTIC_MISSILE AIRCRAFT
16911      PreferredAgainst    = TERTIARY    BALLISTIC_MISSILE AIRCRAFT
16912      ShareWeaponReloadTime = Yes
16913    End
16914    VisionRange    = 360.0           ; Shroud clearing distance AND targeting range
16915    ShroudClearingRange = 360
16916    ArmorSet
16917      Conditions      = None
16918      Armor           = BaseDefenseArmor
16919      DamageFX        = StructureDamageFXNoShake
16920    End
16921    CommandSet        = AmericaPatriotBatteryCommandSet
16922    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
16923  
16924    ;Behavior = AIUpdateInterface ModuleTag_20
16925    ;  AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS
16926    ;  MoodAttackCheckRate        = 250
16927    ;End
16928  
16929    ; *** AUDIO Parameters ***
16930    VoiceSelect = PatriotBatterySelect
16931    SoundOnDamaged        = BuildingDamagedStateLight
16932    SoundOnReallyDamaged  = BuildingDestroy
16933  
16934    UnitSpecificSounds
16935      UnderConstruction     = UnderConstructionLoop
16936    End
16937  
16938    UnitSpecificSounds
16939    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16940      TurretMoveStart = NoSound
16941      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
16942    End
16943  
16944    ; *** ENGINEERING Parameters ***
16945    RadarPriority   = STRUCTURE
16946    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE
16947    Body            = StructureBody ModuleTag_04
16948      MaxHealth     = 1000.0
16949      InitialHealth = 1000.0
16950      
16951      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16952      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16953      SubdualDamageCap = 1200
16954      SubdualDamageHealRate = 500
16955      SubdualDamageHealAmount = 100
16956    End
16957   
16958    Behavior = StealthDetectorUpdate ModuleTag_13
16959      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
16960      DetectionRange   =  200 ;Dustin, enable this for independant balancing!
16961      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
16962      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
16963    End
16964  
16965    Behavior = BaseRegenerateUpdate ModuleTag_05
16966      ;No data
16967    End 
16968    Behavior = AIUpdateInterface ModuleTag_06
16969      Turret
16970        TurretTurnRate        = 180   // turn rate, in degrees per sec
16971        TurretPitchRate       = 180
16972        AllowsPitch           = Yes
16973        NaturalTurretPitch    = 45   
16974        GroundUnitPitch       = 0
16975        MinPhysicalPitch      = -20
16976        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
16977        MinIdleScanInterval   = 250    ; in milliseconds
16978        MaxIdleScanInterval   = 250    ; in milliseconds
16979        MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
16980        MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
16981      End
16982  
16983      AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon
16984      MoodAttackCheckRate        = 250
16985    End
16986  
16987    Behavior = AssistedTargetingUpdate ModuleTag_07
16988      AssistingClipSize = 4                       ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon
16989      AssistingWeaponSlot = SECONDARY             ; And the weapon to use.  Should have huge range and no natural clip.
16990      LaserFromAssisted = PatriotBinaryDataStream ; Stream to draw from the requestor to me
16991      LaserToTarget = PatriotBinaryDataStream     ; Stream to draw from me to the target
16992    End
16993  
16994    Behavior = DestroyDie ModuleTag_08
16995      ;nothing
16996    End
16997    Behavior             = CreateObjectDie ModuleTag_09
16998      CreationList  = Lazr_OCL_AmericanRangerDebris03
16999      ExemptStatus  = UNDER_CONSTRUCTION
17000    End
17001    Behavior             = FXListDie ModuleTag_10
17002      DeathFX       = FX_StructureTinyDeath
17003    End
17004  
17005    Behavior = FlammableUpdate ModuleTag_12
17006      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17007      AflameDamageAmount = 5       ; taking this much damage...
17008      AflameDamageDelay = 500       ; this often.
17009    End
17010  
17011    Behavior = TransitionDamageFX ModuleTag_14
17012      ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS-------------------
17013      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
17014      ;---------------------------------------------------------------------------------------
17015      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke
17016      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion
17017      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave
17018    End
17019  
17020    Geometry            = CYLINDER
17021    GeometryMajorRadius = 12.0
17022    GeometryMinorRadius = 1.0
17023    GeometryHeight      = 14.0
17024    GeometryIsSmall     = No
17025    Shadow          = SHADOW_VOLUME
17026    BuildCompletion = PLACED_BY_PLAYER
17027  
17028  End
17029  
17030  
17031  
17032  
17033  
17034  
17035  
17036  
17037  
17038  
17039  
17040  
17041  
17042  
17043  
17044  
17045  
17046  
17047  
17048  
17049  
17050  
17051  
17052  
17053  
17054  
17055  
17056  
17057  
17058  
17059  
17060  
17061  
17062  
17063  
17064  
17065  
17066  
17067  
17068  
17069  
17070  
17071  
17072  
17073  
17074  
17075  
17076  
17077  
17078  
17079  
17080  ;------------------------------------------------------------------------------
17081  Object Lazr_AmericaLaserCannonUplink
17082  
17083    ; *** ART Parameters ***
17084    SelectPortrait         = SAUplink_L
17085    ButtonImage            = SAUplink
17086  
17087    Draw = W3DModelDraw ModuleTag_01
17088      ExtraPublicBone        = FX01
17089      ExtraPublicBone        = FX02
17090      ExtraPublicBone        = FX03
17091      ExtraPublicBone        = FX04
17092      ExtraPublicBone        = FX05
17093      OkToChangeModelColor = Yes
17094      
17095      
17096      ; day **************************************
17097      ConditionState       = NONE
17098        Model              = ABSDILink
17099        Animation          = ABSDILink.ABSDILink
17100        AnimationMode      = LOOP
17101        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17102      End
17103      ConditionState       = DAMAGED
17104        Model              = ABSDILink_D
17105        Animation          = ABSDILink_D.ABSDILink_D
17106        AnimationMode      = LOOP
17107        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17108      End
17109      ConditionState       = REALLYDAMAGED RUBBLE
17110        Model              = ABSDILink_E
17111        Animation          = ABSDILink_E.ABSDILink_E
17112        AnimationMode      = LOOP
17113        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17114      End
17115  
17116  
17117      ; night *************************************
17118      ConditionState       = NIGHT
17119        Model              = ABSDILink_N
17120        Animation          = ABSDILink_N.ABSDILink_N
17121        AnimationMode      = LOOP
17122        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17123      End
17124      ConditionState       = DAMAGED NIGHT
17125        Model              = ABSDILink_DN
17126        Animation          = ABSDILink_DN.ABSDILink_DN
17127        AnimationMode      = LOOP
17128        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17129      End
17130      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
17131        Model              = ABSDILink_EN
17132        Animation          = ABSDILink_EN.ABSDILink_EN
17133        AnimationMode      = LOOP
17134        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17135      End
17136      
17137      ; day snow **************************************
17138      ConditionState       = SNOW
17139        Model              = ABSDILink_S
17140        Animation          = ABSDILink_S.ABSDILink_S
17141        AnimationMode      = LOOP
17142        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17143      End
17144      ConditionState       = DAMAGED SNOW
17145        Model              = ABSDILink_DS
17146        Animation          = ABSDILink_DS.ABSDILink_DS
17147        AnimationMode      = LOOP
17148        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17149      End
17150      ConditionState       = REALLYDAMAGED RUBBLE SNOW
17151        Model              = ABSDILink_ES
17152        Animation          = ABSDILink_ES.ABSDILink_ES
17153        AnimationMode      = LOOP
17154        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17155      End
17156  
17157      ; night snow *************************************
17158      ConditionState       = NIGHT SNOW
17159        Model              = ABSDILink_NS
17160        Animation          = ABSDILink_NS.ABSDILink_NS
17161        AnimationMode      = LOOP
17162        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17163      End
17164      ConditionState       = DAMAGED NIGHT SNOW
17165        Model              = ABSDILink_DNS
17166        Animation          = ABSDILink_DNS.ABSDILink_DNS
17167        AnimationMode      = LOOP
17168        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17169      End
17170      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
17171        Model              = ABSDILink_ENS
17172        Animation          = ABSDILink_ENS.ABSDILink_ENS
17173        AnimationMode      = LOOP
17174        Flags              = MAINTAIN_FRAME_ACROSS_STATES
17175      End
17176  
17177      ;**************************************************************************************************************************
17178      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
17179      ;for this draw module
17180      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17181        Model              = ABSDILink
17182        Animation          = ABSDILink.ABSDILink
17183        AnimationMode      = LOOP
17184        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17185      End
17186      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
17187        Model              = ABSDILink_D
17188        Animation          = ABSDILink_D.ABSDILink_D
17189        AnimationMode      = LOOP
17190        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17191      End
17192      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
17193        Model              = ABSDILink_E
17194        Animation          = ABSDILink_E.ABSDILink_E
17195        AnimationMode      = LOOP
17196        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17197      End
17198      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
17199        Model              = ABSDILink_N
17200        Animation          = ABSDILink_N.ABSDILink_N
17201        AnimationMode      = LOOP
17202        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17203      End
17204      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
17205        Model              = ABSDILink_DN
17206        Animation          = ABSDILink_DN.ABSDILink_DN
17207        AnimationMode      = LOOP
17208        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17209      End
17210      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
17211        Model              = ABSDILink_EN
17212        Animation          = ABSDILink_EN.ABSDILink_EN
17213        AnimationMode      = LOOP
17214        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17215      End
17216      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
17217        Model              = ABSDILink_S
17218        Animation          = ABSDILink_S.ABSDILink_S
17219        AnimationMode      = LOOP
17220        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17221      End
17222      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
17223        Model              = ABSDILink_DS
17224        Animation          = ABSDILink_DS.ABSDILink_DS
17225        AnimationMode      = LOOP
17226        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17227      End
17228      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
17229        Model              = ABSDILink_ES
17230        Animation          = ABSDILink_ES.ABSDILink_ES
17231        AnimationMode      = LOOP
17232        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17233      End
17234      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
17235        Model              = ABSDILink_NS
17236        Animation          = ABSDILink_NS.ABSDILink_NS
17237        AnimationMode      = LOOP
17238        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17239      End
17240      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
17241        Model              = ABSDILink_DNS
17242        Animation          = ABSDILink_DNS.ABSDILink_DNS
17243        AnimationMode      = LOOP
17244        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17245      End
17246      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
17247        Model              = ABSDILink_ENS
17248        Animation          = ABSDILink_ENS.ABSDILink_ENS
17249        AnimationMode      = LOOP
17250        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17251      End
17252  
17253      ConditionState       = AWAITING_CONSTRUCTION 
17254        Model              = NONE
17255      End
17256      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
17257      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
17258      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
17259      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
17260      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
17261      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
17262      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
17263      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
17264      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
17265      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
17266      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
17267      AliasConditionState  = SOLD 
17268      AliasConditionState  = SOLD DAMAGED
17269      AliasConditionState  = SOLD REALLYDAMAGED
17270      AliasConditionState  = SOLD NIGHT
17271      AliasConditionState  = SOLD NIGHT DAMAGED
17272      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
17273      AliasConditionState  = SOLD SNOW
17274      AliasConditionState  = SOLD SNOW DAMAGED
17275      AliasConditionState  = SOLD SNOW REALLYDAMAGED
17276      AliasConditionState  = SOLD NIGHT SNOW
17277      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
17278      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
17279      ;**************************************************************************************************************************
17280  
17281  
17282  
17283    End
17284  
17285    ;------------ the cannon section (hatch, dish animations) -----------
17286    Draw = W3DModelDraw ModuleTag_02
17287      ExtraPublicBone        = FXConnector
17288      ExtraPublicBone        = FXMain
17289      OkToChangeModelColor = Yes
17290      ; day **************************************
17291      ConditionState       = NONE
17292        Model              = ABSDILink_A1
17293        Animation          = ABSDILink_A1.ABSDILink_A1
17294        AnimationMode      = MANUAL
17295        Flags              = START_FRAME_FIRST
17296      End
17297      AliasConditionState  = NIGHT 
17298      AliasConditionState  = NIGHT SNOW
17299      AliasConditionState  = SNOW
17300      
17301      ConditionState       = DAMAGED
17302        Model              = ABSDILink_A1D
17303        Animation          = ABSDILink_A1D.ABSDILink_A1D
17304        AnimationMode      = MANUAL
17305        Flags              = START_FRAME_FIRST
17306      End
17307      AliasConditionState  = NIGHT DAMAGED
17308      AliasConditionState  = NIGHT SNOW DAMAGED
17309      AliasConditionState  = SNOW DAMAGED
17310      
17311      ConditionState       = REALLYDAMAGED RUBBLE
17312        Model              = ABSDILink_A1E
17313        Animation          = ABSDILink_A1E.ABSDILink_A1E
17314        AnimationMode      = MANUAL
17315        Flags              = START_FRAME_FIRST
17316      End
17317      AliasConditionState  = NIGHT REALLYDAMAGED RUBBLE
17318      AliasConditionState  = NIGHT SNOW REALLYDAMAGED RUBBLE
17319      AliasConditionState  = SNOW REALLYDAMAGED RUBBLE
17320      
17321      ConditionState       = AWAITING_CONSTRUCTION
17322        Model              = None
17323      End
17324      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION
17325      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION
17326      AliasConditionState  = SNOW AWAITING_CONSTRUCTION
17327      
17328      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17329        Model              = ABSDILink_A1
17330        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17331      End
17332      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17333      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17334      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17335      
17336      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
17337        Model              = ABSDILink_A1D
17338        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17339      End
17340      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
17341      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
17342      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
17343  
17344      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
17345        Model              = ABSDILink_A1E
17346        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
17347      End
17348      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
17349      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
17350      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
17351  
17352      ;Preparing to fire!
17353      ConditionState       = UNPACKING
17354        Model              = ABSDILink_A1
17355        Animation          = ABSDILink_A1.ABSDILink_A1
17356        AnimationMode      = ONCE
17357        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
17358      End
17359      AliasConditionState  = NIGHT UNPACKING
17360      AliasConditionState  = NIGHT SNOW UNPACKING
17361      AliasConditionState  = SNOW UNPACKING
17362      
17363      ConditionState       = UNPACKING DAMAGED
17364        Model              = ABSDILink_A1D
17365        Animation          = ABSDILink_A1D.ABSDILink_A1D
17366        AnimationMode      = ONCE
17367        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
17368      End
17369      AliasConditionState  = NIGHT UNPACKING DAMAGED
17370      AliasConditionState  = NIGHT SNOW UNPACKING DAMAGED
17371      AliasConditionState  = SNOW UNPACKING DAMAGED
17372      
17373      ConditionState       = UNPACKING REALLYDAMAGED RUBBLE
17374        Model              = ABSDILink_A1E
17375        Animation          = ABSDILink_A1E.ABSDILink_A1E
17376        AnimationMode      = ONCE
17377        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
17378      End
17379      AliasConditionState  = NIGHT UNPACKING REALLYDAMAGED RUBBLE
17380      AliasConditionState  = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE
17381      AliasConditionState  = SNOW UNPACKING REALLYDAMAGED RUBBLE
17382  
17383      ;Ready to fire -- or firing!
17384      ConditionState       = DEPLOYED
17385        Model              = ABSDILink_A1
17386        Animation          = ABSDILink_A1.ABSDILink_A1
17387        AnimationMode      = MANUAL
17388        Flags              = START_FRAME_LAST
17389      End
17390      AliasConditionState  = NIGHT DEPLOYED
17391      AliasConditionState  = NIGHT SNOW DEPLOYED
17392      AliasConditionState  = SNOW DEPLOYED
17393      
17394      ConditionState       = DEPLOYED DAMAGED
17395        Model              = ABSDILink_A1D
17396        Animation          = ABSDILink_A1D.ABSDILink_A1D
17397        AnimationMode      = MANUAL
17398        Flags              = START_FRAME_LAST
17399      End
17400      AliasConditionState  = NIGHT DEPLOYED DAMAGED
17401      AliasConditionState  = NIGHT SNOW DEPLOYED DAMAGED
17402      AliasConditionState  = SNOW DEPLOYED DAMAGED
17403      
17404      ConditionState       = DEPLOYED REALLYDAMAGED RUBBLE
17405        Model              = ABSDILink_A1E
17406        Animation          = ABSDILink_A1E.ABSDILink_A1E
17407        AnimationMode      = MANUAL
17408        Flags              = START_FRAME_LAST
17409      End
17410      AliasConditionState  = NIGHT DEPLOYED REALLYDAMAGED RUBBLE
17411      AliasConditionState  = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE
17412      AliasConditionState  = SNOW DEPLOYED REALLYDAMAGED RUBBLE
17413     
17414      ;Packing up (recharging for new attack)
17415      ConditionState       = PACKING
17416        Model              = ABSDILink_A1
17417        Animation          = ABSDILink_A1.ABSDILink_A1
17418        AnimationMode      = ONCE_BACKWARDS
17419        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
17420      End
17421      AliasConditionState  = NIGHT PACKING
17422      AliasConditionState  = NIGHT SNOW PACKING
17423      AliasConditionState  = SNOW PACKING
17424      
17425      ConditionState       = PACKING DAMAGED
17426        Model              = ABSDILink_A1D
17427        Animation          = ABSDILink_A1D.ABSDILink_A1D
17428        AnimationMode      = ONCE_BACKWARDS
17429        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
17430      End
17431      AliasConditionState  = NIGHT PACKING DAMAGED
17432      AliasConditionState  = NIGHT SNOW PACKING DAMAGED
17433      AliasConditionState  = SNOW PACKING DAMAGED
17434      
17435      ConditionState       = PACKING REALLYDAMAGED RUBBLE
17436        Model              = ABSDILink_A1E
17437        Animation          = ABSDILink_A1E.ABSDILink_A1E
17438        AnimationMode      = ONCE_BACKWARDS
17439        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
17440      End
17441      AliasConditionState  = NIGHT PACKING REALLYDAMAGED RUBBLE
17442      AliasConditionState  = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE
17443      AliasConditionState  = SNOW PACKING REALLYDAMAGED RUBBLE
17444  
17445     
17446      ConditionState       = SOLD DEPLOYED
17447        Model              = NONE
17448      End     
17449      ConditionState       = SOLD SNOW DEPLOYED
17450         Model             = NONE
17451      End   
17452      ConditionState       = SOLD NIGHT DEPLOYED
17453         Model             = NONE
17454      End    
17455      ConditionState       = SOLD NIGHT SNOW DEPLOYED
17456         Model             = NONE
17457      End   
17458    End
17459  
17460  
17461    ; ------------ construction-zone fence -----------------
17462    Draw = W3DModelDraw ModuleTag_03
17463    AnimationsRequirePower = No
17464      DefaultConditionState
17465        Model           = None
17466        TransitionKey   = DOWN_DEFAULT
17467      End
17468      ConditionState    = NIGHT
17469        Model           = None
17470        TransitionKey   = DOWN_DEFAULT
17471      End
17472      ConditionState    = SNOW
17473        Model           = None
17474        TransitionKey   = DOWN_DEFAULT
17475      End
17476      ConditionState    = SNOW NIGHT
17477        Model           = None
17478        TransitionKey   = DOWN_DEFAULT
17479      End
17480      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17481        Model           = ABSDILink_A4
17482        Animation       = ABSDILink_A4.ABSDILink_A4
17483        AnimationMode   = MANUAL
17484        Flags           = START_FRAME_LAST
17485        TransitionKey   = UP_DAY
17486        ParticleSysBone = SmokeS01 SmokeBuildingSmall
17487        ParticleSysBone = SparksS01 LiveWireSparks02
17488      End
17489      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17490        Model           = ABSDILink_A4N
17491        Animation       = ABSDILink_A4N.ABSDILink_A4N
17492        AnimationMode   = MANUAL
17493        Flags           = START_FRAME_LAST
17494        TransitionKey   = UP_NIGHT
17495        ParticleSysBone = SmokeS01 SmokeBuildingSmall
17496        ParticleSysBone = SparksS01 LiveWireSparks02
17497      End
17498      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17499        Model           = ABSDILink_A4S
17500        Animation       = ABSDILink_A4S.ABSDILink_A4S
17501        AnimationMode   = MANUAL
17502        Flags           = START_FRAME_LAST
17503        TransitionKey   = UP_SNOW
17504        ParticleSysBone = SmokeS01 SmokeBuildingSmall
17505        ParticleSysBone = SparksS01 LiveWireSparks02
17506      End
17507      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
17508        Model           = ABSDILink_A4SN
17509        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
17510        AnimationMode   = MANUAL
17511        Flags           = START_FRAME_LAST
17512        TransitionKey   = UP_SNOWNIGHT
17513        ParticleSysBone = SmokeS01 SmokeBuildingSmall
17514        ParticleSysBone = SparksS01 LiveWireSparks02
17515      End
17516      TransitionState   = DOWN_DEFAULT UP_DAY
17517        Model           = ABSDILink_A4
17518        Animation       = ABSDILink_A4.ABSDILink_A4
17519        AnimationMode   = ONCE
17520        AnimationSpeedFactorRange = 1.0 1.0
17521        Flags           = START_FRAME_FIRST
17522      End
17523      TransitionState   = DOWN_DEFAULT UP_NIGHT
17524        Model           = ABSDILink_A4N
17525        Animation       = ABSDILink_A4N.ABSDILink_A4N
17526        AnimationMode   = ONCE
17527        AnimationSpeedFactorRange = 1.0 1.0
17528        Flags           = START_FRAME_FIRST
17529      End
17530      TransitionState   = DOWN_DEFAULT UP_SNOW
17531        Model           = ABSDILink_A4S
17532        Animation       = ABSDILink_A4S.ABSDILink_A4S
17533        AnimationMode   = ONCE
17534        AnimationSpeedFactorRange = 1.0 1.0
17535        Flags           = START_FRAME_FIRST
17536      End
17537      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
17538        Model           = ABSDILink_A4SN
17539        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
17540        AnimationMode   = ONCE
17541        AnimationSpeedFactorRange = 1.0 1.0
17542        Flags           = START_FRAME_FIRST
17543      End
17544      TransitionState   = UP_DAY DOWN_DEFAULT
17545        Model           = ABSDILink_A4
17546        Animation       = ABSDILink_A4.ABSDILink_A4
17547        AnimationMode   = ONCE_BACKWARDS
17548        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17549        Flags           = START_FRAME_LAST
17550      End
17551      TransitionState   = UP_NIGHT DOWN_DEFAULT
17552        Model           = ABSDILink_A4N
17553        Animation       = ABSDILink_A4N.ABSDILink_A4N
17554        AnimationMode   = ONCE_BACKWARDS
17555        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17556        Flags           = START_FRAME_LAST
17557      End
17558      TransitionState   = UP_SNOW DOWN_DEFAULT
17559        Model           = ABSDILink_A4S
17560        Animation       = ABSDILink_A4S.ABSDILink_A4S
17561        AnimationMode   = ONCE_BACKWARDS
17562        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17563        Flags           = START_FRAME_LAST
17564      End
17565      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
17566        Model           = ABSDILink_A4SN
17567        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
17568        AnimationMode   = ONCE_BACKWARDS
17569        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17570        Flags           = START_FRAME_LAST
17571      End
17572    End
17573  
17574    ; ------------ under-construction scaffolding -----------------
17575    Draw = W3DModelDraw ModuleTag_04
17576    AnimationsRequirePower = No
17577      MinLODRequired = MEDIUM
17578      DefaultConditionState
17579        Model           = None
17580        TransitionKey   = DOWN_DEFAULT
17581      End
17582      ConditionState    = NIGHT
17583        Model           = None
17584        TransitionKey   = DOWN_DEFAULT
17585      End
17586      ConditionState    = SNOW
17587        Model           = None
17588        TransitionKey   = DOWN_DEFAULT
17589      End
17590      ConditionState    = SNOW NIGHT
17591        Model           = None
17592        TransitionKey   = DOWN_DEFAULT
17593      End
17594      ConditionState    = PARTIALLY_CONSTRUCTED
17595        Model           = ABSDILink_A6
17596        Animation       = ABSDILink_A6.ABSDILink_A6
17597        AnimationMode   = MANUAL
17598        Flags           = START_FRAME_LAST
17599        TransitionKey   = UP_DAY
17600        ParticleSysBone = Sparks01 BuildUpBlueSpark
17601        ParticleSysBone = Sparks02 BuildUpBlueSpark
17602        ParticleSysBone = Sparks03 BuildUpBlueSpark
17603        ParticleSysBone = Sparks04 BuildUpBlueSpark
17604        ParticleSysBone = Sparks05 BuildUpBlueSpark
17605      End
17606      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
17607        Model           = ABSDILink_A6N
17608        Animation       = ABSDILink_A6N.ABSDILink_A6N
17609        AnimationMode   = MANUAL
17610        Flags           = START_FRAME_LAST
17611        TransitionKey   = UP_NIGHT
17612        ParticleSysBone = Sparks01 BuildUpBlueSpark
17613        ParticleSysBone = Sparks02 BuildUpBlueSpark
17614        ParticleSysBone = Sparks03 BuildUpBlueSpark
17615        ParticleSysBone = Sparks04 BuildUpBlueSpark
17616        ParticleSysBone = Sparks05 BuildUpBlueSpark
17617      End
17618      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
17619        Model           = ABSDILink_A6S
17620        Animation       = ABSDILink_A6S.ABSDILink_A6S
17621        AnimationMode   = MANUAL
17622        Flags           = START_FRAME_LAST
17623        TransitionKey   = UP_SNOW
17624        ParticleSysBone = Sparks01 BuildUpBlueSpark
17625        ParticleSysBone = Sparks02 BuildUpBlueSpark
17626        ParticleSysBone = Sparks03 BuildUpBlueSpark
17627        ParticleSysBone = Sparks04 BuildUpBlueSpark
17628        ParticleSysBone = Sparks05 BuildUpBlueSpark
17629      End
17630      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
17631        Model           = ABSDILink_A6SN
17632        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
17633        AnimationMode   = MANUAL
17634        Flags           = START_FRAME_LAST
17635        TransitionKey   = UP_SNOWNIGHT
17636        ParticleSysBone = Sparks01 BuildUpBlueSpark
17637        ParticleSysBone = Sparks02 BuildUpBlueSpark
17638        ParticleSysBone = Sparks03 BuildUpBlueSpark
17639        ParticleSysBone = Sparks04 BuildUpBlueSpark
17640        ParticleSysBone = Sparks05 BuildUpBlueSpark
17641      End
17642      TransitionState   = DOWN_DEFAULT UP_DAY
17643       Model            = ABSDILink_A6
17644        Animation       = ABSDILink_A6.ABSDILink_A6
17645        AnimationMode   = ONCE
17646        AnimationSpeedFactorRange = 1.0 1.0
17647        Flags           = START_FRAME_FIRST
17648      End
17649      TransitionState   = DOWN_DEFAULT UP_NIGHT
17650       Model            = ABSDILink_A6N
17651        Animation       = ABSDILink_A6N.ABSDILink_A6N
17652        AnimationMode   = ONCE
17653        AnimationSpeedFactorRange = 1.0 1.0
17654        Flags           = START_FRAME_FIRST
17655      End
17656      TransitionState   = DOWN_DEFAULT UP_SNOW
17657       Model            = ABSDILink_A6S
17658        Animation       = ABSDILink_A6S.ABSDILink_A6S
17659        AnimationMode   = ONCE
17660        AnimationSpeedFactorRange = 1.0 1.0
17661        Flags           = START_FRAME_FIRST
17662      End
17663      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
17664       Model            = ABSDILink_A6SN
17665        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
17666        AnimationMode   = ONCE
17667        AnimationSpeedFactorRange = 1.0 1.0
17668        Flags           = START_FRAME_FIRST
17669      End
17670      TransitionState   = UP_DAY DOWN_DEFAULT
17671        Model           = ABSDILink_A6
17672        Animation       = ABSDILink_A6.ABSDILink_A6
17673        AnimationMode   = ONCE_BACKWARDS
17674        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17675        Flags           = START_FRAME_LAST
17676      End
17677      TransitionState   = UP_NIGHT DOWN_DEFAULT
17678        Model           = ABSDILink_A6N
17679        Animation       = ABSDILink_A6N.ABSDILink_A6N
17680        AnimationMode   = ONCE_BACKWARDS
17681        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17682        Flags           = START_FRAME_LAST
17683      End
17684      TransitionState   = UP_SNOW DOWN_DEFAULT
17685        Model           = ABSDILink_A6S
17686        Animation       = ABSDILink_A6S.ABSDILink_A6S
17687        AnimationMode   = ONCE_BACKWARDS
17688        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17689        Flags           = START_FRAME_LAST
17690      End
17691      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
17692        Model           = ABSDILink_A6SN
17693        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
17694        AnimationMode   = ONCE_BACKWARDS
17695        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17696        Flags           = START_FRAME_LAST
17697      End
17698    End
17699  
17700    ; ------------ being-constructed crane -----------------
17701    Draw = W3DModelDraw ModuleTag_05
17702    AnimationsRequirePower = No
17703      DefaultConditionState
17704        Model           = None
17705        TransitionKey   = DOWN_DEFAULT
17706      End
17707      ConditionState    = NIGHT
17708        Model           = None
17709        TransitionKey   = DOWN_DEFAULT
17710      End
17711      ConditionState    = SNOW
17712        Model           = None
17713        TransitionKey   = DOWN_DEFAULT
17714      End
17715      ConditionState    = SNOW NIGHT
17716        Model           = None
17717        TransitionKey   = DOWN_DEFAULT
17718      End
17719      ConditionState    = SOLD
17720        Model           = NONE
17721      End
17722  
17723      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
17724        Model           = ABSDILink_A5
17725        Animation       = ABSDILink_A5.ABSDILink_A5
17726        AnimationMode   = LOOP
17727        TransitionKey  = UP_DAY
17728      End
17729  
17730      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
17731        Model           = ABSDILink_A5N
17732        Animation       = ABSDILink_A5N.ABSDILink_A5N
17733        AnimationMode   = LOOP
17734        TransitionKey  = UP_NIGHT
17735      End
17736      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
17737        Model           = ABSDILink_A5S
17738        Animation       = ABSDILink_A5S.ABSDILink_A5S
17739        AnimationMode   = LOOP
17740        TransitionKey  = UP_SNOW
17741      End
17742      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
17743        Model           = ABSDILink_A5SN
17744        Animation       = ABSDILink_A5SN.ABSDILink_A5SN
17745        AnimationMode   = LOOP
17746        TransitionKey  = UP_SNOWNIGHT
17747      End
17748      TransitionState   = DOWN_DEFAULT UP_DAY
17749        Model            = ABSDILink_AB
17750        Animation       = ABSDILink_AB.ABSDILink_AB
17751        AnimationMode   = ONCE
17752        AnimationSpeedFactorRange = 1.0 1.0
17753        Flags           = START_FRAME_FIRST
17754      End
17755  
17756      TransitionState   = DOWN_DEFAULT UP_NIGHT
17757        Model            = ABSDILink_ABN
17758        Animation       = ABSDILink_ABN.ABSDILink_ABN
17759        AnimationMode   = ONCE
17760        AnimationSpeedFactorRange = 1.0 1.0
17761        Flags           = START_FRAME_FIRST
17762      End
17763      TransitionState   = DOWN_DEFAULT UP_SNOW
17764        Model            = ABSDILink_ABS
17765        Animation       = ABSDILink_ABS.ABSDILink_ABS
17766        AnimationMode   = ONCE
17767        AnimationSpeedFactorRange = 1.0 1.0
17768        Flags           = START_FRAME_FIRST
17769      End
17770      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
17771        Model            = ABSDILink_ABSN
17772        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
17773        AnimationMode   = ONCE
17774        AnimationSpeedFactorRange = 1.0 1.0
17775        Flags           = START_FRAME_FIRST
17776      End
17777      TransitionState   = UP_DAY DOWN_DEFAULT
17778        Model            = ABSDILink_AB
17779        Animation       = ABSDILink_AB.ABSDILink_AB
17780        AnimationMode   = ONCE_BACKWARDS
17781        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17782        Flags           = START_FRAME_LAST
17783      End
17784      TransitionState   = UP_NIGHT DOWN_DEFAULT
17785        Model            = ABSDILink_ABN
17786        Animation       = ABSDILink_ABN.ABSDILink_ABN
17787        AnimationMode   = ONCE_BACKWARDS
17788        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17789        Flags           = START_FRAME_LAST
17790      End
17791      TransitionState   = UP_SNOW DOWN_DEFAULT
17792        Model            = ABSDILink_ABS
17793        Animation       = ABSDILink_ABS.ABSDILink_ABS
17794        AnimationMode   = ONCE_BACKWARDS
17795        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17796        Flags           = START_FRAME_LAST
17797      End
17798      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
17799        Model            = ABSDILink_ABSN
17800        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
17801        AnimationMode   = ONCE_BACKWARDS
17802        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
17803        Flags           = START_FRAME_LAST
17804      End
17805    End
17806   
17807    PlacementViewAngle = -45
17808  
17809    ; ***DESIGN parameters ***
17810    DisplayName      = OBJECT:ParticleCannon 
17811    Side = AmericaLaserGeneral
17812    EditorSorting    = STRUCTURE
17813    Prerequisites
17814      Object = Lazr_AmericaStrategyCenter
17815      Object = Lazr_AmericaAirfield
17816    End
17817    BuildCost        = 5000
17818    BuildTime        = 60.0           ; in seconds
17819    EnergyProduction = -10
17820    VisionRange     = 200.0           ; Shroud clearing distance
17821    ShroudClearingRange = 200
17822    ArmorSet
17823      Conditions      = None
17824      Armor           = StructureArmorTough
17825      DamageFX        = StructureDamageFXNoShake
17826    End
17827    CommandSet        = Lazr_AmericaParticleUplinkCannonCommandSet
17828    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
17829  
17830    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
17831    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
17832  
17833    ; *** AUDIO Parameters ***
17834    VoiceSelect = ParticleCannonSelect
17835    SoundOnDamaged        = BuildingDamagedStateLight
17836    SoundOnReallyDamaged  = BuildingDestroy
17837  
17838    UnitSpecificSounds
17839      UnderConstruction     = UnderConstructionLoop
17840    End
17841  
17842    ; *** ENGINEERING Parameters ***
17843    RadarPriority   = STRUCTURE
17844    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
17845    Body            = StructureBody ModuleTag_06
17846      MaxHealth       = 4000.0
17847      InitialHealth   = 4000.0
17848  
17849      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
17850      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
17851      SubdualDamageCap = 4200
17852      SubdualDamageHealRate = 500
17853      SubdualDamageHealAmount = 100
17854    End
17855    Behavior = BaseRegenerateUpdate ModuleTag_07
17856      ;No data
17857    End
17858  
17859    Behavior = SpecialPowerCreate ModuleTag_16
17860      ;nothing
17861    End
17862    Behavior = SpecialAbility ModuleTag_11
17863      SpecialPowerTemplate = SuperweaponParticleUplinkCannon
17864      UpdateModuleStartsAttack = Yes
17865    End
17866    Behavior = ParticleUplinkCannonUpdate ModuleTag_12
17867      SpecialPowerTemplate            = SuperweaponParticleUplinkCannon
17868  
17869      ;The values trigger the various pre-stages before being ready to actually fire.
17870      ;The total combined value of these determines the first sign of activity in the 
17871      ;cannon.
17872      BeginChargeTime                 = 5000 ;The outer nodes begin to charge.
17873      RaiseAntennaTime                = 4667 ;The hatch opens and raises antenna (matches animation speed)
17874      ReadyDelayTime                  = 2000 ;The time after antenna is raised prior to being ready to fire.
17875  
17876      ;***NOTE -- these values effect gameplay*****
17877      TotalFiringTime                 = 10000     ;The total ground contact time of the beam
17878  
17879      DamagePerSecond                 = 400       ;Amount of damage inflicted per second
17880      TotalDamagePulses               = 40        ;The total number of damage pulses -- less means more damage per pulse, but less accurate
17881      WidthGrowTime                   = 2000      ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking)
17882      BeamTravelTime                  = 2500      ;How long it takes for the beam to hit the ground after leaving the firing dish.
17883      DamageType                      = PARTICLE_BEAM ;Type of damage inflicted.
17884      DamageRadiusScalar              = 3.4       ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too!
17885      RevealRange                     = 50.0      ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death.
17886      ;********************************************
17887  
17888      ;Bone names for required elements
17889      OuterEffectBoneName             = FX          ;The base name for the outer node bones.
17890      OuterEffectNumBones             = 5           ;The number of outer nodes.
17891      ConnectorBoneName               = FXConnector ;The name of the bone where the connector lasers meet.
17892      FireBoneName                    = FXMain      ;The name of the bone where the main beam is fired from.
17893  
17894      ;These are particle systems tied to the outer nodes in varying intensities.
17895      OuterNodesLightFlareParticleSystem    = ParticleUplinkCannon_OuterNodeLightFlare
17896      OuterNodesMediumFlareParticleSystem   = ParticleUplinkCannon_OuterNodeMediumFlare
17897      OuterNodesIntenseFlareParticleSystem  = ParticleUplinkCannon_OuterNodeIntenseFlare
17898  
17899      ;The connectors system connects each of the outer nodes to the central node that receives
17900      ;the lasers from outside.
17901      ConnectorMediumLaserName        = ParticleUplinkCannon_MediumConnectorLaser
17902      ConnectorIntenseLaserName       = ParticleUplinkCannon_IntenseConnectorLaser
17903  
17904      ;Currently commented out -- These
17905      ;ConnectorMediumFlare            = ParticleUplinkCannon_InnerConnectorMediumFlare
17906      ;ConnectorIntenseFlare           = ParticleUplinkCannon_InnerConnectorIntenseFlare
17907  
17908      ;This is the name of the bone on the building where the beam is fired from
17909      LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire
17910      ParticleBeamLaserName           = ParticleUplinkCannon_OrbitalLaser
17911      GroundHitFX                     = FX_ParticleUplinkCannon_BeamHitsGround     ;TotalScorchMarks determines how many times this gets called.
17912  
17913      ;The flare fxlist that is played over and over during the beam firing process. Be
17914      ;mindful of the delay because that effects both art and sound.
17915      BeamLaunchFX                   = FX_ParticleUplinkCannon_BeamLaunchIteration
17916      DelayBetweenLaunchFX           = 1000
17917  
17918      ;Each scorch mark creates an object in the world, so while making more looks better
17919      ;it becomes a performance issue. The scalar will calculate the size of the scorch
17920      ;mark to make based on the current size of the beam (which changes dynamically). The
17921      ;number also matches the number of times the "GroundHitFX" is called.
17922      TotalScorchMarks               = 20
17923      ScorchMarkScalar               = 2.4
17924  
17925      ;***NOTE -- these values effect gameplay***
17926      ;The swath of death is the path the laser tracers centered on the targeted position.
17927      ;If the amplitude is zero, the line will go straight, with a higher value, it'll do
17928      ;a sine wave iteration, but always goes through the target point.
17929      SwathOfDeathDistance           = 200.0
17930      SwathOfDeathAmplitude          = 50.0
17931  
17932  
17933      ManualDrivingSpeed             = 20
17934      ManualFastDrivingSpeed         = 40
17935      DoubleClickToFastDriveDelay    = 500
17936  
17937      ;***SOUNDS!****
17938      PoweringUpSoundLoop            = ParticleUplinkCannon_PowerupSoundLoop
17939      UnpackToIdleSoundLoop          = ParticleUplinkCannon_UnpackToIdleSoundLoop
17940      FiringToPackSoundLoop          = ParticleUplinkCannon_FiringToPackSoundLoop
17941      GroundAnnihilationSoundLoop    = ParticleUplinkCannon_GroundAnnihilationSoundLoop
17942  
17943      ;The trail left behind creates an object that inflicts extra damage for a short period of time.
17944      DamagePulseRemnantObjectName   = ParticleUplinkCannonTrailRemnant
17945    End
17946    
17947    Behavior = FlammableUpdate ModuleTag_14
17948      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17949      AflameDamageAmount = 5       ; taking this much damage...
17950      AflameDamageDelay = 500       ; this often.
17951    End
17952  
17953    Behavior = ProductionUpdate ModuleTag_15
17954      ; This is needed in order to get a public timer to work!
17955    End
17956  
17957    Behavior = TransitionDamageFX ModuleTag_17
17958      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
17959      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
17960      ;---------------------------------------------------------------------------------------
17961      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
17962      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
17963      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
17964    End
17965  
17966    Behavior = SlowDeathBehavior ModuleTag_18
17967      ; don't run this death if we are under construction...
17968      ExemptStatus   = UNDER_CONSTRUCTION
17969      DestructionDelay = 2000
17970      FX             = INITIAL FX_ParticleUplinkDeathInitial
17971      OCL            = INITIAL OCL_SDILinkLasers
17972      FX             = FINAL   FX_StructureMediumDeath
17973      OCL            = FINAL   OCL_ParticleUplinkDeathFinal
17974    End
17975  
17976    Behavior = InstantDeathBehavior ModuleTag_19
17977      ; if we are under construction, use this death instead
17978      RequiredStatus = UNDER_CONSTRUCTION
17979      OCL            = OCL_ABPowerPlantExplode
17980      FX             = FX_StructureMediumDeath
17981    End
17982  
17983    Geometry            = BOX
17984    GeometryMajorRadius = 64.0
17985    GeometryMinorRadius = 38.0
17986    GeometryHeight      = 38.0
17987    GeometryIsSmall     = No
17988    Shadow          = SHADOW_VOLUME
17989    BuildCompletion = PLACED_BY_PLAYER
17990  
17991  End
17992  
17993  
17994  
17995  
17996  
17997  
17998  
17999  
18000  
18001  
18002  
18003  
18004  
18005  
18006  
18007  
18008  
18009  
18010  
18011  
18012  
18013  
18014  
18015  
18016  
18017  
18018  
18019  
18020  
18021  
18022  
18023  
18024  
18025  
18026  
18027  
18028  
18029  
18030  
18031  
18032  
18033  ;------------------------------------------------------------------------------
18034  Object Lazr_AmericaLaserCannon
18035  
18036    ; *** ART Parameters ***
18037    SelectPortrait         = SAUplink_L
18038    ButtonImage            = SAUplink
18039  
18040    Draw = W3DModelDraw ModuleTag_01
18041      ExtraPublicBone        = FX01
18042      ExtraPublicBone        = FX02
18043      ExtraPublicBone        = FX03
18044      ExtraPublicBone        = FX04
18045      ExtraPublicBone        = FX05
18046      OkToChangeModelColor = Yes
18047      
18048      
18049      ; day **************************************
18050      ConditionState       = NONE
18051        Model              = ABSDILink
18052        Animation          = ABSDILink.ABSDILink
18053        AnimationMode      = LOOP
18054        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18055      End
18056      ConditionState       = DAMAGED
18057        Model              = ABSDILink_D
18058        Animation          = ABSDILink_D.ABSDILink_D
18059        AnimationMode      = LOOP
18060        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18061      End
18062      ConditionState       = REALLYDAMAGED RUBBLE
18063        Model              = ABSDILink_E
18064        Animation          = ABSDILink_E.ABSDILink_E
18065        AnimationMode      = LOOP
18066        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18067      End
18068  
18069  
18070      ; night *************************************
18071      ConditionState       = NIGHT
18072        Model              = ABSDILink_N
18073        Animation          = ABSDILink_N.ABSDILink_N
18074        AnimationMode      = LOOP
18075        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18076      End
18077      ConditionState       = DAMAGED NIGHT
18078        Model              = ABSDILink_DN
18079        Animation          = ABSDILink_DN.ABSDILink_DN
18080        AnimationMode      = LOOP
18081        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18082      End
18083      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
18084        Model              = ABSDILink_EN
18085        Animation          = ABSDILink_EN.ABSDILink_EN
18086        AnimationMode      = LOOP
18087        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18088      End
18089      
18090      ; day snow **************************************
18091      ConditionState       = SNOW
18092        Model              = ABSDILink_S
18093        Animation          = ABSDILink_S.ABSDILink_S
18094        AnimationMode      = LOOP
18095        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18096      End
18097      ConditionState       = DAMAGED SNOW
18098        Model              = ABSDILink_DS
18099        Animation          = ABSDILink_DS.ABSDILink_DS
18100        AnimationMode      = LOOP
18101        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18102      End
18103      ConditionState       = REALLYDAMAGED RUBBLE SNOW
18104        Model              = ABSDILink_ES
18105        Animation          = ABSDILink_ES.ABSDILink_ES
18106        AnimationMode      = LOOP
18107        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18108      End
18109  
18110      ; night snow *************************************
18111      ConditionState       = NIGHT SNOW
18112        Model              = ABSDILink_NS
18113        Animation          = ABSDILink_NS.ABSDILink_NS
18114        AnimationMode      = LOOP
18115        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18116      End
18117      ConditionState       = DAMAGED NIGHT SNOW
18118        Model              = ABSDILink_DNS
18119        Animation          = ABSDILink_DNS.ABSDILink_DNS
18120        AnimationMode      = LOOP
18121        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18122      End
18123      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
18124        Model              = ABSDILink_ENS
18125        Animation          = ABSDILink_ENS.ABSDILink_ENS
18126        AnimationMode      = LOOP
18127        Flags              = MAINTAIN_FRAME_ACROSS_STATES
18128      End
18129  
18130      ;**************************************************************************************************************************
18131      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
18132      ;for this draw module
18133      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18134        Model              = ABSDILink
18135        Animation          = ABSDILink.ABSDILink
18136        AnimationMode      = LOOP
18137        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18138      End
18139      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18140        Model              = ABSDILink_D
18141        Animation          = ABSDILink_D.ABSDILink_D
18142        AnimationMode      = LOOP
18143        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18144      End
18145      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
18146        Model              = ABSDILink_E
18147        Animation          = ABSDILink_E.ABSDILink_E
18148        AnimationMode      = LOOP
18149        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18150      End
18151      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
18152        Model              = ABSDILink_N
18153        Animation          = ABSDILink_N.ABSDILink_N
18154        AnimationMode      = LOOP
18155        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18156      End
18157      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
18158        Model              = ABSDILink_DN
18159        Animation          = ABSDILink_DN.ABSDILink_DN
18160        AnimationMode      = LOOP
18161        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18162      End
18163      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
18164        Model              = ABSDILink_EN
18165        Animation          = ABSDILink_EN.ABSDILink_EN
18166        AnimationMode      = LOOP
18167        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18168      End
18169      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
18170        Model              = ABSDILink_S
18171        Animation          = ABSDILink_S.ABSDILink_S
18172        AnimationMode      = LOOP
18173        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18174      End
18175      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
18176        Model              = ABSDILink_DS
18177        Animation          = ABSDILink_DS.ABSDILink_DS
18178        AnimationMode      = LOOP
18179        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18180      End
18181      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
18182        Model              = ABSDILink_ES
18183        Animation          = ABSDILink_ES.ABSDILink_ES
18184        AnimationMode      = LOOP
18185        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18186      End
18187      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
18188        Model              = ABSDILink_NS
18189        Animation          = ABSDILink_NS.ABSDILink_NS
18190        AnimationMode      = LOOP
18191        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18192      End
18193      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
18194        Model              = ABSDILink_DNS
18195        Animation          = ABSDILink_DNS.ABSDILink_DNS
18196        AnimationMode      = LOOP
18197        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18198      End
18199      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
18200        Model              = ABSDILink_ENS
18201        Animation          = ABSDILink_ENS.ABSDILink_ENS
18202        AnimationMode      = LOOP
18203        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18204      End
18205  
18206      ConditionState       = AWAITING_CONSTRUCTION 
18207        Model              = NONE
18208      End
18209      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
18210      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
18211      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
18212      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
18213      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
18214      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
18215      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
18216      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
18217      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
18218      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
18219      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
18220      AliasConditionState  = SOLD 
18221      AliasConditionState  = SOLD DAMAGED
18222      AliasConditionState  = SOLD REALLYDAMAGED
18223      AliasConditionState  = SOLD NIGHT
18224      AliasConditionState  = SOLD NIGHT DAMAGED
18225      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
18226      AliasConditionState  = SOLD SNOW
18227      AliasConditionState  = SOLD SNOW DAMAGED
18228      AliasConditionState  = SOLD SNOW REALLYDAMAGED
18229      AliasConditionState  = SOLD NIGHT SNOW
18230      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
18231      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
18232      ;**************************************************************************************************************************
18233  
18234  
18235  
18236    End
18237  
18238    ;------------ the cannon section (hatch, dish animations) -----------
18239    Draw = W3DModelDraw ModuleTag_02
18240      ExtraPublicBone        = FXConnector
18241      ExtraPublicBone        = FXMain
18242      OkToChangeModelColor = Yes
18243      ; day **************************************
18244      ConditionState       = NONE
18245        Model              = ABSDILink_A1
18246        Animation          = ABSDILink_A1.ABSDILink_A1
18247        AnimationMode      = MANUAL
18248        Flags              = START_FRAME_FIRST
18249      End
18250      AliasConditionState  = NIGHT 
18251      AliasConditionState  = NIGHT SNOW
18252      AliasConditionState  = SNOW
18253      
18254      ConditionState       = DAMAGED
18255        Model              = ABSDILink_A1D
18256        Animation          = ABSDILink_A1D.ABSDILink_A1D
18257        AnimationMode      = MANUAL
18258        Flags              = START_FRAME_FIRST
18259      End
18260      AliasConditionState  = NIGHT DAMAGED
18261      AliasConditionState  = NIGHT SNOW DAMAGED
18262      AliasConditionState  = SNOW DAMAGED
18263      
18264      ConditionState       = REALLYDAMAGED RUBBLE
18265        Model              = ABSDILink_A1E
18266        Animation          = ABSDILink_A1E.ABSDILink_A1E
18267        AnimationMode      = MANUAL
18268        Flags              = START_FRAME_FIRST
18269      End
18270      AliasConditionState  = NIGHT REALLYDAMAGED RUBBLE
18271      AliasConditionState  = NIGHT SNOW REALLYDAMAGED RUBBLE
18272      AliasConditionState  = SNOW REALLYDAMAGED RUBBLE
18273      
18274      ConditionState       = AWAITING_CONSTRUCTION
18275        Model              = None
18276      End
18277      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION
18278      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION
18279      AliasConditionState  = SNOW AWAITING_CONSTRUCTION
18280      
18281      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18282        Model              = ABSDILink_A1
18283        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18284      End
18285      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18286      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18287      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18288      
18289      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18290        Model              = ABSDILink_A1D
18291        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18292      End
18293      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18294      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18295      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18296  
18297      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
18298        Model              = ABSDILink_A1E
18299        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18300      End
18301      AliasConditionState  = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
18302      AliasConditionState  = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
18303      AliasConditionState  = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
18304  
18305      ;Preparing to fire!
18306      ConditionState       = UNPACKING
18307        Model              = ABSDILink_A1
18308        Animation          = ABSDILink_A1.ABSDILink_A1
18309        AnimationMode      = ONCE
18310        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
18311      End
18312      AliasConditionState  = NIGHT UNPACKING
18313      AliasConditionState  = NIGHT SNOW UNPACKING
18314      AliasConditionState  = SNOW UNPACKING
18315      
18316      ConditionState       = UNPACKING DAMAGED
18317        Model              = ABSDILink_A1D
18318        Animation          = ABSDILink_A1D.ABSDILink_A1D
18319        AnimationMode      = ONCE
18320        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
18321      End
18322      AliasConditionState  = NIGHT UNPACKING DAMAGED
18323      AliasConditionState  = NIGHT SNOW UNPACKING DAMAGED
18324      AliasConditionState  = SNOW UNPACKING DAMAGED
18325      
18326      ConditionState       = UNPACKING REALLYDAMAGED RUBBLE
18327        Model              = ABSDILink_A1E
18328        Animation          = ABSDILink_A1E.ABSDILink_A1E
18329        AnimationMode      = ONCE
18330        Flags              = MAINTAIN_FRAME_ACROSS_STATES2
18331      End
18332      AliasConditionState  = NIGHT UNPACKING REALLYDAMAGED RUBBLE
18333      AliasConditionState  = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE
18334      AliasConditionState  = SNOW UNPACKING REALLYDAMAGED RUBBLE
18335  
18336      ;Ready to fire -- or firing!
18337      ConditionState       = DEPLOYED
18338        Model              = ABSDILink_A1
18339        Animation          = ABSDILink_A1.ABSDILink_A1
18340        AnimationMode      = MANUAL
18341        Flags              = START_FRAME_LAST
18342      End
18343      AliasConditionState  = NIGHT DEPLOYED
18344      AliasConditionState  = NIGHT SNOW DEPLOYED
18345      AliasConditionState  = SNOW DEPLOYED
18346      
18347      ConditionState       = DEPLOYED DAMAGED
18348        Model              = ABSDILink_A1D
18349        Animation          = ABSDILink_A1D.ABSDILink_A1D
18350        AnimationMode      = MANUAL
18351        Flags              = START_FRAME_LAST
18352      End
18353      AliasConditionState  = NIGHT DEPLOYED DAMAGED
18354      AliasConditionState  = NIGHT SNOW DEPLOYED DAMAGED
18355      AliasConditionState  = SNOW DEPLOYED DAMAGED
18356      
18357      ConditionState       = DEPLOYED REALLYDAMAGED RUBBLE
18358        Model              = ABSDILink_A1E
18359        Animation          = ABSDILink_A1E.ABSDILink_A1E
18360        AnimationMode      = MANUAL
18361        Flags              = START_FRAME_LAST
18362      End
18363      AliasConditionState  = NIGHT DEPLOYED REALLYDAMAGED RUBBLE
18364      AliasConditionState  = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE
18365      AliasConditionState  = SNOW DEPLOYED REALLYDAMAGED RUBBLE
18366     
18367      ;Packing up (recharging for new attack)
18368      ConditionState       = PACKING
18369        Model              = ABSDILink_A1
18370        Animation          = ABSDILink_A1.ABSDILink_A1
18371        AnimationMode      = ONCE_BACKWARDS
18372        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
18373      End
18374      AliasConditionState  = NIGHT PACKING
18375      AliasConditionState  = NIGHT SNOW PACKING
18376      AliasConditionState  = SNOW PACKING
18377      
18378      ConditionState       = PACKING DAMAGED
18379        Model              = ABSDILink_A1D
18380        Animation          = ABSDILink_A1D.ABSDILink_A1D
18381        AnimationMode      = ONCE_BACKWARDS
18382        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
18383      End
18384      AliasConditionState  = NIGHT PACKING DAMAGED
18385      AliasConditionState  = NIGHT SNOW PACKING DAMAGED
18386      AliasConditionState  = SNOW PACKING DAMAGED
18387      
18388      ConditionState       = PACKING REALLYDAMAGED RUBBLE
18389        Model              = ABSDILink_A1E
18390        Animation          = ABSDILink_A1E.ABSDILink_A1E
18391        AnimationMode      = ONCE_BACKWARDS
18392        Flags              = MAINTAIN_FRAME_ACROSS_STATES3
18393      End
18394      AliasConditionState  = NIGHT PACKING REALLYDAMAGED RUBBLE
18395      AliasConditionState  = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE
18396      AliasConditionState  = SNOW PACKING REALLYDAMAGED RUBBLE
18397  
18398     
18399      ConditionState       = SOLD DEPLOYED
18400        Model              = NONE
18401      End     
18402      ConditionState       = SOLD SNOW DEPLOYED
18403         Model             = NONE
18404      End   
18405      ConditionState       = SOLD NIGHT DEPLOYED
18406         Model             = NONE
18407      End    
18408      ConditionState       = SOLD NIGHT SNOW DEPLOYED
18409         Model             = NONE
18410      End   
18411    End
18412  
18413  
18414    ; ------------ construction-zone fence -----------------
18415    Draw = W3DModelDraw ModuleTag_03
18416    AnimationsRequirePower = No
18417      DefaultConditionState
18418        Model           = None
18419        TransitionKey   = DOWN_DEFAULT
18420      End
18421      ConditionState    = NIGHT
18422        Model           = None
18423        TransitionKey   = DOWN_DEFAULT
18424      End
18425      ConditionState    = SNOW
18426        Model           = None
18427        TransitionKey   = DOWN_DEFAULT
18428      End
18429      ConditionState    = SNOW NIGHT
18430        Model           = None
18431        TransitionKey   = DOWN_DEFAULT
18432      End
18433      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18434        Model           = ABSDILink_A4
18435        Animation       = ABSDILink_A4.ABSDILink_A4
18436        AnimationMode   = MANUAL
18437        Flags           = START_FRAME_LAST
18438        TransitionKey   = UP_DAY
18439        ParticleSysBone = SmokeS01 SmokeBuildingSmall
18440        ParticleSysBone = SparksS01 LiveWireSparks02
18441      End
18442      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18443        Model           = ABSDILink_A4N
18444        Animation       = ABSDILink_A4N.ABSDILink_A4N
18445        AnimationMode   = MANUAL
18446        Flags           = START_FRAME_LAST
18447        TransitionKey   = UP_NIGHT
18448        ParticleSysBone = SmokeS01 SmokeBuildingSmall
18449        ParticleSysBone = SparksS01 LiveWireSparks02
18450      End
18451      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18452        Model           = ABSDILink_A4S
18453        Animation       = ABSDILink_A4S.ABSDILink_A4S
18454        AnimationMode   = MANUAL
18455        Flags           = START_FRAME_LAST
18456        TransitionKey   = UP_SNOW
18457        ParticleSysBone = SmokeS01 SmokeBuildingSmall
18458        ParticleSysBone = SparksS01 LiveWireSparks02
18459      End
18460      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18461        Model           = ABSDILink_A4SN
18462        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
18463        AnimationMode   = MANUAL
18464        Flags           = START_FRAME_LAST
18465        TransitionKey   = UP_SNOWNIGHT
18466        ParticleSysBone = SmokeS01 SmokeBuildingSmall
18467        ParticleSysBone = SparksS01 LiveWireSparks02
18468      End
18469      TransitionState   = DOWN_DEFAULT UP_DAY
18470        Model           = ABSDILink_A4
18471        Animation       = ABSDILink_A4.ABSDILink_A4
18472        AnimationMode   = ONCE
18473        AnimationSpeedFactorRange = 1.0 1.0
18474        Flags           = START_FRAME_FIRST
18475      End
18476      TransitionState   = DOWN_DEFAULT UP_NIGHT
18477        Model           = ABSDILink_A4N
18478        Animation       = ABSDILink_A4N.ABSDILink_A4N
18479        AnimationMode   = ONCE
18480        AnimationSpeedFactorRange = 1.0 1.0
18481        Flags           = START_FRAME_FIRST
18482      End
18483      TransitionState   = DOWN_DEFAULT UP_SNOW
18484        Model           = ABSDILink_A4S
18485        Animation       = ABSDILink_A4S.ABSDILink_A4S
18486        AnimationMode   = ONCE
18487        AnimationSpeedFactorRange = 1.0 1.0
18488        Flags           = START_FRAME_FIRST
18489      End
18490      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
18491        Model           = ABSDILink_A4SN
18492        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
18493        AnimationMode   = ONCE
18494        AnimationSpeedFactorRange = 1.0 1.0
18495        Flags           = START_FRAME_FIRST
18496      End
18497      TransitionState   = UP_DAY DOWN_DEFAULT
18498        Model           = ABSDILink_A4
18499        Animation       = ABSDILink_A4.ABSDILink_A4
18500        AnimationMode   = ONCE_BACKWARDS
18501        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18502        Flags           = START_FRAME_LAST
18503      End
18504      TransitionState   = UP_NIGHT DOWN_DEFAULT
18505        Model           = ABSDILink_A4N
18506        Animation       = ABSDILink_A4N.ABSDILink_A4N
18507        AnimationMode   = ONCE_BACKWARDS
18508        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18509        Flags           = START_FRAME_LAST
18510      End
18511      TransitionState   = UP_SNOW DOWN_DEFAULT
18512        Model           = ABSDILink_A4S
18513        Animation       = ABSDILink_A4S.ABSDILink_A4S
18514        AnimationMode   = ONCE_BACKWARDS
18515        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18516        Flags           = START_FRAME_LAST
18517      End
18518      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
18519        Model           = ABSDILink_A4SN
18520        Animation       = ABSDILink_A4SN.ABSDILink_A4SN
18521        AnimationMode   = ONCE_BACKWARDS
18522        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18523        Flags           = START_FRAME_LAST
18524      End
18525    End
18526  
18527    ; ------------ under-construction scaffolding -----------------
18528    Draw = W3DModelDraw ModuleTag_04
18529    AnimationsRequirePower = No
18530      MinLODRequired = MEDIUM
18531      DefaultConditionState
18532        Model           = None
18533        TransitionKey   = DOWN_DEFAULT
18534      End
18535      ConditionState    = NIGHT
18536        Model           = None
18537        TransitionKey   = DOWN_DEFAULT
18538      End
18539      ConditionState    = SNOW
18540        Model           = None
18541        TransitionKey   = DOWN_DEFAULT
18542      End
18543      ConditionState    = SNOW NIGHT
18544        Model           = None
18545        TransitionKey   = DOWN_DEFAULT
18546      End
18547      ConditionState    = PARTIALLY_CONSTRUCTED
18548        Model           = ABSDILink_A6
18549        Animation       = ABSDILink_A6.ABSDILink_A6
18550        AnimationMode   = MANUAL
18551        Flags           = START_FRAME_LAST
18552        TransitionKey   = UP_DAY
18553        ParticleSysBone = Sparks01 BuildUpBlueSpark
18554        ParticleSysBone = Sparks02 BuildUpBlueSpark
18555        ParticleSysBone = Sparks03 BuildUpBlueSpark
18556        ParticleSysBone = Sparks04 BuildUpBlueSpark
18557        ParticleSysBone = Sparks05 BuildUpBlueSpark
18558      End
18559      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
18560        Model           = ABSDILink_A6N
18561        Animation       = ABSDILink_A6N.ABSDILink_A6N
18562        AnimationMode   = MANUAL
18563        Flags           = START_FRAME_LAST
18564        TransitionKey   = UP_NIGHT
18565        ParticleSysBone = Sparks01 BuildUpBlueSpark
18566        ParticleSysBone = Sparks02 BuildUpBlueSpark
18567        ParticleSysBone = Sparks03 BuildUpBlueSpark
18568        ParticleSysBone = Sparks04 BuildUpBlueSpark
18569        ParticleSysBone = Sparks05 BuildUpBlueSpark
18570      End
18571      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
18572        Model           = ABSDILink_A6S
18573        Animation       = ABSDILink_A6S.ABSDILink_A6S
18574        AnimationMode   = MANUAL
18575        Flags           = START_FRAME_LAST
18576        TransitionKey   = UP_SNOW
18577        ParticleSysBone = Sparks01 BuildUpBlueSpark
18578        ParticleSysBone = Sparks02 BuildUpBlueSpark
18579        ParticleSysBone = Sparks03 BuildUpBlueSpark
18580        ParticleSysBone = Sparks04 BuildUpBlueSpark
18581        ParticleSysBone = Sparks05 BuildUpBlueSpark
18582      End
18583      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
18584        Model           = ABSDILink_A6SN
18585        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
18586        AnimationMode   = MANUAL
18587        Flags           = START_FRAME_LAST
18588        TransitionKey   = UP_SNOWNIGHT
18589        ParticleSysBone = Sparks01 BuildUpBlueSpark
18590        ParticleSysBone = Sparks02 BuildUpBlueSpark
18591        ParticleSysBone = Sparks03 BuildUpBlueSpark
18592        ParticleSysBone = Sparks04 BuildUpBlueSpark
18593        ParticleSysBone = Sparks05 BuildUpBlueSpark
18594      End
18595      TransitionState   = DOWN_DEFAULT UP_DAY
18596       Model            = ABSDILink_A6
18597        Animation       = ABSDILink_A6.ABSDILink_A6
18598        AnimationMode   = ONCE
18599        AnimationSpeedFactorRange = 1.0 1.0
18600        Flags           = START_FRAME_FIRST
18601      End
18602      TransitionState   = DOWN_DEFAULT UP_NIGHT
18603       Model            = ABSDILink_A6N
18604        Animation       = ABSDILink_A6N.ABSDILink_A6N
18605        AnimationMode   = ONCE
18606        AnimationSpeedFactorRange = 1.0 1.0
18607        Flags           = START_FRAME_FIRST
18608      End
18609      TransitionState   = DOWN_DEFAULT UP_SNOW
18610       Model            = ABSDILink_A6S
18611        Animation       = ABSDILink_A6S.ABSDILink_A6S
18612        AnimationMode   = ONCE
18613        AnimationSpeedFactorRange = 1.0 1.0
18614        Flags           = START_FRAME_FIRST
18615      End
18616      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
18617       Model            = ABSDILink_A6SN
18618        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
18619        AnimationMode   = ONCE
18620        AnimationSpeedFactorRange = 1.0 1.0
18621        Flags           = START_FRAME_FIRST
18622      End
18623      TransitionState   = UP_DAY DOWN_DEFAULT
18624        Model           = ABSDILink_A6
18625        Animation       = ABSDILink_A6.ABSDILink_A6
18626        AnimationMode   = ONCE_BACKWARDS
18627        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18628        Flags           = START_FRAME_LAST
18629      End
18630      TransitionState   = UP_NIGHT DOWN_DEFAULT
18631        Model           = ABSDILink_A6N
18632        Animation       = ABSDILink_A6N.ABSDILink_A6N
18633        AnimationMode   = ONCE_BACKWARDS
18634        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18635        Flags           = START_FRAME_LAST
18636      End
18637      TransitionState   = UP_SNOW DOWN_DEFAULT
18638        Model           = ABSDILink_A6S
18639        Animation       = ABSDILink_A6S.ABSDILink_A6S
18640        AnimationMode   = ONCE_BACKWARDS
18641        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18642        Flags           = START_FRAME_LAST
18643      End
18644      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
18645        Model           = ABSDILink_A6SN
18646        Animation       = ABSDILink_A6SN.ABSDILink_A6SN
18647        AnimationMode   = ONCE_BACKWARDS
18648        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18649        Flags           = START_FRAME_LAST
18650      End
18651    End
18652  
18653    ; ------------ being-constructed crane -----------------
18654    Draw = W3DModelDraw ModuleTag_05
18655    AnimationsRequirePower = No
18656      DefaultConditionState
18657        Model           = None
18658        TransitionKey   = DOWN_DEFAULT
18659      End
18660      ConditionState    = NIGHT
18661        Model           = None
18662        TransitionKey   = DOWN_DEFAULT
18663      End
18664      ConditionState    = SNOW
18665        Model           = None
18666        TransitionKey   = DOWN_DEFAULT
18667      End
18668      ConditionState    = SNOW NIGHT
18669        Model           = None
18670        TransitionKey   = DOWN_DEFAULT
18671      End
18672      ConditionState    = SOLD
18673        Model           = NONE
18674      End
18675  
18676      ConditionState  = ACTIVELY_BEING_CONSTRUCTED
18677        Model           = ABSDILink_A5
18678        Animation       = ABSDILink_A5.ABSDILink_A5
18679        AnimationMode   = LOOP
18680        TransitionKey  = UP_DAY
18681      End
18682  
18683      ConditionState  = NIGHT ACTIVELY_BEING_CONSTRUCTED
18684        Model           = ABSDILink_A5N
18685        Animation       = ABSDILink_A5N.ABSDILink_A5N
18686        AnimationMode   = LOOP
18687        TransitionKey  = UP_NIGHT
18688      End
18689      ConditionState  = SNOW ACTIVELY_BEING_CONSTRUCTED
18690        Model           = ABSDILink_A5S
18691        Animation       = ABSDILink_A5S.ABSDILink_A5S
18692        AnimationMode   = LOOP
18693        TransitionKey  = UP_SNOW
18694      End
18695      ConditionState  = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED
18696        Model           = ABSDILink_A5SN
18697        Animation       = ABSDILink_A5SN.ABSDILink_A5SN
18698        AnimationMode   = LOOP
18699        TransitionKey  = UP_SNOWNIGHT
18700      End
18701      TransitionState   = DOWN_DEFAULT UP_DAY
18702        Model            = ABSDILink_AB
18703        Animation       = ABSDILink_AB.ABSDILink_AB
18704        AnimationMode   = ONCE
18705        AnimationSpeedFactorRange = 1.0 1.0
18706        Flags           = START_FRAME_FIRST
18707      End
18708  
18709      TransitionState   = DOWN_DEFAULT UP_NIGHT
18710        Model            = ABSDILink_ABN
18711        Animation       = ABSDILink_ABN.ABSDILink_ABN
18712        AnimationMode   = ONCE
18713        AnimationSpeedFactorRange = 1.0 1.0
18714        Flags           = START_FRAME_FIRST
18715      End
18716      TransitionState   = DOWN_DEFAULT UP_SNOW
18717        Model            = ABSDILink_ABS
18718        Animation       = ABSDILink_ABS.ABSDILink_ABS
18719        AnimationMode   = ONCE
18720        AnimationSpeedFactorRange = 1.0 1.0
18721        Flags           = START_FRAME_FIRST
18722      End
18723      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
18724        Model            = ABSDILink_ABSN
18725        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
18726        AnimationMode   = ONCE
18727        AnimationSpeedFactorRange = 1.0 1.0
18728        Flags           = START_FRAME_FIRST
18729      End
18730      TransitionState   = UP_DAY DOWN_DEFAULT
18731        Model            = ABSDILink_AB
18732        Animation       = ABSDILink_AB.ABSDILink_AB
18733        AnimationMode   = ONCE_BACKWARDS
18734        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18735        Flags           = START_FRAME_LAST
18736      End
18737      TransitionState   = UP_NIGHT DOWN_DEFAULT
18738        Model            = ABSDILink_ABN
18739        Animation       = ABSDILink_ABN.ABSDILink_ABN
18740        AnimationMode   = ONCE_BACKWARDS
18741        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18742        Flags           = START_FRAME_LAST
18743      End
18744      TransitionState   = UP_SNOW DOWN_DEFAULT
18745        Model            = ABSDILink_ABS
18746        Animation       = ABSDILink_ABS.ABSDILink_ABS
18747        AnimationMode   = ONCE_BACKWARDS
18748        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18749        Flags           = START_FRAME_LAST
18750      End
18751      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
18752        Model            = ABSDILink_ABSN
18753        Animation       = ABSDILink_ABSN.ABSDILink_ABSN
18754        AnimationMode   = ONCE_BACKWARDS
18755        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
18756        Flags           = START_FRAME_LAST
18757      End
18758    End
18759   
18760    PlacementViewAngle = -45
18761  
18762    ; ***DESIGN parameters ***
18763    DisplayName      = OBJECT:LaserCannon
18764    Side = AmericaLaserGeneral
18765    EditorSorting    = STRUCTURE
18766    Prerequisites
18767      Object = Lazr_AmericaAirfield
18768    End
18769    BuildCost        = 2000
18770    BuildTime        = 60.0           ; in seconds
18771    EnergyProduction = -10
18772    VisionRange     = 200.0           ; Shroud clearing distance
18773    ShroudClearingRange = 200
18774    ArmorSet
18775      Conditions      = None
18776      Armor           = StructureArmorTough
18777      DamageFX        = StructureDamageFXNoShake
18778    End
18779    CommandSet        = Lazr_AmericaLaserCannonCommandSet
18780    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
18781    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
18782    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
18783  
18784    ; *** AUDIO Parameters ***
18785    VoiceSelect = ParticleCannonSelect
18786    SoundOnDamaged        = BuildingDamagedStateLight
18787    SoundOnReallyDamaged  = BuildingDestroy
18788  
18789    UnitSpecificSounds
18790      UnderConstruction     = UnderConstructionLoop
18791    End
18792  
18793    ; *** ENGINEERING Parameters ***
18794    RadarPriority   = STRUCTURE
18795    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON
18796    Body            = StructureBody ModuleTag_06
18797      MaxHealth       = 4000.0
18798      InitialHealth   = 4000.0
18799  
18800      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18801      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18802      SubdualDamageCap = 4200
18803      SubdualDamageHealRate = 500
18804      SubdualDamageHealAmount = 100
18805    End
18806    Behavior = BaseRegenerateUpdate ModuleTag_07
18807      ;No data
18808    End
18809  
18810    Behavior = SpecialPowerCreate ModuleTag_16
18811      ;nothing
18812    End
18813  
18814    Behavior = SpecialAbility ModuleTag_11
18815      SpecialPowerTemplate = Lazr_LaserCannon
18816      UpdateModuleStartsAttack = Yes
18817    End
18818    Behavior = ParticleUplinkCannonUpdate ModuleTag_12
18819      SpecialPowerTemplate            = Lazr_LaserCannon
18820  
18821      ;The values trigger the various pre-stages before being ready to actually fire.
18822      ;The total combined value of these determines the first sign of activity in the 
18823      ;cannon.
18824      BeginChargeTime                 = 5000 ;The outer nodes begin to charge.
18825      RaiseAntennaTime                = 4667 ;The hatch opens and raises antenna (matches animation speed)
18826      ReadyDelayTime                  = 2000 ;The time after antenna is raised prior to being ready to fire.
18827  
18828      ;***NOTE -- these values effect gameplay*****
18829      TotalFiringTime                 = 15000     ;The total ground contact time of the beam
18830  
18831      DamagePerSecond                 = 200       ;Amount of damage inflicted per second
18832      TotalDamagePulses               = 60        ;The total number of damage pulses -- less means more damage per pulse, but less accurate
18833      WidthGrowTime                   = 2000      ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking)
18834      BeamTravelTime                  = 2000      ;How long it takes for the beam to hit the ground after leaving the firing dish.
18835      DamageType                      = PARTICLE_BEAM ;Type of damage inflicted.
18836      DamageRadiusScalar              = 3.4       ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too!
18837      RevealRange                     = 50.0      ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death.
18838      ;********************************************
18839  
18840      ;Bone names for required elements
18841      OuterEffectBoneName             = FX          ;The base name for the outer node bones.
18842      OuterEffectNumBones             = 5           ;The number of outer nodes.
18843      ConnectorBoneName               = FXConnector ;The name of the bone where the connector lasers meet.
18844      FireBoneName                    = FXMain      ;The name of the bone where the main beam is fired from.
18845  
18846      ;These are particle systems tied to the outer nodes in varying intensities.
18847      OuterNodesLightFlareParticleSystem    = ParticleUplinkCannon_OuterNodeLightFlare
18848      OuterNodesMediumFlareParticleSystem   = ParticleUplinkCannon_OuterNodeMediumFlare
18849      OuterNodesIntenseFlareParticleSystem  = ParticleUplinkCannon_OuterNodeIntenseFlare
18850  
18851      ;The connectors system connects each of the outer nodes to the central node that receives
18852      ;the lasers from outside.
18853      ConnectorMediumLaserName        = ParticleUplinkCannon_MediumConnectorLaser
18854      ConnectorIntenseLaserName       = ParticleUplinkCannon_IntenseConnectorLaser
18855  
18856      ;Currently commented out -- These
18857      ;ConnectorMediumFlare            = ParticleUplinkCannon_InnerConnectorMediumFlare
18858      ;ConnectorIntenseFlare           = ParticleUplinkCannon_InnerConnectorIntenseFlare
18859  
18860      ;This is the name of the bone on the building where the beam is fired from
18861      LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire
18862      ParticleBeamLaserName           = ParticleUplinkCannon_OrbitalLaser
18863      GroundHitFX                     = FX_ParticleUplinkCannon_BeamHitsGround     ;TotalScorchMarks determines how many times this gets called.
18864  
18865      ;The flare fxlist that is played over and over during the beam firing process. Be
18866      ;mindful of the delay because that effects both art and sound.
18867      BeamLaunchFX                   = FX_ParticleUplinkCannon_BeamLaunchIteration
18868      DelayBetweenLaunchFX           = 1000
18869  
18870      ;Each scorch mark creates an object in the world, so while making more looks better
18871      ;it becomes a performance issue. The scalar will calculate the size of the scorch
18872      ;mark to make based on the current size of the beam (which changes dynamically). The
18873      ;number also matches the number of times the "GroundHitFX" is called.
18874      TotalScorchMarks               = 20
18875      ScorchMarkScalar               = 2.4
18876  
18877      ;***NOTE -- these values effect gameplay***
18878      ;The swath of death is the path the laser tracers centered on the targeted position.
18879      ;If the amplitude is zero, the line will go straight, with a higher value, it'll do
18880      ;a sine wave iteration, but always goes through the target point.
18881      SwathOfDeathDistance           = 200.0
18882      SwathOfDeathAmplitude          = 50.0
18883  
18884  
18885      ManualDrivingSpeed             = 20
18886      ManualFastDrivingSpeed         = 40
18887      DoubleClickToFastDriveDelay    = 300
18888  
18889      ;***SOUNDS!****
18890      PoweringUpSoundLoop            = ParticleUplinkCannon_PowerupSoundLoop
18891      UnpackToIdleSoundLoop          = ParticleUplinkCannon_UnpackToIdleSoundLoop
18892      FiringToPackSoundLoop          = ParticleUplinkCannon_FiringToPackSoundLoop
18893      GroundAnnihilationSoundLoop    = ParticleUplinkCannon_GroundAnnihilationSoundLoop
18894  
18895      ;The trail left behind creates an object that inflicts extra damage for a short period of time.
18896      DamagePulseRemnantObjectName   = ParticleUplinkCannonTrailRemnant
18897    End
18898    
18899    Behavior = FlammableUpdate ModuleTag_14
18900      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18901      AflameDamageAmount = 5       ; taking this much damage...
18902      AflameDamageDelay = 500       ; this often.
18903    End
18904  
18905    Behavior = ProductionUpdate ModuleTag_15
18906      ; This is needed in order to get a public timer to work!
18907    End
18908  
18909    Behavior = TransitionDamageFX ModuleTag_17
18910      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
18911      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
18912      ;---------------------------------------------------------------------------------------
18913      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
18914      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
18915      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
18916    End
18917  
18918    Behavior = SlowDeathBehavior ModuleTag_18
18919      ; don't run this death if we are under construction...
18920      ExemptStatus   = UNDER_CONSTRUCTION
18921      DestructionDelay = 2000
18922      FX             = INITIAL FX_ParticleUplinkDeathInitial
18923      OCL            = INITIAL OCL_SDILinkLasers
18924      FX             = FINAL   FX_StructureMediumDeath
18925      OCL            = FINAL   OCL_ParticleUplinkDeathFinal
18926    End
18927  
18928    Behavior = InstantDeathBehavior ModuleTag_19
18929      ; if we are under construction, use this death instead
18930      RequiredStatus = UNDER_CONSTRUCTION
18931      OCL            = OCL_ABPowerPlantExplode
18932      FX             = FX_StructureMediumDeath
18933    End
18934  
18935    Geometry            = BOX
18936    GeometryMajorRadius = 64.0
18937    GeometryMinorRadius = 38.0
18938    GeometryHeight      = 38.0
18939    GeometryIsSmall     = No
18940    Shadow          = SHADOW_VOLUME
18941    BuildCompletion = PLACED_BY_PLAYER
18942  
18943  End
18944  ;----------------------------------------------------------------------------------
18945  
18946  Object Lazr_PatriotLaserBeam
18947    ; *** ART Parameters ***
18948    Draw = W3DLaserDraw ModuleTag_01
18949       Texture = EXLaser4.tga
18950      NumBeams = 5                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.
18951      InnerBeamWidth = 0.005                    ;The total width of beam
18952      InnerColor = R:100 G:0 B:0 A:100          ;The inside color of the laser (hot)
18953      OuterBeamWidth = 15                       ;The total width of beam
18954      OuterColor = R:100 G:0 B:0 A:0            ;The outside color of the laser (cool)
18955      Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
18956      ScrollRate = -2500                        ;Scrolls the texture offset this fast -- towards(-) away(+)
18957      Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
18958      SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
18959      TilingScalar = -3                         ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
18960  
18961      ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
18962      ;FadeLifetime = 0                         ;Laser will fade and delete.
18963      ;@todo -- add shot ability functionality (instead of instant point A to B)
18964    End
18965  
18966    KindOf = IMMOBILE
18967    Geometry = Sphere
18968    GeometryIsSmall = Yes
18969    GeometryMajorRadius = 2.0
18970    ClientUpdate = LaserUpdate ModuleTag_07
18971      MuzzleParticleSystem = PaladinPointDefenseLaserFlare
18972      TargetParticleSystem = GenericRedLaserFlare
18973      PunchThroughScalar = 1.3 ; If our target dies, we get this much bigger so it looks like we punched through
18974    End
18975  
18976    Behavior = DestroyDie ModuleTag_03
18977      ;nothing
18978    End
18979    Behavior = LifetimeUpdate ModuleTag_04
18980      MinLifetime = 205   ; min lifetime in msec
18981      MaxLifetime = 205   ; max lifetime in msec
18982    End
18983  End
18984  
18985  
18986  
18987  Object Lazr_AmericaVehiclePOWTruck
18988    ; *** ART Parameters ***
18989    SelectPortrait         = SAPowTruck_L
18990    ButtonImage            = SAPowTruck
18991    ;UpgradeCameo1 = NONE
18992    ;UpgradeCameo2 = NONE
18993    ;UpgradeCameo3 = NONE
18994    ;UpgradeCameo4 = NONE
18995    ;UpgradeCameo5 = NONE
18996    Draw                   = W3DTruckDraw ModuleTag_01
18997      OkToChangeModelColor = Yes
18998      ConditionState       = NONE
18999        Model              = AVPOWTRUCK
19000      End
19001      ConditionState       = REALLYDAMAGED
19002        Model              = AVPOWTRUCK_D
19003      End
19004      ConditionState       = RUBBLE
19005        Model              = AVPOWTruck_D
19006      End
19007      TrackMarks           = EXTireTrack.tga
19008      Dust                 = RocketBuggyDust
19009      DirtSpray            = RocketBuggyDirtSpray
19010      PowerslideSpray      = RocketBuggyDirtPowerSlide
19011      ; These parameters are only used if the model has a separate suspension, 
19012      ; and the locomotor has HasSuspension = Yes.
19013      LeftFrontTireBone          = Tire01
19014      RightFrontTireBone         = Tire02
19015      MidLeftRearTireBone        = Tire03
19016      MidRightRearTireBone       = Tire05
19017      LeftRearTireBone           = Tire04
19018      RightRearTireBone          = Tire06
19019      TireRotationMultiplier     = 0.2   ; this * speed = rotation.
19020      PowerslideRotationAddition = 2.5   ; This speed is added to the rotation speed when powersliding.
19021    End
19022    ; ***DESIGN parameters ***
19023    DisplayName          = OBJECT:POWTruck
19024    Side                 = AmericaLaserGeneral
19025    EditorSorting        = VEHICLE
19026    TransportSlotCount   = 3                 ;how many "slots" we take in a transport (0 == not transportable)
19027    ArmorSet
19028      Conditions         = None
19029      Armor              = TruckArmor
19030      DamageFX           = TankDamageFX
19031    End
19032    
19033    VisionRange         = 2000
19034    ShroudClearingRange = 300
19035    Prerequisites
19036      Object = Lazr_AmericaBarracks
19037      Object = Lazr_AmericaStrategyCenter
19038    End
19039    BuildCost            = 1500
19040    BuildTime            = 15.0          ;in seconds    
19041    VisionRange          = 200
19042    ShroudClearingRange  = 1200
19043    ExperienceValue      = 50 50 50 50    ;Experience point value at each level
19044    ExperienceRequired   = 0 150 450 900  ;Experience points needed to gain each level
19045    IsTrainable          = Yes             ;Can gain experience
19046    CrusherLevel         = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
19047    CrushableLevel       = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
19048    
19049    ; nope, sorry, can't control it. (srj)
19050    CommandSet           = VehiclePOWTruckCommandSet
19051  
19052    ; *** AUDIO Parameters ***
19053    VoiceSelect = POWTruckUSAVoiceSelect
19054    VoiceMove = POWTruckUSAVoiceMove
19055    VoiceGuard = POWTruckUSAVoiceMove
19056    SoundEnter = POWTruckEnter
19057    SoundExit = POWTruckExit
19058    UnitSpecificSounds
19059      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
19060      VoiceCreate          = POWTruckUSAVoiceCreate
19061      TurretMoveLoop       = TurretMoveLoop
19062      SoundMoveStart       = POWTruckUSAMoveStart
19063      SoundMoveStartDamaged = POWTruckUSAMoveStart
19064      SoundEject           = PilotSoundEject
19065      VoiceEject           = PilotVoiceEject
19066      VoiceCrush           = POWTruckUSAVoiceCrush
19067      ; Required for the W3DTruckDraw module
19068      TruckLandingSound    = RocketBuggyLand
19069      TruckPowerslideSound = POWTruckUSAMoveStart
19070      VoiceEnter           = POWTruckUSAVoiceMove
19071    End
19072    ; *** ENGINEERING Parameters ***
19073    RadarPriority          = UNIT
19074    KindOf                 = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE TRANSPORT SCORE
19075    Body                   = ActiveBody ModuleTag_02
19076      MaxHealth            = 700.0
19077      InitialHealth        = 700.0
19078    End
19079    ; but we must have an AIUpdate in order for our Locomotor to work.
19080    Behavior = AIUpdateInterface ModuleTag_04
19081      ; no data
19082    End
19083    Locomotor              = SET_NORMAL POWTruckLocomotor
19084    Behavior               = PhysicsBehavior ModuleTag_05
19085      Mass                 = 50.0
19086    End
19087    Behavior               = SlowDeathBehavior ModuleTag_06
19088      DeathTypes           = ALL -CRUSHED -SPLATTED
19089      ProbabilityModifier  = 25
19090      DestructionDelay     = 1
19091      FX                   = FINAL    FX_BattleMasterExplosionOneFinal
19092      OCL                  = FINAL    OCL_AmericanPOWTruckDeathEffect
19093    End
19094    Behavior               = FXListDie ModuleTag_07
19095      DeathTypes           = NONE +CRUSHED +SPLATTED
19096      DeathFX              = FX_CarCrush
19097    End
19098    Behavior = TransitionDamageFX ModuleTag_09
19099      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
19100      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
19101    End
19102    Behavior = ExperienceScalarUpgrade ModuleTag_10
19103      TriggeredBy = Upgrade_AmericaAdvancedTraining
19104      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
19105    End
19106    Behavior = FlammableUpdate ModuleTag_21
19107      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19108      AflameDamageAmount = 3       ; taking this much damage...
19109      AflameDamageDelay = 500       ; this often.
19110    End
19111    Behavior = FireWeaponUpdate ModuleTag_23
19112      Weapon = ECMTankMissileJammer
19113      ExclusiveWeaponDelay = 3000 
19114  End
19115      Behavior = StealthDetectorUpdate ModuleTag_08
19116      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
19117      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
19118      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
19119      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
19120    End
19121    Behavior = TransportContain ModuleTag_03
19122      Slots                 = 5
19123      PassengersAllowedToFire = No
19124      AllowInsideKindOf  = INFANTRY
19125      EnterSound      = GarrisonEnter
19126      ExitSound       = GarrisonExit
19127      DamagePercentToUnits  = 50%
19128    End
19129    Geometry               = BOX
19130    GeometryMajorRadius    = 15.0
19131    GeometryMinorRadius    = 7.0
19132    GeometryHeight         = 13.5     
19133    GeometryIsSmall        = Yes 
19134    Shadow                 = SHADOW_VOLUME   
19135  End
19136  


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